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





