對RS485總線應(yīng)用的經(jīng)驗總結(jié)
一、RS485總線介紹
RS485總線是一種常見的串行總線標(biāo)準(zhǔn),采用平衡發(fā)送與差分接收的方式,因此具有抑制共模干擾的能力。在一些要求通信距離為幾十米到上千米的時候,RS485總線是一種應(yīng)用最為廣泛的總線。而且在多節(jié)點的工作系統(tǒng)中也有著廣泛的應(yīng)用。
應(yīng)用無線隔離型數(shù)傳模組實現(xiàn)RS485總線的隔離傳輸:
DTD433工業(yè)級無線數(shù)傳模組采用無線電數(shù)字通信技術(shù)代替有線RS485網(wǎng)絡(luò)的可直接使用的模塊化產(chǎn)品。能為眾多的工業(yè)與應(yīng)用提供高性能、中等距離和可靠數(shù)據(jù)傳輸?shù)牡统杀窘鉀Q方案。DTD433系列無線數(shù)傳模組有RS232/RS485標(biāo)準(zhǔn)接口,透明傳輸,通信距離10米~3000米,不需要編寫程序,不需要布線。如果用無線數(shù)傳模組替代串口連接線,則設(shè)備
二、RS485總線保護(hù)電路
隔離雖然能有效的抑制高共模電壓,但總線上還會存在浪涌沖擊、電源線與485線短路、雷擊等潛在危害,所以我們一般會在總線端采取一定的保護(hù)措施。
一般我們會在VA、VB上各串接一個4~10Ω的PTC電阻,并在VA、VB各自對地端接6.8V的TVS管,當(dāng)然也可用普通電阻與穩(wěn)壓二極管代替。更多的還可以加熱保險絲、防**,不過并不是說這些加的越多越好,具體要看實際應(yīng)用,如果這些保護(hù)太多的話,也會影響到整個系統(tǒng)的節(jié)點數(shù),與通信穩(wěn)定性。
三、RS485應(yīng)用的一些小經(jīng)驗
1、收發(fā)時序不匹配
RS485是半雙工的通信,收發(fā)轉(zhuǎn)換是需要一定的時間的,所以一般在收發(fā)轉(zhuǎn)換之間,和每發(fā)送完一幀數(shù)據(jù)之后,都要有相應(yīng)的延時,如果出現(xiàn)收發(fā)不正常、或第一幀數(shù)據(jù)之后就出現(xiàn)誤碼現(xiàn)象,則可以適當(dāng)?shù)脑黾右幌卵訒r時間,再看問題是否解決。
2、R0接上拉電阻
異步通信數(shù)據(jù)以字節(jié)的方式傳送,在每一個字節(jié)傳送之前,先要通過一個低電平起始位實現(xiàn)握手。為防止干擾信號誤觸發(fā)RO(接收器輸出)產(chǎn)生負(fù)跳變,使接收端MCU進(jìn)入接收狀態(tài),建議RO外接10kΩ上拉電阻。
3、合理選用芯片
例如,對外置設(shè)備為防止強電磁(雷電)沖擊,建議選用TI的75LBC184等防雷擊芯片,對節(jié)點數(shù)要求較多的可選用SIPEX的SP485R。此外經(jīng)我們實驗發(fā)現(xiàn),ADI的非隔離型485芯片ADM487E、隔離型芯片ADM2483、ADM2587在多節(jié)點、防雷擊方面也有著很好的表現(xiàn)。
四、維護(hù)RS-485的常用方法
若出現(xiàn)系統(tǒng)完全癱瘓,大多因為某節(jié)點芯片的VA、VB對電源擊穿,使用萬用表測VA、VB間差模電壓為零,而對地的共模電壓大于3V,此時可通過測共模電壓大小來排查,共模電壓越大說明離故障點越近,反之越遠(yuǎn);
總線連續(xù)幾個節(jié)點不能正常工作。一般是由其中的一個節(jié)點故障導(dǎo)致的。一個節(jié)點故障會導(dǎo)致鄰近的2~3個節(jié)點(一般為后續(xù))無法通信,因此將其逐一與總線脫離,如某節(jié)點脫離后總線能恢復(fù)正常,說明該節(jié)點有故障;
集中供電的RS-485系統(tǒng)在上電時常常出現(xiàn)部分節(jié)點不正常,但每次又不完全一樣。這是由于對RS-485的收發(fā)控制端設(shè)計不合理,造成微系統(tǒng)上電時節(jié)點收發(fā)狀態(tài)混亂從而導(dǎo)致總線堵塞。改進(jìn)的方法是將各微系統(tǒng)加裝電源開關(guān)然后分別上電;
系統(tǒng)基本正常但偶爾會出現(xiàn)通信失敗。一般是由于網(wǎng)絡(luò)施工不合理導(dǎo)致系統(tǒng)可靠性處于臨界狀態(tài),最好改變走線或增加中繼模塊。應(yīng)急方法之一是將出現(xiàn)失敗的節(jié)點更換成性能更優(yōu)異的芯片;
因MCU故障導(dǎo)致收發(fā)控制端處于長發(fā)狀態(tài)而將總線拉死一片。提醒用戶不要忘記對收發(fā)控制端的檢查。盡管RS-485規(guī)定差模電壓大于200mV即能正常工作。但實際測量:一個運行良好的系統(tǒng)其差模電壓一般在1.2V左右(因網(wǎng)絡(luò)分布、速率的差異有可能使差模電壓在0.8~1.5V范圍內(nèi))。