RS485總線應用與選型指南

  

一、RS485總線介紹:

RS485總線是一種常見的串行總線標準,採用平衡發送與差分接收的方式,因此具有抑制共模干擾的能力。在一些要求通信距離爲幾十米到上千米的時候,RS485總線是一種應用最爲廣泛的總線。而且在多節點的工作系統中也有着廣泛的應用。

二、RS485總線典型電路介紹:

RS485電路總體上可以分爲隔離型與非隔離型。隔離型比非隔離型在抗干擾、系統穩定性等方面都有更出色的表現,但有一些場合也可以用非隔離型。

我們就先講一下非隔離型的典型電路,非隔離型的電路非常簡單,只需一個RS485芯片直接與MCU的串行通訊口和一個I/O控制口連接就可以。如圖1所示:

1、典型485通信電路圖(非隔離型)

當然,上圖並不是完整的485通信電路圖,我們還需要在A線上加一個4.7K的上拉偏置電阻;在B線上加一個4.7K的下拉偏置電阻。中間的R16是匹配電阻,一般是120Ω,當然這個具體要看你傳輸用的線纜。(匹配電阻:485整個通訊系統中,爲了系統的傳輸穩定性,我們一般會在第一個節點和最後一個節點加匹配電阻。所以我們一般在設計的時候,會在每個節點都設置一個可跳線的120Ω電阻,至於用還是不用,由現場人員來設定。當然,具體怎麼區分第一個節點還是最後一個節點,還得有待現場的專家們來解答呵。)TVS我們一般選用6.8V的,這個我們會在後面進一步的講解。

RS-485標準定義信號閾值的上下限爲±200mV。即當A-B>200mV時,總線狀態應表示爲“1”;當A-B<-200mV時,總線狀態應表示爲“0”。但當A-B±200mV之間時,則總線狀態爲不確定,所以我們會在AB線上面設上、下拉電阻,以儘量避免這種不確定狀態。

三、隔離型RS485總線典型電路介紹

在某些工業控制領域,由於現場情況十分複雜,各個節點之間存在很高的共模電壓。雖然RS-485接口採用的是差分傳輸方式,具有一定的抗共模干擾的能力,但當共模電壓超過RS-485接收器的極限接收電壓,即大於+12V或小於-7V時,接收器就再也無法正常工作了,嚴重時甚至會燒燬芯片和儀器設備。
    解決此類問題的方法是通過DC-DC將系統電源和RS-485收發器的電源隔離;通過隔離器件將信號隔離,徹底消除共模電壓的影響。實現此方案的途徑可分爲:
    (1)傳統方式:用光耦、帶隔離的DC-DC、RS-485芯片構築電路;
    (2)使用二次集成芯片,如ADM2483、ADM2587E等。

u 傳統光電隔離的典型電路:(如圖2所示)

 

2、光電隔離RS485典型電路

圖中我們以高速光耦6N137爲例(當然只是示意圖)來說明一下隔離型RS485電路。VDDVCC485是兩組不共地的電源,一般用隔離型的DC-DC來實現。通過光耦隔離來實現信號的隔離傳輸,ADM487MCU系統不共地,完全隔離則有效的抑制了高共模電壓的產生,大大降低了485的損壞率,提高了系統的穩定性。但也存在電路體積過大、電路繁瑣、分立器件過多、傳輸速率受光電器件限制等缺點,對整個系統的穩定性也有一定的影響。

u 隔離型RS485器件來實現隔離傳輸:(如圖3所示)

3、隔離型RS485芯片ADM2483應用圖

ADM2483ADI推出的隔離型485芯片,SOW-16封裝,內部集成了一個三通道的磁隔離器件和一個半雙工485收發器,2500V隔離電壓、傳輸速率500K、共模電壓抑制能力25KV/μS。但此電路仍需雙電源供電,因此也會在一定程度上存在電路體積過大的問題。(一般我們會在7腳接4.7K--10K的上拉電阻)

u 完全隔離型RS485器件實現隔離傳輸:(如圖4所示)

4、完全隔離型RS485/422芯片ADM2587E應用圖

ADM2587EADIADM2483之後,推出的單電源隔離型485芯片。SOW-20封裝,2500V隔離電壓,全/半雙工、傳輸速率500K、共模電壓抑制能力25KV/μS±15KVESD保護。適合用於工控、電力、儀表、安防等各種485隔離場合。

四、RS485總線保護電路

隔離雖然能有效的抑制高共模電壓,但總線上還會存在浪湧衝擊、電源線與485線短路、雷擊等潛在危害,所以我們一般會在總線端採取一定的保護措施。

一般我們會在VAVB上各串接一個410ΩPTC電阻,並在VAVB各自對地端接68VTVS管,當然也可用普通電阻與穩壓二極管代替。更多的還可以加熱保險絲、防雷管,不過並不是說這些加的越多越好,具體要看實際應用,如果這些保護太多的話,也會影響到整個系統的節點數,與通信穩定性。

五、485應用的一些小經驗

1、收發時序不匹配:

   485是半雙工的通信,收發轉換是需要一定的時間的,所以一般在收發轉換之間,和每發送完一幀數據之後,都要有相應的延時,如果出現收發不正常、或第一幀數據之後就出現誤碼現象,則可以適當的增加一下延時時間,以觀問題是否解決。

2、R0接上拉電阻:

  異步通信數據以字節的方式傳送,在每一個字節傳送之前,先要通過一個低電平起始位實現握手。爲防止干擾信號誤觸發RO(接收器輸出)產生負跳變,使接收端MCU進入接收狀態,建議RO外接10kΩ上拉電阻。

3、合理選用芯片。

例如,對外置設備爲防止強電磁(雷電)衝擊,建議選用TI的75LBC184等防雷擊芯片,對節點數要求較多的可選用SIPEX的SP485R。此外經我們實驗發現,ADI的非隔離型485芯片ADM487E、隔離型芯片ADM2483、ADM2587在多節點、防雷擊方面也有着很好的表現。

六、維護RS-485的常用方法

1)若出現系統完全癱瘓,大多因爲某節點芯片的VA、VB對電源擊穿,使用萬用表測VA、VB間差模電壓爲零,而對地的共模電壓大於3V,此時可通過測共模電壓大小來排查,共模電壓越大說明離故障點越近,反之越遠;
    2)總線連續幾個節點不能正常工作。一般是由其中的一個節點故障導致的。一個節點故障會導致鄰近的2~3個節點(一般爲後續)無法通信,因此將其逐一與總線脫離,如某節點脫離後總線能恢復正常,說明該節點故障;
    3)集中供電的RS-485系統在上電時常常出現部分節點不正常,但每次又不完全一樣。這是由於對RS-485的收發控制端TC設計不合理,造成微系統上電時節點收發狀態混亂從而導致總線堵塞。改進的方法是將各微系統加裝電源開關然後分別上電;
    4)系統基本正常但偶爾會出現通信失敗。一般是由於網絡施工不合理導致系統可靠性處於臨界狀態,最好改變走線或增加中繼模塊。應急方法之一是將出現失敗的節點更換成性能更優異的芯片;
    5)因MCU故障導致TC端處於長髮狀態而將總線拉死一片。提醒讀者不要忘記對TC端的檢查。儘管RS-485規定差模電壓大於200mV即能正常工作。但實際測量:一個運行良好的系統其差模電壓一般在1.2V左右(因網絡分佈、速率的差異有可能使差模電壓在0.8~1.5V範圍內)。

上文對485分析得很細緻,不過在上下拉電阻取4.7k的說法上似稍有遺漏。

 如圖,爲保證在A、B開路情況下RS485的差動電壓不小於200mV(絕對值),上下拉電阻R1、R2的選取應和VCC有關。當終端電阻爲120Ω,VCC爲5V時,根據分壓比可算出R1、R2應不大於1.4kΩ才合理。

RS485_1.gif

 上圖只考慮了A、B的情形,如想在A、B短路時也解決fail-save問題的話,輸入端還應串入R3、R4(比如取幾百Ω)。 有了R3、R4還有個好處就是:R1、R2的阻值可取得再大些,防止發送方驅動器的負載太重。

RS485_2.gif

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章