不知道大家是否會遇到這樣的情況,測試單個RS-485設備數據無異常,但設備組網后,就出現通訊數據異常或連接失敗等情況。出錯的原因是什么?
RS-485總線是具有結構簡單、通信距離遠、通信速度高、成本低等優點,廣泛應用于工業通訊、電力監控以及儀器儀表等行業。若總線上接有終端電阻,則在總線空閑狀態時,RS-485總線AB差分電壓可能處于門限電平(±200mV)之內,這時可能會導致通信出錯,那么,出錯的原因是什么?MCU接收到的數據會發生什么樣的變化?
數據出錯的原因
如圖1所示為8位數據位無校驗位的UART時序圖,當使用UART進行通信時,MCU在檢測到起始位后開始接收其后的數據。
圖1無校驗位,8位數據位,串口時序圖
如圖2所示為STM32串口外設檢測到起始位的條件,當檢測到下降沿(3個高電平+1個低電平)并且采樣序列1和采樣序列2均為0時,STM32檢測到一個起始位。
每個位采樣16次,采樣點的間隔時間為tbit/16,tbit為每個位的時間,例如通信波特率為115.2kbps,則tbit=1/115.2k=8.68us,則采樣點的間隔時間為8.68us/16=0.5425us。

圖2 STM32串口外設檢測到起始位的條件
下面以RSM485PCHT的門限電平為例進行說明,當AB差分電壓處于±200mV之內時,模塊RXD引腳輸出狀態不確定。
當總線變為空閑時,若RXD引腳輸出低電平,則可能導致MCU接收到錯誤數據或MCU在正常數據后誤接收1個0x00。

圖3RSM485PCHT門限電平
數據發生了什么變化?
如圖4所示,收發器1在AB差分電壓處于±200mV門限電平之內時輸出高電平,收發器2在AB差分電壓處于±200mV門限電平之內時輸出低電平,可以看出,收發器2可能導致MCU接收到錯誤的數據,并且在數據后誤接收到1個0x00數據。

圖4數據后多0x00
如圖5所示,若總線上持續存在數據信號或連續發送多個字節數據,在數據之間存在的空閑狀態可能會被收發器2識別為1個起始位,從而導致數據連續錯誤。

圖5 數據連續錯誤
解決方案
總線空閑時若AB差分電壓處于門限電平之內,則可能導致數據出錯,可以使用如下方法避免總線空閑時AB差分電壓處于門限電平之內。
方案一:組網距離不長,總線信號無反射問題或反射較小,此時可不增加終端電阻以提升總線幅值電平,具體的幅值變化如下圖6所示。

圖6終端電阻對總線電平影響
方案二:組網距離偏長,總線信號當前已存在反射需增加終端電阻解決反射問題,面對此類應用可使用致遠電子RSM(3)485PCHT模塊,RS-485接口設計時可通過外置一個較小值的上下拉電阻調節空閑狀態時的電壓值,使電平處于門限電平外,具體的幅值變化如下圖7所示。
圖7RSM(3)485PCHT實物及應用連接圖
方案三:組網距離偏長,總線信號當前已存在反射需增加終端電阻解決反射問題,面對此類應用同樣可使用致遠電子RSM(3)485ECHT模塊,RSM(3)485ECHT具備極高的總線兼容性門限電平為-40mV~-20mV,具體如下圖8所示,在總線電平被終端電阻拉低時(最壞情況總線高電平幅值為0V)仍可識別總線電平,保證通訊的穩定性。
圖8RSM(3)485ECHT實物圖及門限電平參數
-
電平
+關注
關注
5文章
372瀏覽量
41598 -
總線
+關注
關注
10文章
3040瀏覽量
91658 -
終端電阻
+關注
關注
1文章
98瀏覽量
12490
發布評論請先 登錄
解析SN65HVD2x系列:RS-485通信的理想解決方案
SN65HVD5x系列RS-485收發器的特性與應用解析
陶瓷放電管3RL090M-5在RS-485接口方案中的運用
深入解析SN65HVD7x系列3.3-V全雙工RS-485收發器
電子工程師必看:SN55HVD75-EP RS-485 收發器深度解析
ISO1500 隔離式 RS-485/RS-422 收發器:設計與應用全解析
ISO14xx:高性能隔離式 RS-485/RS-422 收發器的卓越之選
抗噪能手:THVD14xx系列RS-485收發器的設計與應用
淺談RS485方案
芯佰微CBM3085 RS-485/RS-422?收發器:低功耗抗擾先鋒
基于上海貝嶺產品的RS-485隔離電路方案
RS-485總線技術規格要求有哪些?
如何處理RS-485系統的常見故障?
關于RS-485總線電平異常解決方案解析
評論