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