提高RS485總線可靠性及故障處理方法
在MCU之間中長(zhǎng)距離通信的諸多方案中,RS485因硬件設(shè)計(jì)簡(jiǎn)單、控制方便、成本低廉等優(yōu)點(diǎn)廣泛應(yīng)用于工廠自動(dòng)化、工業(yè)控制、小區(qū)監(jiān)控、水利自動(dòng)報(bào)測(cè)等領(lǐng)域。但RS485總線在抗干擾、自適應(yīng)、通信效率等方面仍存在缺陷,一些細(xì)節(jié)的處理不當(dāng)常會(huì)導(dǎo)致通信失敗甚至系統(tǒng)癱瘓等故障,因此提高
本文引用地址:http://www.ex-cimer.com/article/148426.htm另外一種比較省電的匹配方案是RC 匹配(圖2)利用一只電容C
隔斷直流成分,可以節(jié)省大部分功率,但電容C的取值是個(gè)難點(diǎn),需要在功耗和匹配質(zhì)量間進(jìn)行折衷。除上述兩種外還有一種采用二極管的匹配方案(圖3),這種方案雖未實(shí)現(xiàn)真正的匹配,但它利用二極管的鉗位作用,迅速削弱反射信號(hào)達(dá)到改善信號(hào)質(zhì)量的目的,節(jié)能效果顯著?! ?2)RO及DI端配置上拉電阻
異步通信數(shù)據(jù)以字節(jié)的方式傳送,在每一個(gè)字節(jié)傳送之前,先要通過一個(gè)低電平起始位實(shí)現(xiàn)握手。為防止干擾信號(hào)誤觸發(fā)RO(接收器輸出)產(chǎn)生負(fù)跳變,使接收端MCU進(jìn)入接收狀態(tài),建議RO外接10kΩ上拉電阻。
(3)保證系統(tǒng)上電時(shí)的RS485芯片處于接收輸入狀態(tài)
對(duì)于收發(fā)控制端TC建議采用MCU引腳通過反相器進(jìn)行控制,不宜采用MCU引腳直接進(jìn)行控制,以防止MCU上電時(shí)對(duì)總線的干擾,如圖4所示。
(4)總線隔離
RS485總線為并接式二線制接口,一旦有一只芯片故障就可能將總線“拉死”,因此對(duì)其二線口VA、VB與總線之間應(yīng)加以隔離。通常在VA、VB與總線之間各串接一只4~10Ω的PTC電阻,同時(shí)與地之間各跨接5V的TVS二極管,以消除線路浪涌干擾。如沒有PTC電阻和TVS二極管,可用普通電阻和穩(wěn)壓管代替。
(5)合理選用芯片
例如,對(duì)外置設(shè)備為防止強(qiáng)電磁(雷電)沖擊,建議選用TI的75LBC184等防雷擊芯片,對(duì)節(jié)點(diǎn)數(shù)要求較多的可選用SIPEX的SP485R。
2.RS485網(wǎng)絡(luò)配置
(1)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)
網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)與所選RS485芯片驅(qū)動(dòng)能力和接收器的輸入阻抗有關(guān),如75LBC184標(biāo)稱最大值為64點(diǎn),SP485R標(biāo)稱最大值為400點(diǎn)。實(shí)際使用時(shí),因線纜長(zhǎng)度、線徑、網(wǎng)絡(luò)分布、傳輸速率不同,實(shí)際節(jié)點(diǎn)數(shù)均達(dá)不到理論值。例如75LBC184運(yùn)用在500m分布的RS485網(wǎng)絡(luò)上節(jié)點(diǎn)數(shù)超過50或速率大于9.6kb/s時(shí),工作可靠性明顯下降。通常推薦節(jié)點(diǎn)數(shù)按RS485芯片最大值的70%選取,傳輸速率在1200~9600b/s之間選取。通信距離1km以內(nèi),從通信效率、節(jié)點(diǎn)數(shù)、通信距離等綜合考慮選用4800b/s最佳。通信距離1km以上時(shí),應(yīng)考慮通過增加中繼模塊或降低速率的方法提高數(shù)據(jù)傳輸可靠性。
(2)節(jié)點(diǎn)與主干距離
理論上講,RS485節(jié)點(diǎn)與主干之間距離(T頭,也稱引出線)越短越好。T頭小于10m的節(jié)點(diǎn)采用T型,連接對(duì)網(wǎng)絡(luò)匹配并無太大影響,可放心使用,但對(duì)于節(jié)點(diǎn)間距非常小(小于1m,如LED模塊組合屏)應(yīng)采用星型連接,若采用T型或串珠型連接就不能正常工作。RS485是一種半雙工結(jié)構(gòu)通信總線,大多用于一對(duì)多點(diǎn)的通信系統(tǒng),因此主機(jī)(PC)應(yīng)置于一端,不要置于中間而形成主干的T型分布。
3.提高RS485通信效率
RS485通常應(yīng)用于一對(duì)多點(diǎn)的主從應(yīng)答式通信系統(tǒng)中,相對(duì)于RS232等全雙工總線效率低了許多,因此選用合適的通信協(xié)議及控制方式非常重要。
(1)總線穩(wěn)態(tài)控制(握手信號(hào))
大多數(shù)使用者選擇在數(shù)據(jù)發(fā)送前1ms將收發(fā)控制端TC置成高電平,使總線進(jìn)入穩(wěn)定的發(fā)送狀態(tài)后才發(fā)送數(shù)據(jù);數(shù)據(jù)發(fā)送完畢再延遲1ms后置TC端成低電平,使可靠發(fā)送完畢后才轉(zhuǎn)入接收狀態(tài)。據(jù)筆者使用TC端的延時(shí)有4個(gè)機(jī)器周期已滿足要求。
(2)為保證數(shù)據(jù)傳輸質(zhì)量,對(duì)每個(gè)字節(jié)進(jìn)行校驗(yàn)的同時(shí),應(yīng)盡量減少特征字和校驗(yàn)字。
慣用的數(shù)據(jù)包格式由引導(dǎo)碼、長(zhǎng)度碼、地址碼、命令碼、數(shù)據(jù)、校驗(yàn)碼、尾碼組成,每個(gè)數(shù)據(jù)包長(zhǎng)度達(dá)20~30字節(jié)。在RS485系統(tǒng)中這樣的協(xié)議不太簡(jiǎn)練。推薦用戶使用MODBUS協(xié)議,該協(xié)議已廣泛應(yīng)用于水利、水文、電力等行業(yè)設(shè)備及系統(tǒng)的國(guó)際標(biāo)準(zhǔn)中。
上拉電阻相關(guān)文章:上拉電阻原理
評(píng)論