版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第十章串行通信和可編程接口芯片8251A了解串行通信的基本概念掌握8251的實現(xiàn)串/并和并/串轉(zhuǎn)換的原理掌握8251的編程方法了解串行通信的標(biāo)準(zhǔn)學(xué)會使用8251進(jìn)行計算機(jī)串行通信第十章串行通信和可編程接口芯片8251A了解串行通信的10.1串行通信的基本概念(P356)計算機(jī)與外部的信息交換稱為通信,基本的通信方式有兩種:并行通信和串行通信.并行通信:速度快,但成本高,傳輸距離受限;串行通信:通信線少,傳輸距離遠(yuǎn),但速度較慢一、數(shù)據(jù)傳輸?shù)姆较?、單工(Simplex)兩個傳輸站點(diǎn)之間一方只能發(fā)送,另一方只能接收TARB數(shù)據(jù)流10.1串行通信的基本概念(P356)計算機(jī)與外部的信息串行通信的基本概念一、數(shù)據(jù)傳輸?shù)姆较?、半雙工(HalfDuplex)
兩個傳輸站點(diǎn)之間任何一方都能發(fā)送數(shù)據(jù),但由于設(shè)備之間只有一條通信線路,在同一時刻只能在一個方向上傳輸數(shù)據(jù),如對講機(jī)。TATB數(shù)據(jù)流RR兩個傳輸站點(diǎn)之間雙方使用不同的通信線路,同時發(fā)送和接收數(shù)據(jù).如電話。3、全雙工(FullDuplex)TARBRT數(shù)據(jù)流數(shù)據(jù)流串行通信的基本概念一、數(shù)據(jù)傳輸?shù)姆较?、半雙工(Ha串行通信的基本概念二、串行通信的兩種基本工作方式異步方式、同步方式。所有串行通信都需要一個時鐘信號來作為數(shù)據(jù)的定時參考。發(fā)送器和接收器用時鐘來決定何時發(fā)送和讀取每一位數(shù)據(jù)。根據(jù)采用統(tǒng)一時鐘還是本地局部時鐘,分為同步傳輸和異步傳輸兩種。串行通信的基本概念二、串行通信的兩種基本工作方式異步方式、同異步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)(61H)100011停止位異步傳輸先發(fā)送低位(LSB)發(fā)送方利用自己的內(nèi)部時鐘來決定什么時候發(fā)送每個位接收方檢測開始信號的下降沿,然后利用它的內(nèi)部時鐘接收數(shù)據(jù)00起始位LSBMSB串行通信的基本概念異步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)100011停止位異步傳輸先發(fā)送串行通信的基本概念二、串行通信的兩種基本工作方式空閑時,傳輸線呈現(xiàn)高電平(MARK狀態(tài))。1、異步方式(Asynchronous)1)格式:采用不同的編碼方案,1個字符可為5,6,7,或8位;采用奇校驗,保證“1”的個數(shù)為奇數(shù)(采用偶校驗,保證‘1‘的個數(shù)為偶數(shù))停止位可以是1,1.5或2位。串行通信的基本概念二、串行通信的兩種基本工作方式空閑時,傳同步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)(61H)1位1100001先發(fā)送高位(MSB)發(fā)送方在時鐘信號的下降沿發(fā)送字節(jié)接收方在時鐘信號的上升沿接收字節(jié)時鐘串行通信的基本概念0同步通信的幀格式:同步傳輸需要定義一個幀的開始和結(jié)束。通常用1個同步字符(標(biāo)志符)來表示。同步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)(61H)1位1100001串行通信的基本概念2、同步方式(Synchronous)格式:同步字符字符1字符2……字符n校驗字符數(shù)據(jù)塊空閑時,傳輸線呈現(xiàn)高電平(MARK狀態(tài))。
同步字符可以為1個或2個。根據(jù)雙方約定,接收方監(jiān)測到同步字符后,接收被發(fā)送的字符流。內(nèi)同步、外同步。串行通信的基本概念2、同步方式(Synchronous)格串行通信的基本概念三、串行傳送速率(P358)在串行通信中,常用波特率來表示數(shù)據(jù)傳輸?shù)乃俾?。波特率:每秒傳送的二進(jìn)制位數(shù)。單位:波特Bd如某串行通信規(guī)定:一個串行字符包括1個起始位,7個數(shù)據(jù)位,1個奇偶校驗位和1個停止位,共10個數(shù)據(jù)位構(gòu)成,每秒傳送120個字符,則波特率為:10位/字符120字符/秒=1200位/秒傳送每一位占用的時間為:1秒/1200=0.833毫秒波特率因子:發(fā)送/接收時鐘與波特率之比。串行通信的基本概念三、串行傳送速率(P358)在串行通信中,串行通信的基本概念四、串行接口芯片UART和USART(P358)UART:又稱為通用異步收發(fā)器USART:又稱為通用同步異步收發(fā)器,如Intel8251A,也是本章重點(diǎn)介紹的內(nèi)容。串行通信的基本概念四、串行接口芯片UART和USART(串行通信的基本概念五、調(diào)制解調(diào)器(P360)使用UART和USART接口芯片設(shè)計的串行接口,其傳輸距離也受到一定的限制,不適于長距離傳送。為了能長距離傳送串行數(shù)據(jù),常常利用標(biāo)準(zhǔn)電話線進(jìn)行傳送。但是電話線只能傳送300~3000HZ的音頻信號,不能接受頻帶很寬的數(shù)字信號。因此發(fā)送方在傳送前,先將數(shù)字信號調(diào)制成音頻信號進(jìn)行傳輸,接收方再將音頻信號解調(diào)成數(shù)字信號,從而完成數(shù)據(jù)的長距離傳輸。串行通信的基本概念五、調(diào)制解調(diào)器(P360)使用UART和串行通信的基本概念六、數(shù)據(jù)校驗串行通信主要用于遠(yuǎn)距離數(shù)據(jù)傳輸。 問題:干擾、衰減,信號畸變。解決方法:差錯控制技術(shù)——檢測、糾正。常用的數(shù)據(jù)校驗方法:奇偶校驗:以字符為單位進(jìn)行校驗。奇偶校驗可以檢查出一個字節(jié)中發(fā)生的單個錯誤。奇偶校驗不能自動糾錯,發(fā)現(xiàn)錯誤后需“重傳”。發(fā)送方使發(fā)送的每個字節(jié)中’1’的個數(shù)為奇數(shù)或偶數(shù);接收方檢查收到的每個字節(jié)中’1’的個數(shù)是否符合雙方的事先約定。串行通信的基本概念六、數(shù)據(jù)校驗串行通信主要用于遠(yuǎn)距離數(shù)據(jù)傳串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:循環(huán)冗余校驗CRC(循環(huán)冗余碼/多項式編碼):以數(shù)據(jù)塊(幀,Frame)為單位進(jìn)行校驗編碼思想:將數(shù)據(jù)塊構(gòu)成的位串看成是系數(shù)為0或 1的多項式。如110001, 可表示成多項式x5+x4+1數(shù)據(jù)塊構(gòu)成的多項式除以另一個多項式G(x),得到的余數(shù)多項式R(x)就稱為CRC碼(或稱為校驗和),而G(x)則稱為生成多項式。CRC校驗的檢錯方式:收發(fā)雙方約定一個生成多項式G(x)(其最高階和最低階系數(shù)必須為1),發(fā)送方在幀的末尾加上校驗和,使帶校驗和的幀的多項式能被G(x)整除;接收方收到后,用G(x)去除它,若有余數(shù),則傳輸有錯。串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:循環(huán)冗余串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校驗和計算方法:若G(x)為r階,原幀為m位,其多項式為M(x),則在原幀后面添加r個0,幀成為m+r位,得到多項式2rM(x)
按模2除法用2rM(x)除以G(x):商Q(x),余R(x)即2rM(x)=G(x)Q(x)+R(x)按模2加法把2rM(x)與余數(shù)R(x)相加,結(jié)果就是要傳送的帶校驗和的幀的多項式T(x)T(x)=2rM(x)+R(x)實際上,T(x)=2rM(x)+R(x)=G(x)Q(x)+
R(x)+R(x)
=G(x)Q(x)(模2運(yùn)算)=0所以,若接收的T(x)正確,則它肯定能被G(x)除盡。串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校驗碼的糾錯能力:可檢出所有奇數(shù)個錯可檢出所有單/雙比特錯可檢出所有≤G(x)長度的突發(fā)錯常用的生成多項式:
CRC12=x12+x11+x3+x2+1CRC16=x16+x12+x5+1CRC32 =x32+x26+x23+x22+x16+x11+x10+x8+x7+x5+x4+x2+x+1串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校CRC碼如要發(fā)送的數(shù)據(jù)為100100,生成多項式為1101,則得到的余數(shù)為001CRC碼如要發(fā)送的數(shù)據(jù)為100100,生成多項式為1101,10.2可編程串行通信接口芯片8251A(P361)一、8251A的基本性能:可用于同步和異步傳送;同步傳送:5~8bit/字符,采用內(nèi)同步或外同步;異步傳送:5~8bit/字符,波特率因子(時鐘速率與傳輸速率之比)可為1,16,64;波特率:同步方式下:0-64Kbps;異步方式下:0-19.2Kbps全雙工發(fā)送和接收;具有奇偶,溢出等檢測電路。10.2可編程串行通信接口芯片8251A(P361)一、串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳數(shù)據(jù)總線緩沖器讀/寫控制電路調(diào)制/解調(diào)控制電路內(nèi)部總線發(fā)送緩沖器并串轉(zhuǎn)換接收緩沖器串并轉(zhuǎn)換發(fā)送控制電路接收控制電路D7~D0RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXETXCRXDRXRDYRXCSYNDET串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳1、數(shù)據(jù)總線緩沖器狀態(tài)緩沖器:為程序提供8251工作過程的狀態(tài)信息;接收數(shù)據(jù)緩沖器:接收完成串并轉(zhuǎn)換的數(shù)據(jù);發(fā)送數(shù)據(jù)/命令緩沖器:存放待發(fā)送的并行數(shù)據(jù)或命令;2、接收緩沖器和接收控制電路在接收時鐘RxC的控制下,將RxD端的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。異步方式下RxC的頻率可以是波特率的1,16或64倍。A、與接收有關(guān)的信號:(見362頁圖,363后說明)RxD:串行數(shù)據(jù)輸入信號;RxRDY:接收數(shù)據(jù)準(zhǔn)備好信號,高電平有效.CPU讀數(shù)后,變?yōu)榈碗娖?串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳串行通信接口芯片8251A2、接收緩沖器和接收控制電路SYNDET/BRKDET:同步檢測/斷點(diǎn)檢測信號。內(nèi)同步作為輸出,表明8251達(dá)到同步,外同步作為輸入,使8251在下一個RxC的上升沿接收數(shù)據(jù);異步接收方式,作為輸出,表示RxD端收到兩個全“0”數(shù)位組成的字符,無數(shù)據(jù)可讀。RxC:接收時鐘輸入信號,同步時,該頻率與接收數(shù)據(jù)的波特率相等;異步時,該頻率是接收數(shù)據(jù)波特率的1,16或64倍。B、異步接收:CPU發(fā)方式命令字,允許8251接收數(shù)據(jù);8251監(jiān)測RxD信號,確定起始位;(見pP363圖10-9)串行通信接口芯片8251A2、接收緩沖器和接收控制電路SYN2、接收緩沖器和接收控制電路(P362)之后,每隔一個數(shù)據(jù)位時間,采樣RxD,得到規(guī)定位數(shù)的串行數(shù)據(jù);進(jìn)行奇偶校驗,去掉停止位,將數(shù)據(jù)送接收數(shù)據(jù)緩沖器;將RxRDY置為高電平,通知CPU取數(shù)。可用查詢,可用中斷。C、同步接收:CPU發(fā)方式、命令字,允許8251接收數(shù)據(jù);8251監(jiān)測RxD信號,確定同步字符(內(nèi)同步,外同步)之后,采樣RxD,得到規(guī)定位數(shù)的串行數(shù)據(jù);將數(shù)據(jù)送接收數(shù)據(jù)緩沖器;將RxRDY置為高電平,通知CPU取數(shù)??捎貌樵?,可用中斷。2、接收緩沖器和接收控制電路(P362)之后,每隔一個數(shù)據(jù)A.與發(fā)送有關(guān)的信號:TxD:發(fā)送串行數(shù)據(jù)信號;TxRDY:發(fā)送準(zhǔn)備好信號,高電平有效.通知CPU,8251已做好發(fā)送數(shù)據(jù)的準(zhǔn)備,CPU可以送來數(shù)據(jù);可采用查詢或中斷方式.TxE:表示發(fā)送移位寄存器空.表示暫無數(shù)據(jù)發(fā)送TxC:發(fā)送時鐘輸入信號,同步時,該頻率與發(fā)送數(shù)據(jù)的波特率相等;異步時,該頻率是發(fā)送數(shù)據(jù)波特率的1,16或64倍.3、發(fā)送緩沖器和發(fā)送控制電路(P364)在發(fā)送時鐘TxC的控制下,將CPU送來的數(shù)據(jù)從TxD端按串行數(shù)據(jù)發(fā)送出去,A.與發(fā)送有關(guān)的信號:TxD:發(fā)送串行數(shù)據(jù)信號;3、發(fā)串行通信接口芯片8251A3、發(fā)送緩沖器和發(fā)送控制電路(P364)B.異步發(fā)送:CPU用輸出指令輸出待發(fā)送的數(shù)據(jù);發(fā)送控制器按程序規(guī)定的格式為發(fā)送數(shù)據(jù)加上起始位,奇偶校驗位和停止位;將數(shù)據(jù)經(jīng)移位寄存器在TxC的控制下由TxD端發(fā)出去;C.同步發(fā)送:CPU用輸出指令輸出待發(fā)送的數(shù)據(jù)到8251;發(fā)送控制器按程序規(guī)定為發(fā)送數(shù)據(jù)加上一個或兩個同步字符;將數(shù)據(jù)經(jīng)移位寄存器在TxC的控制下由TxD端發(fā)出去.在同步發(fā)送過程中,不允許數(shù)據(jù)之間存在空隙,若CPU由于某種原因來不及送發(fā)送數(shù)據(jù),8251在此期間自動插入同步字符.串行通信接口芯片8251A3、發(fā)送緩沖器和發(fā)送控制電路(P串行通信接口芯片8251A4、讀/寫控制電路(P365)接收CPU的控制信號,決定8251的工作方式,并向8251的其他部件發(fā)相應(yīng)的控制信號。C/DRDWRCS操作0010CPU從8251讀數(shù)據(jù)0100CPU向8251寫數(shù)據(jù)1010CPU從8251讀狀態(tài)字1100CPU向8251寫控制字RESET,CLK,WR,RD,CS略。C/D:控制/數(shù)據(jù)信號,用來區(qū)分目前數(shù)據(jù)總線上是數(shù)據(jù)信息還是控制信息或狀態(tài)信息。C/D=0,表示是數(shù)據(jù)信息;C/D=1表示是控制信息或狀態(tài)信息。 8251A的控制信號操作表串行通信接口芯片8251A4、讀/寫控制電路(P365串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路(P366)當(dāng)計算機(jī)和計算機(jī)遠(yuǎn)距離通信時,可用8251作為接口芯片,并借助于MODEM經(jīng)過電話線建立兩臺計算機(jī)之間的通信聯(lián)系。異步方式,發(fā)送和接收時鐘由時鐘發(fā)生器或?qū)⑾到y(tǒng)時鐘分頻后提供;同步方式直接由調(diào)制解調(diào)器提供。8251與MODEM之間通過4條信號線建立通信聯(lián)絡(luò),見P366圖10-10。RxDTxDDSRDTRCTSRTSRxCTxC8251AABDBCB異步MODEM時鐘電話插座接電話線串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路(P366)串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路DTR(DataTerminalReady):表示計算機(jī)做好接收數(shù)據(jù)的準(zhǔn)備;可用程序控制使控制寄存器的DTR位置“1”,使該管腳輸出有效低電平。DSR(DataSetReady):表示Modem已做好向CPU發(fā)送數(shù)據(jù)的準(zhǔn)備;是對DTR信號的回答,它影響狀態(tài)寄存器DSR的內(nèi)容,CPU可查詢。RxDTxDDSRDTRCTSRTSRxCTxC8251AABDBCB異步MODEM時鐘電話插座接電話線串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路DTR(Da串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路RTS(RequestToSend):
表示計算機(jī)想通過MODEM發(fā)送數(shù)據(jù);可用程序控制使控制寄存器的RTS位置“1”,使該管腳輸出低電平。CTS(ClearToSend):表示MODEM已做好向外發(fā)送串行數(shù)據(jù)的準(zhǔn)備;是對RTS信號的回答,MODEM發(fā)送完數(shù)據(jù)后變?yōu)楦?。RxDTxDDSRDTRCTSRTSRxCTxC8251AABDBCB異步MODEM時鐘電話插座接電話線串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路RTS(Re串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接(P367)1)與CPU的連接80868251RxDTxDRxCTxCCSC/DRDWRD7~
D0WRRDA1A2A0A3A4ABCG2BG2AG1A5A6A7M/IOY0D7~D0TxRDYRxRDY波特率產(chǎn)生器RS232C接口串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接1)與CPU的連接2)與外設(shè)的連接兩個聯(lián)絡(luò)信號,查詢方式時供CPU查詢;中斷方式時,TxRDY和RxRDY可作為中斷請求信號,表示請求發(fā)送和接收。地址譯碼(本題A7~A4=1111,A3A2A0=000時選中8251)。A1=1時選中控制端口(F2H),A1=0時選中數(shù)據(jù)端口(F0H)。在RS-232接口中,需要進(jìn)行電平轉(zhuǎn)換,發(fā)送串行數(shù)據(jù)時,將計算機(jī)的TTL電平轉(zhuǎn)換成RS-232電平,接收數(shù)據(jù)時,將RS-232電平轉(zhuǎn)換成TTL電平。發(fā)送時鐘和接收時鐘統(tǒng)一提供。串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接1串行通信接口芯片8251A三、8251A的編程(P368)1.8251的編程流程8251是一種功能很強(qiáng)的串行接口,但使用前必須按照規(guī)定進(jìn)行初始化。包括:1)寫入方式控制字:確定8251A的工作方式,是異步還是同步,傳送的波特率,字符長度,奇偶校驗等;2)寫入命令控制字:控制8251A工作,如允許或禁止8251A收發(fā)數(shù)據(jù),啟動搜索同步字符,使8251A進(jìn)行內(nèi)部復(fù)位等。串行通信接口芯片8251A三、8251A的編程(P368)串行通信接口芯片8251A三、8251A的編程1.8251的編程流程3)讀出狀態(tài)字:使CPU了解8251A的工作狀態(tài)。編程時通常讀取狀態(tài)字后判斷是否出錯,如果出錯轉(zhuǎn)向錯誤處理子程序,否則繼續(xù)傳輸數(shù)據(jù)串行通信接口芯片8251A三、8251A的編程1.825串行通信接口芯片8251A三、8251A的編程2.方式字a)同步方式0:單字符1:雙字符00:5位00:6位10:7位11:8位X0:無奇偶校驗位01:奇校驗11:偶校驗D7D6D5D4D3D2D1D0SCSESDEPPENL2L100
0:內(nèi)同步1:外同步串行通信接口芯片8251A三、8251A的編程2.方式字串行通信接口芯片8251A三、8251A的編程2.方式控制字b)異步方式D7D6D5D4D3D2D1D0S2
S1
EP
PENL2L1B2
B1
00:無效01:1個停止位10:1.5個停止位11:2個停止位00:5位00:6位10:7位11:8位X0:無奇偶校驗位01:奇校驗11:偶校驗01:異步方式110:異步方式1611:異步方式64串行通信接口芯片8251A三、8251A的編程2.方式控串行通信接口芯片8251A三、8251A的編程3.命令字1:允許發(fā)送0:禁止發(fā)送1:使DTR引腳輸出低電平1:允許接收0:禁止接收1:使TxD線變低,發(fā)送空白字符0:正常工作1:錯誤標(biāo)志PE、OE、FE復(fù)位1:使RTS引腳輸出低電平1:內(nèi)部復(fù)位,回到方式選擇狀態(tài)1:啟動搜索同步字符(內(nèi)同步用)D7D6D5D4D3D2D1D0EHIRRTSERSBRKRxEDTRTxEN串行通信接口芯片8251A三、8251A的編程3.命令字串行通信接口芯片8251A三、8251A的編程(P386)4.狀態(tài)字接收數(shù)據(jù)準(zhǔn)備好發(fā)送器準(zhǔn)備好發(fā)送器空奇偶錯誤溢出錯誤幀錯誤外設(shè)準(zhǔn)備好DSRSYNDET/BRKDETFEOEPETxERxRDYTxRDY與引腳含義相同串行通信接口芯片8251A三、8251A的編程(P386)串行通信接口芯片8251A四、8251A的初始化編程舉例(P372)由于8251芯片本身特性,在對8251A進(jìn)行初始化時,應(yīng)注意:為確保8251A可靠復(fù)位,應(yīng)向8251A控制端口連續(xù)輸出3個全“0”,再輸出一個內(nèi)部復(fù)位命令(控制字的D6=1);然后再進(jìn)行初始化。初始化的步驟是:向控制端口按順序?qū)懭敕绞阶?、控制字。(同步方式下,在控制字后再接著向控制口寫入一個或兩個同步字符。)每向控制口寫一次,需要手動延時以提供寫恢復(fù)時間。串行通信接口芯片8251A四、8251A的初始化編程舉例(P注意:向控制端口進(jìn)行寫入操作時,兩次寫入操作之間必須有16個時鐘周期以上的時間間隔以備寫恢復(fù)。1.異步方式的初始化程序(見P372)2.同步方式的初始化程序(見P373)。四、8251A的初始化編程舉例(P372)DELAY_TIMEMACRO MOVCX,02 DO:LOOPDOENDM注意:向控制端口進(jìn)行寫入操作時,兩次寫入操作之間必須有16個串行通信接口芯片8251A四、8251A的初始化編程舉例MOVDX,3F2H;控制口地址MOVAL,00H;OUTDX,AL;向控制口輸出一個0DELAY_TIME;延時,〉16個時鐘周期OUTDX,AL;向控制口輸出一個0DELAY_TIMEOUTDX,AL;向控制口輸出一個0DELAY_TIMEMOVAL,40H;內(nèi)部復(fù)位字OUTDX,ALDELAY_TIME1.異步方式:MOVAL,01111010B;方式字OUTDX,ALDELAY_TIMEMOVAL,00010101B;命令字;允許發(fā)送;接收,清錯誤標(biāo)志OUTDX,AL異步,波特率系數(shù)16,7個數(shù)據(jù)位,1停止位,偶校驗,控制口地址3F2H串行通信接口芯片8251A四、8251A的初始化編程舉例MO串行通信接口芯片8251A四、8251A的初始化編程舉例(P390) …………;送三個0及復(fù)位字40HMOVDX,3F2H;控制口地址MOVAL,00011000B;方式字OUTDX,ALDELAY_TIMEMOVAL,16H;送第一個同步字符OUTDX,AL;DELAY_TIMEOUTDX,AL;送第二個同步字符DELAY_TIMEMOVAL,10010101B;命令字OUTDX,AL2.同步方式:同步,雙同步字符,奇校驗,數(shù)據(jù)位為7位,同步字符16H串行通信接口芯片8251A四、8251A的初始化編程舉例(P10.3EIARS-232C串行口和8251應(yīng)用舉例(P373)RS-232C標(biāo)準(zhǔn)一、EIARS-232C串行口1.信號電平
RS-232C采用負(fù)邏輯,規(guī)定:邏輯“1”:有負(fù)載時-3V~-15V之間,無負(fù)載時-25V。邏輯“0”:有負(fù)載時+3V~+15V之間,無負(fù)載時+25V。TTL電平規(guī)定:邏輯“1”:+2V~+5V之間,邏輯“0”:0V~+0.8V之間。RS-232C不是TTL電平的接口標(biāo)準(zhǔn),當(dāng)計算機(jī)與外設(shè)進(jìn)行通信時,必須有相應(yīng)的電平轉(zhuǎn)換電路。10.3EIARS-232C串行口和8251應(yīng)用舉例(PEIARS-232C和8251應(yīng)用一、EIARS-232C串行口1.信號電平
通常采用的是MC1488和MC1489。發(fā)送數(shù)據(jù)時用MC1488,接收數(shù)據(jù)時用MC1489。TTL電平輸入-12VRS-232C電平輸出-12V1489TTL電平輸出RS-232C電平輸入MC1488EIARS-232C和8251應(yīng)用一、EIARS-23EIARS-232C和8251應(yīng)用RS-232C標(biāo)準(zhǔn)一、EIARS-232C串行口1.信號電平
2.接插件規(guī)格(見P375圖11-17)。MAX233電平轉(zhuǎn)換器:MAX233即可用于發(fā)送,也可用于接收(見P374圖10-16)。EIARS-232C和8251應(yīng)用RS-232C標(biāo)準(zhǔn)一、EIARS-232C和8251應(yīng)用一、EIARS-232C串行口RS-232C標(biāo)準(zhǔn)3.信號定義(見P375表10-2)。TxDRxDRTSCTSDSRCSDTREIARS-232C和8251應(yīng)用一、EIARS-23EIARS-232C和8251應(yīng)用二、8251A應(yīng)用舉例p376):TxD80868251RxDRxCCSC/DRDWRD7~D0D7~D0WRRDA1A2A3A4ABCG2BG2AG1A5A6A7A8A9M/IOY4CLKCLK8253CSY5CLK0OUT0TxCMAX2334分頻GND22331,71,78MHz2MHz有兩臺以8086為cpu的計算機(jī)要通信,以8251A為接口,通過RS-232C串行接口實現(xiàn)。一端連接如圖:EIARS-232C和8251應(yīng)用二、8251A應(yīng)用舉例題目要求:設(shè)串行數(shù)據(jù)傳輸?shù)牟ㄌ芈蕿?600Bd,波特率系數(shù)為16,8251A的端口地址為310H、312H,兩臺計算機(jī)之間采用查詢、異步、半雙工通信,即發(fā)送端的CPU一直查詢TxRDY是否為有效的高電平,如為高則用OUT向8251輸出一個字節(jié)。接收端的CPU不斷檢測RxRDY,如為高則數(shù)據(jù)已準(zhǔn)備好,可以IN一個字節(jié)。對發(fā)送端計算機(jī),設(shè)要把BUFF_T開始的COUNT_T個數(shù)據(jù)發(fā)送出去對接收端計算機(jī),把接收到的數(shù)據(jù)存放到BUFF_R開始的內(nèi)存題目要求:設(shè)串行數(shù)據(jù)傳輸?shù)牟ㄌ芈蕿?600Bd,波特率系數(shù)為EIARS-232C和8251應(yīng)用…..;送三個0及復(fù)位字40H
BEGIN:MOVDX,312H;控制口地址MOVAL,7AH;方式字:異步,數(shù)據(jù)位,停止位OUTDX,AL
MOVCX,02H;延時D1:LOOPD1
MOVAL,11H;命令字,清除三個錯誤標(biāo)志且OUTDX,AL;允許發(fā)送數(shù)據(jù)
MOVCX,02HD2:LOOPD2;下面開始發(fā)送數(shù)據(jù)LEADI,BUFF_T;發(fā)送數(shù)據(jù)的內(nèi)存首址MOVCX,COUNT_T;要發(fā)數(shù)據(jù)的個數(shù)
二、8251A應(yīng)用舉例對發(fā)送端計算機(jī),設(shè)要把BUFF_T開始的COUNT_T個數(shù)據(jù)發(fā)送出去:EIARS-232C和8251應(yīng)用…..EIARS-232C和8251應(yīng)用NEXT:INAL,DX;發(fā)送數(shù)據(jù)前要判斷狀態(tài)TESTAL,01H;TxRDY有效嗎?JZNEXT;如果無效說明8251沒有就緒
MOVDX,310H;數(shù)據(jù)口地址MOVAL,[DI];取一個數(shù)據(jù)OUTDX,AL;向8251輸出一個數(shù)據(jù)INCDI;成功發(fā)送一個數(shù)據(jù)后,;如果還沒有發(fā)完則讀狀態(tài) MOVDX,312H
DECCXJNZNEXT;后兩個語句可用loopnext替換二、8251A應(yīng)用舉例見P377的后續(xù)程序EIARS-232C和8251應(yīng)用NEXT:IN8251接收數(shù)據(jù)的程序見P377同樣要掌握。注意:發(fā)送前判斷8251是否就緒NEXT_T: INAL,ControPort TESTAL,01H JZNEXT_T接收前要判斷是否就緒,并且判斷是否出錯NEXT_R: INAL,ControPort TESTAL,02H JZNEXT_R TESTAL,38H JNZERROR8251接收數(shù)據(jù)的程序見P377同樣要掌握。補(bǔ)充作業(yè) 某系統(tǒng)用8251A串行發(fā)送起始于BUFFER的內(nèi)存單元中的信息“Goodluck!”,異步傳送方式,6個數(shù)據(jù)位,奇校驗位,1個停止位,波特率因子為16。波特率為2400,問:TxC的時鐘頻率應(yīng)為多少?需要多少時間才能傳送完畢?8251A的方式控制字是什么?編寫匯編程序?qū)崿F(xiàn)該信息的發(fā)送。補(bǔ)充作業(yè) 某系統(tǒng)用8251A串行發(fā)送起始于BUFFER的內(nèi)存TxC的時鐘頻率為16*2400=34KHZT=9*10/2400=*S8251的方式字為01010111BTxC的時鐘頻率為16*2400=34KHZREVTIMEMACROMOVCX,02D0:LOOPDOENDM;定義宏MOVDX,1F2HMOVAL,00HOUTDX,ALREVTIMEOUTDX,ALREVTIMEOUTDX,ALREVTIME;送3個全00HMOVAL,40HOUTDX,ALREVTIME;送復(fù)位字MOVAL,01010111BOUTDX,ALREVTIMEMOVAL,00010101BOUTDX,ALREVTIMELEADI,BUFFERMOVCX,8NEXT:INAL,DX TESTAL,01H JZNEXTMOVDX,1F0HMOVAL,[DI]
OUTDX,AL
INCDIMOVDX,1F2HLOOPNEXTREVTIMEMACROMOVAL,01010111B第十章串行通信和可編程接口芯片8251A了解串行通信的基本概念掌握8251的實現(xiàn)串/并和并/串轉(zhuǎn)換的原理掌握8251的編程方法了解串行通信的標(biāo)準(zhǔn)學(xué)會使用8251進(jìn)行計算機(jī)串行通信第十章串行通信和可編程接口芯片8251A了解串行通信的10.1串行通信的基本概念(P356)計算機(jī)與外部的信息交換稱為通信,基本的通信方式有兩種:并行通信和串行通信.并行通信:速度快,但成本高,傳輸距離受限;串行通信:通信線少,傳輸距離遠(yuǎn),但速度較慢一、數(shù)據(jù)傳輸?shù)姆较?、單工(Simplex)兩個傳輸站點(diǎn)之間一方只能發(fā)送,另一方只能接收TARB數(shù)據(jù)流10.1串行通信的基本概念(P356)計算機(jī)與外部的信息串行通信的基本概念一、數(shù)據(jù)傳輸?shù)姆较?、半雙工(HalfDuplex)
兩個傳輸站點(diǎn)之間任何一方都能發(fā)送數(shù)據(jù),但由于設(shè)備之間只有一條通信線路,在同一時刻只能在一個方向上傳輸數(shù)據(jù),如對講機(jī)。TATB數(shù)據(jù)流RR兩個傳輸站點(diǎn)之間雙方使用不同的通信線路,同時發(fā)送和接收數(shù)據(jù).如電話。3、全雙工(FullDuplex)TARBRT數(shù)據(jù)流數(shù)據(jù)流串行通信的基本概念一、數(shù)據(jù)傳輸?shù)姆较?、半雙工(Ha串行通信的基本概念二、串行通信的兩種基本工作方式異步方式、同步方式。所有串行通信都需要一個時鐘信號來作為數(shù)據(jù)的定時參考。發(fā)送器和接收器用時鐘來決定何時發(fā)送和讀取每一位數(shù)據(jù)。根據(jù)采用統(tǒng)一時鐘還是本地局部時鐘,分為同步傳輸和異步傳輸兩種。串行通信的基本概念二、串行通信的兩種基本工作方式異步方式、同異步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)(61H)100011停止位異步傳輸先發(fā)送低位(LSB)發(fā)送方利用自己的內(nèi)部時鐘來決定什么時候發(fā)送每個位接收方檢測開始信號的下降沿,然后利用它的內(nèi)部時鐘接收數(shù)據(jù)00起始位LSBMSB串行通信的基本概念異步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)100011停止位異步傳輸先發(fā)送串行通信的基本概念二、串行通信的兩種基本工作方式空閑時,傳輸線呈現(xiàn)高電平(MARK狀態(tài))。1、異步方式(Asynchronous)1)格式:采用不同的編碼方案,1個字符可為5,6,7,或8位;采用奇校驗,保證“1”的個數(shù)為奇數(shù)(采用偶校驗,保證‘1‘的個數(shù)為偶數(shù))停止位可以是1,1.5或2位。串行通信的基本概念二、串行通信的兩種基本工作方式空閑時,傳同步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)(61H)1位1100001先發(fā)送高位(MSB)發(fā)送方在時鐘信號的下降沿發(fā)送字節(jié)接收方在時鐘信號的上升沿接收字節(jié)時鐘串行通信的基本概念0同步通信的幀格式:同步傳輸需要定義一個幀的開始和結(jié)束。通常用1個同步字符(標(biāo)志符)來表示。同步傳輸?shù)臅r鐘定時方法:數(shù)據(jù)(61H)1位1100001串行通信的基本概念2、同步方式(Synchronous)格式:同步字符字符1字符2……字符n校驗字符數(shù)據(jù)塊空閑時,傳輸線呈現(xiàn)高電平(MARK狀態(tài))。
同步字符可以為1個或2個。根據(jù)雙方約定,接收方監(jiān)測到同步字符后,接收被發(fā)送的字符流。內(nèi)同步、外同步。串行通信的基本概念2、同步方式(Synchronous)格串行通信的基本概念三、串行傳送速率(P358)在串行通信中,常用波特率來表示數(shù)據(jù)傳輸?shù)乃俾省2ㄌ芈剩好棵雮魉偷亩M(jìn)制位數(shù)。單位:波特Bd如某串行通信規(guī)定:一個串行字符包括1個起始位,7個數(shù)據(jù)位,1個奇偶校驗位和1個停止位,共10個數(shù)據(jù)位構(gòu)成,每秒傳送120個字符,則波特率為:10位/字符120字符/秒=1200位/秒傳送每一位占用的時間為:1秒/1200=0.833毫秒波特率因子:發(fā)送/接收時鐘與波特率之比。串行通信的基本概念三、串行傳送速率(P358)在串行通信中,串行通信的基本概念四、串行接口芯片UART和USART(P358)UART:又稱為通用異步收發(fā)器USART:又稱為通用同步異步收發(fā)器,如Intel8251A,也是本章重點(diǎn)介紹的內(nèi)容。串行通信的基本概念四、串行接口芯片UART和USART(串行通信的基本概念五、調(diào)制解調(diào)器(P360)使用UART和USART接口芯片設(shè)計的串行接口,其傳輸距離也受到一定的限制,不適于長距離傳送。為了能長距離傳送串行數(shù)據(jù),常常利用標(biāo)準(zhǔn)電話線進(jìn)行傳送。但是電話線只能傳送300~3000HZ的音頻信號,不能接受頻帶很寬的數(shù)字信號。因此發(fā)送方在傳送前,先將數(shù)字信號調(diào)制成音頻信號進(jìn)行傳輸,接收方再將音頻信號解調(diào)成數(shù)字信號,從而完成數(shù)據(jù)的長距離傳輸。串行通信的基本概念五、調(diào)制解調(diào)器(P360)使用UART和串行通信的基本概念六、數(shù)據(jù)校驗串行通信主要用于遠(yuǎn)距離數(shù)據(jù)傳輸。 問題:干擾、衰減,信號畸變。解決方法:差錯控制技術(shù)——檢測、糾正。常用的數(shù)據(jù)校驗方法:奇偶校驗:以字符為單位進(jìn)行校驗。奇偶校驗可以檢查出一個字節(jié)中發(fā)生的單個錯誤。奇偶校驗不能自動糾錯,發(fā)現(xiàn)錯誤后需“重傳”。發(fā)送方使發(fā)送的每個字節(jié)中’1’的個數(shù)為奇數(shù)或偶數(shù);接收方檢查收到的每個字節(jié)中’1’的個數(shù)是否符合雙方的事先約定。串行通信的基本概念六、數(shù)據(jù)校驗串行通信主要用于遠(yuǎn)距離數(shù)據(jù)傳串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:循環(huán)冗余校驗CRC(循環(huán)冗余碼/多項式編碼):以數(shù)據(jù)塊(幀,Frame)為單位進(jìn)行校驗編碼思想:將數(shù)據(jù)塊構(gòu)成的位串看成是系數(shù)為0或 1的多項式。如110001, 可表示成多項式x5+x4+1數(shù)據(jù)塊構(gòu)成的多項式除以另一個多項式G(x),得到的余數(shù)多項式R(x)就稱為CRC碼(或稱為校驗和),而G(x)則稱為生成多項式。CRC校驗的檢錯方式:收發(fā)雙方約定一個生成多項式G(x)(其最高階和最低階系數(shù)必須為1),發(fā)送方在幀的末尾加上校驗和,使帶校驗和的幀的多項式能被G(x)整除;接收方收到后,用G(x)去除它,若有余數(shù),則傳輸有錯。串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:循環(huán)冗余串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校驗和計算方法:若G(x)為r階,原幀為m位,其多項式為M(x),則在原幀后面添加r個0,幀成為m+r位,得到多項式2rM(x)
按模2除法用2rM(x)除以G(x):商Q(x),余R(x)即2rM(x)=G(x)Q(x)+R(x)按模2加法把2rM(x)與余數(shù)R(x)相加,結(jié)果就是要傳送的帶校驗和的幀的多項式T(x)T(x)=2rM(x)+R(x)實際上,T(x)=2rM(x)+R(x)=G(x)Q(x)+
R(x)+R(x)
=G(x)Q(x)(模2運(yùn)算)=0所以,若接收的T(x)正確,則它肯定能被G(x)除盡。串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校驗碼的糾錯能力:可檢出所有奇數(shù)個錯可檢出所有單/雙比特錯可檢出所有≤G(x)長度的突發(fā)錯常用的生成多項式:
CRC12=x12+x11+x3+x2+1CRC16=x16+x12+x5+1CRC32 =x32+x26+x23+x22+x16+x11+x10+x8+x7+x5+x4+x2+x+1串行通信的基本概念六、數(shù)據(jù)校驗常用的數(shù)據(jù)校驗方法:CRC校CRC碼如要發(fā)送的數(shù)據(jù)為100100,生成多項式為1101,則得到的余數(shù)為001CRC碼如要發(fā)送的數(shù)據(jù)為100100,生成多項式為1101,10.2可編程串行通信接口芯片8251A(P361)一、8251A的基本性能:可用于同步和異步傳送;同步傳送:5~8bit/字符,采用內(nèi)同步或外同步;異步傳送:5~8bit/字符,波特率因子(時鐘速率與傳輸速率之比)可為1,16,64;波特率:同步方式下:0-64Kbps;異步方式下:0-19.2Kbps全雙工發(fā)送和接收;具有奇偶,溢出等檢測電路。10.2可編程串行通信接口芯片8251A(P361)一、串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳數(shù)據(jù)總線緩沖器讀/寫控制電路調(diào)制/解調(diào)控制電路內(nèi)部總線發(fā)送緩沖器并串轉(zhuǎn)換接收緩沖器串并轉(zhuǎn)換發(fā)送控制電路接收控制電路D7~D0RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXETXCRXDRXRDYRXCSYNDET串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳1、數(shù)據(jù)總線緩沖器狀態(tài)緩沖器:為程序提供8251工作過程的狀態(tài)信息;接收數(shù)據(jù)緩沖器:接收完成串并轉(zhuǎn)換的數(shù)據(jù);發(fā)送數(shù)據(jù)/命令緩沖器:存放待發(fā)送的并行數(shù)據(jù)或命令;2、接收緩沖器和接收控制電路在接收時鐘RxC的控制下,將RxD端的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。異步方式下RxC的頻率可以是波特率的1,16或64倍。A、與接收有關(guān)的信號:(見362頁圖,363后說明)RxD:串行數(shù)據(jù)輸入信號;RxRDY:接收數(shù)據(jù)準(zhǔn)備好信號,高電平有效.CPU讀數(shù)后,變?yōu)榈碗娖?串行通信接口芯片8251A二、8251A的內(nèi)部結(jié)構(gòu)和外部引腳串行通信接口芯片8251A2、接收緩沖器和接收控制電路SYNDET/BRKDET:同步檢測/斷點(diǎn)檢測信號。內(nèi)同步作為輸出,表明8251達(dá)到同步,外同步作為輸入,使8251在下一個RxC的上升沿接收數(shù)據(jù);異步接收方式,作為輸出,表示RxD端收到兩個全“0”數(shù)位組成的字符,無數(shù)據(jù)可讀。RxC:接收時鐘輸入信號,同步時,該頻率與接收數(shù)據(jù)的波特率相等;異步時,該頻率是接收數(shù)據(jù)波特率的1,16或64倍。B、異步接收:CPU發(fā)方式命令字,允許8251接收數(shù)據(jù);8251監(jiān)測RxD信號,確定起始位;(見pP363圖10-9)串行通信接口芯片8251A2、接收緩沖器和接收控制電路SYN2、接收緩沖器和接收控制電路(P362)之后,每隔一個數(shù)據(jù)位時間,采樣RxD,得到規(guī)定位數(shù)的串行數(shù)據(jù);進(jìn)行奇偶校驗,去掉停止位,將數(shù)據(jù)送接收數(shù)據(jù)緩沖器;將RxRDY置為高電平,通知CPU取數(shù)??捎貌樵儯捎弥袛?。C、同步接收:CPU發(fā)方式、命令字,允許8251接收數(shù)據(jù);8251監(jiān)測RxD信號,確定同步字符(內(nèi)同步,外同步)之后,采樣RxD,得到規(guī)定位數(shù)的串行數(shù)據(jù);將數(shù)據(jù)送接收數(shù)據(jù)緩沖器;將RxRDY置為高電平,通知CPU取數(shù)。可用查詢,可用中斷。2、接收緩沖器和接收控制電路(P362)之后,每隔一個數(shù)據(jù)A.與發(fā)送有關(guān)的信號:TxD:發(fā)送串行數(shù)據(jù)信號;TxRDY:發(fā)送準(zhǔn)備好信號,高電平有效.通知CPU,8251已做好發(fā)送數(shù)據(jù)的準(zhǔn)備,CPU可以送來數(shù)據(jù);可采用查詢或中斷方式.TxE:表示發(fā)送移位寄存器空.表示暫無數(shù)據(jù)發(fā)送TxC:發(fā)送時鐘輸入信號,同步時,該頻率與發(fā)送數(shù)據(jù)的波特率相等;異步時,該頻率是發(fā)送數(shù)據(jù)波特率的1,16或64倍.3、發(fā)送緩沖器和發(fā)送控制電路(P364)在發(fā)送時鐘TxC的控制下,將CPU送來的數(shù)據(jù)從TxD端按串行數(shù)據(jù)發(fā)送出去,A.與發(fā)送有關(guān)的信號:TxD:發(fā)送串行數(shù)據(jù)信號;3、發(fā)串行通信接口芯片8251A3、發(fā)送緩沖器和發(fā)送控制電路(P364)B.異步發(fā)送:CPU用輸出指令輸出待發(fā)送的數(shù)據(jù);發(fā)送控制器按程序規(guī)定的格式為發(fā)送數(shù)據(jù)加上起始位,奇偶校驗位和停止位;將數(shù)據(jù)經(jīng)移位寄存器在TxC的控制下由TxD端發(fā)出去;C.同步發(fā)送:CPU用輸出指令輸出待發(fā)送的數(shù)據(jù)到8251;發(fā)送控制器按程序規(guī)定為發(fā)送數(shù)據(jù)加上一個或兩個同步字符;將數(shù)據(jù)經(jīng)移位寄存器在TxC的控制下由TxD端發(fā)出去.在同步發(fā)送過程中,不允許數(shù)據(jù)之間存在空隙,若CPU由于某種原因來不及送發(fā)送數(shù)據(jù),8251在此期間自動插入同步字符.串行通信接口芯片8251A3、發(fā)送緩沖器和發(fā)送控制電路(P串行通信接口芯片8251A4、讀/寫控制電路(P365)接收CPU的控制信號,決定8251的工作方式,并向8251的其他部件發(fā)相應(yīng)的控制信號。C/DRDWRCS操作0010CPU從8251讀數(shù)據(jù)0100CPU向8251寫數(shù)據(jù)1010CPU從8251讀狀態(tài)字1100CPU向8251寫控制字RESET,CLK,WR,RD,CS略。C/D:控制/數(shù)據(jù)信號,用來區(qū)分目前數(shù)據(jù)總線上是數(shù)據(jù)信息還是控制信息或狀態(tài)信息。C/D=0,表示是數(shù)據(jù)信息;C/D=1表示是控制信息或狀態(tài)信息。 8251A的控制信號操作表串行通信接口芯片8251A4、讀/寫控制電路(P365串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路(P366)當(dāng)計算機(jī)和計算機(jī)遠(yuǎn)距離通信時,可用8251作為接口芯片,并借助于MODEM經(jīng)過電話線建立兩臺計算機(jī)之間的通信聯(lián)系。異步方式,發(fā)送和接收時鐘由時鐘發(fā)生器或?qū)⑾到y(tǒng)時鐘分頻后提供;同步方式直接由調(diào)制解調(diào)器提供。8251與MODEM之間通過4條信號線建立通信聯(lián)絡(luò),見P366圖10-10。RxDTxDDSRDTRCTSRTSRxCTxC8251AABDBCB異步MODEM時鐘電話插座接電話線串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路(P366)串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路DTR(DataTerminalReady):表示計算機(jī)做好接收數(shù)據(jù)的準(zhǔn)備;可用程序控制使控制寄存器的DTR位置“1”,使該管腳輸出有效低電平。DSR(DataSetReady):表示Modem已做好向CPU發(fā)送數(shù)據(jù)的準(zhǔn)備;是對DTR信號的回答,它影響狀態(tài)寄存器DSR的內(nèi)容,CPU可查詢。RxDTxDDSRDTRCTSRTSRxCTxC8251AABDBCB異步MODEM時鐘電話插座接電話線串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路DTR(Da串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路RTS(RequestToSend):
表示計算機(jī)想通過MODEM發(fā)送數(shù)據(jù);可用程序控制使控制寄存器的RTS位置“1”,使該管腳輸出低電平。CTS(ClearToSend):表示MODEM已做好向外發(fā)送串行數(shù)據(jù)的準(zhǔn)備;是對RTS信號的回答,MODEM發(fā)送完數(shù)據(jù)后變?yōu)楦?。RxDTxDDSRDTRCTSRTSRxCTxC8251AABDBCB異步MODEM時鐘電話插座接電話線串行通信接口芯片8251A5、調(diào)制解調(diào)器控制電路RTS(Re串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接(P367)1)與CPU的連接80868251RxDTxDRxCTxCCSC/DRDWRD7~
D0WRRDA1A2A0A3A4ABCG2BG2AG1A5A6A7M/IOY0D7~D0TxRDYRxRDY波特率產(chǎn)生器RS232C接口串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接1)與CPU的連接2)與外設(shè)的連接兩個聯(lián)絡(luò)信號,查詢方式時供CPU查詢;中斷方式時,TxRDY和RxRDY可作為中斷請求信號,表示請求發(fā)送和接收。地址譯碼(本題A7~A4=1111,A3A2A0=000時選中8251)。A1=1時選中控制端口(F2H),A1=0時選中數(shù)據(jù)端口(F0H)。在RS-232接口中,需要進(jìn)行電平轉(zhuǎn)換,發(fā)送串行數(shù)據(jù)時,將計算機(jī)的TTL電平轉(zhuǎn)換成RS-232電平,接收數(shù)據(jù)時,將RS-232電平轉(zhuǎn)換成TTL電平。發(fā)送時鐘和接收時鐘統(tǒng)一提供。串行通信接口芯片8251A6、8251與CPU及外設(shè)的連接1串行通信接口芯片8251A三、8251A的編程(P368)1.8251的編程流程8251是一種功能很強(qiáng)的串行接口,但使用前必須按照規(guī)定進(jìn)行初始化。包括:1)寫入方式控制字:確定8251A的工作方式,是異步還是同步,傳送的波特率,字符長度,奇偶校驗等;2)寫入命令控制字:控制8251A工作,如允許或禁止8251A收發(fā)數(shù)據(jù),啟動搜索同步字符,使8251A進(jìn)行內(nèi)部復(fù)位等。串行通信接口芯片8251A三、8251A的編程(P368)串行通信接口芯片8251A三、8251A的編程1.8251的編程流程3)讀出狀態(tài)字:使CPU了解8251A的工作狀態(tài)。編程時通常讀取狀態(tài)字后判斷是否出錯,如果出錯轉(zhuǎn)向錯誤處理子程序,否則繼續(xù)傳輸數(shù)據(jù)串行通信接口芯片8251A三、8251A的編程1.825串行通信接口芯片8251A三、8251A的編程2.方式字a)同步方式0:單字符1:雙字符00:5位00:6位10:7位11:8位X0:無奇偶校驗位01:奇校驗11:偶校驗D7D6D5D4D3D2D1D0SCSESDEPPENL2L100
0:內(nèi)同步1:外同步串行通信接口芯片8251A三、8251A的編程2.方式字串行通信接口芯片8251A三、8251A的編程2.方式控制字b)異步方式D7D6D5D4D3D2D1D0S2
S1
EP
PENL2L1B2
B1
00:無效01:1個停止位10:1.5個停止位11:2個停止位00:5位00:6位10:7位11:8位X0:無奇偶校驗位01:奇校驗11:偶校驗01:異步方式110:異步方式1611:異步方式64串行通信接口芯片8251A三、8251A的編程2.方式控串行通信接口芯片8251A三、8251A的編程3.命令字1:允許發(fā)送0:禁止發(fā)送1:使DTR引腳輸出低電平1:允許接收0:禁止接收1:使TxD線變低,發(fā)送空白字符0:正常工作1:錯誤標(biāo)志PE、OE、FE復(fù)位1:使RTS引腳輸出低電平1:內(nèi)部復(fù)位,回到方式選擇狀態(tài)1:啟動搜索同步字符(內(nèi)同步用)D7D6D5D4D3D2D1D0EHIRRTSERSBRKRxEDTRTxEN串行通信接口芯片8251A三、8251A的編程3.命令字串行通信接口芯片8251A三、8251A的編程(P386)4.狀態(tài)字接收數(shù)據(jù)準(zhǔn)備好發(fā)送器準(zhǔn)備好發(fā)送器空奇偶錯誤溢出錯誤幀錯誤外設(shè)準(zhǔn)備好DSRSYNDET/BRKDETFEOEPETxERxRDYTxRDY與引腳含義相同串行通信接口芯片8251A三、8251A的編程(P386)串行通信接口芯片8251A四、8251A的初始化編程舉例(P372)由于8251芯片本身特性,在對8251A進(jìn)行初始化時,應(yīng)注意:為確保8251A可靠復(fù)位,應(yīng)向8251A控制端口連續(xù)輸出3個全“0”,再輸出一個內(nèi)部復(fù)位命令(控制字的D6=1);然后再進(jìn)行初始化。初始化的步驟是:向控制端口按順序?qū)懭敕绞阶?、控制字。(同步方式下,在控制字后再接著向控制口寫入一個或兩個同步字符。)每向控制口寫一次,需要手動延時以提供寫恢復(fù)時間。串行通信接口芯片8251A四、8251A的初始化編程舉例(P注意:向控制端口進(jìn)行寫入操作時,兩次寫入操作之間必須有16個時鐘周期以上的時間間隔以備寫恢復(fù)。1.異步方式的初始化程序(見P372)2.同步方式的初始化程序(見P373)。四、8251A的初始化編程舉例(P372)DELAY_TIMEMACRO MOVCX,02 DO:LOOPDOENDM注意:向控制端口進(jìn)行寫入操作時,兩次寫入操作之間必須有16個串行通信接口芯片8251A四、8251A的初始化編程舉例MOVDX,3F2H;控制口地址MOVAL,00H;OUTDX,AL;向控制口輸出一個0DELAY_TIME;延時,〉16個時鐘周期OUTDX,AL;向控制口輸出一個0DELAY_TIMEOUTDX,AL;向控制口輸出一個0DELAY_TIMEMOVAL,40H;內(nèi)部復(fù)位字OUTDX,ALDELAY_TIME1.異步方式:MOVAL,01111010B;方式字OUTDX,ALDELAY_TIMEMOVAL,00010101B;命令字;允許發(fā)送;接收,清錯誤標(biāo)志OUTDX,AL異步,波特率系數(shù)16,7個數(shù)據(jù)位,1停止位,偶校驗,控制口地址3F2H串行通信接口芯片8251A四、8251A的初始化編程舉例MO串行通信接口芯片8251A四、8251A的初始化編程舉例(P390) …………;送三個0及復(fù)位字40HMOVDX,3F2H;控制口地址MOVAL,00011000B;方式字OUTDX,ALDELAY_TIMEMOVAL,16H;送第一個同步字符OUTDX,AL;DELAY_TIMEOUTDX,AL;送第二個同步字符DELAY_TIMEMOVAL,10010101B;命令字OUTDX,AL2.同步方式:同步,雙同步字符,奇校驗,數(shù)據(jù)位為7位,同步字符16H串行通信接口芯片8251A四、8251A的初始化編程舉例(P10.3EIARS-232C串行口和8251應(yīng)用舉例(P373)RS-232C標(biāo)準(zhǔn)一、EIARS-232C串行口1.信號電平
RS-232C采用負(fù)邏輯,規(guī)定:邏輯“1”:有負(fù)載時-3V~-15V之間,無負(fù)載時-25V。邏輯“0”:有負(fù)載時+3V~+15V之間,無負(fù)載時+25V。TTL電平規(guī)定:邏輯“1”:+2V~+5V之間,邏輯“0”:0V~+0.8V之間。RS-232C不是TTL電平的接口標(biāo)準(zhǔn),當(dāng)計算機(jī)與外設(shè)進(jìn)行通信時,必須有相應(yīng)的電平轉(zhuǎn)換電路。10.3EIARS-232C串行口和8251應(yīng)用舉例(PEIARS-232C和8251應(yīng)用一、EIARS-232C串行口1.信號電平
通常采用的是MC1488和MC1489。發(fā)送數(shù)據(jù)時用MC1488,接收數(shù)據(jù)時用MC1489。TTL電平輸入-12VRS-232C電平輸出-12V1489TTL電平輸出RS-232C電平輸入MC1488EIARS-232C和8251應(yīng)用一、EIARS-23EIARS-232C和8251應(yīng)用RS-232C標(biāo)準(zhǔn)一、EIARS-232C串行口1.信號電平
2.接插件規(guī)格(見P375圖11-17)。MAX233電平轉(zhuǎn)換器:MAX233即可用于發(fā)送,也可用于接收(見P374圖10-16)。EIARS-232C和8251應(yīng)用RS-232C標(biāo)準(zhǔn)一、EIARS-232C和8251應(yīng)用一、EIARS-232C串行口RS-232C標(biāo)準(zhǔn)3.信號定義(見P375表10-2)。TxDRxDRTSCTSDSRCSDTREIARS-232C和8251應(yīng)用一、EIARS-23EIARS-232C和8251應(yīng)用二、8251A應(yīng)用舉例p376):TxD80868251R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源行業(yè)銷售人員2025年度勞動合同2篇
- 2025年住房公積金租房提取政策執(zhí)行效果評估合同3篇
- 二零二五年度農(nóng)村土地互換及農(nóng)業(yè)科技創(chuàng)新協(xié)議書
- 二零二五年度農(nóng)村房屋贈與合同附農(nóng)業(yè)科技研發(fā)合作協(xié)議
- 二零二五年度醫(yī)療影像設(shè)備加工承攬合同3篇
- 二零二五年度公司租賃車輛駕駛?cè)藛T考核及培訓(xùn)協(xié)議2篇
- 二零二五年度公司與自然人環(huán)保項目合作協(xié)議3篇
- 二零二五年度智能家電產(chǎn)品開發(fā)合作協(xié)議書2篇
- 2025年度網(wǎng)約貨車司機(jī)兼職服務(wù)協(xié)議3篇
- 2025年度環(huán)保型機(jī)械研發(fā)與生產(chǎn)合作協(xié)議3篇
- GB/T 1094.7-2024電力變壓器第7部分:油浸式電力變壓器負(fù)載導(dǎo)則
- 2025版國家開放大學(xué)法律事務(wù)專科《法律咨詢與調(diào)解》期末紙質(zhì)考試單項選擇題題庫
- 2024小學(xué)數(shù)學(xué)義務(wù)教育新課程標(biāo)準(zhǔn)(2022版)必考題庫附含答案
- DB32/T 2283-2024 公路工程水泥攪拌樁成樁質(zhì)量檢測規(guī)程
- 2,3-二甲苯酚的理化性質(zhì)及危險特性表
- 申報職稱:副教授演示課件
- 型濾池計算說明書
- 格力離心機(jī)技術(shù)服務(wù)手冊
- 水泥攪拌樁計算(完美)
- 旭化成離子交換膜的介紹
- JJRB輕鋼龍骨隔墻施工方案要點(diǎn)
評論
0/150
提交評論