




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-5-5計(jì)算機(jī)接口技術(shù)1第第8章章 串行通信接口串行通信接口本本 章章 內(nèi)內(nèi) 容容 串行通信的基本概念串行通信的基本概念 串行通信協(xié)議串行通信協(xié)議 串行通信接口標(biāo)準(zhǔn)串行通信接口標(biāo)準(zhǔn) 串行通信接口電路串行通信接口電路 RS-232C標(biāo)準(zhǔn)的串行通信接口設(shè)計(jì)標(biāo)準(zhǔn)的串行通信接口設(shè)計(jì) RS-485標(biāo)準(zhǔn)的串行通信接口設(shè)計(jì)標(biāo)準(zhǔn)的串行通信接口設(shè)計(jì) 基于基于UART的串行通信接口的串行通信接口2022-5-5計(jì)算機(jī)接口技術(shù)28.1 串行通信的基本概念串行通信的基本概念 串行傳送串行傳送是在一根一根或一對(duì)一對(duì)傳輸線(xiàn)傳輸線(xiàn)上,在時(shí)鐘時(shí)鐘的作用的作用下下,一位一位一位一位地傳送信息地傳送信息,這根(對(duì))線(xiàn)既作
2、為既作為數(shù)據(jù)線(xiàn)數(shù)據(jù)線(xiàn)又作為又作為聯(lián)聯(lián)絡(luò)線(xiàn)絡(luò)線(xiàn)??梢岳秒娫?huà)線(xiàn)進(jìn)行數(shù)據(jù)傳送,從而大大降低了成本,特別適用于遠(yuǎn)距離通信特別適用于遠(yuǎn)距離通信,但傳送速度較慢。2022-5-5計(jì)算機(jī)接口技術(shù)38.1.1 串行通信的基本特點(diǎn)串行通信的基本特點(diǎn)1.采用1根或1對(duì)對(duì)傳輸線(xiàn)傳輸線(xiàn)按位按位傳送信息傳送信息。傳輸線(xiàn)傳輸線(xiàn)既作為數(shù)據(jù)線(xiàn)既作為數(shù)據(jù)線(xiàn)又作為聯(lián)絡(luò)線(xiàn)作為聯(lián)絡(luò)線(xiàn); 2.為了對(duì)傳輸中的信息進(jìn)行識(shí)別,要求有固定的有固定的數(shù)據(jù)格式數(shù)據(jù)格式,分同步同步和異異步步數(shù)據(jù)格式數(shù)據(jù)格式; 3.為了保持雙方的收發(fā)速度一致,串行傳輸?shù)拇袀鬏數(shù)乃俾市枰刂扑俾市枰刂?,采用雙采用雙方約定的方約定的波特率波特率進(jìn)行傳輸。 4.串行
3、通信易受干擾串行通信易受干擾,特別是遠(yuǎn)距離傳輸,出錯(cuò)難以避免,故需要進(jìn)行需要進(jìn)行差錯(cuò)的檢測(cè)與控制,差錯(cuò)的檢測(cè)與控制,如奇偶校驗(yàn),奇偶校驗(yàn),CRCCRC等。 5.串行通信串行通信中對(duì)信號(hào)的邏輯定義對(duì)信號(hào)的邏輯定義和TTLTTL不一定兼容,需要進(jìn)行需要進(jìn)行邏輯關(guān)系邏輯關(guān)系和邏輯電平轉(zhuǎn)換和邏輯電平轉(zhuǎn)換;總之,串行通信制定了各種通信協(xié)議與標(biāo)準(zhǔn),來(lái)規(guī)范串行通信雙方共同遵守的操作規(guī)則。2022-5-5計(jì)算機(jī)接口技術(shù)48.1.2 串行通信的串行通信的工作制式工作制式1.1. 全雙工全雙工 全雙工全雙工是通信雙方通信雙方同時(shí)進(jìn)行同時(shí)進(jìn)行發(fā)送發(fā)送和接收接收操作。為此,要設(shè)置兩根要設(shè)置兩根( (或兩對(duì)或兩對(duì)) )
4、傳輸線(xiàn)傳輸線(xiàn),分別發(fā)送和接收數(shù)據(jù)分別發(fā)送和接收數(shù)據(jù),使數(shù)據(jù)的發(fā)送與接收分流,如圖圖8.18.1所示所示。全雙工方式全雙工方式在通信過(guò)程中在通信過(guò)程中,無(wú)須進(jìn)行接收無(wú)須進(jìn)行接收/ /發(fā)送方向的發(fā)送方向的切換切換,因此,沒(méi)有沒(méi)有切換操作所產(chǎn)生的時(shí)間延遲時(shí)間延遲,有利于遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)與控制。圖圖8.1 8.1 全雙工方式示意圖全雙工方式示意圖2022-5-5計(jì)算機(jī)接口技術(shù)52 2. .半雙工半雙工 半雙工半雙工是通信雙方通信雙方分時(shí)進(jìn)行分時(shí)進(jìn)行發(fā)送發(fā)送和接收接收操作,即雙方都可發(fā)可收,但不能在同一時(shí)刻發(fā)送和接收,如圖圖8.28.2所示所示。因?yàn)榘腚p工只設(shè)置設(shè)置1 1根根( (或或1 1對(duì)對(duì)) )傳輸線(xiàn)
5、傳輸線(xiàn),用于發(fā)送時(shí)就不能接收,用于接收時(shí)就不能發(fā)送。所以在半雙工通信過(guò)程中半雙工通信過(guò)程中,需要進(jìn)行接收需要進(jìn)行接收/ /發(fā)送方發(fā)送方向的切換向的切換,會(huì)有延時(shí)會(huì)有延時(shí)產(chǎn)生。圖圖8.2 8.2 半雙工方式示意圖半雙工方式示意圖3. 單工單工 單工單工是通信雙方通信雙方只能進(jìn)行一個(gè)方向的傳輸只能進(jìn)行一個(gè)方向的傳輸,不能有雙向傳輸不能有雙向傳輸。此方式目前很少使用了。2022-5-5計(jì)算機(jī)接口技術(shù)68.1.3 串行通信的串行通信的基本方式基本方式1 1. . 異步通信方式異步通信方式 異步通信異步通信是以字符為單位傳輸?shù)囊宰址麨閱挝粋鬏數(shù)模總€(gè)字符經(jīng)過(guò)格式化之后,作為獨(dú)立的一幀數(shù)據(jù),可以隨機(jī)由發(fā)送
6、端發(fā)出去可以隨機(jī)由發(fā)送端發(fā)出去,即發(fā)送端發(fā)送端發(fā)出的每發(fā)出的每個(gè)字符在通信線(xiàn)上出現(xiàn)的時(shí)間個(gè)字符在通信線(xiàn)上出現(xiàn)的時(shí)間是任意的任意的。因此異步通信異步通信不要求不要求在收雙收雙方之間方之間使用同一根時(shí)鐘線(xiàn)使用同一根時(shí)鐘線(xiàn)。2.2.同步通信方式同步通信方式 同步通信同步通信是以數(shù)據(jù)塊(字符塊)為單位傳輸?shù)囊詳?shù)據(jù)塊(字符塊)為單位傳輸?shù)模總€(gè)數(shù)據(jù)塊經(jīng)過(guò)格式化之后,形成一幀數(shù)據(jù),作為一個(gè)整體進(jìn)行發(fā)送與接收,因此,傳輸一旦開(kāi)始,就要求數(shù)據(jù)塊內(nèi)部的每一位都要同步要求數(shù)據(jù)塊內(nèi)部的每一位都要同步。為此,收收/ /發(fā)兩端發(fā)兩端必須使用同一時(shí)鐘必須使用同一時(shí)鐘來(lái)控制控制數(shù)據(jù)塊內(nèi)部位與位之間的定時(shí)數(shù)據(jù)塊內(nèi)部位與位之間
7、的定時(shí),因此同步通同步通信信要求雙方之間要求雙方之間必須設(shè)置一根時(shí)鐘線(xiàn)設(shè)置一根時(shí)鐘線(xiàn)。 異步通信方式的傳輸速率低,同步通信方式的傳輸速率高。異步傳輸?shù)膫鬏斣O(shè)備簡(jiǎn)單,易于實(shí)現(xiàn),同步傳輸?shù)膫鬏斣O(shè)備復(fù)雜,技術(shù)要求高。因此,異步串行通信異步串行通信一般用在用在數(shù)據(jù)傳輸時(shí)間不能確定數(shù)據(jù)傳輸時(shí)間不能確定、發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)不連續(xù)不連續(xù)、數(shù)據(jù)量較少數(shù)據(jù)量較少和數(shù)據(jù)傳輸速率較低數(shù)據(jù)傳輸速率較低的場(chǎng)合;而同步串行通信同步串行通信則用在用在要求快速快速、連續(xù)連續(xù)傳輸大批量數(shù)據(jù)大批量數(shù)據(jù)的場(chǎng)合。 2022-5-5計(jì)算機(jī)接口技術(shù)78.1.4 串行通信的串行通信的調(diào)制與解調(diào)調(diào)制與解調(diào) 串行通信是數(shù)字通信串行通信是數(shù)字通信
8、,包含了從低頻到高頻的諧波成分,因此要求傳輸線(xiàn)的頻帶很寬要求傳輸線(xiàn)的頻帶很寬。在遠(yuǎn)距離通信時(shí),為了降低成本,通信線(xiàn)路利用普通電話(huà)線(xiàn),而這種電話(huà)線(xiàn)的頻帶寬度有限。如果用數(shù)字信號(hào)直如果用數(shù)字信號(hào)直接傳輸接傳輸,高次諧波的衰減就會(huì)很厲害,從而使從而使傳輸?shù)男盘?hào)產(chǎn)生嚴(yán)重的傳輸?shù)男盘?hào)產(chǎn)生嚴(yán)重的畸變和失真畸變和失真;若若用模擬信號(hào)用模擬信號(hào)傳輸傳輸時(shí),則失真較小則失真較小。因此需要因此需要在通信雙在通信雙方方采用采用MODEMMODEM進(jìn)行數(shù)字信號(hào)進(jìn)行數(shù)字信號(hào)與模擬信號(hào)模擬信號(hào)轉(zhuǎn)換轉(zhuǎn)換,調(diào)制與解調(diào)調(diào)制與解調(diào)如圖如圖8.38.3所示所示。圖8.3 調(diào)制與解調(diào)示意圖2022-5-5計(jì)算機(jī)接口技術(shù)88.2 串行
9、通信協(xié)議串行通信協(xié)議 所謂通信協(xié)議所謂通信協(xié)議(也叫做通信控制規(guī)程)是指通信雙方的一種約是指通信雙方的一種約定定,約定中包括包括對(duì)數(shù)據(jù)格式數(shù)據(jù)格式、傳輸速度傳輸速度、檢糾錯(cuò)方式檢糾錯(cuò)方式、傳送步驟傳送步驟,以及控控制字符定義制字符定義等問(wèn)題作出統(tǒng)一規(guī)定作出統(tǒng)一規(guī)定,通信雙方必須共同遵守共同遵守。 8.2.1 串行通信串行通信中中的的傳輸速率控制傳輸速率控制1 1. . 數(shù)據(jù)傳輸速率控制的實(shí)現(xiàn)方法數(shù)據(jù)傳輸速率控制的實(shí)現(xiàn)方法 串行通信時(shí)串行通信時(shí),要求雙方的傳輸速率嚴(yán)格一致要求雙方的傳輸速率嚴(yán)格一致,并在傳輸開(kāi)始之前,要預(yù)先設(shè)定,否則,會(huì)發(fā)生錯(cuò)誤。 在數(shù)字通信中,傳輸速率的控制傳輸速率的控制是通過(guò)
10、通過(guò)波特率時(shí)鐘發(fā)生器波特率時(shí)鐘發(fā)生器和設(shè)置波設(shè)置波特率因子特率因子或波特率除數(shù)波特率除數(shù)來(lái)實(shí)現(xiàn)的來(lái)實(shí)現(xiàn)的。2022-5-5計(jì)算機(jī)接口技術(shù)92.2.波特率、波特率、發(fā)送發(fā)送/ /接收時(shí)鐘波特率因子接收時(shí)鐘波特率因子 (1)(1)什么是波特率什么是波特率 波特率波特率(Baud)是每秒傳輸串行數(shù)據(jù)的位數(shù)每秒傳輸串行數(shù)據(jù)的位數(shù)。例如,每秒傳輸1b,就是1波特;每秒傳輸1200b,就是1200波特。其單位單位是b/sb/s(位/秒),也可寫(xiě)成也可寫(xiě)成bpsbps。 例如,串行通信的數(shù)據(jù)傳輸率為1200b/s,則每一個(gè)數(shù)據(jù)位的傳輸時(shí)間Td為波特率的倒數(shù),即: (2)(2)發(fā)送發(fā)送/ /接收時(shí)鐘接收時(shí)鐘
11、發(fā)送時(shí)發(fā)送時(shí),發(fā)送端發(fā)送端在發(fā)送時(shí)鐘脈在發(fā)送時(shí)鐘脈TxC的作用下的作用下,將將發(fā)送寄存器發(fā)送寄存器的數(shù)據(jù)數(shù)據(jù)按位串行移位按位串行移位輸出輸出,送到通信線(xiàn)上;接收時(shí)接收時(shí),接收端接收端在接收時(shí)鐘脈沖在接收時(shí)鐘脈沖RxC的作用下的作用下,對(duì)來(lái)自對(duì)來(lái)自通信線(xiàn)上的串行通信線(xiàn)上的串行數(shù)據(jù)數(shù)據(jù),按位串行移入移入接收寄存器接收寄存器,故發(fā)送發(fā)送/ /接收接收時(shí)鐘脈沖時(shí)鐘脈沖又可稱(chēng)為稱(chēng)為移位脈沖移位脈沖。d11 bT= 0 .8 3 3 m sB au d1 2 0 0 b /s位2022-5-5計(jì)算機(jī)接口技術(shù)10(3 3)波特率因子)波特率因子 發(fā)送發(fā)送/ /接收時(shí)鐘接收時(shí)鐘的頻率頻率,一般都設(shè)置為一般都設(shè)
12、置為波特率的整數(shù)倍波特率的整數(shù)倍,如1、16、32、64倍。并且,把這個(gè)把這個(gè)波特率的倍數(shù)波特率的倍數(shù)稱(chēng)為波特率因子波特率因子(factor)或波特率系數(shù)波特率系數(shù),其含義其含義是每傳輸一個(gè)數(shù)據(jù)位需每傳輸一個(gè)數(shù)據(jù)位需要多是個(gè)移位脈沖要多是個(gè)移位脈沖,單位單位是個(gè)個(gè)/ /位位。 因此,可得出發(fā)送發(fā)送/ /接收時(shí)鐘頻率接收時(shí)鐘頻率TxC、波特率因子波特率因子factor和波特率波特率Baud三者之間的關(guān)系三者之間的關(guān)系,即: TxCTxCfactorfactorBaud Baud (8.18.1) 例如例如,某一串行接口電路的波特率為1200b/s,波特因子為16個(gè)/位,則發(fā)送時(shí)鐘的頻率為: Tx
13、CTxC1616個(gè)個(gè)/b/b1200b/s1200b/s19200Hz19200Hz 際上,波特率因子波特率因子可理解為理解為發(fā)送或接收發(fā)送或接收1b1b數(shù)據(jù)所需的時(shí)鐘脈沖個(gè)數(shù)數(shù)據(jù)所需的時(shí)鐘脈沖個(gè)數(shù)。引用波特率因子引用波特率因子的目的目的是為了是為了提高定位采樣的分辨率提高定位采樣的分辨率,有利于有利于鑒別干鑒別干擾擾和提高提高異步串行通信的可靠性可靠性。這一點(diǎn)可從圖圖8.48.4中看出。 如果沒(méi)有這種倍頻關(guān)系,定位采樣頻率和傳輸波特率相同,則在一個(gè)位周期中,只能采樣一次,這樣就容易產(chǎn)生錯(cuò)誤。2022-5-5計(jì)算機(jī)接口技術(shù)11 圖8.4 16倍波特率時(shí)鐘的作用例如例如,為了檢測(cè)起始位下降沿的出
14、現(xiàn),在檢測(cè)起始位的前夕采樣一次,下次采樣要到起始位結(jié)束前夕才進(jìn)行,假若在這個(gè)位周期期間,因某種原因恰好使接收端時(shí)鐘往后偏移了一點(diǎn)點(diǎn),就會(huì)錯(cuò)過(guò)起始位,從而造成后面整個(gè)各位檢測(cè)和識(shí)別的錯(cuò)誤。2022-5-5計(jì)算機(jī)接口技術(shù)123.3.波特率時(shí)鐘發(fā)生器波特率時(shí)鐘發(fā)生器 波特率時(shí)鐘發(fā)生器波特率時(shí)鐘發(fā)生器可由定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器82C54A來(lái)實(shí)現(xiàn)來(lái)實(shí)現(xiàn),關(guān)鍵關(guān)鍵是要找出是要找出波特率的發(fā)送波特率的發(fā)送/ /接收接收時(shí)針脈沖時(shí)針脈沖與定時(shí)定時(shí)/ /計(jì)數(shù)器的計(jì)數(shù)器的定時(shí)常數(shù)定時(shí)常數(shù)之間之間的的關(guān)系關(guān)系, 從第4章定時(shí)/計(jì)數(shù)器82C54A的工作原理可知,定時(shí)器82C54A的輸出OUT、輸入CLK及定時(shí)常數(shù)
15、TC的關(guān)系式如下: OUT=CLK/TCOUT=CLK/TC (8-28-2) (8-2)式中,OUT為輸出波形頻率;CLK為輸入時(shí)針頻率(通常是晶振的輸出頻率);TC為定時(shí)常數(shù)。如果把82C54A的輸出方波OUT作為串行通信的發(fā)送/接收時(shí)鐘TxC,則有 OUT=TxCOUT=TxC (8-38-3) 將式(8-1)和式(8-2)代入式(8-3),可得 CLK/TC=Baudfactor 所以 TC=CLK/TC=CLK/(BaudBaudfactorfactor) (8-48-4)2022-5-5計(jì)算機(jī)接口技術(shù)13 從式(從式(8-48-4)可知)可知,當(dāng)當(dāng)輸入時(shí)鐘頻率輸入時(shí)鐘頻率和波特率因
16、子波特率因子選定后選定后,求求波特率波特率的問(wèn)題就變成了就變成了求求定時(shí)器82C54A的定時(shí)常數(shù)定時(shí)常數(shù)TC的問(wèn)題了。而這個(gè)這個(gè)定時(shí)常數(shù)定時(shí)常數(shù)也就是波特率時(shí)鐘發(fā)生器就是波特率時(shí)鐘發(fā)生器的輸入時(shí)鐘頻率的分頻系數(shù)輸入時(shí)鐘頻率的分頻系數(shù),或叫波特率除數(shù)波特率除數(shù)。 例如例如,要求串行通信的傳輸率為9600波特,波特率因子為16,82C54A的輸入時(shí)鐘為1.19318MHz,則82C54A的定時(shí)常數(shù), 根據(jù)(8-4)式為:TC=1.19318106次/s/(9600b/s16次/b)=8 因此,利用利用82C54A82C54A作波特率時(shí)鐘發(fā)生器作波特率時(shí)鐘發(fā)生器,就需要利用式(需要利用式(8-48-
17、4)計(jì)算計(jì)算 出波特率相對(duì)應(yīng)的定時(shí)常數(shù)出波特率相對(duì)應(yīng)的定時(shí)常數(shù),然后,將定時(shí)常數(shù)將定時(shí)常數(shù)裝入裝入82C54A的計(jì)數(shù)計(jì)數(shù)初初值值寄存器寄存器啟動(dòng)定時(shí)器即可啟動(dòng)定時(shí)器即可。2022-5-5計(jì)算機(jī)接口技術(shù)148.2.2 串行通信串行通信中中的的差錯(cuò)檢測(cè)差錯(cuò)檢測(cè)1. 誤碼率的控制 所謂誤碼率所謂誤碼率,是是指數(shù)據(jù)經(jīng)過(guò)傳輸后發(fā)生錯(cuò)誤的位數(shù)發(fā)生錯(cuò)誤的位數(shù)與 總傳輸位數(shù)總傳輸位數(shù)之比之比。在計(jì)算機(jī)通信中,一般要求要求誤碼率達(dá)到誤碼率達(dá)到1010-6-6數(shù)量級(jí)數(shù)量級(jí)。2. 檢糾錯(cuò)編碼方法的使用 在實(shí)際應(yīng)用中,具體實(shí)現(xiàn)具體實(shí)現(xiàn)檢錯(cuò)編碼的方法檢錯(cuò)編碼的方法很多很多,而在串行通信中在串行通信中應(yīng)用最多應(yīng)用最多的是
18、奇偶校驗(yàn)奇偶校驗(yàn)和循環(huán)冗余碼校驗(yàn)循環(huán)冗余碼校驗(yàn)。 錯(cuò)誤檢測(cè)錯(cuò)誤檢測(cè)只在接收方進(jìn)行只在接收方進(jìn)行,并且是在接收程序中通過(guò)軟件來(lái)檢測(cè)在接收程序中通過(guò)軟件來(lái)檢測(cè)。3. 錯(cuò)誤狀態(tài)的分析與處理 奇偶校驗(yàn)錯(cuò)奇偶校驗(yàn)錯(cuò):通常是由噪聲干擾而引起的,發(fā)生這種錯(cuò)誤時(shí),采用采用要求發(fā)送方重發(fā)要求發(fā)送方重發(fā)。 溢出錯(cuò)溢出錯(cuò):通常是由收發(fā)雙方的速率不匹配而引起的,可以采用采用降低降低發(fā)送方的發(fā)送速率發(fā)送速率或者或者在接收方設(shè)置設(shè)置FIFOFIFO緩沖區(qū)緩沖區(qū)的方法來(lái)減少這種錯(cuò)誤。 幀格式錯(cuò)幀格式錯(cuò):這種錯(cuò)誤大多是由于雙方數(shù)據(jù)格式約定不一致或干擾造成的,可通過(guò)通過(guò)核對(duì)雙方的數(shù)據(jù)格式核對(duì)雙方的數(shù)據(jù)格式減少錯(cuò)誤。 超時(shí)錯(cuò)超時(shí)
19、錯(cuò):一般是由于接口硬件電路速度跟不上而產(chǎn)生。2022-5-5計(jì)算機(jī)接口技術(shù)158.2.3 串行通信串行通信中中的的數(shù)據(jù)格式數(shù)據(jù)格式1 1. .起止式異步通信數(shù)據(jù)幀格式起止式異步通信數(shù)據(jù)幀格式 所謂起止式所謂起止式是在每個(gè)字符在每個(gè)字符的前面加前面加起始位起始位,后面加后面加停止位停止位,中間可中間可以加以加奇偶校驗(yàn)位奇偶校驗(yàn)位,空閑位空閑位,形成一個(gè)完整的字符幀格式完整的字符幀格式,如圖如圖8.58.5所示所示。圖8.5 起止式異步通信數(shù)據(jù)格式2022-5-5計(jì)算機(jī)接口技術(shù)16下面分析起/止式數(shù)據(jù)格式每幀信息的內(nèi)容及起/止位的作用。從圖8.5可以看出,每個(gè)字符每個(gè)字符幀幀由4個(gè)部分組成個(gè)部分組
20、成。 1位起始位位起始位,低電平,邏輯值0。 58位數(shù)據(jù)位,位數(shù)據(jù)位,緊跟在起始位后,是要傳輸?shù)挠行畔?。?guī) 定從低位至高位依次傳輸。 1位校驗(yàn)位位校驗(yàn)位(也可以沒(méi)有校驗(yàn)位)。 1位位,或1位半位半,或2位停止位位停止位,高電平(邏輯值1)。 停止位后面停止位后面是不定長(zhǎng)度的空閑位空閑位。 停止位停止位和空閑位空閑位都規(guī)定為都規(guī)定為 高電平高電平,這樣就保證保證起始位開(kāi)始處起始位開(kāi)始處 一定有一個(gè)一定有一個(gè)下跳變下跳變。 現(xiàn)在看看起起/止位的作用止位的作用。起始位和停止位起始位和停止位是作為聯(lián)絡(luò)信號(hào)作為聯(lián)絡(luò)信號(hào)而附加進(jìn)來(lái)的,它們?cè)诋惒酵ㄐ鸥袷街衅鹬陵P(guān)重要的作用。當(dāng)當(dāng)起始位起始位由由高電平高電
21、平變?yōu)樽優(yōu)榈碗娖降碗娖降南绿兿绿儠r(shí),告訴告訴接收方數(shù)據(jù)的傳輸接收方數(shù)據(jù)的傳輸開(kāi)始開(kāi)始。它的到來(lái)它的到來(lái),表示表示下面接著是數(shù)據(jù)位來(lái)了,要要接收方準(zhǔn)備開(kāi)始接收接收方準(zhǔn)備開(kāi)始接收。而停止位停止位標(biāo)志一個(gè)字符的結(jié)束標(biāo)志一個(gè)字符的結(jié)束,它的出現(xiàn)它的出現(xiàn),表示表示一個(gè)字符傳輸結(jié)一個(gè)字符傳輸結(jié)束束。這樣,就為通信雙方提供了為通信雙方提供了何時(shí)開(kāi)始收發(fā)何時(shí)開(kāi)始收發(fā)、何時(shí)結(jié)束的標(biāo)志。何時(shí)結(jié)束的標(biāo)志。2022-5-5計(jì)算機(jī)接口技術(shù)172 2. .面向字符的同步通信數(shù)據(jù)格式面向字符的同步通信數(shù)據(jù)格式 面向字符面向字符數(shù)據(jù)格式的典型代表典型代表是IBM公司的二進(jìn)制同步二進(jìn)制同步通信協(xié)議通信協(xié)議(BSC)。它的特
22、點(diǎn)它的特點(diǎn)是一次傳送由若干個(gè)字符組成的數(shù)據(jù)塊一次傳送由若干個(gè)字符組成的數(shù)據(jù)塊,并規(guī)定了并規(guī)定了1010個(gè)特殊字符個(gè)特殊字符作為作為這個(gè)數(shù)據(jù)塊的數(shù)據(jù)塊的開(kāi)頭開(kāi)頭與結(jié)束結(jié)束標(biāo)志以及整個(gè)傳輸過(guò)程的傳輸過(guò)程的控制信息控制信息,它們也叫做通信控制字通信控制字,如圖如圖8.68.6所示所示。圖8.6 面向字符的同步通信數(shù)據(jù)塊的幀格式2022-5-5計(jì)算機(jī)接口技術(shù)183 3. . 面向比特的同步通信數(shù)據(jù)格式面向比特的同步通信數(shù)據(jù)格式 面向比特的協(xié)議面向比特的協(xié)議有同步數(shù)據(jù)鏈路控制規(guī)程同步數(shù)據(jù)鏈路控制規(guī)程SDLC、高級(jí)數(shù)據(jù)高級(jí)數(shù)據(jù)鏈路控制規(guī)程鏈路控制規(guī)程HDL、先進(jìn)數(shù)據(jù)通信規(guī)程先進(jìn)數(shù)據(jù)通信規(guī)程ADCCP等。這
23、些協(xié)議的特點(diǎn)協(xié)議的特點(diǎn)是所傳輸?shù)囊粠瑪?shù)據(jù)所傳輸?shù)囊粠瑪?shù)據(jù)可以是任意位可以是任意位,而且它是靠約定的位組合模式靠約定的位組合模式,而不是字符而不是字符,故稱(chēng)“面向比特”的協(xié)議,其數(shù)據(jù)格式數(shù)據(jù)格式如圖如圖8.78.7所示所示。圖8.7 面向比特的同步通信數(shù)據(jù)幀格式2022-5-5計(jì)算機(jī)接口技術(shù)194 4. .I2CI2C串行總線(xiàn)數(shù)據(jù)格式串行總線(xiàn)數(shù)據(jù)格式 I2CI2C串行總線(xiàn)串行總線(xiàn)是Philips公司開(kāi)發(fā)的可連接多個(gè)可連接多個(gè)主設(shè)備主設(shè)備及具有及具有不同速度的設(shè)備不同速度的設(shè)備的串行總線(xiàn)串行總線(xiàn), 它它只使用只使用兩根兩根雙向信號(hào)線(xiàn)雙向信號(hào)線(xiàn):串行串行數(shù)據(jù)線(xiàn)數(shù)據(jù)線(xiàn)SDASDA和串行串行時(shí)鐘線(xiàn)時(shí)鐘線(xiàn)
24、SCLSCL,其數(shù)據(jù)格式數(shù)據(jù)格式如圖如圖8.88.8所示所示。圖8.8 I2C總線(xiàn)一幀完整的數(shù)據(jù)格式圖2022-5-5計(jì)算機(jī)接口技術(shù)20下面通過(guò)通過(guò)I2C數(shù)據(jù)格式數(shù)據(jù)格式來(lái)了解I2C的傳輸過(guò)程與工作原理。傳輸過(guò)程與工作原理。 從圖8.8可以看到,數(shù)據(jù)格式數(shù)據(jù)格式是以主設(shè)備主設(shè)備通過(guò)數(shù)據(jù)線(xiàn)發(fā)送啟動(dòng)信發(fā)送啟動(dòng)信號(hào)號(hào)Start開(kāi)始開(kāi)始,發(fā)停止信號(hào)發(fā)停止信號(hào)Stop結(jié)束結(jié)束。 在啟動(dòng)信號(hào)在啟動(dòng)信號(hào)后面后面,跟著發(fā)送第一字節(jié)發(fā)送第一字節(jié),此字節(jié)的此字節(jié)的高高7位位為從設(shè)備從設(shè)備地址地址,最低位最低位為指明數(shù)據(jù)傳送方向數(shù)據(jù)傳送方向的R/W(讀/寫(xiě))位,該位該位為為0表示主設(shè)備向從設(shè)備發(fā)送數(shù)據(jù)主設(shè)備向從設(shè)備
25、發(fā)送數(shù)據(jù),為為1表示從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)從設(shè)備向主設(shè)備發(fā)送數(shù)據(jù)。 地址字節(jié)地址字節(jié)后面后面,接著就可發(fā)送所要傳輸?shù)陌l(fā)送所要傳輸?shù)臄?shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)(DATA)。通信過(guò)程中,每次傳送的字節(jié)數(shù)沒(méi)有限制每次傳送的字節(jié)數(shù)沒(méi)有限制,即在Start與Stop之間的字節(jié)數(shù)可以是任意多個(gè)字節(jié)數(shù)可以是任意多個(gè),但各字節(jié)之間但各字節(jié)之間必須插入一個(gè)必須插入一個(gè)應(yīng)答位應(yīng)答位(ACK),以表示以表示是否收到對(duì)方傳來(lái)的數(shù)據(jù)是否收到對(duì)方傳來(lái)的數(shù)據(jù)。 數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)從最高位開(kāi)始發(fā)送從最高位開(kāi)始發(fā)送,全部數(shù)據(jù)發(fā)送完后,就發(fā)停止信號(hào)結(jié)束一次數(shù)據(jù)傳輸。2022-5-5計(jì)算機(jī)接口技術(shù)218.3 串行通信接口標(biāo)準(zhǔn)串行通信接口標(biāo)準(zhǔn)
26、串行接口串行接口所直接面向所直接面向的并不是某個(gè)具體的并不是某個(gè)具體的通信設(shè)備通信設(shè)備,而是一而是一種串行通信的種串行通信的接口標(biāo)準(zhǔn)接口標(biāo)準(zhǔn)。所以,要進(jìn)行串行通信接口要進(jìn)行串行通信接口設(shè)計(jì)設(shè)計(jì),就必須先就必須先討論串行通信接口討論串行通信接口標(biāo)準(zhǔn)標(biāo)準(zhǔn),然后,按照標(biāo)準(zhǔn)來(lái)設(shè)計(jì)接口電路。 這里以RS-232C和RS-485為主來(lái)討論。8.3.1 RS-232C標(biāo)準(zhǔn)標(biāo)準(zhǔn) EIA-RS-232C標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開(kāi)發(fā)的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在020000b/s范圍內(nèi)的通信,廣泛用于計(jì)算機(jī)與計(jì)算機(jī),計(jì)算機(jī)與外設(shè)近距離串行連接。2022-5-5計(jì)算機(jī)接口技術(shù)221
27、RS-232C標(biāo)準(zhǔn)對(duì)信號(hào)線(xiàn)的定義標(biāo)準(zhǔn)對(duì)信號(hào)線(xiàn)的定義 RS-232C定義的主信道信號(hào)使用9根線(xiàn),包括2根數(shù)據(jù)線(xiàn)和1根地線(xiàn),以及用于聯(lián)絡(luò)的6根控制線(xiàn)。6根聯(lián)絡(luò)控制信號(hào)線(xiàn)根聯(lián)絡(luò)控制信號(hào)線(xiàn)僅用于遠(yuǎn)距離通信用于遠(yuǎn)距離通信加加MODEM的應(yīng)用環(huán)境的應(yīng)用環(huán)境,而近距離通信近距離通信不加不加MODEM,故只使用只使用3根信號(hào)線(xiàn)根信號(hào)線(xiàn),其定義如下。 2號(hào)線(xiàn)號(hào)線(xiàn) 發(fā)送數(shù)據(jù)(Transmitted dataTxD)線(xiàn) 3號(hào)線(xiàn)號(hào)線(xiàn) 接收數(shù)據(jù)(Received dataRxD)線(xiàn) 7號(hào)線(xiàn)號(hào)線(xiàn) 信號(hào)地(Signal groudSG)線(xiàn) 不使用不使用MODEM的通信的通信,稱(chēng)為稱(chēng)為零零MODEM方式方式,俗稱(chēng)俗稱(chēng)“3線(xiàn)制
28、線(xiàn)制”RS-232標(biāo)準(zhǔn)。零零MODEM方式的連接方式的連接如圖如圖8.9所示所示。圖8.9 3線(xiàn)制零MODEM方式2022-5-5計(jì)算機(jī)接口技術(shù)232RS-232C標(biāo)準(zhǔn)對(duì)信號(hào)的邏輯定義標(biāo)準(zhǔn)對(duì)信號(hào)的邏輯定義(1)RS-232C標(biāo)準(zhǔn)對(duì)信號(hào)的邏輯定義標(biāo)準(zhǔn)對(duì)信號(hào)的邏輯定義 采用采用EIA邏輯,規(guī)定:邏輯,規(guī)定: 邏輯邏輯1(Mark)在驅(qū)動(dòng)器輸出端在驅(qū)動(dòng)器輸出端為515V,在負(fù)載端在負(fù)載端要求小于要求小于3V。 邏輯邏輯0(Space)在驅(qū)動(dòng)器輸出端在驅(qū)動(dòng)器輸出端為+5+15V,在負(fù)載端在負(fù)載端要求大于要求大于+3V。 可見(jiàn)可見(jiàn),RS-232C采用的是負(fù)邏輯采用的是負(fù)邏輯,并且邏輯電平幅值很高,擺幅很
29、大。顯然,RS-232C標(biāo)準(zhǔn)標(biāo)準(zhǔn)所采用的采用的EIA與計(jì)算機(jī)終端計(jì)算機(jī)終端所采用的采用的TTL在邏輯電平和邏輯關(guān)系上并不兼容并不兼容,故需要經(jīng)過(guò)轉(zhuǎn)換故需要經(jīng)過(guò)轉(zhuǎn)換,才能與計(jì)算機(jī)或終端進(jìn)行數(shù)據(jù)交換。 (2 2)EIAEIA與與TTLTTL之間的轉(zhuǎn)換之間的轉(zhuǎn)換 EIAEIA與與TTLTTL之間的轉(zhuǎn)換之間的轉(zhuǎn)換采用專(zhuān)用芯片來(lái)完成采用專(zhuān)用芯片來(lái)完成。常用的轉(zhuǎn)換芯片有有單向轉(zhuǎn)換芯片單向轉(zhuǎn)換芯片(如MC1488、SN75150),雙向轉(zhuǎn)換芯片雙向轉(zhuǎn)換芯片(如MAX232),可實(shí)現(xiàn)TTL與EIA之間的雙向轉(zhuǎn)換,一個(gè)MAX232芯片可實(shí)現(xiàn)兩對(duì)接收/發(fā)送數(shù)據(jù)線(xiàn)的轉(zhuǎn)換。2022-5-5計(jì)算機(jī)接口技術(shù)24MAX23
30、2的外部引腳的外部引腳和內(nèi)部邏輯內(nèi)部邏輯如圖如圖8.10所示所示。從圖8.10可知,通過(guò)通過(guò)MAX232可將將TTL/CMOS電平電平(05V)轉(zhuǎn)換轉(zhuǎn)換成成RS-232C的的EIA電平電平(+10V10V)。圖8.10 MAX232的內(nèi)部邏輯框圖2022-5-5計(jì)算機(jī)接口技術(shù)25(3)RS-232C標(biāo)準(zhǔn)的連接器及通信線(xiàn)電纜標(biāo)準(zhǔn)的連接器及通信線(xiàn)電纜 1)連接器)連接器 連接器連接器即通信電纜的插頭插座通信電纜的插頭插座。RS-232C有DB-25型型和DB-9型型兩種不同的連接器兩種不同的連接器,其引腳號(hào)的排列順序各不相同。目前大多數(shù)目前大多數(shù)都都采用采用DB-9型型連接器連接器。DB-9型連接
31、器型連接器的外形及信號(hào)引腳分配外形及信號(hào)引腳分配如圖如圖8.11所示所示。如前所述,若采用采用“3線(xiàn)制線(xiàn)制”進(jìn)行近距離通信連接時(shí),還應(yīng)將應(yīng)將DB-9型連接器的型連接器的4號(hào)線(xiàn)號(hào)線(xiàn)與與5號(hào)線(xiàn)號(hào)線(xiàn),以及6號(hào)線(xiàn)號(hào)線(xiàn)與與20號(hào)線(xiàn)號(hào)線(xiàn)短接短接。圖8.11 DB-9型連接器的外形及信號(hào)引腳分配 2)通信電纜長(zhǎng)度)通信電纜長(zhǎng)度 RS-232C標(biāo)準(zhǔn)規(guī)定當(dāng)采用雙絞線(xiàn)屏蔽電纜,傳輸速率為20kb/s時(shí),在零在零MODEMR下下,兩臺(tái)計(jì)算機(jī)或終端的直接連接的最大物理距直接連接的最大物理距離離為為15m。2022-5-5計(jì)算機(jī)接口技術(shù)268.3.2 RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn) RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn)是在在RS-232C的基礎(chǔ)
32、上的基礎(chǔ)上,針對(duì)在不使用不使用MODEM情況下情況下,進(jìn)行遠(yuǎn)距離串行通信而提出的而提出的,因此只對(duì)只對(duì)RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn)的數(shù)據(jù)信號(hào)線(xiàn)數(shù)據(jù)信號(hào)線(xiàn)和信號(hào)邏輯信號(hào)邏輯重新進(jìn)行了定義重新進(jìn)行了定義,不涉及其他控制信號(hào)線(xiàn)的定義,而通信過(guò)程中所傳輸?shù)臄?shù)據(jù)幀格式沿用數(shù)據(jù)幀格式沿用RS-232C的的。1RS-485標(biāo)準(zhǔn)對(duì)信號(hào)線(xiàn)的定義標(biāo)準(zhǔn)對(duì)信號(hào)線(xiàn)的定義 RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn)與RS-232C標(biāo)準(zhǔn)標(biāo)準(zhǔn)最主要的差別最主要的差別是采用雙線(xiàn)平衡方式采用雙線(xiàn)平衡方式傳輸數(shù)據(jù),而不是使用單線(xiàn)對(duì)地的方式傳輸數(shù)據(jù)。所謂平衡方式所謂平衡方式,是指是指雙端雙端發(fā)送發(fā)送和雙端接收雙端接收,所以傳輸信號(hào)需要所以傳輸信號(hào)需要兩條線(xiàn)兩條線(xiàn)
33、AA和BB,發(fā)送端和接收端分別采用平衡發(fā)送器(驅(qū)動(dòng)器)和差動(dòng)接收器,如圖8.12所示。 發(fā)送端發(fā)送端通過(guò)通過(guò)平衡發(fā)送器平衡發(fā)送器把把邏輯電平邏輯電平轉(zhuǎn)換轉(zhuǎn)換成電位差成電位差,根據(jù)兩條傳輸線(xiàn)根據(jù)兩條傳輸線(xiàn)之間之間的電位差值的電位差值來(lái)定義來(lái)定義邏輯邏輯1和和邏輯邏輯0,進(jìn)行傳輸,最后到達(dá)接收端。接接收端收端通過(guò)通過(guò)差動(dòng)接收器差動(dòng)接收器,把,把差動(dòng)信號(hào)差動(dòng)信號(hào)轉(zhuǎn)換為轉(zhuǎn)換為邏輯電平邏輯電平。 圖8.12 RS-485標(biāo)準(zhǔn)的傳輸連接2022-5-5計(jì)算機(jī)接口技術(shù)272RS-485標(biāo)準(zhǔn)對(duì)信號(hào)的邏輯定義(電氣特性)標(biāo)準(zhǔn)對(duì)信號(hào)的邏輯定義(電氣特性) RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn)采用采用電位差值電位差值定義定義信號(hào)邏
34、輯信號(hào)邏輯,當(dāng)當(dāng)AA線(xiàn)的電平線(xiàn)的電平比比BB線(xiàn)的電平線(xiàn)的電平高高200mV時(shí),表示表示邏輯邏輯1;當(dāng)當(dāng)AA線(xiàn)的電平線(xiàn)的電平比比BB的電平的電平低低200mV時(shí),時(shí),表示表示邏輯邏輯0。3RS-485標(biāo)準(zhǔn)的連接器與通信電纜標(biāo)準(zhǔn)的連接器與通信電纜 RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn)采用采用4芯水晶頭連接器芯水晶頭連接器進(jìn)行進(jìn)行全雙工異步全雙工異步通信通信,4芯水晶頭連接器使用方便且價(jià)格低廉。RS-485標(biāo)準(zhǔn)的通信電纜為屏蔽雙絞線(xiàn),半雙工是一對(duì)雙絞線(xiàn),全雙工是兩對(duì)雙絞線(xiàn)。4RS-485總線(xiàn)標(biāo)準(zhǔn)的特點(diǎn)總線(xiàn)標(biāo)準(zhǔn)的特點(diǎn)(1)由于采用差動(dòng)采用差動(dòng)發(fā)送/接收和雙絞線(xiàn)平衡傳輸平衡傳輸,所以共模抑制比高共模抑制比高 ,抗干擾能
35、力強(qiáng),抗干擾能力強(qiáng)。因此,特別適合在干擾比較嚴(yán)重的環(huán)境下工作特別適合在干擾比較嚴(yán)重的環(huán)境下工作(2)傳輸速率高傳輸速率高,可達(dá)10Mb/s(傳輸距離為15m)。(3)傳輸距離長(zhǎng)傳輸距離長(zhǎng),不使用MODEM,采用雙絞線(xiàn),傳輸距離1.2km(4)能實(shí)現(xiàn)能實(shí)現(xiàn)一點(diǎn)對(duì)多點(diǎn)一點(diǎn)對(duì)多點(diǎn)、多點(diǎn)對(duì)多點(diǎn)通信多點(diǎn)對(duì)多點(diǎn)通信。2022-5-5計(jì)算機(jī)接口技術(shù)288.4 串行通信接口電路串行通信接口電路 串行傳輸相串行傳輸相比并行傳輸并行傳輸而言有許多特殊問(wèn)題需要解決有許多特殊問(wèn)題需要解決,因此,串行通串行通信接口信接口設(shè)計(jì)設(shè)計(jì)所涉及的所涉及的內(nèi)容要復(fù)雜得多內(nèi)容要復(fù)雜得多。下面先分析串行通信接口電路的任務(wù)(功能)及組成
36、,然后具體討論串行接口電路設(shè)計(jì)。8.4.1 串行通信接口電路的基本任務(wù)串行通信接口電路的基本任務(wù) 由于各個(gè)串行總線(xiàn)的功能及用途不一樣,串行接口電路的任務(wù)也不同,有的復(fù)雜,有的簡(jiǎn)單,其基本任務(wù)基本任務(wù)有如下幾個(gè)方面。1進(jìn)行串進(jìn)行串-并轉(zhuǎn)換并轉(zhuǎn)換 串行通信接口的串行通信接口的首要任務(wù)首要任務(wù)是進(jìn)行進(jìn)行數(shù)據(jù)的串?dāng)?shù)據(jù)的串/并轉(zhuǎn)換并轉(zhuǎn)換。在發(fā)送端在發(fā)送端,把把由計(jì)算機(jī)送來(lái)的并行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)串行數(shù)據(jù),然后再發(fā)送出去。在接收端在接收端,把把從接收器接收的串行數(shù)據(jù)串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)并行數(shù)據(jù)后,再送至計(jì)算機(jī)或終端。2提供串行通信總線(xiàn)標(biāo)準(zhǔn)所定義的信號(hào)線(xiàn)提供串行通信總線(xiàn)標(biāo)準(zhǔn)所定義的信號(hào)線(xiàn) 串行通
37、信接口的串行通信接口的第二個(gè)任務(wù)第二個(gè)任務(wù)是提供符合提供符合串行通信串行通信總線(xiàn)標(biāo)準(zhǔn)所定義的信號(hào)線(xiàn)的信號(hào)線(xiàn)。 例如,RS-232C標(biāo)準(zhǔn)的2號(hào)線(xiàn)TxD、3號(hào)線(xiàn)RxD和7號(hào)線(xiàn)SG。 I2C標(biāo)準(zhǔn)的串行數(shù)據(jù)線(xiàn)SDA和串行時(shí)鐘線(xiàn)SCL。2022-5-5計(jì)算機(jī)接口技術(shù)293實(shí)現(xiàn)串行通信的數(shù)據(jù)格式化實(shí)現(xiàn)串行通信的數(shù)據(jù)格式化 串行通信接口的串行通信接口的第三個(gè)任務(wù)第三個(gè)任務(wù)是實(shí)現(xiàn)實(shí)現(xiàn)串行通信協(xié)議串行通信協(xié)議的的數(shù)據(jù)格式化數(shù)據(jù)格式化。因?yàn)閬?lái)自計(jì)算機(jī)的因?yàn)閬?lái)自計(jì)算機(jī)的數(shù)據(jù)是普通并行數(shù)據(jù)數(shù)據(jù)是普通并行數(shù)據(jù),所以接口電路應(yīng)具有使數(shù)據(jù)格式化的功能,實(shí)現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化。 例如,對(duì)RS-232C標(biāo)準(zhǔn),接口電
38、路需自動(dòng)生成異步通信的起止起止式式數(shù)據(jù)幀格式數(shù)據(jù)幀格式。4進(jìn)行錯(cuò)誤檢測(cè)進(jìn)行錯(cuò)誤檢測(cè) 串行通信接口串行通信接口的第四個(gè)任務(wù)第四個(gè)任務(wù)是檢測(cè)并報(bào)告檢測(cè)并報(bào)告通信過(guò)程中通信過(guò)程中所產(chǎn)生的所產(chǎn)生的差錯(cuò)差錯(cuò)。在發(fā)送端在發(fā)送端,接口電路接口電路需對(duì)傳輸?shù)淖址麛?shù)據(jù)自動(dòng)生成奇偶校自動(dòng)生成奇偶校驗(yàn)位或其他校驗(yàn)碼驗(yàn)位或其他校驗(yàn)碼。在接收端在接收端,接口電路接口電路需要對(duì)所接收的字符數(shù)據(jù)進(jìn)行奇偶校驗(yàn)進(jìn)行奇偶校驗(yàn)或其他校驗(yàn)碼的檢測(cè)其他校驗(yàn)碼的檢測(cè),以確定所接收的數(shù)據(jù)中是否有錯(cuò)誤信息和是什么性質(zhì)的錯(cuò)誤。5進(jìn)行數(shù)據(jù)傳輸速率的控制進(jìn)行數(shù)據(jù)傳輸速率的控制 串行通信接口串行通信接口的第五個(gè)任務(wù)第五個(gè)任務(wù)是對(duì)數(shù)據(jù)傳輸速率對(duì)數(shù)據(jù)傳
39、輸速率進(jìn)行控制進(jìn)行控制,確保確保串行通信雙方的數(shù)據(jù)傳輸速率一致串行通信雙方的數(shù)據(jù)傳輸速率一致。這意味著接口電路需設(shè)置波特率時(shí)鐘發(fā)生器。 2022-5-5計(jì)算機(jī)接口技術(shù)308.4.2 串行通信接口電路的解決方案串行通信接口電路的解決方案 本章串行接口的串行接口的解決方案是解決方案是采用可編程通用串行通信接口芯片可編程通用串行通信接口芯片構(gòu)成構(gòu)成外置式外置式的接口電路接口電路。1 1串行通信接口電路的組成串行通信接口電路的組成 串行通信接口電路串行通信接口電路一般由一般由串行通信接口芯片串行通信接口芯片、波特率時(shí)鐘發(fā)生器波特率時(shí)鐘發(fā)生器、EIAEIA與與TTLTTL轉(zhuǎn)換器轉(zhuǎn)換器以及地址譯碼電路組成
40、地址譯碼電路組成。若采用采用RS-485RS-485總線(xiàn)標(biāo)準(zhǔn)總線(xiàn)標(biāo)準(zhǔn),則接口電接口電路路還應(yīng)包括平衡發(fā)送器平衡發(fā)送器和平衡接收器平衡接收器。 串行接口芯片串行接口芯片是串行通信接口電路的核心串行通信接口電路的核心,能實(shí)現(xiàn)上面提出的串行通信接口基本任務(wù)的大部分工作,采用它們來(lái)設(shè)計(jì)串行通信接口,會(huì)使電路結(jié)構(gòu)比較簡(jiǎn)單。 在微機(jī)系統(tǒng)中在微機(jī)系統(tǒng)中,使用較多使用較多的串行通信接口芯片有異步收異步收/ /發(fā)器發(fā)器(UARTUART)16550和同步同步/ /異步收異步收/ /發(fā)器發(fā)器(USARTUSART)8251A,它們都是CPU的重要的串行通信接口支持芯片,其特點(diǎn)與所實(shí)現(xiàn)的功能基本相同,16550作為
41、異步通信的性能更優(yōu),而8251A應(yīng)用更簡(jiǎn)潔。本章將對(duì)兩種接口芯片的應(yīng)用分別進(jìn)行討論。2 2串行通信接口的配置方式串行通信接口的配置方式 串行通信接口電路串行通信接口電路的配置配置有3 3種形式種形式:外置式外置式獨(dú)立的接口芯片獨(dú)立的接口芯片,用于用于臺(tái)臺(tái)式微機(jī)式微機(jī)系統(tǒng);內(nèi)置式內(nèi)置式接口模塊接口模塊,用于用于A(yíng)RMARM和和MCUMCU系統(tǒng);用戶(hù)用用FPGAFPGA構(gòu)建構(gòu)建的接接口電路口電路,并與應(yīng)用系統(tǒng)其他硬件在一起開(kāi)發(fā)。2022-5-5計(jì)算機(jī)接口技術(shù)318.5 RS-232C標(biāo)準(zhǔn)的串行通信接口設(shè)計(jì)標(biāo)準(zhǔn)的串行通信接口設(shè)計(jì)例例8.1 采用采用RS-232C 標(biāo)準(zhǔn)的異步串行通信接口設(shè)計(jì)標(biāo)準(zhǔn)的異步
42、串行通信接口設(shè)計(jì)8.5.1 設(shè)計(jì)要求設(shè)計(jì)要求 設(shè)計(jì)設(shè)計(jì)甲乙兩臺(tái)微機(jī)之間串行通信甲乙兩臺(tái)微機(jī)之間串行通信接口電路接口電路。 要求要求按按RS-232CRS-232C標(biāo)準(zhǔn)標(biāo)準(zhǔn)進(jìn)行半雙工半雙工異步串行通信異步串行通信,把甲機(jī)上開(kāi)發(fā)的步進(jìn)電機(jī)控制用程序傳送到乙機(jī)中去,以便在乙機(jī)上運(yùn)行。字符幀格式字符幀格式采用采用起止式起止式異步方式異步方式,字符長(zhǎng)度字符長(zhǎng)度為8 8位位,停止位停止位為2 2位位,波特率因子波特率因子為6464,無(wú)無(wú)校驗(yàn)校驗(yàn)。波特率波特率為4800b/s4800b/s。CPU與接口芯片8251A之間用查詢(xún)方式查詢(xún)方式交換交換數(shù)據(jù)數(shù)據(jù)。2022-5-5計(jì)算機(jī)接口技術(shù)321. 8251A1
43、. 8251A的外部特性的外部特性251A251A的外部引腳的外部引腳如圖如圖8.148.14所示所示。引腳信號(hào)線(xiàn)定義引腳信號(hào)線(xiàn)定義表表8.28.2所示所示。圖8.14 8251A引腳圖表8.2 8251A外部引腳功能8.5.2 設(shè)計(jì)方案分析設(shè)計(jì)方案分析本方案本方案是采用可編程通用接口芯片采用可編程通用接口芯片8251A構(gòu)成外置式外置式的接口電路接口電路。因此,先分析與介紹8251A的外部特性和編程模型2022-5-5計(jì)算機(jī)接口技術(shù)332. 8251A2. 8251A的編程模型的編程模型 8251A8251A的編程模型編程模型包括內(nèi)部可訪(fǎng)問(wèn)的包括內(nèi)部可訪(fǎng)問(wèn)的寄存器寄存器、分配給寄存器分配給寄存
44、器的的端口地址端口地址,以及編程命令編程命令。用戶(hù)利用8251A的編程模型進(jìn)行串行通信程序設(shè)計(jì)。 (1)(1)8251A8251A內(nèi)部寄存器及端口地址內(nèi)部寄存器及端口地址 8251A8251A內(nèi)部設(shè)置內(nèi)部設(shè)置有收/發(fā)數(shù)據(jù)寄存器數(shù)據(jù)寄存器,端口地址端口地址為為308H308H。方式方式命令寄存器命令寄存器、工作命令寄存器工作命令寄存器和狀態(tài)寄存器狀態(tài)寄存器,3 3個(gè)個(gè)寄存器共用寄存器共用1 1個(gè)個(gè)端口端口,端口地址端口地址為為309H309H。向該端口向該端口寫(xiě)操作寫(xiě)操作時(shí),是寫(xiě)命令字是寫(xiě)命令字;從該從該端口端口讀操作讀操作時(shí),是讀狀態(tài)字是讀狀態(tài)字。 2022-5-5計(jì)算機(jī)接口技術(shù)34 例如例如
45、在某異步通信中,數(shù)據(jù)格式數(shù)據(jù)格式采用采用位數(shù)據(jù)位位數(shù)據(jù)位,1 1位起始位位起始位,2 2位停止位位停止位,奇校驗(yàn)奇校驗(yàn),波特率因子波特率因子是1616,其方式字為11011110B11011110B。 異步通信方式設(shè)置的程序段異步通信方式設(shè)置的程序段如下。 MOV DX,309H ;8251A命令口 MOV AL,11011110B11011110B ;方式命令字方式命令字 OUT DX,AL(2 2)方式命令)方式命令 方式命令格式方式命令格式如如8.158.15所示所示。圖8.15 8251A通信方式命令的格式2022-5-5計(jì)算機(jī)接口技術(shù)35(3 3)工作命令)工作命令 工作命令的格式工
46、作命令的格式如圖如圖8.168.16所示所示。圖8.16 8251A工作命令的格式例如例如,在異步通信時(shí),若允許接收允許接收,同時(shí)同時(shí)允許發(fā)送允許發(fā)送,則工作命令字=00000101B。程序段如下程序段如下。 MOV DX,309H ;命令口 MOV AL,00000101B ;工作命令字工作命令字 OUT DX,AL2022-5-5計(jì)算機(jī)接口技術(shù)36(4 4)狀態(tài)字)狀態(tài)字 狀態(tài)字格式狀態(tài)字格式如圖如圖8.178.17所示所示。圖8.17 8251A狀態(tài)字的格式例如例如,串行通信時(shí),在發(fā)送程序中在發(fā)送程序中,需檢查狀態(tài)字的需檢查狀態(tài)字的D0D0位是否置位是否置1 1,即查是否查是否TxRDY
47、=1TxRDY=1?,其程序段如下其程序段如下。L:MOV DX,309H ;8251A狀態(tài)端口 IN AL,DX AND ALAND AL,01H01H ;查查是否是否TxRDY=1TxRDY=1? JZ L ;未就緒,則等待2022-5-5計(jì)算機(jī)接口技術(shù)373.8251A3.8251A的初始化的初始化(1 1)初始化內(nèi)容)初始化內(nèi)容 在異步方式下,8251A的初始化內(nèi)容包括初始化內(nèi)容包括:先寫(xiě)先寫(xiě)內(nèi)部復(fù)位命令內(nèi)部復(fù)位命令,再寫(xiě)再寫(xiě)方式命令方式命令,最后寫(xiě)最后寫(xiě)工作命令工作命令幾部分。為了提高可靠性為了提高可靠性,往往還在寫(xiě)內(nèi)部復(fù)位命令之前在寫(xiě)內(nèi)部復(fù)位命令之前,向命令口寫(xiě)一長(zhǎng)串向命令口寫(xiě)一長(zhǎng)
48、串0 0,作為作為空操作空操作。在同步方式下,8251A的初始化還包括設(shè)置同步字符。(2)初始化順序)初始化順序 初始化順序初始化順序如圖如圖8.18所示所示。這種順序不能顛倒或改變,若改變了這種順序,8251A就不能識(shí)別,也就不能正確執(zhí)行。圖8.18 向8251A命令端口寫(xiě)入命令的順序2022-5-5計(jì)算機(jī)接口技術(shù)388.5.3 電路與程序設(shè)計(jì)電路與程序設(shè)計(jì)1. 1. 串行接口電路設(shè)計(jì)串行接口電路設(shè)計(jì) 由于由于是近距離傳輸近距離傳輸,不需要不需要MODEMMODEM,故采用采用“3“3線(xiàn)制線(xiàn)制”的的3 3芯屏蔽通芯屏蔽通信電纜信電纜,把甲乙兩臺(tái)微機(jī)直接互連,異步串行通信接口電路異步串行通信接
49、口電路如圖如圖8.198.19所示所示。接口電路接口電路以8251A8251A為主芯片為主芯片,再加上波特率時(shí)鐘發(fā)生器波特率時(shí)鐘發(fā)生器、電平轉(zhuǎn)換器電平轉(zhuǎn)換器、地址譯碼器地址譯碼器等。圖8.19 RS-232C標(biāo)準(zhǔn)半雙工異步串行通信接口電路框圖2022-5-5計(jì)算機(jī)接口技術(shù)392. 2. 串行通信程序設(shè)計(jì)串行通信程序設(shè)計(jì) 整個(gè)通信程序整個(gè)通信程序由甲機(jī)的發(fā)送程序甲機(jī)的發(fā)送程序和乙機(jī)的接收程序乙機(jī)的接收程序兩部分組成,分別采用匯編語(yǔ)言與C語(yǔ)言編寫(xiě)。(1 1)甲機(jī)的發(fā)送程序)甲機(jī)的發(fā)送程序DATA SEGMENT BUF_T DB 45 DUP(?)DATD ENDSCODE SEGMENT ASS
50、UME CS: CODE,DS: DATASTART:MOV AX,DATA MOV DS,AX2022-5-5計(jì)算機(jī)接口技術(shù)40 MOV DX,309H ;8251A初始化 MOV AL,00H00H ;空操作空操作, 向命令端口發(fā)送任意數(shù)任意數(shù) OUT DX,AL MOV AL,01000000B ;內(nèi)部復(fù)位內(nèi)部復(fù)位(使D61) OUT DX,AL NOP MOV AL,11001111B11001111B ;方式命令字方式命令字(8位數(shù)據(jù),2位停止,無(wú)校驗(yàn), ;波特因子為64) OUT DX,AL MOV AL,00110111B00110111B ;工作命令字工作命令字(RTS、ER、
51、RxE、DTR、TxEN置1) OUT DX,AL MOV SI,OFFSET BUF_T ;發(fā)送區(qū)首址 MOV CX,45 ;字節(jié)數(shù)L1: MOV DX,309H ;查狀態(tài),可否發(fā)送 IN AL,DX AND ALAND AL,01H01H ;查發(fā)送是否準(zhǔn)備好查發(fā)送是否準(zhǔn)備好(TxRDY1) JZ L1 ;發(fā)送未準(zhǔn)備好,則等待2022-5-5計(jì)算機(jī)接口技術(shù)41 MOV DX,308H MOV AL,SI ;發(fā)送準(zhǔn)備好,則從發(fā)送區(qū)取1個(gè)字節(jié)發(fā)送 OUT DX,AL INC SI ;發(fā)送區(qū)地址加1 DEC CX ;字節(jié)數(shù)減1 JNZ L1 ;未發(fā)送完,繼續(xù) MOV AX,4C00H ;已發(fā)送完,
52、回DOS INT 21HCODE ENDS END START2022-5-5計(jì)算機(jī)接口技術(shù)42 unsigned int i; unsigned char send45;/發(fā)送緩沖區(qū) unsigned char *p; p=send; outportb(0 x309,0 x00);/空操作, 向命令端口發(fā)送任意數(shù) outportb(0 x309,0 x40);/內(nèi)部復(fù)位(使D61) delay(1); outportb(0 x309,0 x0cf);/方式命令字 outportb(0 x309,0 x37);/工作命令字 /(RTS、ER、RxE、DTR、TxEN均置1) for(i=0;i
53、45;i+) while(inportb(0 x309)&0 x01=0);/查發(fā)送是否準(zhǔn)備好/(TxRDY1) outportb(0 x308,*p);/發(fā)送一個(gè)字節(jié) p+; 2022-5-5計(jì)算機(jī)接口技術(shù)43(2 2)乙機(jī)的接收程序)乙機(jī)的接收程序接收程序接收程序要先檢測(cè)有無(wú)差錯(cuò)先檢測(cè)有無(wú)差錯(cuò),若有,則需處理差錯(cuò)。DATA SEGMENT BUF_R 45 DUP(?) ERROR_MESS DBERR0R ! 0DH,0AH, $DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATA MOV DS,AX2022-5-5計(jì)
54、算機(jī)接口技術(shù)44 MOV DX,309H ;8251A初始化 MOV AL,0AAH0AAH ;空操作空操作,向命令端口送任意數(shù) OUT DX,AL MOV AL,01010000B01010000B ;內(nèi)部復(fù)位內(nèi)部復(fù)位(含D6=1) OUT DX,AL NOP MOV AL,11001111B11001111B ;方式字方式字(與甲機(jī)的相同與甲機(jī)的相同) OUT DX,AL MOV AL,00010100B00010100B ;工作命令字工作命令字(ER、RxE置1) OUT DX,AL MOV DI,OFFSET BUF_R ;接收區(qū)首址 MOV CX,45 ;字節(jié)數(shù)L2: MOV DX,
55、309H ;查狀態(tài),可否接收 IN AL,DX ;先查接收是否出錯(cuò) TEST ALTEST AL,38H38H ;同時(shí)查同時(shí)查3種錯(cuò)誤種錯(cuò)誤 JNZ ERR ;有錯(cuò),轉(zhuǎn)出錯(cuò)處理 AND ALAND AL,02H02H ;再查接收是否準(zhǔn)備好再查接收是否準(zhǔn)備好(RxRDY1) JZ L2 ;接收未準(zhǔn)備好,則等待2022-5-5計(jì)算機(jī)接口技術(shù)45 MOV DX,308H ;接收數(shù)據(jù) IN AL,DX ;接收準(zhǔn)備好,則接收1個(gè)字節(jié) MOV DI,AL ;并存入接收區(qū) INC DI ;接收區(qū)地址加1 LOOP L2 ;未接收完,繼續(xù) JMP STOP ;已完,程序結(jié)束,退出 ERR:LEA DX,ERR
56、OR_MESSLEA DX,ERROR_MESS ;錯(cuò)誤處理子程序錯(cuò)誤處理子程序 MOV AH,09H INT 21H STOP: MOV AX,4C00H ;返回DOS INT 21HCODE ENDS END BEGIN2022-5-5計(jì)算機(jī)接口技術(shù)46 unsigned char recv45; unsigned char i,tmp; void main() outportb(0 x309,0 x0aa);/空操作,向命令端口送任意數(shù) outportb(0 x309,0 x50); /內(nèi)部復(fù)位(含D6=1) delay(1); outportb(0 x309,0 x0cf);/方式字
57、outportb(0 x309,0 x14);/工作命令字(ER、RxE置1) for(i=0;i45;i+)tmp=inportb(0 x309);/讀狀態(tài)端口if(tmp&0 x38!=0 x00)/先查接收是否出錯(cuò) printf(Error!n); /打印出錯(cuò)信息 break;/退出else if(tmp&0 x02=0 x00)/再查接收是否準(zhǔn)備好(RxRDY1) break; else recvi=inportb(0 x308);/準(zhǔn)備好則接收1個(gè)字節(jié) 2022-5-5計(jì)算機(jī)接口技術(shù)478.6 RS-485標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的串行通信接口設(shè)計(jì)串行通信接口設(shè)計(jì)例例8.2 采用采用RS-485
58、標(biāo)準(zhǔn)的異步串行通信接口設(shè)計(jì)標(biāo)準(zhǔn)的異步串行通信接口設(shè)計(jì)8.6.1 設(shè)計(jì)要求設(shè)計(jì)要求 要求要求在甲乙兩臺(tái)微機(jī)之間按按RS-485RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn)進(jìn)行全雙工異步串行通信全雙工異步串行通信,也就是雙方在各自的鍵盤(pán)上按鍵向?qū)Ψ桨l(fā)送字符時(shí),同時(shí)又可接收對(duì)方發(fā)來(lái)的字符。字符幀格式字符幀格式采用異步起采用異步起/ /止方式止方式, ,1 1位位停止位停止位,7 7位位數(shù)據(jù)數(shù)據(jù)位位,無(wú)無(wú)校驗(yàn)校驗(yàn),波特率因子波特率因子為1616。按ESC鍵退出。2022-5-5計(jì)算機(jī)接口技術(shù)488.6.2 設(shè)計(jì)方案分析設(shè)計(jì)方案分析 本例與前面例本例與前面例8.18.1不同之處有兩點(diǎn)不同之處有兩點(diǎn):一是通信標(biāo)準(zhǔn)不同一是通信標(biāo)準(zhǔn)
59、不同,本例采用RS-485標(biāo)準(zhǔn),而例8.1采用RS-232C;二是傳送方式不同二是傳送方式不同,本例是全雙工,例8.1是半雙工。因此因此,在接口電路組成在接口電路組成、通信電通信電纜纜、連接器連接器有所不同有所不同。但兩者的通信方式相同,都是異步通信,故串行通信程序的編寫(xiě)步驟與方法相同。 RS-485RS-485標(biāo)準(zhǔn)標(biāo)準(zhǔn)與RS-232CRS-232C標(biāo)準(zhǔn)標(biāo)準(zhǔn)的不同之處不同之處主要是使用了平衡發(fā)送是使用了平衡發(fā)送器器/ /差動(dòng)接收器差動(dòng)接收器,實(shí)現(xiàn)實(shí)現(xiàn)雙線(xiàn)平衡差動(dòng)方式傳輸數(shù)據(jù)雙線(xiàn)平衡差動(dòng)方式傳輸數(shù)據(jù)。平衡發(fā)送器/差動(dòng)接收器,簡(jiǎn)稱(chēng)收發(fā)器,如MAX485/MAX491芯片。 本方案本方案是采用可編程
60、通用接口芯片采用可編程通用接口芯片構(gòu)成外置式的接口電路外置式的接口電路,來(lái)實(shí)現(xiàn)RS-485標(biāo)準(zhǔn)的接口設(shè)計(jì)要求,為此將為此將“8251A+MAX491“8251A+MAX491“作作為接口電路的核心為接口電路的核心。 下面先介紹MAX491的外部特性以及使用。2022-5-5計(jì)算機(jī)接口技術(shù)491收發(fā)器芯片收發(fā)器芯片MAX491的外部特性的外部特性 MAX491的引腳的引腳如圖如圖8.20所示所示,其引腳功能的定義如表8.3所示。圖8.20 MAX491外部引腳2022-5-5計(jì)算機(jī)接口技術(shù)50表8.3MAX485/491引腳功能的定義2022-5-5計(jì)算機(jī)接口技術(shù)512信號(hào)的邏輯定義信號(hào)的邏輯定
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 入網(wǎng)合同標(biāo)準(zhǔn)文本
- 2025浙江省安全員考試題庫(kù)附答案
- 鋼鐵添加劑行業(yè)直播電商戰(zhàn)略研究報(bào)告
- 干部教育培訓(xùn)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 蒸壓礦渣磚企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 金屬護(hù)板行業(yè)直播電商戰(zhàn)略研究報(bào)告
- 做餐飲合伙合同標(biāo)準(zhǔn)文本
- 輸變電線(xiàn)路絕緣瓷套管企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025年-甘肅省建筑安全員知識(shí)題庫(kù)附答案
- 兄弟合作養(yǎng)豬合同樣本
- 建筑施工安全技術(shù)操作規(guī)程
- 中小學(xué)必背飛花令詩(shī)詞-(春、月、風(fēng)、花、山、江、人、日、動(dòng)物、顏色、數(shù)字)
- 心肺復(fù)蘇及AED的使用
- 長(zhǎng)江重點(diǎn)生態(tài)區(qū)(含川滇生態(tài)屏障)生態(tài)保護(hù)和修復(fù)規(guī)劃
- 陜旅版四年級(jí)下冊(cè)英語(yǔ)全冊(cè)教案及各單元知識(shí)點(diǎn)總結(jié)
- 二年級(jí)下冊(cè)數(shù)學(xué)半期檢測(cè)題
- PCI總線(xiàn)接口引腳定義
- PROFORMAINVOICE模板
- 電纜溝工程施工方案(一)
- GIS導(dǎo)論筆記整理
- 關(guān)于“最美鄉(xiāng)村教師”和“優(yōu)秀鄉(xiāng)村教師”結(jié)果的通報(bào)
評(píng)論
0/150
提交評(píng)論