故障安全(Fail-Safe)
總線空閑期間,沒有器件驅動總線,接收器輸出處于未定義狀态。這會導緻UART上接收到随機資料,進而影響無效起始位或幀錯誤。為了解決該問題,可以在總線上放置上拉下拉電阻進行偏置,具體上下拉電阻大小選擇請參考RS-485 偏置上下拉電阻阻值,如下圖所示:
R1和R2計算如下(假設RT=120Ω):
R1=R2=R
VIA-VIB ≥ 200mV
VIA-VIB = RT*VCC / (2R+RT) = 200mV
if VCC = 5V,then R = 1440Ω
if VCC = 3V,then R = 960Ω
如果R值有較低值(VIA-VIB>200mV),系統有更大的噪聲裕量。當然上下拉電阻會導緻DC電流偏置,增加Tx負載,使得節點數量減少。有關總線狀态和差分輸入電壓圖形如下圖所示:
真故障安全接收器(Ture Fail-Safe Receivers)
新一代RS-485接收器經過改進,使差分輸入門檻值電壓從±200mV調整至-200mV和-30mV,這樣就可以省去使用上下拉電阻。在總線空閑期間,VIA-VIB=0(大于-30mV)導緻接收器輸出處于高電平(RO=1),處于确定狀态。
隔離
RS-485通常使用較長鍊路,這會引起總線上不同節點的地電平略有不同,當有較大地電勢差時會以共模幹擾的形式疊加到傳輸線上。如果疊加的幹擾信号超出接收器輸入共模範圍,依靠本地接地作為電流回路是很危險的,最好的解決方式是使用信号和電源隔離來實作健壯的長距離傳輸,下圖是ADI ADM2485隔離RS-485晶片連線示意圖:
ESD保護
在工業應用中,雷擊、電源波動、靜電放電會産生較大的瞬變電壓對RS-485收發器造成損害。以下ESD保護、EFT保護和浪湧保護技術規範适用于RS-485應用:
- IEC 61000-4-2 ESD protection
- IEC 61000-4-4 EFT protection
- IEC 61000-4-5 surge protection
使用外部鉗位器件(比如TVS二極管),保護程度可進一步提升。在RS-485應用中,TVS是将總線上的電壓鉗位到RS-485收發器的共模電壓範圍(-7–12V)。一些TVS器件專門為RS-485Y應用設計。對于更高的電源瞬變,可在受保護器件與輸入引腳之間增加電阻RS(10-20Ω)來加強保護。
參考
- RS-485 - wikipedia
- RS-485/RS-422 Circuit Implementation Guide
- RS-485 收發器教程
- The RS-485 Design Guide