




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第第10章章串行通信串行通信和可編程接口芯片和可編程接口芯片8251A8251A 10.1串行通信的基本概念串行通信的基本概念 微型計(jì)算機(jī)與一些常用的外部設(shè)備之間的數(shù)據(jù)交換,往往需要采用串行通訊方式。在遠(yuǎn)程計(jì)算機(jī)通訊中,串行通訊更是一種不可缺少的通訊方式。串行通訊是指數(shù)據(jù)一位一位地順序傳送,只占用一條傳輸線,它可由兩種方式來(lái)實(shí)現(xiàn):一種是將8位通道中的一位依靠軟件來(lái)實(shí)現(xiàn)串行數(shù)據(jù)傳送;另一種是通過(guò)專用的通訊接口, 將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)。 在并行通訊中, 數(shù)據(jù)有多少位就要有多少傳輸線,而串行通訊只需要一條傳輸線,所以串行通訊可以節(jié)省傳輸線。在數(shù)據(jù)位數(shù)較多,傳輸距離較長(zhǎng)的情況下,這個(gè)優(yōu)點(diǎn)更為突出
2、。 例如,將微型計(jì)算機(jī)的信息傳送到遠(yuǎn)方的終端,或者傳送到大型計(jì)算中心,則常用通訊線路(電話線)進(jìn)行傳送。這種串行傳送可以大大減少傳輸線,從而降低成本,是它的傳送速度沒(méi)有并行通訊快。 隨著大規(guī)模集成電路技術(shù)的發(fā)展, 通用的可編程的同步/異步接口芯片種類越來(lái)越多。常用的有Intel的8251A、 Motorola的ACIA、Zilog的SIO等。 10.1.1數(shù)據(jù)傳送方向。 在串行通訊中,數(shù)據(jù)通常在兩個(gè)站(如A和B)之間進(jìn)行雙向傳送。這種傳送根據(jù)需要又分為單工、半雙工和全雙工傳送。 單工傳送。 單工傳送方式是指在通訊時(shí),只能由一方發(fā)送數(shù)據(jù), 一方接收數(shù)據(jù)的通訊方式。 半雙工傳送。 半雙工傳送方式是
3、指在通訊時(shí),雙方都能接收或發(fā)送,但不能同時(shí)接收和發(fā)送的通訊方式。在這種傳送方式中,通訊雙方只能輪流地進(jìn)行發(fā)送和接收,即A站發(fā),B站接收;或B站發(fā)送,A站接收。 全雙工傳送。 全雙工傳送方式是指可以同時(shí)在兩個(gè)站之間進(jìn)行發(fā)送和接收的通訊方式。 全雙工需要兩條傳輸線。 數(shù)據(jù)傳送方式 (a) 單工; (b) 半雙工; (c)全雙工發(fā)送器接收器AB單工通信(a)發(fā)送器發(fā)送器AB半雙工通信接收器接收器(b)發(fā)送器接收器AB全雙工通信接收器發(fā)送器(c) 信號(hào)的調(diào)制和解調(diào)。 調(diào)制解調(diào)器(Modem)是計(jì)算機(jī)在遠(yuǎn)程通訊中必須采用的一種輔助的外部設(shè)備。 計(jì)算機(jī)通訊是一種數(shù)字信號(hào)的通訊, 數(shù)字信號(hào)通訊要求傳送的頻帶
4、是很寬的,而計(jì)算機(jī)在遠(yuǎn)程通訊時(shí),通常通過(guò)電話線傳送,電話線不可能有這樣寬的頻帶。如果用數(shù)字信號(hào)直接通訊,那么經(jīng)過(guò)電話線傳送,信號(hào)便會(huì)產(chǎn)生畸變。因此,在發(fā)送端,必須采用調(diào)制器把數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào);而在接收端,又必須用解調(diào)器檢測(cè)從發(fā)送端送來(lái)的模擬信號(hào),再把它轉(zhuǎn)換成為數(shù)字信號(hào)。由此可知:調(diào)制解調(diào)器在發(fā)送端相當(dāng)于D/A轉(zhuǎn)換器,而在接收端則相當(dāng)于A/D轉(zhuǎn)換器。 10.1.2 串行通訊的基本方式串行通訊的基本方式 串行通訊可分為異步通訊和同步通訊兩種方式。 (1) 異步通訊。在異步通訊中, CPU與外部設(shè)備之間有兩項(xiàng)規(guī)定: 字符格式。 字符格式即字符的編碼形式及規(guī)定。 如規(guī)定每個(gè)串行字符由四個(gè)部分組成
5、:1個(gè)起始位、58個(gè)數(shù)據(jù)位、1個(gè)奇偶校驗(yàn)位以及12個(gè)停止位。 起始位后面, 緊跟著要傳送字符的最低位,每個(gè)字符的結(jié)束,是一個(gè)高電平的停止位。起始位至停止位構(gòu)成一幀。相鄰兩個(gè)字符之間的間隔可以是任意長(zhǎng)度的,以便使它有能力處理實(shí)時(shí)的串行數(shù)據(jù)。 兩個(gè)相鄰字符之間的位叫空閑位。而下一個(gè)字符的開(kāi)始,必然以高電平變成低電平的起始位的下降沿作為標(biāo)志。 數(shù)據(jù)傳輸速率 數(shù)據(jù)傳輸速率也稱比特率(Bit Rate) 每秒傳輸?shù)亩M(jìn)制位數(shù)bps 字符中每個(gè)二進(jìn)制位持續(xù)的時(shí)間長(zhǎng)度都一樣,為數(shù)據(jù)傳輸速率的倒數(shù) 當(dāng)進(jìn)行二進(jìn)制數(shù)碼傳輸,且每位時(shí)間長(zhǎng)度相等時(shí),比特率還等于波特率(Baud Rate) 串行異步通信的數(shù)據(jù)傳輸速率
6、每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。現(xiàn)在,可以達(dá)到115200 bps或更高 串行通信時(shí)的數(shù)據(jù)、控制和狀態(tài)信息都使用同一根信號(hào)線傳送 收發(fā)雙方必須遵守共同的通信協(xié)議(通信規(guī)程),才能解決傳送速率、信息格式、位同步、字符同步、數(shù)據(jù)校驗(yàn)等問(wèn)題 串行異步通信以字符為單位進(jìn)行傳輸,其通信協(xié)議是起止式異步通信協(xié)議起止式異步通信協(xié)議 起始位每個(gè)字符開(kāi)始傳送的標(biāo)志,起始位采用邏輯0電平起始位起始位校驗(yàn)位校驗(yàn)位停止位停止位空閑位空閑位數(shù)據(jù)位數(shù)據(jù)位低位低位高位高位字符字符0/10/1 0/10/10/10/10/10/11 10 01 11 1
7、1 1n數(shù)據(jù)位數(shù)據(jù)位數(shù)據(jù)位緊跟著起始位傳送。數(shù)據(jù)位緊跟著起始位傳送。由由58個(gè)二進(jìn)制位組成,低位先傳送個(gè)二進(jìn)制位組成,低位先傳送n校驗(yàn)位校驗(yàn)位用于校驗(yàn)是否傳送正確;可用于校驗(yàn)是否傳送正確;可選擇奇檢驗(yàn)、偶校驗(yàn)或不傳送校驗(yàn)位選擇奇檢驗(yàn)、偶校驗(yàn)或不傳送校驗(yàn)位n停止位停止位表示該字符傳送結(jié)束。停止表示該字符傳送結(jié)束。停止位采用邏輯位采用邏輯1電平,可選擇電平,可選擇1、1.5或或2位位n空閑位空閑位傳送字符之間的邏輯傳送字符之間的邏輯1電平,電平,表示沒(méi)有進(jìn)行傳送表示沒(méi)有進(jìn)行傳送 (2) 同步傳送。 在異步傳送中,每一個(gè)字符都用起始位和停止位作為字符開(kāi)始和結(jié)束的標(biāo)志,占用了一些時(shí)間,因此在數(shù)據(jù)塊傳送
8、時(shí), 為了提高速度, 就要設(shè)法去掉這些標(biāo)志,而采用同步傳送。此時(shí),在數(shù)據(jù)塊開(kāi)始處,要用同步字符來(lái)指明,同步字符通常由用戶自己設(shè)定,可用一個(gè)(或相同兩個(gè))8位二進(jìn)制碼作同步字符。 同步傳送速度高于異步傳送速度,但它要求由時(shí)鐘來(lái)實(shí)現(xiàn)發(fā)送端及接收端之間的同步,所以,硬件電路比較復(fù)雜。 以一個(gè)數(shù)據(jù)塊(幀)為傳輸單位,每個(gè)數(shù)據(jù)塊附加1個(gè)或2個(gè)同步字符,最后以校驗(yàn)字符結(jié)束 同步通信的數(shù)據(jù)傳輸效率和傳輸速率較高,但硬件電路比較復(fù)雜 串行同步通信主要應(yīng)用在網(wǎng)絡(luò)當(dāng)中同步字符同步字符數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)校驗(yàn)字符校驗(yàn)字符 同步方式是指發(fā)送和接收是同一接收源。由統(tǒng)一同步方式是指發(fā)送和接收是同一接收源。由統(tǒng)一的時(shí)鐘
9、控制,字符一個(gè)接一個(gè)傳送;沒(méi)有字符時(shí),沒(méi)的時(shí)鐘控制,字符一個(gè)接一個(gè)傳送;沒(méi)有字符時(shí),沒(méi)有字符時(shí),也要發(fā)送專用的有字符時(shí),也要發(fā)送專用的“空閑空閑“字符或同步字符。字符或同步字符。 同步傳輸?shù)奶卣魇牵涸诿拷M信息的開(kāi)始同步傳輸?shù)奶卣魇牵涸诿拷M信息的開(kāi)始(稱幀頭稱幀頭)要要加上加上12個(gè)同步字符,后面跟個(gè)同步字符,后面跟58個(gè)字符數(shù)據(jù)。個(gè)字符數(shù)據(jù)。 同步通信數(shù)據(jù)格式如下:同步通信數(shù)據(jù)格式如下:同步字符1同步字符2字符數(shù)據(jù)10.1.4異步異步串行接口芯片串行接口芯片UART 串行接口的基本結(jié)構(gòu)主要是異步接收串行接口的基本結(jié)構(gòu)主要是異步接收/ /發(fā)送器(發(fā)送器(UARTUART),它不僅包括并行數(shù)據(jù)),
10、它不僅包括并行數(shù)據(jù)和串行數(shù)據(jù)之間的相互轉(zhuǎn)換,還有檢測(cè)和串行數(shù)據(jù)之間的相互轉(zhuǎn)換,還有檢測(cè)串行通信在傳送過(guò)程中可能發(fā)生錯(cuò)誤的串行通信在傳送過(guò)程中可能發(fā)生錯(cuò)誤的邏輯部件。邏輯部件。10.1.5調(diào)制解調(diào)器 調(diào)制(Modulating) 把數(shù)字信號(hào)轉(zhuǎn)換為電話線路傳送的模擬信號(hào) 解調(diào)(Demodulating) 將電話線路的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào) 調(diào)制解調(diào)器MODEM 具有調(diào)制和解調(diào)功能的器件合制在一個(gè)裝置三種調(diào)制方式根據(jù)載波 Acos(t + )的三個(gè)參數(shù):幅度、頻率、相位,產(chǎn)生常用的三種調(diào)制技術(shù): 幅移鍵控法 Amplitude-Shift Keying (ASK) 頻移鍵控法 Frequency-S
11、hift Keying (FSK) 相移鍵控法 Phase-Shift Keying (PSK) ASK (又稱為調(diào)幅) 用載波信號(hào)的不同幅度代表1和0FSK (又稱為調(diào)頻) 用載波信號(hào)的不同頻率代表1和0PSK (又稱為調(diào)相) 用載波信號(hào)的相位變化代表1和0(有變化為1,無(wú)變化為0) 10.2 可編程串行通信接口可編程串行通信接口8251A Intel 8251A是可編程的串行通信接口芯片, 它的主要特點(diǎn)如下: 可用于串行異步通信,也可用于串行同步通信。 對(duì)于異步通信,可設(shè)定停止位為1位、 1位半或2位, 數(shù)據(jù)位可在 5-8位之間選擇。 對(duì)于同步通信,可設(shè)為單同步、雙同步或者外同步, 同步字
12、符可由用戶自己設(shè)定。 異步通信的時(shí)鐘頻率可設(shè)為波特率的1倍、16倍或64倍。 可以設(shè)定奇偶校驗(yàn)的方式,也可以不校驗(yàn)。校驗(yàn)位的插入、檢出及檢錯(cuò)都由芯片本身完成。 在異步通信時(shí),波特率的可選范圍為019.2千波特; 在同步通信時(shí),波特率的可選范圍為064千波特。 提供與外部設(shè)備特別是調(diào)制解調(diào)器的聯(lián)絡(luò)信號(hào), 便于直接和通信線路相連接。 接收、 發(fā)送數(shù)據(jù)分別有各自的緩沖器, 可以進(jìn)行全雙工通信。 D D0 0D D1 1D D3 3D D4 4D D5 5D D6 6D D7 7P PA AR RI IT TY YS ST TO OP P8 8T Tc c1 16 6T Tc c2 2* *1 16
13、6T Tc c3 3* *1 16 6T Tc c4 4* *1 16 6T Tc c5 5* *1 16 6T Tc c6 6* *1 16 6T Tc c7 7* *1 16 6T Tc c8 8* *1 16 6T Tc c9 9* *1 16 6T Tc c1 10 0* *1 16 6T Tc c查查到到S ST TA AR RT T位位, ,再再查查其其它它位位必必測(cè)測(cè)出出 1 1 , ,否否則則結(jié)結(jié)構(gòu)構(gòu)錯(cuò)錯(cuò)D D2 2異步方式接收方對(duì)數(shù)據(jù)的檢測(cè)異步方式接收方對(duì)數(shù)據(jù)的檢測(cè)S ST TO OP P/ /M MA AR RK K信信息息位位S ST TA AR RT T- -B BI
14、IT T( (T Td d) )T TC C1 11 11 10 00 00 00 00 00 00 00 00 0連連續(xù)續(xù)九九個(gè)個(gè)時(shí)時(shí)鐘鐘檢檢測(cè)測(cè)到到 0 0 接接收收時(shí)時(shí)鐘鐘內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 發(fā)送和接收電路調(diào)制解調(diào)控制電路 總線接口部分8251A的外部引腳D2VCCRESETD3RXD1234567891011121314GNDD4D5D6D7TXCWRCSC/DRDRXRDY8251A2827262524232221201918171615D1D0RXCDTRRTSDSRCLKTXDTXEMPTCTSSYNDET/BDTXRDY (1)數(shù)據(jù)總線緩沖器。 這是三態(tài)雙向的緩沖器,引腳D0D7
15、是8251A和CPU接口的三態(tài)雙向數(shù)據(jù)總線,用于向CPU傳遞命令、數(shù)據(jù)或狀態(tài)信息。 與CPU互相交換的數(shù)據(jù)和控制字就存放在這個(gè)區(qū)域,共有三個(gè)緩沖器。分別為狀態(tài)緩沖器、接收數(shù)據(jù)緩沖器和發(fā)送數(shù)據(jù)命令緩沖器。狀態(tài)緩沖器用來(lái)存放8251A的內(nèi)部工作狀態(tài),供CPU查詢;接收數(shù)據(jù)緩沖器用來(lái)存放接收器已經(jīng)裝配好的字符,準(zhǔn)備送給CPU;發(fā)送數(shù)據(jù)命令緩沖器用來(lái)存入CPU送入8251A的數(shù)據(jù)或命令。 (2) 讀寫控制邏輯。 讀寫控制邏輯接收來(lái)自CPU的控制信號(hào),對(duì)數(shù)據(jù)在內(nèi)部總線上的傳送方向進(jìn)行控制。 (3) 接收器及接收控制。 接收器從RXD引腳接收串行數(shù)據(jù),按指定的方式變成并行數(shù)據(jù)。在異步方式下,當(dāng)接收器成功地
16、接收到起始位后,8251A便接收數(shù)據(jù)位、校驗(yàn)位和停止位,接著將并行的數(shù)據(jù)通內(nèi)部總線送入數(shù)據(jù)緩沖器。 (4) 發(fā)送器及發(fā)送控制。 發(fā)送器從CPU接收并行數(shù)據(jù),加上適當(dāng)?shù)淖址袷叫盘?hào)后,再將其轉(zhuǎn)換成串行的數(shù)據(jù)從TXD引腳發(fā)送出去。 (5) 調(diào)制解調(diào)控制器。 該模塊提供和調(diào)制解調(diào)器的聯(lián)絡(luò)信號(hào),MODEM控制部分有四條信號(hào)線,該四條信號(hào)線一般用于與MODEM相連時(shí)的聯(lián)絡(luò)控制信號(hào)。但是它們也可以用作與外設(shè)聯(lián)系的標(biāo)準(zhǔn)信號(hào)使用。 8251A的外部引腳的外部引腳 (1) 與CPU接口的引腳。 D7D0: 數(shù)據(jù)線。 CLK: 時(shí)鐘信號(hào)輸入線,用于產(chǎn)生8251A內(nèi)部時(shí)序。 CLK的周期為0.421.35 s。CL
17、K的頻率至少應(yīng)是接收、發(fā)送時(shí)鐘的30倍(對(duì)同步方式)或4.5倍(對(duì)異步方式)。 RESET:復(fù)位信號(hào)輸入線,高電平有效。復(fù)位后8251A處于空閑狀態(tài)直至被初始化編程。 : 片選信號(hào)輸入線, 低電平有效。 僅當(dāng) 為低電平時(shí),CPU才能對(duì)8251A操作。 : 信息類型信號(hào)輸入線。為0時(shí)傳輸?shù)氖菙?shù)據(jù),為1時(shí)傳輸?shù)氖强刂谱只驙顟B(tài)信息。 : 讀選通信號(hào)輸入線, 低電平有效。 : 寫選通信號(hào)輸入線, 低電平有效。 CSCS/C DRDWRCPU對(duì)8251A的讀寫控制如表 (2) 接收部分 RXD:串行數(shù)據(jù)輸入線,高電平表示數(shù)字1,低電平表示數(shù)字0。 RXRDY: 接收準(zhǔn)備好狀態(tài)輸入線,高電平有效。當(dāng)接收器
18、接到一個(gè)字符并準(zhǔn)備送給CPU時(shí),RXRDY為1;當(dāng)字符被CPU讀取后RXRDY恢復(fù)為0。RXRDY可作為8251A向CPU申請(qǐng)接收中斷的請(qǐng)求源。 : 接收器時(shí)鐘輸入線。它控制接收器接收字符的速率, 在上升沿采集串行數(shù)據(jù)輸入線的頻率應(yīng)等于波特率(同步方式)或等于波特率的1倍、16倍或64倍(異步方式)。SYNDET/BD:同步狀態(tài)輸出線或者外同步信號(hào)輸入線。 此線僅對(duì)同步方式有意義。 R X C 在同步方式中,若程序設(shè)定8251A為外同步接收,則SYNDET/BD腳用于輸入外同步信號(hào),SYNDET/BD腳上的電平正跳變啟動(dòng)接收數(shù)據(jù)。若程序設(shè)定8251A內(nèi)同步接收,則8251A先搜索同步字(同步字
19、事先由程序裝在同步字符寄存器中)。 每當(dāng)RXD線上收到一位信息就移入接收寄存器并和同步字符寄存器內(nèi)容比較,若不等則再收一位再比較,直到兩者相等。 此時(shí)SYNDET/BD輸出高電平,表示己搜索到同步字,接下來(lái)便把接收到的數(shù)據(jù)逐個(gè)地裝入接收數(shù)據(jù)寄存器。 u uC C與與同同步步外外設(shè)設(shè)接接口口u uC CS SY YS ST TE EMR Rx xD DT Tx xD DR Rx xC CT Tx xC C8 82 25 51 1A A A AD DD DR R. .D DA AT TA AC CO ON NT TR RO OL LS SY YN ND DE ET TS SY YN NC C. .
20、P PE ER RI IP PH HE ER RA AL LD DE EV VI IC CE E8251A8251A同步通信應(yīng)用同步通信應(yīng)用(3) 發(fā)送部分 TXD:發(fā)送數(shù)據(jù)輸出線。CPU并行輸入給8251A的數(shù)據(jù)從這個(gè)引腳串行發(fā)送出去。 TXRDY:發(fā)送準(zhǔn)備好狀態(tài)輸出線, 高電平有效。當(dāng)發(fā)送寄存器空閑且允許發(fā)送( 腳電平為低、命令字中TXEN位為1)時(shí),TXRDY為高電平。當(dāng)CPU給8251A寫入一個(gè)字符后TXRDY恢復(fù)為低電平。TXRDY可作為8251A向CPU申請(qǐng)發(fā)送中斷的請(qǐng)求源。 TXEMPT:發(fā)送緩沖器空閑狀態(tài)輸出線。高電平有效, TXEMPT=1,表示發(fā)送緩沖器中沒(méi)有要發(fā)送的字符,
21、當(dāng)CPU將要發(fā)送的數(shù)據(jù)寫入8251A后,TXEMPT自動(dòng)復(fù)位。 : 發(fā)送器時(shí)鐘輸入線,在 的下降沿?cái)?shù)據(jù)由8251A移位輸出。對(duì) 頻率的要求同 TXCRXCTXCT X CCTS 發(fā)送器的工作過(guò)程: 在異步方式中,發(fā)送器在數(shù)據(jù)前加上起始位,并根據(jù)程序的設(shè)定在數(shù)據(jù)后加上校驗(yàn)位和停止位,然后作為一幀信息從TXD腳逐位發(fā)送數(shù)據(jù)。 在同步方式中,發(fā)送器先送同步字符,然后逐位地發(fā)送數(shù)據(jù)。若CPU沒(méi)有及時(shí)把數(shù)據(jù)寫入發(fā)送緩沖器,則8251A用同步字符填充,直至CPU寫入新的數(shù)據(jù)。 (4) 與外設(shè)或調(diào)制解調(diào)器接口: :數(shù)據(jù)設(shè)備準(zhǔn)備好狀態(tài)輸入線, 低電平有效。 當(dāng)調(diào)制解調(diào)器準(zhǔn)備好時(shí), 有效,表示Modem(或DC
22、E)已準(zhǔn)備就緒。CPU可通過(guò)讀取狀態(tài)寄存器的D7位檢測(cè)該信號(hào)。 :數(shù)據(jù)終端準(zhǔn)備好狀態(tài)輸出線,低電平有效。當(dāng)8251A命令字位D1為1時(shí), 有效, 用于向調(diào)制解調(diào)器表示數(shù)據(jù)終端已準(zhǔn)備好。 DTRDTRDSRDSR : 請(qǐng)求發(fā)送信號(hào)輸出線, 低電平有效。 當(dāng)8251A命令字位D5為1時(shí), 有效,請(qǐng)求調(diào)制解調(diào)器作好發(fā)送準(zhǔn)備(建立載波)。 : 清除發(fā)送(允許傳送)信號(hào)輸入線, 低電平有效。 當(dāng)調(diào)制解調(diào)器作好送數(shù)準(zhǔn)備時(shí), 有效,作為對(duì)8251A的 信號(hào)的響應(yīng)。 如果8251A不使用調(diào)制解調(diào)器而直接和外界通訊,一般應(yīng)將 、 腳接地。 接收器的工作過(guò)程:在異步方式中,當(dāng)接收器接收到有效的起始位后, 便接收數(shù)
23、據(jù)位、奇偶校驗(yàn)位和停止位。然后將數(shù)據(jù)送入寄存器,此時(shí)RXRDY輸出高電平,表示已收到一字符,CPU可以來(lái)讀取。 RTSRTSCTSCTSRTSDSRCTS復(fù)位操作復(fù)位操作輸出第一個(gè)同步字符輸出第一個(gè)同步字符 輸出方式字輸出方式字輸出第二個(gè)同步字符輸出第二個(gè)同步字符雙同步雙同步 ? 輸出命令字輸出命令字 傳送數(shù)據(jù)傳送數(shù)據(jù)傳遞完傳遞完 ? 復(fù)復(fù) 位位 ?同步方式同步方式 ?是是是是是是是是否否否否否否10.2.2 8251A10.2.2 8251A的編程的編程1. 8251A的編程流程圖的編程流程圖方式字的格式D7D6D5D4D3D2D1D0方式及波特率00: 同步* 101: 異步* 110:
24、異步* 1611: 異步* 64數(shù)據(jù)位數(shù)00: 501: 610: 711: 8校驗(yàn)方式*0 : 不校驗(yàn)01: 奇校驗(yàn)11: 偶校驗(yàn) 00 : 無(wú)效 01 : 1位停止位 10 : 1位半 11 : 2位 *0 : 內(nèi)同步 01 : 雙同步字 11 : 單同步字同步方式Y(jié)N2.方式字; 方式字確定8251A的通訊方式(同步異步)、校驗(yàn)方式(奇校驗(yàn)、偶校驗(yàn)、不校驗(yàn))、數(shù)據(jù)位數(shù)(5、6、7或8位)及波特率參數(shù)等。它應(yīng)在復(fù)位后寫入,且只需寫入一次。命令字的格式ENIRRTSSBRKRXEDTRTXENER進(jìn)入搜索方式1:進(jìn)行SYNC搜索內(nèi)部復(fù)位1:8251A復(fù)位請(qǐng)求發(fā)送1:迫使RTS輸出0出錯(cuò)復(fù)位1
25、:復(fù)位錯(cuò)誤標(biāo)志發(fā)送允許1:允許 0:禁止數(shù)據(jù)終端準(zhǔn)備好1:迫使DTR輸出0接收允許1:允許 0:禁止發(fā)送斷點(diǎn)字符1:迫使TXD為0D7D6D5D4D3D2D1D03.命令字。 命令字使8251A處于規(guī)定的狀態(tài)以準(zhǔn)備發(fā)送或接收數(shù)據(jù)。 它應(yīng)在寫入方式字后寫入,用于控制8251A的工作,可以多次寫入。 方式字和命令字本身無(wú)特征標(biāo)志,也沒(méi)有獨(dú)立的端口地址,8251A是根據(jù)寫入先后次序來(lái)區(qū)分這兩者的:先寫入者為方式字,后寫入者為命令字。所以CPU在對(duì)8251A初始化編程時(shí)必須按一定的先后順序?qū)懭敕绞阶趾兔钭帧?4 狀態(tài)寄存器。狀態(tài)寄存器存放8251A的狀態(tài)信息,供CPU查詢,狀態(tài)字各位的意義如圖所示。
26、 DSR: 數(shù)據(jù)設(shè)備準(zhǔn)備好標(biāo)志。 其狀態(tài)同 腳。 SYNDET: 同步標(biāo)志。 FE:異步通訊幀出錯(cuò)標(biāo)志。為1表示未檢測(cè)到字符末尾的有效停止位,但FE錯(cuò)并不禁止8251A工作。FE標(biāo)志由命令控制字中的ER位清除。 DSR OE: 溢出標(biāo)志。 接收器內(nèi)的字符尚未被CPU讀走時(shí)又有新的字符裝入,則OE置1,此時(shí)原來(lái)的字符丟失,但并不禁止8251A工作,OE標(biāo)志由命令控制字中的ER位清除。 PE:奇偶錯(cuò)標(biāo)志。奇偶錯(cuò)時(shí)PE置1,但此時(shí)并不禁止8251A工作,PE標(biāo)志由命令控制字中的ER位清除。 TXE: 發(fā)送緩沖器空標(biāo)志。 其狀態(tài)同TXE腳。 RXRDY: 接收準(zhǔn)備好標(biāo)志。 其狀態(tài)同RXRDY腳。 TX
27、RDY: 發(fā)送準(zhǔn)備好標(biāo)志。 含義同TXRDY引腳。只要發(fā)送緩沖器空,就置位該位。而引腳TXRDY除發(fā)送緩沖器空外, 還要滿足TXE=1, CTS=0才置位。 狀態(tài)字DSR SYNDETFETXERXRDYTXRDYOED7D6D5D4D3D2D1D0PE同引腳定義奇偶錯(cuò)溢出錯(cuò)幀出錯(cuò) 10.2.3 8251A的初始化編程舉例的初始化編程舉例 像所有的可編程器件一樣,8251A在使用前也要進(jìn)行初始化。初始化在8251A處于復(fù)位狀態(tài)時(shí)開(kāi)始。其過(guò)程為:首先輸入方式控制字,以決定通信方式、數(shù)據(jù)位數(shù)、校驗(yàn)方式等若是同步通信方式則緊接著輸入一個(gè)或兩個(gè)同步字符,若是異步方式則這一步可省略,最后送入命令控制字,
28、就可以開(kāi)始發(fā)送或接收數(shù)據(jù)了。初始化過(guò)程的信息全部寫入控制端口 特征是 C/ =1,即地址線A0=1的地址。 由于各個(gè)控制字沒(méi)有特征位,所以寫入的順序不能出錯(cuò), 否則就會(huì)張冠李戴,達(dá)不到初始化的目的。D 當(dāng)8251A與CPU連接時(shí), 至少要占用兩個(gè)端口地址, 即控制端口(C/ =1)和數(shù)據(jù)端口(C/ =0)。 在使用8251A時(shí)需要一個(gè)外部時(shí)鐘源提供 、 和CLK信號(hào)。 和 由波特率以及時(shí)鐘頻率與波特率的倍率決定。 CLK則在 ( )頻率的基礎(chǔ)上增高若干倍。 8251A與CPU通常采用查詢或中斷方式交換數(shù)據(jù)。若采用中斷方式,兩個(gè)狀態(tài)信號(hào)TXRDY和RXRDY通過(guò)一個(gè)非門接到CPU的外中斷輸入。
29、其余的 、 、 RESET都是同名端相連。 在編程時(shí),對(duì)8251A初始化,輸入命令字后就可進(jìn)行數(shù)據(jù)傳送。在得到中斷申請(qǐng)后,通過(guò)調(diào)用狀態(tài)字來(lái)檢測(cè)是接收申請(qǐng)(RXRDY=1)還是發(fā)送申請(qǐng)(TXRDY=1),然后轉(zhuǎn)至相應(yīng)的程序模塊。DDRXCTXCRXCTXCRXCTXCRDWR1、異步方式下的初始化、異步方式下的初始化例:要求異步方式下,波特率因子為例:要求異步方式下,波特率因子為16,一位停止位,則方式選擇,一位停止位,則方式選擇字為字為01011101B5DH,在異步方式下輸入在異步方式下輸入50個(gè)字符,采用查詢狀個(gè)字符,采用查詢狀態(tài)字的方法,在程序中需對(duì)狀態(tài)寄存器的態(tài)字的方法,在程序中需對(duì)狀
30、態(tài)寄存器的RxRDY位進(jìn)行測(cè)試,查位進(jìn)行測(cè)試,查詢?cè)?251A是否從外設(shè)接收一個(gè)字符,如果收到,是否從外設(shè)接收一個(gè)字符,如果收到, RxRDY位變?yōu)橛形蛔優(yōu)橛行У男У摹?“,CPU用輸入指令從偶地址口取回?cái)?shù)據(jù)送入內(nèi)存緩沖區(qū)用輸入指令從偶地址口取回?cái)?shù)據(jù)送入內(nèi)存緩沖區(qū)中,當(dāng)中,當(dāng)CPU讀取字符后,讀取字符后,RxRDY自動(dòng)復(fù)位為自動(dòng)復(fù)位為“0“,除檢測(cè),除檢測(cè)RxRDY位以外還要栓測(cè)位以外還要栓測(cè)D3(PE),),D4(OE),),D5(FE)位是)位是否出錯(cuò),若出錯(cuò)后轉(zhuǎn)錯(cuò)誤處理程序。否出錯(cuò),若出錯(cuò)后轉(zhuǎn)錯(cuò)誤處理程序。程序如下:程序如下:異步方式下的初始化(程序)異步方式下的初始化(程序)MOV A
31、L,40HOUTPortE , AL;復(fù)位復(fù)位8251AMOVAL, 50HOUTPortE , AL;設(shè)置異步方式選擇字設(shè)置異步方式選擇字MOVAL, 37EHOUTPortE , AL;控制字寫入奇地址控制字寫入奇地址PortEMOVDI, 0MOVCX,32H;計(jì)數(shù)初值計(jì)數(shù)初值50個(gè)字符個(gè)字符Input:IN , AL,PortE;讀取狀態(tài)字讀取狀態(tài)字TESTAL,02H;測(cè)試狀態(tài)字第測(cè)試狀態(tài)字第2位位RxRDYJZInput;未收到字符則重新取狀態(tài)字未收到字符則重新取狀態(tài)字INAL,Port0 ;RxRDY有效,從偶地址口輸入數(shù)據(jù)有效,從偶地址口輸入數(shù)據(jù)MOVDX ,Buffer;緩沖
32、區(qū)首址送緩沖區(qū)首址送DXMOVDX+DI, AL;將字符送入緩沖區(qū)將字符送入緩沖區(qū)INCDI;緩沖區(qū)指針加;緩沖區(qū)指針加1INAL,PortE ;再讀取狀態(tài)字再讀取狀態(tài)字TESTAL,38H;測(cè)試有無(wú)三種錯(cuò)誤測(cè)試有無(wú)三種錯(cuò)誤JNZERRORLOOPInputJMPEXITERROR:EXIT:2、同步方式下的初始化、同步方式下的初始化例如:要求例如:要求2個(gè)同步字符,外同步,奇校檢,每字節(jié)個(gè)同步字符,外同步,奇校檢,每字節(jié)8位。位。則方式選擇字為則方式選擇字為01011100B5CH,第一個(gè)同步字符為,第一個(gè)同步字符為A5H,第二個(gè)同,第二個(gè)同步字符為步字符為E7H。編程初始化時(shí),先用內(nèi)部復(fù)位
33、命令,將編程初始化時(shí),先用內(nèi)部復(fù)位命令,將40H送入送入8251A奇地址,復(fù)奇地址,復(fù)位后重新寫入奇地址,程序如下:位后重新寫入奇地址,程序如下:MOV AL,40HOUTPortE , AL;復(fù)位復(fù)位8251AMOVAL, 5CHOUTPortE , AL;設(shè)置方式選擇字設(shè)置方式選擇字MOVAL, 0A5EHOUTPortE , AL;寫入第一個(gè)同步字符寫入第一個(gè)同步字符MOVAL, 07EHOUTPortE , AL;寫入第一個(gè)同步字符寫入第一個(gè)同步字符MOVAL, 0B7HOUTPortE , AL;設(shè)置控制源,啟動(dòng)發(fā)設(shè)置控制源,啟動(dòng)發(fā) 送器和接收器送器和接收器10.3 RS-232C
34、串行接口標(biāo)準(zhǔn) 美國(guó)電子工業(yè)協(xié)會(huì)EIA制定的通用標(biāo)準(zhǔn)串行接口 1962年公布,1969年修訂 1987年1月正式改名為EIA-232D 設(shè)計(jì)目的是用于連接調(diào)制解調(diào)器 現(xiàn)已成為數(shù)據(jù)終端設(shè)備DTE(例如計(jì)算機(jī))與數(shù)據(jù)通信設(shè)備DCE(例如調(diào)制解調(diào)器)的標(biāo)準(zhǔn)接口 可實(shí)現(xiàn)遠(yuǎn)距離通信,也可近距離連接兩臺(tái)微機(jī) 屬于網(wǎng)絡(luò)層次結(jié)構(gòu)中的最低層:物理層RS-232C的引腳定義 232C接口標(biāo)準(zhǔn)使用一個(gè)25針連接器 絕大多數(shù)設(shè)備只使用其中9個(gè)信號(hào),所以就有了9針連接器 現(xiàn)在的臺(tái)式現(xiàn)在的臺(tái)式PCPC機(jī)一般至少有兩個(gè)機(jī)一般至少有兩個(gè)RSRS232232串串行口行口COM1COM1和和COM2COM2,通常,通常COM1CO
35、M1使用的是使用的是9 9針針D D形連形連接器,而接器,而COM2COM2使用的是老式的使用的是老式的DB25DB25針連接器。針連接器。 RS-232C接口RS-232C的引腳的引腳RTS:請(qǐng)求發(fā)送 當(dāng)數(shù)據(jù)終端設(shè)備準(zhǔn)備好送出數(shù)據(jù)時(shí),就發(fā)出有效的RTS信號(hào),用于通知數(shù)據(jù)通信設(shè)備準(zhǔn)備接收數(shù)據(jù)CTS:清除發(fā)送(允許發(fā)送) 當(dāng)數(shù)據(jù)通信設(shè)備已準(zhǔn)備好接收數(shù)據(jù)終端設(shè)備的傳送數(shù)據(jù)時(shí),發(fā)出CTS有效信號(hào)來(lái)響應(yīng)RTS信號(hào)RTS和CTS是數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間一對(duì)用于數(shù)據(jù)發(fā)送的聯(lián)絡(luò)信號(hào)DTR:數(shù)據(jù)終端準(zhǔn)備好 該信號(hào)就有效,表明數(shù)據(jù)終端設(shè)備準(zhǔn)備就緒DSR:數(shù)據(jù)裝置準(zhǔn)備好 通常表示數(shù)據(jù)通信設(shè)備(即數(shù)據(jù)裝置)準(zhǔn)
36、備好,并可以進(jìn)行數(shù)據(jù)傳輸方式DTR和DSR也可用做數(shù)據(jù)終端設(shè)備與數(shù)據(jù)通信設(shè)備間的聯(lián)絡(luò)信號(hào),例如應(yīng)答數(shù)據(jù)接收 TxD:發(fā)送數(shù)據(jù) 串行數(shù)據(jù)的發(fā)送端 RxD:接收數(shù)據(jù) 串行數(shù)據(jù)的接收端 GND:信號(hào)地 為所有的信號(hào)提供一個(gè)公共的參考電平 CD:載波檢測(cè)(DCD) 當(dāng)本地調(diào)制解調(diào)器接收到來(lái)自對(duì)方的載波信號(hào)時(shí),該引腳向數(shù)據(jù)終端設(shè)備提供有效信號(hào) RI:振鈴指示 當(dāng)調(diào)制解調(diào)器接收到對(duì)方的撥號(hào)信號(hào)期間,該引腳信號(hào)作為電話鈴響的指示、保持有效 保護(hù)地(機(jī)殼地) 起屏蔽保護(hù)作用的接地端,一般應(yīng)參照設(shè)備的使用規(guī)定,連接到設(shè)備的外殼或大地 TxC:發(fā)送器時(shí)鐘 控制數(shù)據(jù)終端發(fā)送串行數(shù)據(jù)的時(shí)鐘信號(hào) RxC:接收器時(shí)鐘 控
37、制數(shù)據(jù)終端接收串行數(shù)據(jù)的時(shí)鐘信號(hào)RS-232C的電氣特性 232C接口采用EIA電平 高電平為3V15V 低電平為3V15V 實(shí)際常用12V或15Vn標(biāo)準(zhǔn)標(biāo)準(zhǔn)TTL電平電平n高電平:高電平:2.4V5Vn低電平:低電平:0V0.4V電平轉(zhuǎn)換,邏輯轉(zhuǎn)換電平轉(zhuǎn)換,邏輯轉(zhuǎn)換RS-232C的連接 微機(jī)利用232C接口連接調(diào)制解調(diào)器,用于實(shí)現(xiàn)通過(guò)電話線路的遠(yuǎn)距離通信 微機(jī)利用232C接口直接連接進(jìn)行短距離通信。這種連接不使用調(diào)制解調(diào)器,所以被稱為零調(diào)制解調(diào)器(Null Modem)連接連接調(diào)制解調(diào)器電話線電話線MODEM微機(jī)微機(jī)2345678202223456782022MODEM23456782022
38、數(shù)據(jù)裝置準(zhǔn)備好數(shù)據(jù)裝置準(zhǔn)備好DSRDSR數(shù)據(jù)終端準(zhǔn)備好數(shù)據(jù)終端準(zhǔn)備好DTRDTR發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)TxDTxD接收數(shù)據(jù)接收數(shù)據(jù)RxDRxD請(qǐng)求發(fā)送請(qǐng)求發(fā)送RTSRTS允許發(fā)送允許發(fā)送CTSCTS信號(hào)地信號(hào)地GNDGND載波檢測(cè)載波檢測(cè)CDCD振鈴指示振鈴指示RIRI微機(jī)微機(jī)23456782022(DCE)(DTE)不使用聯(lián)絡(luò)信號(hào)的3線相連方式微機(jī)微機(jī)TxDRxDGND微機(jī)微機(jī)為了交換信息,為了交換信息,TxD和和RxD應(yīng)當(dāng)交叉連接應(yīng)當(dāng)交叉連接程序中不必使程序中不必使RTS和和DTR有效有效也不應(yīng)檢測(cè)也不應(yīng)檢測(cè)CTS和和DSR是否有效是否有效 RSRS232C232C串口通信接線方法(三線制)串口通信接線方法(三線制) RS-232MAX232MCS51TXDRXDTXDRXD使用聯(lián)絡(luò)信
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作室衛(wèi)生管理制度
- 收費(fèi)停車場(chǎng)管理制度
- 政府對(duì)村隊(duì)管理制度
- 教師沐浴室管理制度
- 教育局建立管理制度
- 施工五過(guò)程管理制度
- 未遵守公司管理制度
- 機(jī)器管理員管理制度
- 機(jī)械進(jìn)出場(chǎng)管理制度
- 雜貨梯使用管理制度
- 醫(yī)院安保人員培訓(xùn)方案
- 關(guān)于殘疾人法律知識(shí)講座
- 國(guó)開(kāi)2023秋《漢語(yǔ)通論》期末大作業(yè)題目二參考答案
- 寧波市高一數(shù)學(xué)試卷-含答案
- 水站運(yùn)維服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 醫(yī)院培訓(xùn)課件:《自由體位在產(chǎn)程中的應(yīng)用》
- 歐洲件專用形式發(fā)票模板
- 蛛網(wǎng)膜下腔出血護(hù)理查房蛛網(wǎng)膜下腔出血教學(xué)查房課件
- 開(kāi)油鍋紅袖章制度
- 鋼板倉(cāng)氣力輸送粉煤灰系統(tǒng)安全操作規(guī)范
- 蘇繡文化課件
評(píng)論
0/150
提交評(píng)論