RS-485匯流排應用

admin @ 2014-03-26 , reply:0

       隨著數字技術的發展和計算機日益廣泛的應用,現在一個系統往往由多台計算機組成,需要解決多站、遠距離通信的問題。在要求通信距離為幾十米到上千米時,廣泛採用RS-485收發器。RS-485收發器採用平衡發送和差分接收,因此具有抑制共模干擾的能力,加上接收器具有高的靈敏度,能檢測低達200mV的電壓,故傳輸信號能在千米以外得到恢復。使用RS-485匯流排,一對雙絞線就能實現多站聯網,構成分散式系統,設備簡單、價格低廉、能進行長距離通信的優點使其得到了廣泛的應用。

  在某公寓樓的水表遠傳系統中,採用了RS-485匯流排進行水表抄讀數據的傳輸,共208隻水表掛在匯流排上。下面是選定RS-485匯流排的根據和在應用調試過程中遇到的問題及解決方法。


RS-485的應用原則
  RS-485支持半雙工或全雙工模式。網路拓撲一般採用終端匹配的匯流排型結構,不支持環形或星形網路,最好採用一條匯流排將各個節點串接起來。從匯流排到每個節點的引出線長度應盡量短,以便使引出線中的反射信號對匯流排信號的影響最低。

  標準沒有規定匯流排上允許連接的收發器數量,但規定了最大匯流排負載為32個單位負載(UL),可通過增大收發器輸入電阻來擴展匯流排節點數。例如輸入電阻增加至48kΩ以上(1/4UL),節點數就可增加至128個,SP485R的輸入電阻為150kΩ,節點數最多可增加至400個。在本系統中有208隻水表,所以採用了SP485R。

  是否對RS-485匯流排進行終端匹配取決於數據傳輸速率、電纜長度及信號轉換速率。UART是在每個數據位的中點採樣數據的,只要反射信號在開始採樣時衰減到足夠低,就可以不考慮匹配。當考慮終端匹配時,有多種匹配方案可以選擇,最簡單的就是在匯流排兩端各接一隻阻值等於電纜特性阻抗的電阻,比較省電的匹配方案是RC匹配,採用二極體的匹配方案節能效果顯著。

  經驗表明,當信號的轉換時間上升或下降時間超過電信號沿匯流排單向傳輸所需時間的3倍以上時就可以不加匹配。例如具有限斜率特性的RS-485介面器件SP483輸出信號的上升或下降時間最小為250ns,典型雙絞線上的信號傳輸速率約為0.2m/ns(24AWG PVC電纜),那麼只要數據速率在250kbps以內,電纜長度不超過16米,採用SP483作為RS-485介面時就可以不加終端匹配。

  RS-485匯流排上的每個收發器通過一段引出線接入匯流排。引出線過長時由於信號在引出線中的反射也會影響匯流排上的信號質量,系統所能允許的引出線長度也和信號的轉換時間、數據速率有關,下面的經驗公式可以用來估算引出線的最大長度。
  Lmax=(tRISE·0.2m/ns)/10

  以SP483為例,對應於250ns的上升/下降時間,匯流排允許的最大引出線長度約為5米。

  減緩信號的前後沿斜率有利於降低對於匯流排匹配引出線長度的要求和改善信號質量,同時還可使信號中的高頻成分降低,減少電磁輻射。因此有些介面器件中增加了擺率限制電路來減緩信號前後沿,但這種做法也限制了數據傳輸速率,由此看來在選擇介面器件時並不是速率越高越好,應該根據系統要求選擇最低速率的器件。

  僅僅用一對雙絞線將各個介面的A、B端連接起來,而不對RS-485通信鏈路的信號接地,在某些情況下也可以工作,但給系統埋下了隱患。RS-485介面採用差分方式傳輸信號並不需要對於某個參照點來檢測信號系統,只需檢測兩線之間的電位差就可以了。但應該注意的是收發器只有在共模電壓不超出一定範圍 (-7V至+12V)的條件下才能正常工作。當共模電壓超出此範圍,就會影響通信的可靠直至損壞介面。如圖1所示,當發送器A向接收器B發送數據時,發送器A的輸出共模電壓為VOS,由於兩個系統具有各自獨立的接地系統存在著地電位差VGPD,那麼接收器輸入端的共模電壓就會達到VCM=VOS+VGPD。RS-485標準規定VOS≤3V,但VGPD可能會有很大幅度(十幾伏甚至數十伏),並可能伴有強幹擾信號致使接收器共模輸入VCM超出正常圍,在信號線上產生干擾電流輕則影響正常通信,重則損壞設備。

實例應用分析
  在系統的調試期間,發現樓層低和距離採集器比較近的水表讀數能很順利地抄讀傳輸上來,而其他水表則有很多抄讀不到。經過實地勘察和分析,發現了兩個問題:

  (1)網路布局不合理。這時的結構近似樹形,但RS-485匯流排不支持環形或星形網路。同時,由於匯流排的不同區段採用了不同電纜,某一段匯流排上有過多收發器緊靠在一起安裝,或者是有過長的分支線引出匯流排,都會出現阻抗不連續點。所以應該提供一條單一連續的信號通道作為匯流排。根據這一原則對網路進行了大的整改,採用單一匯流排將各個節點串接起來,同時進行接地處理,如圖2所示。再次集抄的結果比先前要好,但還是有部分水表抄讀不到或數據不穩定,未達到預期效果。表1是整改前後水表抄讀的情況。
表1 整改前後情況比較

能抄讀的水表數量
網路結構
波特率(bps)
整改前
121
樹形
14400
整改后
164
單一匯流排
14400


  (2)波特率過高,致使傳輸距離受限。當前的波特率14400是為了減小傳輸時間而設置的。但是由於傳輸線的歐姆阻抗、集膚效應等損耗引起信號畸變,從而通信距離受到限制。又由於損耗與頻率有關,故隨著數據率的增加通信距離減小。表2是通過實地測試得到的數據。
表2 傳輸距離和傳輸速率的關係

波特率
(bps)
能抄讀的
最大表號
匯流排長度
(單位米,距離採集)
能否全部
抄讀
14400
164
810
9600
172
860
4800
189
950
2400
200
1010
1200
208
1050
110
208
1050


  由表2看出,當波特率降低到1200以下時,所有表都可以抄讀成功。實驗表明,最高波特率在1200時,208隻表可以一次抄讀成功。在此基礎上,對各種常用波特率下系統能抄讀到的最遠距離進行測試,結果如圖3。

  可以看出,在110~1200波特率時,數據傳輸完全正確,但隨著波特率的提高,傳輸距離呈下降趨勢。所以在傳輸速度允許的情況下,應當儘可能地降低波特率。另外,進一步完善網路結構將會在保證準確程度的前提下提高數據的傳輸速率。


結語
  RS-485匯流排,具有高雜訊抑制、寬共模範圍、長傳輸距離、衝突保護等特性,但還需要考慮合理的應用和網路布局、連續的信號通道、周全的保護措施等,在設計之初就應有總體規劃。




[admin via 研發互助社區 ] RS-485匯流排應用已經有654次圍觀

http://www.cocdig.com/docs/show-post-45144.html