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