描述
RS-485又名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485。
RS485是一個定義平衡數字多點系統中的驅動器和接收器的電氣特性的標準,該標準由電信行業協會和電子工業聯盟定義。使用該標準的數字通信網絡能在遠距
RS485接口組成的半雙工網絡,一般是兩線制,多采用屏蔽雙絞線傳輸,這種接線方式為總線式拓撲結構在同一總線上最多可以掛接32個結點。我們知道,最初數據是模擬信號輸出簡單過程量,后來儀表接口是RS232接口,這種接口可以實現點對點的通信方式,但這種方式不能實現聯網功能,隨后出現的RS485解決了這個問題。為此本文通過問答的形式詳細介紹RS485接口。
一、什么是RS-485接口?它比RS-232-C接口相比有何特點?
答:由于RS-232-C接口標準出現較早,難免有不足之處,主要有以下四點:
(1)接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL電平不兼容故需使用電平轉換電路方能與TTL電路連接。
(2)傳輸速率較低,在異步傳輸時,波特率為20Kbps。
(3)接口使用一根信號線和一根信號返回線而構成共地的傳輸形式,這種共地傳輸容易產生共模干擾,所以抗噪聲干擾性弱。
(4)傳輸距離有限,傳輸距離標準值為50英尺,實際上也只能用在50米左右。針對RS-232-C的不足,于是就不斷出現了一些新的接口標準,RS-485就是其中之一,它具有以下特點:
1)RS-485的電氣特性:邏輯“1”以兩線間的電壓差為+(2-6)V表示;邏輯“0”以兩線間的電壓差為-(2-6)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL電路連接。
2)RS-485的數據傳輸速率為10Mbps
3)RS-485接口是采用平衡驅動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。
4)RS-485接口的傳輸距離標準值為4000英尺,實際上可達3000米,另外RS-232-C接口在總線上只允許連接1個收發器,即單站能力。而RS-485接口在總線上是允許連接多達128個收發器。即具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設備網絡。
5)因RS-485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優點就使其成為的串行接口。因為RS485接口組成的半雙工網絡,一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。RS485接口連接器采用DB-9的9芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485采用DB-9(針)。
二、RS-422與RS-485串行接口標準
1、平衡傳輸
RS-422、RS-485與RS-232不一樣,數據信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,將其中一線定義為A,另一線定義為B
通常情況下,發送驅動器A、B之間的正電平在+2~+6V,是一個邏輯狀態,負電平在-2~6V,是另一個邏輯狀態。另有一個信號地C,在RS-485中還有一“使能”端,而在RS-422中這是可用可不用的。“使能”端是用于控制發送驅動器與傳輸線的切斷與連接。當“使能”端起作用時,發送驅動器處于高阻狀態,稱作“第三態”,即它是有別于邏輯“1”與“0”的第三態。
接收器也作與發送端相對的規定,收、發端通過平衡雙絞線將AA與BB對應相連,當在收端AB之間有大于+200mV的電平時,輸出正邏輯電平,小于-200mV時,輸出負邏輯電平。接收器接收平衡線上的電平范圍通常在200mV至6V之間。
2、RS-422電氣規定
RS-422標準全稱是“平衡電壓數字接口電路的電氣特性”,它定義了接口電路的特性。圖2是典型的RS-422四線接口。實際上還有一根信號地線,共5根線。圖1是其DB9連接器引腳定義。由于接收器采用高輸入阻抗和發送驅動器比RS232更強的驅動能力,故允許在相同傳輸線上連接多個接收節點,最多可接10個節點。即一個主設備(Master),其余為從設備(Salve),從設備之間不能通信,所以RS-422支持點對多的雙向通信。接收器輸入阻抗為4k,故發端負載能力是10×4k+100Ω(終接電阻)。RS-422四線接口由于采用單獨的發送和接收通道,因此不必控制數據方向,各裝置之間任何必須的信號交換均可以按軟件方式(XON/XOFF握手)或硬件方式(一對單獨的雙絞線)實現。RS-422的傳輸距離為4000英尺(約1219米),傳輸速率為10Mb/s。其平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能達到傳輸距離。只有在很短的距離下才能獲得速率傳輸。一般100米長的雙絞線上所能獲得的傳輸速率僅為1Mb/s。
RS-422需要一終接電阻,要求其阻值約等于傳輸電纜的特性阻抗。在矩距離傳輸時可不需終接電阻,即一般在300米以下不需終接電阻。終接電阻接在傳輸電纜的最遠端。
3、RS-485電氣規定
由于RS-485是從RS-422基礎上發展而來的,所以RS-485許多電氣規定與RS-422相仿。如都采用平衡傳輸方式、都需要在傳輸線上接終接電阻等。RS-485可以采用二線與四線方式,二線制可實現真正的多點雙向通信。
而采用四線連接時,與RS-422一樣只能實現點對多的通信,即只能有一個主(Master)設備,其余為從設備,但它比RS-422有改進,無論四線還是二線連接方式總線上可多接到32個設備。
RS-485與RS-422的不同還在于其共模輸出電壓是不同的,RS-485是-7V至+12V之間,而RS-422在-7V至+7V之間,RS-485滿足所有RS-422的規范,所以RS-485的驅動器可以用在RS-422網絡中應用。
RS-485與RS-422一樣,其傳輸距離約為1219米,傳輸速率為10Mb/s。平衡雙絞線的長度與傳輸速率成反比,在100kb/s速率以下,才可能使用規定最長的電纜長度。只有在很短的距離下才能獲得速率傳輸。一般100米長雙絞線傳輸速率僅為1Mb/s。
RS-485需要2個終接電阻,其阻值要求等于傳輸電纜的特性阻抗。在矩距離傳輸時可不需終接電阻,即一般在300米以下不需終接電阻。終接電阻接在傳輸總線的兩端。
三、RS-422與RS-485的網絡安裝注意要點
RS-422可支持10個節點,RS-485支持32個節點,因此多節點構成網絡。網絡拓撲一般采用終端匹配的總線型結構,不支持環形或星形網絡。在構建網絡時,應注意如下幾點:
1、采用一條雙絞線電纜作總線,將各個節點串接起來,從總線到每個節點的引出線長度應盡量短,以便使引出線中的反射信號對總線信號的影響。所示為實際應用中常見的一些錯誤連接方式(a,c,e)和正確的連接方式(b,d,f)。a,c,e這三種網絡連接盡管不正確,在短距離、低速率仍可能正常工作,但隨著通信距離的延長或通信速率的提高,其不良影響會越來越嚴重,主要原因是信號在各支路末端反射后與原信號疊加,會造成信號質量下降。
2、應注意總線特性阻抗的連續性,在阻抗不連續點就會發生信號的反射。下列幾種情況易產生這種不連續性:總線的不同區段采用了不同電纜,或某一段總線上有過多收發器緊靠在一起安裝,再者是過長的分支線引出到總線。
總之,應該提供一條單一、連續的信號通道作為總線。
四、RS-422與RS-485傳輸線上匹配的一些說明
對RS-422與RS-485總線網絡一般要使用終接電阻進行匹配。但在短距離與低速率下可以不用考慮終端匹配。那么在什么情況下不用考慮匹配呢?理論上,在每個接收數據信號的中點進行采樣時,只要反射信號在開始采樣時衰減到足夠低就可以不考慮匹配。但這在實際上難以掌握,美國MAXIM公司有篇文章提到一條經驗性的原則可以用來判斷在什么樣的數據速率和電纜長度時需要進行匹配:當信號的轉換時間(上升或下降時間)超過電信號沿總線單向傳輸所需時間的3倍以上時就可以不加匹配。例如具有限斜率特性的RS-485接口MAX483輸出信號的上升或下降時間最小為250ns,典型雙絞線上的信號傳輸速率約為0.2m/ns(24AWGPVC電纜),那么只要數據速率在250kb/s以內、電纜長度不超過16米,采用MAX483作為RS-485接口時就可以不加終端匹配。
一般終端匹配采用終接電阻方法,前文已有提及,RS-422在總線電纜的遠端并接電阻,RS-485則應在總線電纜的開始和末端都需并接終接電阻。終接電阻一般在RS-422網絡中取100Ω,在RS-485網絡中取120Ω。相當于電纜特性阻抗的電阻,因為大多數雙絞線電纜特性阻抗大約在100~120Ω。這種匹配方法簡單有效,但有一個缺點,匹配電阻要消耗較大功率,對于功耗限制比較嚴格的系統不太適合。
另外一種比較省電的匹配方式是RC匹配,利用一只電容C隔斷直流成分可以節省大部分功率。但電容C的取值是個難點,需要在功耗和匹配質量間進行折衷。
還有一種采用二極管的匹配方法,這種方案雖未實現真正的“匹配”,但它利用二極管的鉗位作用能迅速削弱反射信號,達到改善信號質量的目的。節能。
五、RS-422與RS-485的接地問題
電子系統接地是很重要的,但常常被忽視。接地處理不當往往會導致電子系統不能穩定工作甚至危及系統安全。RS-422與RS-485傳輸網絡的接地同樣也是很重要的,因為接地系統不合理會影響整個網絡的穩定性,尤其是在工作環境比較惡劣和傳輸距離較遠的情況下,對于接地的要求更為嚴格。否則接口損壞率較高。很多情況下,連接RS-422、RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來。而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患,這有下面二個原因:
1、共模干擾問題:正如前文已述,RS-422與RS-485接口均采用差分方式傳輸信號方式,并不需要相對于某個參照點來檢測信號,系統只需檢測兩線之間的電位差就可以了。但人們往往忽視了收發器有一定的共模電壓范圍,如RS-422共模電壓范圍為-7~+7V,而RS-485收發器共模電壓范圍為-7~+12V,只有滿足上述條件,整個網絡才能正常工作。當網絡線路中共模電壓超出此范圍時就會影響通信的穩定可靠,甚至損壞接口。以圖1為例,當發送驅動器A向接收器B發送數據時,發送驅動器A的輸出共模電壓為VOS,由于兩個系統具有各自獨立的接地系統,存在著地電位差VGPD。那么,接收器輸入端的共模電壓VCM就會達到VCM=VOS+VGPD。RS-422與RS-485標準均規定VOS≤3V,但VGPD可能會有很大幅度(十幾伏甚至數十伏),并可能伴有強干擾信號,致使接收器共模輸入VCM超出正常范圍,并在傳輸線路上產生干擾電流,輕則影響正常通信,重則損壞通信接口電路。
2、(EMI)問題:發送驅動器輸出信號中的共模部分需要一個返回通路,如沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波。
由于上述原因,RS-422、RS-485盡管采用差分平衡傳輸方式,但對整個RS-422或RS-485網絡,必須有一條低阻的信號地。一條低阻的信號地將兩個接口的工作地連接起來,使共模干擾電壓VGPD被短路。
這條信號地可以是額外的一條線(非屏蔽雙絞線),或者是屏蔽雙絞線的屏蔽層。這是最通常的接地方法。
值得注意的是,這種做法僅對高阻型共模干擾有效,由于干擾源內阻大,短接后不會形成很大的接地環路電流,對于通信不會有很大影響。當共模干擾源內阻較低時,會在接地線上形成較大的環路電流,影響正常通信。筆者認為,可以采取以下三種措施:
(1)如果干擾源內阻不是非常小,可以在接地線上加限流電阻以限制干擾電流。接地電阻的增加可能會使共模電壓升高,但只要控制在適當的范圍內就不會影響正常通信。
(2)采用浮地技術,隔斷接地環路。這是較常用也是十分有效的一種方法,當共模干擾內阻很小時上述方法已不能奏效,此時可以考慮將引入干擾的節點(例如處于惡劣的工作環境的現場設備)浮置起來(也就是系統的電路地與機殼或大地隔離),這樣就隔斷了接地環路,不會形成很大的環路電流。
(3)采用隔離接口。有些情況下,出于安全或其它方面的考慮,電路地必須與機殼或大地相連,不能懸浮,這時可以采用隔離接口來隔斷接地回路,但是仍然應該有一條地線將隔離側的公共端與其它接口的工作地相連。
六、RS-422與RS-485的網絡失效保護
RS-422與RS-485標準都規定了接收器門限為±200mV。這樣規定能夠提供比較高的噪聲抑制能力,如前文所述,當接收器A電平比B電平高+200mV以上時,輸出為正邏輯,反之,則輸出為負邏輯。但由于第三態的存在,即在主機在發端發完一個信息數據后,將總線置于第三態,即總線空閑時沒有任何信號驅動總線,使AB之間的電壓在-200~+200mV直至趨于0V,這帶來了一個問題:接收器輸出狀態不確定。如果接收機的輸出為0V,網絡中從機將把其解釋為一個新的啟動位,并試圖讀取后續字節,由于永遠不會有停止位,產生一個幀錯誤結果,不再有設備請求總線,網絡陷于癱瘓狀態。除上述所述的總線空閑會造成兩線電壓差低于200mV的情況外,開路或短路時也會出現這種情況。故應采取一定的措施避免接收器處于不確定狀態。
通常是在總線上加偏置,當總線空閑或開路時,利用偏置電阻將總線偏置在一個確定的狀態(差分電壓≥-200mV)。如圖1。將A上拉到地,B下拉到5V,電阻的典型值是1kΩ,具體數值隨電纜的電容變化而變化。
上述方法是比較經典的方法,但它仍然不能解決總線短路時的問題,有些廠家將接收門限移到-200mV/-50mV,可解決這個問題。
七、RS-422與RS-485的瞬態保護
前文提到的信號接地措施,只對低頻率的共模干擾有保護作用,對于頻率很高的瞬態干擾就無能為力了。由于傳輸線對高頻信號而言就是相當于電感,因此對于高頻瞬態干擾,接地線實際等同于開路。這樣的瞬態干擾雖然持續時間短暫,但可能會有成百上千伏的電壓。
實際應用環境下還是存在高頻瞬態干擾的可能。一般在切換大功率感性負載如電機、變壓器、繼電器等或閃電過程中都會產生幅度很高的瞬態干擾,如果不加以適當防護就會損壞RS-422或RS-485通信接口。對于這種瞬態干擾可以采用隔離或旁路的方法加以防護。
1、隔離保護方法。這種方案實際上將瞬態高壓轉移到隔離接口中的電隔離層上,由于隔離層的高絕緣電阻,不會產生損害性的浪涌電流,起到保護接口的作用。通常采用高頻變壓器、光耦等元件實現接口的電氣隔離,已有器件廠商將所有這些元件集成在一片IC中,使用起來非常簡便。這種方案的優點是可以承受高電壓、持續時間較長的瞬態干擾,實現起來也比較容易,缺點是成本較高。
2、旁路保護方法。這種方案利用瞬態抑制元件(如TVS、MOV、氣體放電管等)將危害性的瞬態能量旁路到大地,優點是成本較低,缺點是保護能力有限,只能保護一定能量以內的瞬態干擾,持續時間不能很長,而且需要有一條良好的連接大地的通道,實現起來比較困難。實際應用中是將上述兩種方案結合起來靈活加以運用,如圖1。在這種方法中,隔離接口對大幅度瞬態干擾進行隔離,旁路元件則保護隔離接口不被過高的瞬態電壓擊穿。
八、采用RS485接口時,傳輸電纜的長度如何考慮?
在使用RS485接口時,對于特定的傳輸線經,從發生器到負載其數據信號傳輸所允許的電纜長度是數據信號速率的函數,這個長度數據主要是受信號失真及噪聲等影響所限制。電纜長度與信號速率的關系曲線是使用24AWG銅芯雙絞電話電纜(線徑為0。51mm),線間旁路電容為52。5PF/M,終端負載電阻為100歐時所得出。當數據信號速率降低到90Kbit/S以下時,假定允許的信號損失為6dBV時,則電纜長度被限制在1200M。在實用時是*可以取得比它大的電纜長度。當使用不同線徑的電纜。則取得的電纜長度是不相同的。
九、如何實現RS-485/422多點通訊
RS-485總線上任何時候只能有一發送器發送。半雙工方式,主從只能一個發。全雙工方式,主站總可發送,從站只能有一個發送。
十、RS-485/RS422接口通訊時,在什么條件下需要采用終端匹配?電阻值如何確定?如何配置終端匹配電阻?
在長線信號傳輸時,一般為了避免信號的反射和回波,需要在接收端接入終端匹配電阻。其終端匹配電阻值取決于電纜的阻抗特性,與電纜的長度無關。
RS-485/RS-422一般采用雙絞線(屏蔽或非屏蔽)連接,終端電阻一般介于100至140Ω之間,典型值為120Ω。在實際配置時,在電纜的兩個終端節點上,即最近端和最遠端,各接入一個終端電阻,而處于中間部分的節點則不能接入終端電阻,否則將導致通訊出錯。
十一、RS-485網不知道最遠站點是哪一個,應該如何接匹配電阻呢?
會出現這種情況,是由于用戶組成RS-485網時,沒有遵循站點至總線的連線應盡可能短的原則。如果總線布線遵循這一原則,就不存在不知道哪個站點是最遠的問題。而且要注意,這樣的布線,系統將會工作得不好。
十二、RS-485/RS-422接口為何在停止通信時接收器仍有數據輸出?
由于RS-485/RS-422在發送數據完成后,要求所有的發送使能控制信號關閉且保持接收使能有效,此時,總線驅動器進入高阻狀態且接收器能夠監測總線上是否有新的通信數據。但是由于此時總線處于無源驅動狀態(若總線有終端匹配電阻時,A和B線的差分電平為0,接收器的輸出不確定,且對AB線上的差分信號的變化很敏感;若無終端匹配,則總線處于高阻態,接收器的輸出不確定),容易受到外界的噪聲干擾。當噪聲電壓超過輸入信號門*(典型值±200mV),接收器將輸出數據,導致對應的UART接收無效的數據,使緊接著的正常通訊出錯;另外一種情況可能發生在打開/關閉發送使能控制的瞬間,使接收器輸出信號,也會導致UART錯誤地接收。