串行數(shù)據(jù)標(biāo)準(zhǔn)的選用(RS-232、RS-422/RS-485)
RS-232串行接口屬于個人計算機(PC)及電信應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn);而RS-422和RS-485串行接口則是工業(yè)應(yīng)用領(lǐng)域中最為成功的串行數(shù)據(jù)標(biāo)準(zhǔn),上述這些數(shù)據(jù)標(biāo)準(zhǔn)并不直接相互兼容,但在電信、自動控制及儀器儀表應(yīng)用中,往往需要在其之間進(jìn)行數(shù)據(jù)通信。本文闡述上述這些數(shù)據(jù)標(biāo)準(zhǔn)之內(nèi)涵、兩種標(biāo)準(zhǔn)接口之間的轉(zhuǎn)換及如何在一種特定應(yīng)用場合中進(jìn)行數(shù)據(jù)融合。
RS-232串行接口
RS-232串行接口起初僅是用于IBM-PC中支持調(diào)制解調(diào)器與打印機的連接,迄今已廣泛應(yīng)用于支持不同的外部設(shè)備和PC之間的通信,它已被定義為一種在低速率(最高為20kbps)串行通信中增大通信距離的單端標(biāo)準(zhǔn)。多年以來,該項標(biāo)準(zhǔn)一直在修訂,以適應(yīng)速度更快驅(qū)動器的需求,比如MAX3225,其數(shù)據(jù)率高達(dá)1Mbps。為適應(yīng)RS-232串行接口的標(biāo)準(zhǔn),像MAX3225這種收發(fā)器必需滿足表1所列的主要電器性能參數(shù)。
典型的RS-232串行接口信號在正負(fù)電平之間波動。雖然RS-232串行接口的數(shù)據(jù)是反相的,但從晶體管-晶體管邏輯電路(TTL)電平至RS-232電平再返回到TTL電平的轉(zhuǎn)換過程又恢復(fù)了初始的極性。典型的RS-232串行接口傳送距離不會超過100英尺,原因是:發(fā)送電平(±5V)和接收電平(±3V)之差僅允許2V的共模抑制:電纜上的分布電容由于超過了規(guī)定的負(fù)載(2500pF),從而降低了擺率。
因為RS-232串行接口的設(shè)計為點至點,并不是多點接口,其驅(qū)動器額定負(fù)載為單個3~7KΩ。假如需要的話,采用菊花鏈原理則可實現(xiàn)多點連接
在菊花鏈配置中,RS-232串行接口信號先進(jìn)入一個接收器,再送至一個發(fā)送器中驅(qū)動下一個單元。對該種技術(shù)而言,電纜的斷裂是一個主要問題。如發(fā)生在從機1和從機2之間的斷裂將使得所有后續(xù)設(shè)備無法發(fā)送和接收數(shù)據(jù)。利用預(yù)緩沖或增強RS-232串行接口的輸出驅(qū)動能力(讓其能驅(qū)動多個并行的5KΩ輸入負(fù)載)、或切換輸入負(fù)載亦可實現(xiàn)多點RS-232通信,此外,將RS-232串行接口的收信機(RX)和發(fā)信機(TX)信號轉(zhuǎn)換成RS-422串行接口信號同樣可實現(xiàn)RS-232串行接口的多點通信。
RS-422/RS-485串行接口
RS-422串行接口屬于一個差分標(biāo)準(zhǔn)(參閱表2),允許傳送更遠(yuǎn)的距離。RS-422串行接口的高輸入電阻及其更強的驅(qū)動性能,允許總線上連接多個節(jié)點(如圖2所示)。RS-422串行接口之另一好處是具有單獨的發(fā)送和接收通道,故無需控制數(shù)據(jù)方向。裝置之間任何所需的信號交換可按軟件方式(XON/XOFF)或硬件方式(一對單獨的雙絞線)來實現(xiàn)。
很多人往往都誤認(rèn)為RS-422串行接口是RS-485串行接口的全雙工版本,實際上,它們在電器特性上存在著不少差異,共模電壓范圍和接收器輸入電阻不同使得該兩個標(biāo)準(zhǔn)適用于不同的應(yīng)用領(lǐng)域。RS-485串行接口的驅(qū)動器可用于RS-422串行接口的應(yīng)用中,因為RS-485串行接口滿足所有的RS-422串行接口性能參數(shù)(參閱表3),反之則不能成立。對于RS-485串行接口的驅(qū)動器,共模電壓的輸出范圍是-7V和+12V之間;對于RS-422串行接口的驅(qū)動器,該項性能指標(biāo)僅有±7V。RS-422串行接口接收器的最小輸入電阻是4KΩ;而RS-485串行接口接收器的最小輸入電阻則是12KΩ。
由于可減少布線成本并實現(xiàn)較長的傳輸距離,RS-485串行接口被廣泛應(yīng)用于汽車電子設(shè)備、銷售點終端(POS)、工業(yè)控制、儀器儀表、局域網(wǎng)、蜂窩基站及電信領(lǐng)域,較高的輸入電阻允許多個節(jié)點連至總線上。差分RS-485串行接口的傳輸信號在雙絞線上極性相反,因在每根雙絞線上的磁場相互抵消,從而將電磁干擾(EMI)減至最小。然而當(dāng)信號在一根長電纜上傳輸或是具有頗高的數(shù)據(jù)速率時,電纜將會呈現(xiàn)傳輸線的特性。在此種情況下,必需按其特征阻抗進(jìn)行終端匹配(圖3中的100Ω電阻)。在RS-485串行接口系統(tǒng)實現(xiàn)的過程中,假如接收器同相輸入(A)電平比接收器反相輸入(B)電平高出200mV或更高,那么RS-485串行接口的接收器輸出為“1”,假如B電平較A電平高出200mV或更高,那么RS-485串行接口的接收器輸出為“0”。在一個半雙工的RS-485串行接口網(wǎng)絡(luò)中,主機的收發(fā)器給從機發(fā)送完一個信息后將總線置為三態(tài),沒有任何信號驅(qū)動總線,使A和B之間的電平差趨于0,此時接收器的輸出狀態(tài)無法確定。假如接收器的輸出(Ro)為“0”的話,從機則將把其解釋為一個新的啟動位并且試圖讀取后續(xù)字節(jié)。由于永遠(yuǎn)不會有停止位,這便會產(chǎn)生出一個幀錯誤結(jié)果。不再會有設(shè)備請求總線,網(wǎng)絡(luò)將陷于癱瘓狀態(tài)。
不同廠家的芯片對OV的差分電壓輸入會產(chǎn)生不同的Ro輸出,批量生產(chǎn)過程中造成某些節(jié)點失效。可像圖3那樣對總線進(jìn)行偏置來解決這個問題,將A和B信號單獨上拉(用一個電阻將A上拉至5V,將B下拉至地),具體的電阻隨電纜的電容變化而變化。典型值為1KΩ。偏置可確保在總線為三態(tài)時接收器的輸出為“1”。或使用具有“失效保護(hù)”特性的MAX3080系列產(chǎn)品,為確保在OV的差分電壓輸入時Ro的輸出為“1”,這些接收器器件的閥值電平被調(diào)整為-50mV。
轉(zhuǎn)換器的構(gòu)成
在將RS-422串行接口轉(zhuǎn)換成RS-485串行接口的電路中,通用的方法是接收機測試設(shè)備(RTS)信號控制總線的方向,RS-232串行接口中的信號控制著RS-485串行接口收發(fā)器的使能端。假如不對RS-485串行接口驅(qū)動器的輸入端(DI)進(jìn)行監(jiān)視,便無法肯定在通用異步收發(fā)機(UART)發(fā)送緩沖器中一個字節(jié)已被發(fā)送出去。這就意味著在使用DE引腳切換總線方向之前必需考慮一個固定的延時或是主動地監(jiān)視DI的輸入。眾多RS-232串行接口/RS-485串行接口轉(zhuǎn)換器采用端口供電的方法,RS-485串行接口的電源從RS-422串行接口的RTS信號線上抽取(有時亦將RTS與CTS即DSR組合在一起使用)。因為從RS-422串行接口上獲取的電源是有限的,當(dāng)將使用端口供電的轉(zhuǎn)換器用于100Ω終端匹配的RS-485串行接口網(wǎng)絡(luò)中時,RS-485串行接口的輸出電壓會達(dá)不到標(biāo)稱值。不過,200mV的接收器閥值提供了頗為不錯的裕度。在那些短距離、A-B線無終端匹配的系統(tǒng)中,這種技術(shù)是可以接受的,采用Maxim公司的MAX3162可實現(xiàn)RS-232串行接口與RS-485串行接口之間的轉(zhuǎn)換。





