RS485丟包這個問題,很多用戶折騰半天,換線、換芯片、改波特率,最后發現問題就出在一個120Ω的終端電阻沒接對,或者接地方式有問題。本文將把其中幾個容易踩的坑說清楚。
一、先理解為什么會丟包
RS485是差分信號,靠A、B兩線之間的電壓差來判斷0和1。理想狀態下,發送端驅動信號,接收端讀差分電壓,干凈利落。但實際線路不是理想的,有阻抗、有分布電容、有反射。
信號在線纜里傳播,到了終端沒有被"吸收",就會往回反射,反射波和原始信號疊加,接收端看到的波形就變形了。距離越長、波特率越高,反射問題越嚴重。表現出來就是誤碼、丟包,有時候通信完全正常,有時候又突然出錯,規律性不強,排查起來特別煩。
終端電阻的作用就是在總線末端做阻抗匹配,把信號能量吸收掉,消除反射。原理不復雜,但接錯了不僅沒用,有時候還會讓問題更嚴重。
二、終端電阻怎么接才對
標準做法是在總線兩個末端各接一個120Ω電阻,跨接在A、B兩線之間。注意是兩端,不是中間,不是只接一端。很多人只在主站那邊接了一個,從站那頭沒接,反射依然存在。
電阻值為什么是120Ω?因為標準RS485雙絞線的特性阻抗就是100~120Ω,終端電阻匹配線纜阻抗,反射才能被有效消除。用100Ω也行,差不多。但有人隨手拿了個100Ω或者150Ω,湊合能用,不是最優解。
還有一個常見錯誤是在總線中間節點上接了終端電阻。總線上掛了五個設備,有人在中間某個節點接了120Ω,這個電阻相當于在總線中間并聯了一個負載,反而把信號拉垮了。終端電阻只能在物理總線的兩個端點接,中間節點一個都不要。
節點數量多的時候,終端電阻還會帶來另一個問題:總線負載加重。兩個120Ω并聯等效60Ω,對驅動芯片來說是不小的負擔。如果總線上節點本來就多,驅動能力已經接近上限,再加終端電阻可能導致信號幅值不夠,誤碼率反而上升。這種情況可以考慮用網絡偏置電阻配合終端電阻,或者加RS485中繼器分段。
三、接地問題才是真正的隱形殺手
終端電阻接對了,丟包問題還是沒解決,這時候大概率是接地出了問題。RS485雖然是差分信號,但它不是真正的"無地"傳輸,共模電壓有范圍限制,標準規定接收端的共模輸入范圍是-7V到+12V。超出這個范圍,芯片就無法正確判斷信號,甚至損壞。
兩臺設備之間如果地電位差過大,共模電壓超標,信號就亂了。工廠里這種情況很常見,不同配電柜的地、不同設備的機殼地,之間可能有幾伏甚至十幾伏的電位差。
標準的處理方式是在RS485線纜里加第三根線——信號地(GND),把兩端的參考地連起來,把共模電壓控制在合理范圍內。很多工程師布線的時候只走A、B兩根,信號地省掉了,短距離可能沒事,距離一長、設備一多,地電位差問題就暴露出來了。
信號地這根線有一個注意事項:它不是大地,不是保護地,就是把兩端的邏輯參考點連在一起。不要把它直接接到機殼地或者大地上,否則可能引入新的地環路問題,反而更糟。
四、屏蔽層的接地方式
用了屏蔽雙絞線,屏蔽層怎么接也有講究。很多人兩端都接地,這個做法在有地電位差的環境里會形成地環路,屏蔽層里流過工頻電流,反而引入新的干擾,得不償失。
正確做法是單端接地,通常在主站側接地,從站側懸空或者通過一個小電容接地(高頻接地,低頻隔離)。這樣屏蔽層能起到屏蔽作用,又不會形成地環路。實際工程中這個細節經常被忽略,施工的時候兩端都壓到接線排上就完事了。出了干擾問題再去查,把一端屏蔽層斷開,有時候癥狀立刻消失,這時候才意識到是地環路的問題。
![]()
五、距離不足的時候怎么辦
波特率和距離是一對矛盾。9600bps可以跑1200米,115200bps可能100米就開始出錯。如果距離固定、波特率要求也固定,超出范圍了,加中繼器是最直接的解決辦法。
中繼器把總線分成兩段,每段重新整形放大,相當于重置了傳輸距離。但中繼器會引入幾微秒的延遲,對實時性要求極高的場合要注意。另外中繼器兩側各是獨立的總線段,終端電阻要分別在每段的兩端接,這個細節別漏掉。
還有一種情況是線纜質量不太行,用的不是真正的雙絞線,或者銅包鋁冒充無氧銅,線路電阻大、特性阻抗不穩定,這種情況換線是根本解決辦法,其他手段都是治標。
六、快問快答
Q:終端電阻接了還是丟包,下一步查什么?
A:先確認電阻是不是接在總線兩個端點、阻值對不對。然后查信號地有沒有連接,用萬用表測兩端設備地之間的電壓,有超過1V以上的電位差就要重視。再用示波器看A、B信號波形,波形畸變嚴重說明有反射或者驅動能力不足。
Q:總線上節點很多,終端電阻導致信號幅值變小怎么處理?
A:可以用RS485中繼器把總線分段,每段節點數減少,驅動壓力分散。或者換驅動能力更強的RS485芯片,部分芯片支持掛載更多節點。網絡偏置電阻配合使用也能改善信號質量。
Q:沒有示波器,怎么初步判斷是反射問題還是干擾問題?
A:反射問題通常在高波特率、長距離時明顯,降低波特率之后錯誤率明顯下降,基本上就是反射。干擾問題則跟波特率關系不大,但和現場某臺設備的啟停有關聯,對應排查方向不同。
Q:RS485隔離型收發器有必要用嗎?
A:強電環境、地電位差大的場合,隔離型收發器是很值得的投入。隔離把兩側的地完全斷開,共模電壓問題直接消除,設備接口也不容易被浪涌打壞。普通干凈環境里,非隔離的夠用,不必要花這個錢。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.