0 引言
RS422/RS485總線接口作為多點、差分?jǐn)?shù)據(jù)傳輸?shù)碾姎庖?guī)范,現(xiàn)已成為業(yè)界應(yīng)用較為廣泛的標(biāo)準(zhǔn)通信接口之一。RS422/RS485標(biāo)準(zhǔn)只對接口的電氣特性做出了規(guī)定,而不涉及接插件、電纜或協(xié)議,因此,用戶可在此基礎(chǔ)上建立自己的高層通信協(xié)議。
1 基本原理
RS422/RS485標(biāo)準(zhǔn)的全稱為TIA/EIA-422-B和TIA/EIA-485串行通信標(biāo)準(zhǔn)。它們的數(shù)據(jù)信號均采用差分傳輸方式,也稱作平衡傳輸。這兩者在電氣特性上非常接近,不同之處只是傳輸方式的不同。
RS485的典型工作方式如圖1所示。RS485典型的驅(qū)動器使用一對雙絞線,并將其中的一線定義為A,另一線定義為B。兩線工作時采用半雙工通信方式,其工作狀態(tài)(發(fā)送狀態(tài)和接收狀態(tài))由使能控制信號決定。
一般情況下,驅(qū)動器的A、B間的正電平電壓為+2~+6 V時代表一個邏輯狀態(tài);A、B之間的負(fù)電平在-6~-2 V時代表另外一個邏輯狀態(tài)。另外還有一個信號地C。事實上,在很多情況下,都會忽視信號地的連接。這里建議采用經(jīng)過處理的低阻通路把信號地連接起來,以增加其共??垢蓴_能力并減少電磁輻射?!笆鼓堋笨刂菩盘朎用于驅(qū)動器與傳輸線的切斷和連接,當(dāng)ENABLE起作用時,發(fā)送器處于高阻狀態(tài),稱作“第三態(tài)”,它是有別于邏輯“1”與“0”的第三種狀態(tài)。
接收器與驅(qū)動器的規(guī)定相似,其收、發(fā)端均可通過平衡雙絞線將A-A與B-B對應(yīng)相連。當(dāng)接收端A、B之間有大于+200 mV的電平時,輸出為正邏輯電平;小于-200 mV時,輸出為負(fù)邏輯電平。在接收器的接收平衡線上,電平范圍通常是在200 mV~6 V之間。
一般可定義邏輯1(正邏輯電平)為B>A的狀態(tài),邏輯0(負(fù)邏輯電平)為A>B的狀態(tài),A、B之間的壓差不小于200 mV。
RS485的四線工作狀態(tài)和RS422的四線工作狀態(tài)基本一致,從物理的角度上講,RS422相當(dāng)于兩個RS485同時工作,一個工作于接收狀態(tài),一個工作于發(fā)送狀態(tài)。
2 信號分析
根據(jù)以上說明,這里對RS422/RS485的傳輸特性建立一個信號分析模型,因為RS485更具有代表性,所以采用RS485作為分析對象。RS485是典型的信號處理標(biāo)準(zhǔn),其傳遞函數(shù)模型如圖2所示。
根據(jù)圖2規(guī)范設(shè)計定義域時,D可代表微處理器輸出的數(shù)字信號(TTL電平或者CMOS電平),其邏輯信號的取值空間為{0,1};Dr代表微處理器接收的數(shù)字信號(TTL電平或者CMOS電平),其邏輯信號的取值空間為{0,1};E,EN為使能信號。驅(qū)動器和接收器與傳輸線的連接關(guān)系(高電平或者低電平有效控制)存在兩種情況:定義ENABLE為連接有效狀態(tài),DISABLE為未連接狀態(tài),取值空間為{ENABLE,DISABLE}。在RS485通信標(biāo)準(zhǔn)中,一般情況下,E、EN若一個有效則另一個禁止,而RS422則兩個均為有效;A,B為驅(qū)動器與傳輸線的接口電壓,其規(guī)范定義為(-6V,+6V);Ar,Br為接收器與傳輸線接口的電壓。為了實現(xiàn)RS422/RS485的接口兼容,這里應(yīng)定義為(-7V,+10V)。實際上,驅(qū)動器傳遞函數(shù)定義中有四種可滿足RS485通信標(biāo)準(zhǔn)的情況:
D=1,E=DISABLE時,輸出A,B狀態(tài)為未定;
D=0,E=DISABLE時,輸出A,B狀態(tài)為未定;
D=1,E=ENABLE時,輸出B-A>2V,且A,B∈(6V,+6V);
D=0,E=ENABLE時,輸出A-B>2V,且A,B∈(6V,+6V)。
所以,能夠?qū)崿F(xiàn)上面?zhèn)鬟f函數(shù)的所有電路均可作為RS485的驅(qū)動器參考設(shè)計,當(dāng)然,還需要滿足其輸入輸出特性。
從接收器傳遞函數(shù)的定義可以把接收器分成兩類,其一是EN=DIABLE,這相當(dāng)于驅(qū)動器沒有掛載在總線上(可以認(rèn)為不存在)。其二是EN=ENABLE,此時又存在兩種正常工作情況,一是輸出Dr=1時,Br-Ar>200 mV;二是輸出Dr=0時,Ar-Br>200 mV。
為了滿足接收器正常工作的需要,操作時還需要考慮以下幾種情況:
(1)Ar、Br的電壓范圍應(yīng)該嚴(yán)格限制在-7~10V,否則可能損壞器件。一般采用穩(wěn)壓的二極管網(wǎng)絡(luò)來實現(xiàn)電壓的限制。
?。?)當(dāng)|Ar-Br|<200 mV時,接收器數(shù)據(jù)的判別。一般可采用電阻網(wǎng)絡(luò),將Ar通過10 kΩ的電阻接在VCC上,而將Br通過10 kΩ的電阻接在GROUND上,這樣,當(dāng)總線上沒有信號傳輸?shù)臅r候,即可保持Ar的電平為3.2 V左右,Br的電平大約為1.6 V,這樣,即使有干擾信號,也很難產(chǎn)生串行通信的其始信號0。
?。?)一般情況下,為了減少線路上傳輸信號的反射,可在RS422總線電纜的遠(yuǎn)端并接1個100Ω電阻,并應(yīng)在RS485網(wǎng)絡(luò)傳輸線的始端和末端各接1個120 Ω的匹配電阻。
3 工程實現(xiàn)
根據(jù)以上分析,這里給出一個RS422/RS485兼容的實際應(yīng)用電路,其具體電路如圖3所示。
圖3電路中采用的芯片為MAX491ESD。當(dāng)用MAX491ESD進(jìn)行RS422通信時,應(yīng)把跳線帽安裝在JP2的管腳2和管腳1上,JP1和JP3跳線帽去掉;而當(dāng)其作為RS485通信的時候,則應(yīng)把跳線帽安裝在JP2的管腳2和管腳3上,JP1和JP3加上跳線帽,從而構(gòu)成兩個節(jié)點的RS485網(wǎng)絡(luò)。穩(wěn)壓管D1,D2的作用是把A的電壓牢牢限制在-7V~+12V,以有效保護(hù)RS422/RS485網(wǎng)絡(luò)。增加D3和D8的目的主要是為了防止浪涌電壓。這個實際電路是以信號分析模型作為指導(dǎo)的依據(jù)建立起來的,可以在實際的測試和運行中滿足預(yù)期要求。
4 結(jié)束語
本文從信號處理的角度分析了RS422/RS485網(wǎng)絡(luò)的硬件構(gòu)成,并將其抽象為一個信號處理分析模型,從而給出相應(yīng)的傳遞函數(shù)和定義域。