第九章-串行IO接口-微型計算機(jī)原理與應(yīng)用-電子教案-教學(xué)課件
單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第9章 串行I/O接口,【內(nèi)容簡介】,主要介紹串行通信的基本概念和串行通信接口的基本組成與工作原理,然后介紹可編程串行通信接口8251A的結(jié)構(gòu)、特性、引腳及應(yīng)用;最后,通過具體實例說明串行通信的實現(xiàn)方法與程序設(shè)計。,【重點難點】,重點是串行通信的基本概念、類型、工作方式、可編程串行通信接口8251A的組成原理、功能與初始化程序設(shè)計;難點是8251A的組成原理、功能與初始化程序設(shè)計。,第9章 串行I/O接口【內(nèi)容簡介】,1,第9章 串行I/O接口,9.1 串行通信類型與方式,9.2 可編程串行通信接口8251A,9.3 8251A初始化程序設(shè)計與應(yīng)用舉例,第9章 串行I/O接口 9.1 串行通信類型,2,9.1 串行通信類型與方式,9.1.1 概述,9.1.2 串行通信類型,9.1.3 串行通信方式,9.1.4 RS-232C/485標(biāo)準(zhǔn)與接口電路,9.1 串行通信類型與方式 9.1.1 概述,3,9.1.1 概述,1.串行通信,所謂串行通信,是用一條通信線路把兩臺設(shè)備連接起來,數(shù)據(jù)一位接一位地順序傳送,其示意如,圖9.1,所示。特點是傳輸線少,傳送距離遠(yuǎn),成本低。,2.串行接口電路,是把用于串行通信的電路集成在一起而構(gòu)成的接口。計算機(jī)輸入時,需要把外設(shè)的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),輸入給計算機(jī);計算機(jī)輸出時需要把并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),輸出給外部設(shè)備。,圖9.2,所示是用于串行通信的接口電路,支持同步與異步工作方式,故稱為通用同步/異步接收器/發(fā)送器USART,9.1.1 概述 1.串行通信 2.串行接口電,4,由,圖9.2,可以看出,串行接口一般包含4個寄存器,即控制寄存器、狀態(tài)寄存器、數(shù)據(jù)輸入寄存器及數(shù)據(jù)輸出寄存器。,數(shù)據(jù)的并/串轉(zhuǎn)換和串/并轉(zhuǎn)換通過移位寄存器來進(jìn)行。,另外,還有總線緩沖器、地址譯碼器以及控制邏輯電路。其中控制寄存器接收CPU的控制命令,以確定工作方式;狀態(tài)寄存器用來存儲外部設(shè)備及接口的狀態(tài)信息。數(shù)據(jù)輸入輸出寄存器與串行輸入/并行輸出移位寄存器配合使用,實現(xiàn)數(shù)據(jù)的輸入輸出與轉(zhuǎn)換。,由圖9.2可以看出,串行接口一般包含4個寄存器,即控制,5,3.數(shù)據(jù)輸入,(1)CPU向接口電路發(fā)控制命令,設(shè)置接口輸入工作方式;同時,啟動外設(shè)工作。,(2)外設(shè)數(shù)據(jù)通過串行輸入端送入串行輸入/并行輸出移位寄存器,經(jīng)轉(zhuǎn)換后送入數(shù)據(jù)輸入寄存器。,(3)向CPU發(fā)輸入請求或由CPU查詢接口狀態(tài)標(biāo)志位,然后讀取數(shù)據(jù)。,4.數(shù)據(jù)輸出,(1)CPU發(fā)控制命令,設(shè)置接口輸出工作方式;同時,啟動外設(shè)工作。,(2)CPU通過數(shù)據(jù)總線向接口電路發(fā)送數(shù)據(jù)和寫命令,數(shù)據(jù)暫存在輸出寄存器中。,3.數(shù)據(jù)輸入,6,(3)經(jīng)并行輸入/串行輸出移位寄存器轉(zhuǎn)換后,數(shù)據(jù)串行輸出。,在一般串行接口電路中,控制與狀態(tài)寄存器共用一個地址;數(shù)據(jù)輸入與數(shù)據(jù)輸出寄存器共用一個地址。,(3)經(jīng)并行輸入/串行輸出移位寄存器轉(zhuǎn)換后,數(shù)據(jù)串行,7,9.1.2 串行通信類型,串行通信類型有三種,如,圖9.3,所示,即單工、半雙工和全雙工方式。,1.單工方式,數(shù)據(jù)按照一個固定的方向傳送,不能反向傳送。如圖,9.3(a),所示,由設(shè)備A發(fā)送給設(shè)備B。,2.半雙工方式,要求通信兩端的設(shè)備均具備接收和發(fā)送的能力。但是在同一時間,數(shù)據(jù)只能沿著一個方向傳送。若要雙向傳送,只能交替進(jìn)行。如圖,9.3(b),所示。,3.全雙工方式,通信兩端的設(shè)備即可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù),發(fā)送與接收可以同時進(jìn)行,其過程如,圖9.3(c),所示。,9.1.2 串行通信類型 串行通信類型有三種,如圖9.,8,第九章-串行IO接口-微型計算機(jī)原理與應(yīng)用-電子教案-教學(xué)課件,9,9.1.3 串行通信方式,目前,串行通信主要有兩種類型:異步通信ASYNC和同步通信SYNC方式。,1.異步通信方式,在異步通信方式中,數(shù)據(jù)按照ASCII碼的格式設(shè)定,因此也稱為字符格式,如,圖9.4,所示。,9.1.3 串行通信方式 目前,串行通信主要有兩種類,10,有效數(shù)據(jù)5-8位,另有附加位。其中起始位1位,恒為低電平;奇偶校驗位1位,可選;停止位可以是1位、1.5位或者2位,高電平。傳送一個字符必須以起始位開始,停止位結(jié)束,稱為一幀(Frame)。通信時每秒傳送二進(jìn)制數(shù)據(jù)的位數(shù)(bit)稱為傳輸率,也稱為波特率(Band Rate),比如300、600、1200、4800、9600、19200等。,異步數(shù)據(jù)傳送時,發(fā)送設(shè)備按照格式約定插入起始位、奇偶校驗位和停止位。,接收設(shè)備不斷地檢測傳輸線。在高電平之后檢測到(低電平)時,啟動內(nèi)部計數(shù)器計數(shù),當(dāng)計數(shù)到一個數(shù)據(jù)位寬度的一半時,再次檢測傳輸線,若仍為低電平,則確認(rèn)1個起始位。然后繼續(xù)計數(shù),采樣,移位接收到的數(shù)據(jù)和校驗位。在收到停止位(高電平)后,組成1幀。若超過數(shù)據(jù)的位數(shù)而仍沒有收到停止位時設(shè)置“幀錯誤”標(biāo)志。若校驗有錯,則設(shè)置“校驗錯”標(biāo)志。計算機(jī)異步通信的速率和有效數(shù)據(jù)的位數(shù)可由程序設(shè)置。,有效數(shù)據(jù)5-8位,另有附加位。其中起始位1位,恒為低,11,2.同步通信方式,是用同步字符來標(biāo)識傳送數(shù)據(jù)的起始與結(jié)束,其格式如,圖9.5,所示。在開始部位設(shè)置12個同步字符作為起始標(biāo)志,后面是數(shù)據(jù);在數(shù)據(jù)的末尾,設(shè)置兩個循環(huán)冗余校驗碼(CRC),一方面進(jìn)行數(shù)據(jù)校驗,另一方面表示數(shù)據(jù)傳送結(jié)束。,同步字符可以是1個或2個;也可以在起始部位設(shè)置1個,在末尾設(shè)置1個。,按照同步方式工作時,發(fā)送設(shè)備自動插入同步字符和校驗碼。接收設(shè)備搜索到同步字符后開始接收數(shù)據(jù)。在傳輸過程中,發(fā)送設(shè)備和接收設(shè)備保持完全同步。,2.同步通信方式,12,9.1.4 RS-232C/485標(biāo)準(zhǔn)與接口電路,1.RS-232C信號定義,RS-232C是在計算機(jī)與數(shù)據(jù)終端串行通信中普遍采用的一種傳輸標(biāo)準(zhǔn),有25條信號線,采用D型25針連接器,信號定義如,表9.1,所示。而在微型計算機(jī)中串行接口COM1和COM2使用的是D型9針連接器。其信號是對RS-232C的縮減,符合RS-232C標(biāo)準(zhǔn)。,由于RS-232C數(shù)據(jù)信號與計算機(jī)中的數(shù)據(jù)表示不一致,因此相互之間需要電平轉(zhuǎn)換電路;在遠(yuǎn)程通信時需要配置調(diào)制解調(diào)器(Modem)。,9.1.4 RS-232C/485標(biāo)準(zhǔn)與接口電路 1,13,表9.1 RS-232C標(biāo)準(zhǔn)信號,引腳,功能說明,引腳,功能說明,1,保護(hù)地,14,(輔信道)發(fā)送數(shù)據(jù),2(3),發(fā)送數(shù)據(jù)TxD,15,發(fā)送信號源(DCE)定時,3(2),接收數(shù)據(jù)RxD,16,(輔信道)接收數(shù)據(jù),4(7),請求發(fā)送RTS,17,接收信號源(DCE)定時,5(8),允許發(fā)送CTS,18,未定義,6(6),數(shù)據(jù)裝置準(zhǔn)備好DSR,19,(輔信道)請求發(fā)送RTS,7(5),信號地(公共回路),20(4),數(shù)據(jù)終端準(zhǔn)備好DTR,8(1),接收信號線檢測,21,信號質(zhì)量檢測,9,(保留供數(shù)傳機(jī)測試),22(9),振鈴指示RI,10,(保留供數(shù)傳機(jī)測試),23,數(shù)據(jù)信號速率(DTE/DCE)選擇,11,未定義,24,發(fā)送信號源(DTE)定時,12,(輔信道)接收信號線檢測,25,未定義,13,(輔信道)允許發(fā)送CTS,表9.1 RS-232C標(biāo)準(zhǔn)信號 引腳功能說明引腳 功能說,14,在使用電話線遠(yuǎn)距離通信時,發(fā)送端要用調(diào)制器把數(shù)字信號附加到載波上接收端則用解調(diào)器進(jìn)行解調(diào),從載波上還原出數(shù)字信號,其示意如,圖9.6,所示。,計算機(jī),RS,232C,Modem,計算機(jī),RS,232C,Modem,數(shù)字信號,數(shù)字信號,模擬傳輸,圖9.6 RS-232C串行通信,在使用電話線遠(yuǎn)距離通信時,發(fā)送端要用調(diào)制器把數(shù),15,TTL,圖9.7 TTL電平與RS-232C電平轉(zhuǎn)換示意圖,RS-232C電平,MC1488,MC1489,TTL,發(fā)送,接收,3.RS-485接口電路,RS-485標(biāo)準(zhǔn)接口可使用單一+5V(或+3V)電源,輸入輸出電平與TTL電路兼容,共模電壓最大最小值分別為+12V和-7V,差分輸入范圍為-7V,+12V,接收器的靈敏度為200mV,支持半雙工和全雙工通信.,在RS-232C標(biāo)準(zhǔn)中,邏輯1用負(fù)電平(-3V,-15V)表示,邏輯0用(+3V,+15V)表示。而在計算機(jī)內(nèi)部采用的是TTL電平,所以常用MC1488/MC1489進(jìn)行信號轉(zhuǎn)換,其示意如,圖9.7,所示。,TTL圖9.7 TTL電平與RS-232C電平轉(zhuǎn)換示意圖R,16,圖9.8,所示是用MAX481類芯片構(gòu)成的半雙工通信電路。其中每個芯片包含一個非對稱轉(zhuǎn)對稱的驅(qū)動器D和一個對稱轉(zhuǎn)非對稱的接收器R。DI表示數(shù)據(jù)輸入端,RO表示數(shù)據(jù)輸出端。特點是傳輸距離遠(yuǎn),可靠性高,在傳輸速率為9600b/s時最大距離為1500m;在傳輸速率為100Mb/s時,傳輸距離可達(dá)15m。,圖9.8 RS-485半雙工通信電路,V,C,D,R,DE,DI,RO,RE,V,C,D,R,DE,DI,RO,RE,DE,DI,RO,RE,D,R,V,C,DE,DI,RO,RE,D,R,V,C,圖9.8所示是用MAX481類芯片構(gòu)成的半雙,17,9.2 可編程串行通信接 8251A,9.2.1 8251A引腳與內(nèi)部結(jié)構(gòu),9.2.2 8251A控制與狀態(tài)寄存器,9.2 可編程串行通信接 8251A9.2.1 8251,18,9.2.1 8251A引腳與內(nèi)部結(jié)構(gòu),1.8251A外部引腳,8251A的引腳如,圖9.9,所示,除地線和電源線外,可分為四組。,(1)與CPU連接引腳,D,7,D,0,:數(shù)據(jù)線,雙向,與系統(tǒng)數(shù)據(jù)總線連接,傳送數(shù)據(jù)、命令及8251A狀態(tài)字。,CS:片選信號,輸入,低電平有效。,RD:讀信號,輸入,低電平有效。,WR:寫信號,輸入,低電平有效。,C/D,:,控制/數(shù)據(jù)選擇,輸入,高電平時CPU讀/寫8251A控制/狀態(tài)寄存器,低電平時CPU讀/寫數(shù)據(jù)寄存器。,9.2.1 8251A引腳與內(nèi)部結(jié)構(gòu) 1.,19,CS、RD、WR 和 C/D 信號的作用如,表9.2,所示。,RESET:復(fù)位信號,輸入,高電平有效,寬度為6個時鐘周期,復(fù)位后8251A處于空閑等待狀態(tài)。,CLK:時鐘信號,同步方式時其頻率數(shù)據(jù)傳輸頻率的30倍;異步方式時,傳輸頻率的4.5倍。,表9.2 8251A的控制信號的功能組合,CS,RD,WR,C/D,方向,功能,0,0,1,0,CPU8251A,讀數(shù)據(jù),0,1,0,0,CPU8251A,寫數(shù)據(jù),0,0,1,1,CPU8251A,讀狀態(tài),0,1,0,1,CPU8251A,寫控制命令,0,1,1,X,高阻態(tài),1,X,X,X,高阻態(tài),CS、RD、WR 和 C/D 信號的作用如表9.2所,20,(2)與外部設(shè)備/調(diào)制解調(diào)器連接引腳,DTR:,數(shù)據(jù)終端準(zhǔn)備好,輸出,低電平有效,通過編程使方式命令字的D,1,位置1,信號有效。,DSR:,數(shù)據(jù)設(shè)備準(zhǔn)備好,輸入,低電平有效,是對,DTR,的響應(yīng),表示調(diào)制解調(diào)器或外設(shè)發(fā)送準(zhǔn)備就緒,通過讀入狀態(tài)字的D,7,位檢測該信號。,RTS:,請求發(fā)送,輸出,低電平有效,表示8251A發(fā)送準(zhǔn)備就緒,通過編程使方式命令字的D,5,位置1,信號有效。,CTS:,允許發(fā)送,輸入,低電平有效,是對,RTS,的響應(yīng);有效時,表示外設(shè)或調(diào)制解調(diào)器允許8251A發(fā)送數(shù)據(jù)。,(3)與發(fā)送控制有關(guān)的引腳,TxD:,數(shù)據(jù)發(fā)送端,輸出。,TxRDY:,發(fā)送器準(zhǔn)備好,輸出,高電平有效,表示8251A準(zhǔn)備好接收CPU的數(shù)據(jù)。,(2)與外部設(shè)備/調(diào)制解調(diào)器連接引腳,21,TxE:,發(fā)送器空,輸出,高電平有效,表示8251A發(fā)送器空。,TxC:,發(fā)送器時鐘,輸入,同步方式下,TxC,的頻率等于波特率;異步方式下,TxC,的頻率可以是數(shù)據(jù)速率的1、16或64倍。,(4)與接收控制有關(guān)的引腳,RxD:,數(shù)據(jù)接收端,輸入。,RxRDY:,接收器準(zhǔn)備好,輸出,高電平有效,表示8251A從外部設(shè)備/調(diào)制解調(diào)器上接收到一個字節(jié)的數(shù)據(jù),等待CPU的讀取。,SYNDET/BRKDET:,同步/間斷檢測信號,雙向。同步方式時作為