單片機(jī)串行通信的結(jié)構(gòu)組成及工作原理解析
串行通信方式是數(shù)據(jù)傳輸?shù)囊环N方式。這種方式操作簡(jiǎn)單,連接少,傳輸距離遠(yuǎn),因而在信息傳送,尤其是在遠(yuǎn)距離的傳送中得到了廣泛的應(yīng)用。目前常用的串行通信方式有RS -232 C,RS - 422 A,RS - 423 A及RS - 485 A等。RS - 232 C是通用串行接口,以電平形式傳輸信號(hào),只需3根線就可在兩個(gè)設(shè)備之間交換信息,最高傳輸速率為20 Kb/s,此時(shí)允許設(shè)備之間的最遠(yuǎn)距離為15 m。為了改進(jìn)RS - 232C傳輸速率低,傳輸距離短的不足,EIA又推出了RS - 422 A,RS - 423 A.RS - 485 A等。RS - 422 A采用差分形式傳輸信號(hào),每個(gè)通道用兩根信號(hào)線,在電路中規(guī)定只有一個(gè)發(fā)送器,其最高傳輸速率為10 Mb/s,在此速率下的最遠(yuǎn)傳輸距離為120 m;若將波特率降到90 Kb/s,則通信距離可延長(zhǎng)至1200 m。RS - 423A采用不平衡差分形式傳送信號(hào)。RS - 485A則允許多個(gè)發(fā)送器的存在。它們都有一些共同的特點(diǎn),即傳輸速率低,傳輸速率和傳輸距離相互影響,對(duì)傳輸介質(zhì)要求高,一般要求用屏蔽電纜。當(dāng)傳輸距離較遠(yuǎn)或連接的設(shè)備較多時(shí),會(huì)增加系統(tǒng)的成本。
隨著計(jì)算機(jī)應(yīng)用的不斷發(fā)展,在有些場(chǎng)合需要高速度、遠(yuǎn)距離傳輸信號(hào),同時(shí)又要盡量降低成本。為滿足這一要求,本節(jié)以單片機(jī)之間的串行通信為例,介紹一個(gè)可以實(shí)現(xiàn)高速度、遠(yuǎn)距離的串行通信裝置。
一、單片機(jī)串口的特點(diǎn)
目前多數(shù)單片機(jī)都配有串行接口,如51單片機(jī)和MCS - 96等系列單片機(jī)都配有一個(gè)全雙工的串行接口,可以同時(shí)收、發(fā)信號(hào)。以51單片機(jī)串口為例,共有4種串行工作方式,波特率可由軟件設(shè)置,并在片內(nèi)定時(shí)器產(chǎn)生,接收或發(fā)送均可工作在中斷或查詢方式,使用比較靈活。該接口一般通過接口電路工作在RS - 232C或RS - 422A方式,因此,它具有RS - 232 C或RS - 422A的特點(diǎn)。其4種工作方式如下。
1.方式O
同步移位寄存方式,其波特率為fosc/12。fsc為振蕩器的振蕩頻率,數(shù)據(jù)由RxD端輸入,同步移位脈沖由TxD端輸出,發(fā)/收均為8位數(shù)據(jù)。一般利用這種方式擴(kuò)展并行接口、鍵盤或顯示接口等。
2.方式1
串行工作方式,RxD接收,TxD發(fā)送,每幀信息為10位,包括1位起始位、8位數(shù)據(jù)位和1位停止位,其收/發(fā)的波特率為:
式中:SMOD=1或0,由軟件設(shè)定;N為軟件設(shè)置的定時(shí)器自裝載常數(shù),其值為0~255。當(dāng)SMOD-1.N-255時(shí),波特率最高,為fosc/192;當(dāng)SMOD=0,N=O時(shí),波特率最低,為:
3.方式2
串行工作方式,每幀11位數(shù)據(jù),包括1位起始位、8位數(shù)據(jù)位、1位可編程位、1位停止位,發(fā)送時(shí)可編程位應(yīng)根據(jù)需要設(shè)定為O或1。其收/發(fā)的波特率為:
當(dāng)SMOD=1時(shí),可得最大波特率為fosc/32;當(dāng)SMOD-0時(shí),可得最小波特率為fosc/64。
4.方式3
串行通信方式,發(fā)送格式同方式2,收/發(fā)波特率同方式1,即這種方式所能得到的最大波特率為fosc/192,最小波特率為ose/98 304。
比較3種串行工作方式可知,方式2的波特率最高。對(duì)于51單片機(jī),當(dāng)選fosc=12 MHz(51單片機(jī)最高晶振)時(shí),可得
這些值遠(yuǎn)高于目前常用的串口的波特率,因此在單片機(jī)(51單片機(jī)等)之間串行通信時(shí),在晶振選定的情況下,只有選方式2,方可得到最高的波特率。而要遠(yuǎn)距離收/發(fā)信號(hào),還必須在電路上采取一定的措施。為此,介紹一個(gè)可以遠(yuǎn)距離收/發(fā)信號(hào)的電路。
二、組成框圖
1.信號(hào)的表示
(1)1的表示
當(dāng)TxD輸出1時(shí),通過收/發(fā)電路后,在總線上出現(xiàn)高阻信號(hào),接收器通過收/發(fā)電路將高阻信號(hào)變?yōu)?,送RxD接收。當(dāng)串口不工作時(shí),TxD為1,對(duì)應(yīng)總線為高阻態(tài)。
(2)0的表示
用一個(gè)周期的矩形波表示0,矩形波的周期為振蕩周期的32或64倍。當(dāng)TxD輸出0時(shí),通過收/發(fā)電路后,在串行總線上出現(xiàn)一個(gè)周期的矩形波。該信號(hào)通過接收器收/發(fā)電路轉(zhuǎn)換后,在RxD端又變?yōu)?。
2.收/發(fā)電路的組成框圖
收/發(fā)電路的組成框圖如圖1 - 17所示。該裝置由控制電路、分頻器、輸出驅(qū)動(dòng)、差動(dòng)輸入、耦合變壓器等組成??刂齐娐酚梢黄珿AL電路或由門電路組成,輸出驅(qū)動(dòng)采用三態(tài)門,差動(dòng)輸入利用三片運(yùn)放組成兩級(jí)比較電路,分頻器提供控制電路工作的基準(zhǔn)和狀態(tài)變化的條件,耦合變壓器用來實(shí)現(xiàn)信號(hào)的輸入或輸出。
三、工作原理
1.信號(hào)輸出
當(dāng)TxD為1時(shí),A,B兩線信號(hào)為0,C線信號(hào)為1,三態(tài)門關(guān)閉,輸出高阻信號(hào);當(dāng)TxD為0時(shí),C線為0,三態(tài)門打開,A線由0變1,A’輸出高電平,B線保持為0,B’輸出低電平。持續(xù)32或16個(gè)振蕩周期后,電路狀態(tài)改變,A線由1變O,B線由0變1,C線繼續(xù)為0,A’輸出低電平,B,輸出高電平。經(jīng)過32或16個(gè)振蕩周期后,0發(fā)送完畢,電路恢復(fù)原態(tài),通過耦合變壓器,在串行總線上有一個(gè)矩形波出現(xiàn)。
2.信號(hào)輸入
串行總線上的信號(hào)經(jīng)耦合變壓器,送到接收器的差動(dòng)輸入電路。
當(dāng)總線上出現(xiàn)高阻信號(hào)時(shí),運(yùn)放Ai的輸出為O。該信號(hào)分別送到運(yùn)放A2和A3的輸入端,經(jīng)過比較后,A2和A3的輸出也為0,經(jīng)過控制電路后,使RxD為1。
當(dāng)總線上出現(xiàn)矩形波信號(hào)時(shí),若前半周T+為高電平,后半周T+為低電平,則:
①前半周
T+=1,T-=O
經(jīng)A1差動(dòng)放大后,其輸出為低電平。經(jīng)過A2和A3后,A2的輸出保持為0;而A3的輸出則由O變1。這兩個(gè)信號(hào)都送至控制電路,并使RxD由1變O,同時(shí)開始定時(shí)。
②后半周
T+ =0.T_=1
經(jīng)Ai后,A1輸出變?yōu)楦唠娖剑俳?jīng)A2和A3的比較,A2的輸出由0變1,A3則輸出O,再經(jīng)控制電路后,維持RxD為0這一狀態(tài),直到定時(shí)時(shí)間或輸入信號(hào)改變。
控制電路保證只有E線先由O變1,接著F線由0變1時(shí),RxD才會(huì)由1變O,并持續(xù)32/64個(gè)振蕩周期,否則RxD保持為1。
3.可靠性措施
(1)本裝置輸出時(shí)
收/發(fā)電路的輸入端與輸出端連在一起,因此當(dāng)本裝置輸出時(shí),輸入端同樣也有響應(yīng)。為便于區(qū)分輸入端的信號(hào)是來自裝置自身還是來自總線,輸出信號(hào)經(jīng)變壓器倒相后輸出。這樣外來信號(hào)就與內(nèi)部信號(hào)有180。的相位差,而接收裝置只對(duì)其中一種信號(hào)有響應(yīng),因而輸入電路只對(duì)來自總線的信號(hào)作出響應(yīng)。
(2)干擾信號(hào)引入時(shí)
當(dāng)干擾信號(hào)經(jīng)過總線串入時(shí),運(yùn)放A1,A2和A3的輸出端也要改變,但干擾信號(hào)一般都是不規(guī)則信號(hào),不會(huì)與本裝置輸入電路要求的矩形波信號(hào)完全一樣。所以,盡管輸入電路有輸出,但不會(huì)引起控制電路的狀態(tài)發(fā)生變化,也就不會(huì)影響RxD的狀態(tài)。
本例介紹的串行通信裝置,組成簡(jiǎn)單,成本低,操作方便,只需兩根線就可在兩個(gè)設(shè)備之間交換信息;利用高阻差分電路作輸入端,只要兩根線上有信號(hào)差,輸出就有變化,可在1 200 m范圍內(nèi)以187.5 Kb/s的速率可靠地傳輸信息;對(duì)傳輸線的要求低,普通雙絞線就可連接兩個(gè)設(shè)備,不需要屏蔽電纜,對(duì)導(dǎo)線無特殊要求,當(dāng)傳輸距離較遠(yuǎn)時(shí),可以大大降低系統(tǒng)的成本;采用獨(dú)特的信號(hào)傳輸方式和結(jié)構(gòu),有很強(qiáng)的抗干擾能力,利用本裝置不影響單片機(jī)串口的操作方式。因此,本裝置是實(shí)現(xiàn)單片機(jī)之間高速度、遠(yuǎn)距離串行通信的一種比較理想的裝置。若給PC機(jī)配上這類裝置,還可實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的高速度、遠(yuǎn)距離串行通信。