云南民族大學(xué)《計(jì)算機(jī)基礎(chǔ)》課件-第8章串行通信和串行接口_第1頁
云南民族大學(xué)《計(jì)算機(jī)基礎(chǔ)》課件-第8章串行通信和串行接口_第2頁
云南民族大學(xué)《計(jì)算機(jī)基礎(chǔ)》課件-第8章串行通信和串行接口_第3頁
云南民族大學(xué)《計(jì)算機(jī)基礎(chǔ)》課件-第8章串行通信和串行接口_第4頁
云南民族大學(xué)《計(jì)算機(jī)基礎(chǔ)》課件-第8章串行通信和串行接口_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第8章 串行通信和串行接口 8.1 串行通信基本概念 8.2串行通信協(xié)議8.3 串行接口標(biāo)準(zhǔn)8.4 可編程串行接口8251A云南民族大學(xué)計(jì)算機(jī)基礎(chǔ)8.1 串行通信基本概念 8.1.1 串行通信8.1.2 數(shù)據(jù)傳送方式8.1.3 波特率和收/發(fā)時(shí)鐘8.1.4 信號(hào)調(diào)制與解調(diào)8.1.5 差錯(cuò)控制8.1.1 串行通信串行通信:數(shù)據(jù)通過一條數(shù)據(jù)線,一位一位地傳輸,通常是先傳數(shù)據(jù)的低位,再傳高位,每1位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度 。并行通信:8位或16位數(shù)據(jù)通過多條數(shù)據(jù)線同時(shí)傳送計(jì)算機(jī)計(jì)算機(jī)或外設(shè)并行通信計(jì)算機(jī)計(jì)算機(jī)或外設(shè)串行通信串行通信與并行通信比較:串行通信并行通信通信距離適于遠(yuǎn)距離傳輸(幾米到幾

2、公里)適于近距離傳輸(一般=15m),圖8.11用于短距離通信(15m)需要狀態(tài)信號(hào)線(圖8.12,圖8.14)不需要狀態(tài)信號(hào)線(圖8.13)圖 8.11電話網(wǎng) DTEDCE計(jì)算機(jī)或終端MODEM或其它DCEPGTxDRxDRTSCTSDSRCDDTRRISG123456820227DTEDCE計(jì)算機(jī)或終端MODEM或其它DCEPGTxDRxDRTSCTSDSRCDDTRRISG123456820227 DTE計(jì)算機(jī)或終端PGTxDRxDRTSCTSDSRDTRSG圖8.12 兩DTE之間直接相連DTE計(jì)算機(jī)或終端PGTxDRxDRTSCTSDSRDTRSG123456207123456207

3、 DTE計(jì)算機(jī)或終端PGTxDRxDRTSCTSCDDTRSG圖8.14 兩DTE之間直接相連DTE計(jì)算機(jī)或終端PGTxDRxDRTSCTSCDDTRSG123456207123456207DSRDSR DTE計(jì)算機(jī)或終端TxDRxDSG圖8.13 兩DTE之間直接相連(無狀態(tài)線)DTE計(jì)算機(jī)或終端TxDRxDSG2372373. 電氣特性有效電平: 數(shù)據(jù)線TxD和RxD上,邏輯“1”為-3V-15V,邏輯“0”為+3V+15V(負(fù)邏輯)。控制線RTS,CTS,DSR, DTR及CD上,信號(hào)有效電平為+3+15V.電平轉(zhuǎn)換: RS-232C采用EIA電平,與TTL電平不同,因而在TTL與EIA

4、電平之間需要用接口電路進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的EIA電平通過DB-25型連接器(或DB-9型連接器)與外界相連。接口RS-232C (EIA電平)TTL輸出TTL輸入MC1489MC1488DB-25(或DB-9)DB-25型連接器DB-9型連接器8.4 可編程串行接口芯片8251A8.4.1 8251A基本性能8.4.2 8251A內(nèi)部結(jié)構(gòu)8.4.3 8251A外部引腳功能8.4.4 8251A編程8.4.5 8251A應(yīng)用舉例8.4.1 8251A基本性能可用于同步和異步傳送。同步傳送:5 8bit/字符,內(nèi)部或外部同步,可自動(dòng)插入同步字符。異步傳送:5 8bit/字符,時(shí)鐘頻率為通信波特率的1

5、,16或64倍。可產(chǎn)生終止字符(1,1.5或2位停止位),可檢查假啟動(dòng)位,自動(dòng)檢測(cè)和處理終止字符。波特率: DC 19.2Kb/s(異步),DC64Kb/s(同步)全雙工,雙緩沖發(fā)送和接收器。具有奇偶、溢出和幀錯(cuò)誤等檢測(cè)電路。與Intel8080,8085,8086及8088CPU兼容。8.4.2 8251A內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器D7D8串并轉(zhuǎn) 換接 收緩沖器RXDRESETCLK讀寫控制邏輯電路CDRDWRCS調(diào)制/解調(diào)控制電路DSRDTRCTSRTS內(nèi) 部 總 線發(fā) 送緩沖器并串轉(zhuǎn) 換TXD接收控制電路RXRDYRXCSYNDET發(fā)送控制電路TXCTXEMPTXRDY圖8.31 8251A

6、的內(nèi)部結(jié)構(gòu)框圖接收器:在RxC作用下,接收RxD引腳上的幀格式化數(shù)據(jù),將其轉(zhuǎn)換成并行數(shù)據(jù),同時(shí)進(jìn)行校驗(yàn)。若發(fā)現(xiàn)錯(cuò)誤則在狀態(tài)寄存器中保存以便CPU處理;若校驗(yàn)無錯(cuò)則將并行數(shù)據(jù)放到數(shù)據(jù)總線緩沖器中,并使RxRDY=1,通知CPU讀取數(shù)據(jù)。常見錯(cuò)誤類型有:奇偶校驗(yàn)錯(cuò)、幀錯(cuò)誤、溢出(丟失)錯(cuò)誤。發(fā)送器:首先將待發(fā)送的并行數(shù)據(jù)轉(zhuǎn)換成所要求的幀格式并加上校驗(yàn)位,然后在TxC作用下將數(shù)據(jù)由TxD引腳1位1位地串行發(fā)送出去。發(fā)送完1幀數(shù)據(jù)后使TxRDY=1,通知CPU發(fā)送下一個(gè)數(shù)據(jù)。數(shù)據(jù)總線緩沖器:三態(tài)雙向8位緩沖器,它使8251A與系統(tǒng)數(shù)據(jù)總線相連接。讀/寫控制邏輯電路:用來配合數(shù)據(jù)總線緩沖器工作,即:寫信

7、號(hào)WR:有效時(shí)將來自CPU的數(shù)據(jù)和控制字寫入8251A;讀信號(hào)RD:有效時(shí)將數(shù)據(jù)或狀態(tài)字從8251A送往數(shù)據(jù)總線;C/D信號(hào):將此信號(hào)和讀/寫信號(hào)合起來通知8251A,當(dāng)前讀/寫的是數(shù)據(jù)還是控制字、狀態(tài)字;時(shí)鐘信號(hào)CLK:完成8251A的內(nèi)部定時(shí);復(fù)位信號(hào)RESET:使8251A處于空閑狀態(tài)。調(diào)制解調(diào)控制電路:用來簡(jiǎn)化8251A和調(diào)制解調(diào)器的連接,提供了一組通用的控制信號(hào),使得8251A可以直接和調(diào)制解調(diào)器連接。8.4.3 8251A外部引腳功能1. 8251A和CPU之間的連接信號(hào) RESET:當(dāng)該引腳上出現(xiàn)6倍時(shí)鐘寬的高電平信號(hào)時(shí),8251A被復(fù)位,處于空閑狀態(tài)。CLK:為8251A內(nèi)部電

8、路提供時(shí)鐘。同步時(shí)應(yīng)大于收發(fā)時(shí)鐘的30倍,異步時(shí)應(yīng)大于收發(fā)時(shí)鐘的4.5倍。 片選信號(hào)數(shù)據(jù)信號(hào)D7D0 讀/寫控制信號(hào) 具體操作001(CPU)數(shù)據(jù)總線8251A數(shù)據(jù) 010(CPU)數(shù)據(jù)總線8251A數(shù)據(jù)101(CPU)數(shù)據(jù)總線8251A狀態(tài) 110(CPU)數(shù)據(jù)總線8251A控制命令圖7-7 8251A與CPU及外設(shè)的連接關(guān)系譯碼D7D0MIOCSABA0CDRDRDWRWRTXRDYTXERXRDYSYNDETRESET80868251A外設(shè)(MODEM)DTRDSRRXDCTSRTSTXDCLKTXC計(jì)數(shù)器定時(shí)器XC2.MODEM控制信號(hào) DTRDTE準(zhǔn)備好(輸出,低電平有效),CPU通

9、過命令可使之有效,通知外部設(shè)備,CPU已準(zhǔn)備就緒。DSRDCE準(zhǔn)備好(輸入,低電平有效),表示當(dāng)前外設(shè)已經(jīng)準(zhǔn)備好。CPU通過讀取狀態(tài)寄存器的D7位來實(shí)現(xiàn)對(duì)信號(hào)的檢測(cè)。RTS請(qǐng)求發(fā)送信號(hào)(輸出,低電平有效),CPU可以通過編程命令使變其為有效電平,通知DCE,CPU已準(zhǔn)備發(fā)送數(shù)據(jù)。 CTS清除請(qǐng)求發(fā)送(輸入,低電平有效),是對(duì)RTS的響應(yīng)信號(hào),當(dāng)其有效時(shí)8251A才能執(zhí)行發(fā)送數(shù)據(jù)操作 。3.發(fā)送器有關(guān)信號(hào) TXD發(fā)送數(shù)據(jù)。CPU送往8251A的并行數(shù)據(jù)被轉(zhuǎn)變?yōu)榇袛?shù)據(jù)后,通過TXD送往外設(shè)。TXRDY發(fā)送器準(zhǔn)備好信號(hào),高電平有效。有效時(shí)表示發(fā)送緩沖器空,CPU可以向芯片送入新數(shù)據(jù)。若為中斷方式,

10、則作為中斷請(qǐng)求信號(hào);若為查詢方式,可作聯(lián)絡(luò)信號(hào)。TXE發(fā)送器空信號(hào),高電平有效,用來表示此時(shí)8251A發(fā)送器中沒有要發(fā)送的字符;當(dāng)CPU送入一個(gè)字符時(shí)被復(fù)位。TxC發(fā)送時(shí)鐘,控制8251A發(fā)送字符的速度。異步時(shí): 為數(shù)據(jù)速率的1、16或64倍;同步時(shí)與數(shù)據(jù)速率相同。4. 接收器有關(guān)信號(hào)RXD接收外設(shè)送來的串行數(shù)據(jù),數(shù)據(jù)進(jìn)入8251A后被轉(zhuǎn)變?yōu)椴⑿袛?shù)據(jù)送到數(shù)據(jù)總線緩沖器。RXRDY接收器準(zhǔn)備好信號(hào),高電平有效,表示已從外設(shè)接收到一個(gè)字符,正等待CPU取走。中斷方式時(shí),作為中斷請(qǐng)求信號(hào);查詢方式時(shí),用來作為聯(lián)絡(luò)信號(hào)。SYNDET同步和終止信號(hào)。工作在同步方式時(shí)用做同步檢測(cè)端(檢測(cè)到同步字符,則SY

11、NDET便變?yōu)楦唠娖剑划惒綍r(shí)用做終止檢測(cè)輸出。RxC 接收時(shí)鐘,控制8251A接收字符的速度。 時(shí)鐘速率規(guī)定與TxC相同,一般將TxC和RxC連在一起,用同一時(shí)鐘源。8.4.4 8251A編程8251A編程命令:1. 方式指令字方式指令字分為4組:同步/異步字符位數(shù)(5、6、7、8位)奇偶校驗(yàn)(奇、偶、無校驗(yàn))異步方式下的停止位位數(shù)(1、1.5、2位), 或同步方式內(nèi)同步(1、2個(gè)同步字符)、外同步方式指令字:指定通信方式、數(shù)據(jù)格式命令指令字:指定某種操作(如發(fā)送、接收)或處于某種狀態(tài)(如DTR),以便發(fā)送/接收數(shù)據(jù)狀態(tài)字:確定8251當(dāng)前內(nèi)部狀態(tài)。8251A方式指令字D7D6D5D4D3D

12、2D1D0工作方式及波特率選擇00:同步方式01:異步方式,波特率系數(shù)=110:異步方式,波特率系數(shù)=1611:異步方式,波特率系數(shù)=64異步方式字符位數(shù)選擇00:5位01:6位10:7位11:8位奇偶校驗(yàn)方式設(shè)定X0:無奇偶校驗(yàn)位01:奇校驗(yàn)11:偶校驗(yàn)若為異步方式(D1,D000)設(shè)定停止位的位數(shù)01:1位停止位10:1.5位停止位11:2位停止位若為同步方式(D1,D0 = 00)設(shè)定同步方式00:內(nèi)同步,2個(gè)同步字符10:內(nèi)同步,1個(gè)同步字符X1:外同步2. 命令指令字TxEN(Transmit Enable ):發(fā)送允許,D0=1,允許進(jìn)行并/串轉(zhuǎn)換并發(fā)送;D0=0 禁止發(fā)送。DTR

13、 (Data Terminal Ready):數(shù)據(jù)終端就緒,D1=1,置/DTR引腳有效0電平;D1=0,置/DTR無效。RxE (Receive Enable):接收允許,D2=1 允許CPU 讀數(shù)據(jù)輸入緩沖器的內(nèi)容;D2=0,禁止接收。EHIRRTSERSBRKRXEDTRTXEND7D6D5D4D3D2D1D0SBRK (Send Break character):發(fā)中止字符,D3=1,迫使TxD 引腳發(fā)空號(hào);D3=0,正常操作.ER (Error Reset):錯(cuò)誤標(biāo)志復(fù)位,D4=1,使錯(cuò)誤標(biāo)志PE、OE、FE復(fù)位;RTS(Request To Send) :請(qǐng)求發(fā)送,D5=1,迫使/

14、RTS 引腳為有效電平。IR (Internal Reset):內(nèi)部復(fù)位,D6=1,重新開始設(shè)置模式寄存器,即回到初始化編程階段;D6=0 正常進(jìn)行。EH(Enter Hunt mode):進(jìn)入搜索同步字符模式,D7=1,搜索同步字符。說明:上述方式指令和命令指令都是由CPU寫入8251A同一個(gè)端口,8251A采用對(duì)寫入次序進(jìn)行控制的方法來區(qū)分兩種指令。復(fù)位以后,第一次向奇地址端口寫入的值作為方式選擇控制字進(jìn)入模式寄存器。如果模式字中規(guī)定了8251A工作在同步模式,那么,CPU接著往奇地址端口輸出的1個(gè)或2個(gè)字節(jié)就是同步字符,同步字符被寫入同步字符寄存器(如果有兩上同步字符,則會(huì)按先后分別寫入

15、第一個(gè)和第二個(gè)同步字符寄存器)。這之后,不管是同步模式還是異步模式,由CPU向奇地址端口寫入的值將作為控制字送到控制寄存器,而用偶地址端口寫入的值將作為數(shù)據(jù)送到數(shù)據(jù)輸出緩沖寄存器。3. 狀態(tài)字DSRSYNDETFEOEPETXERXRDYTXRDYD7D6D5D4D3D2D1D0PE(Parity Error):奇/偶校驗(yàn)錯(cuò)。D3=1,有奇/偶校驗(yàn)錯(cuò);D3=0 無奇/偶校驗(yàn)錯(cuò)。OE (Overrun Error) :數(shù)據(jù)覆蓋錯(cuò),接收移位寄存器將數(shù)據(jù)輸入緩沖器中尚未被CPU 讀取的數(shù)據(jù)覆蓋而產(chǎn)生的錯(cuò)誤,D4=1,產(chǎn)生數(shù)據(jù)覆蓋。FE (Framing Error): 幀出錯(cuò),檢測(cè)不到幀停止位的錯(cuò)誤

16、,僅用于異步幀方式,D5=1時(shí)產(chǎn)生幀錯(cuò)誤。SYNDET: 內(nèi)同步字符檢測(cè)位,D6=1:檢測(cè)到同步字符;D6=0:未檢測(cè)到同步字符。DSR: 數(shù)據(jù)設(shè)備準(zhǔn)備好。由DSR 引腳信號(hào)設(shè)置。D7=1, DSR引腳信號(hào)有效低電平。DSR 狀態(tài)位與/DSR引腳信號(hào)狀態(tài)相反。4. CPU 經(jīng)8251A 與外設(shè)可靠收/發(fā)數(shù)據(jù)的條件可靠接收:設(shè)置:控制寄存器中的DTR和RxE(D1D2=11)接收條件: RxRDY 引腳信號(hào)為高電平(中斷方式);或狀態(tài)寄存器中的RxRDY(D1為1)(查詢方式)。檢錯(cuò)條件:狀態(tài)寄存器中的PE、OE、FE位都為0才表明無錯(cuò)誤。可靠發(fā)送:設(shè)置:控制寄存器中的TxEN 及RTS(D0D

17、511)。發(fā)送條件:TxRDY引腳信號(hào)為高電平(用于中斷方式),或狀態(tài)寄存器中的TxRDY( D0位為1)(查詢方式)8251A初始化流程圖8.36 8251A初始化流程圖是同步方式?輸出通信方式選擇命令字兩個(gè)同步字符?復(fù)位 ?傳送完 ?輸出工作命令字傳送數(shù)據(jù)輸出第一個(gè)同步字符是否否否復(fù)位操作是輸出第二個(gè)同步字符是否是8.4.5 8251A應(yīng)用舉例例1:8251A 異步方式初始化編程 設(shè)8251A工作在異步通信方式,字符為8位,偶校驗(yàn),2位停止位,傳輸率為9600波特,發(fā)送接收時(shí)鐘TxC和RxC接153.6kHz,8251A端口地址為C0H、C2H。初始化編程如下:波特率系數(shù)= 153600/

18、9600 =16由于是異步方式,因此只需要向8251送方式選擇字(奇地址端口)和工作命令字(奇地址端口)方式選擇字為: 11111110: 2位停止位,偶校驗(yàn),8位數(shù)據(jù),系數(shù)16工作命令字:要求首先復(fù)位所有出錯(cuò)標(biāo)志,請(qǐng)求發(fā)送/RTS有效,數(shù)據(jù)終端就緒/DTR有效,發(fā)送允許TxEN有效,接收允許RxE有效(全雙工)。 即工作字為: 0 0 1 1 0 1 1 1外同步內(nèi)部復(fù)位RTS有效復(fù)位出錯(cuò)標(biāo)志不發(fā)連續(xù)空號(hào)RxE有效DTR有效TxEN有效由于8251端口地址為C0H、C2H,因此,8251的偶地址是C0H,奇地址實(shí)際上是C2H 初始化編程為:MOVAL,1111,110 BOUT0C2H,AL

19、MOVAL,0011,0111BOUT0C2H,AL例2:查詢8251A狀態(tài)字,實(shí)現(xiàn)異步方式串行接收100個(gè)數(shù)據(jù),放入BUFFER緩沖區(qū),接收完后,發(fā)送一個(gè)結(jié)束標(biāo)志字符給對(duì)方。通信格式同例1。解: 8251編程約定,在初始化之前,先送3個(gè)0到奇地址, 再送40H將8251A復(fù)位,之后,才進(jìn)行初始化設(shè)置。要用軟件不斷檢測(cè)RxRDY標(biāo)志位(讀奇地址),看是否接收到一個(gè)字符;若接收到字符,還要判斷標(biāo)志字的3、4、5位,看是否出現(xiàn)奇/偶錯(cuò)、覆蓋錯(cuò)和幀格式錯(cuò);若無錯(cuò),則讀偶地址,接收一個(gè)數(shù)據(jù),讀取一個(gè)數(shù)據(jù)后,RxRDY會(huì)自動(dòng)復(fù)位。發(fā)送時(shí),首先判斷狀態(tài)字中的TxRDY是否為1(發(fā)送緩沖器空),若為1,則輸出一個(gè)數(shù)據(jù)(通過偶地址口)8251A初始化讀狀態(tài)寄存器RxRDY=1?接收數(shù)據(jù)數(shù)據(jù)出錯(cuò)?讀狀態(tài)寄存器數(shù)據(jù)接收完?錯(cuò)誤處理讀狀態(tài)寄存器TxRDY=1?發(fā)送結(jié)束符結(jié)束是是是是否否否程序如下:XORAL,AL;AL清0OUT0C2H,ALCALLDELAY;調(diào)用延遲子程序OUT0C2H,ALCALLDELAYOUT0C2H,ALCALLDELAYMOVAL,0100,0000B;8251內(nèi)部復(fù)位命令字OUT0C2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論