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