提高RS485總線運行可靠性的設計應用與維修方案
在MCU之間中長距離通信的諸多方案中,RS485因硬件設計簡單、控制方便、成本低廉等優(yōu)點廣泛應用于工廠自動化、工業(yè)控制、小區(qū)監(jiān)控、水利自動報測等領域。但RS485總線在抗干擾、自適應、通信效率等方面仍存在缺陷,一些細節(jié)的處理不當常會導致通信失敗甚至系統(tǒng)癱瘓等故障,因此提高RS485總線的運行可靠性至關重要。
本文引用地址:http://www.ex-cimer.com/article/201612/330080.htm【RS485接口電路的硬件設計】
(1)總線匹配。一種是加匹配電阻,位于總線兩端的差分端口VA與VB之間應跨接120Ω匹配電阻,以減少由于不匹配而引起的反射、吸收噪聲,有效地抑制了噪聲干擾。但匹配電阻要消耗較大電流,不適用于功耗限制嚴格的系統(tǒng)。另外一種比較省電的匹配方案是RC匹配,利用一只電容C隔斷直流成分,可以節(jié)省大部分功率,但電容C的取值是個難點,需要在功耗和匹配質(zhì)量間進行折衷。除上述兩種外還有一種采用二極管的匹配方案,這種方案雖未實現(xiàn)真正的匹配,但它利用二極管的鉗位作用,迅速削弱反射信號達到改善信號質(zhì)量的目的,節(jié)能效果顯著。(2)RO及DI端配置上拉電阻。異步通信數(shù)據(jù)以字節(jié)的方式傳送,在每一個字節(jié)傳送之前,先要通過一個低電平起始位實現(xiàn)握手。為防止干擾信號誤觸發(fā)RO(接收器輸出)產(chǎn)生負跳變,使接收端MCU進入接收狀態(tài),建議RO外接10kΩ上拉電阻。(3)保證系統(tǒng)上電時的RS485芯片處于接收輸入狀態(tài)。對于收發(fā)控制端TC建議采用MCU引腳通過反相器進行控制,不宜采用MCU引腳直接進行控制,以防止MCU上電時對總線的干擾。(4)總線隔離。RS485總線為并接式二線制接口,一旦有一只芯片故障就可能將總線“拉死”,因此對其二線口VA、VB與總線之間應加以隔離。通常在VA、VB與總線之間各串接一只4~10Ω的PTC電阻,同時與地之間各跨接5V的TVS二極管,以消除線路浪涌干擾。如沒有PTC電阻和TVS二極管,可用普通電阻和穩(wěn)壓管代替。(5)合理選用芯片.例如,對外置設備為防止強電磁(雷電)沖擊,建議選用TI的75LBC184等防雷擊芯片,對節(jié)點數(shù)要求較多的可選用SIPEX的SP485R。
【RS485網(wǎng)絡配置】
(1)網(wǎng)絡節(jié)點數(shù)。網(wǎng)絡節(jié)點數(shù)與所選RS485芯片驅動能力和接收器的輸入阻抗有關,如75LBC184標稱最大值為64點,SP485R標稱最大值為400點。實際使用時,因線纜長度、線徑、網(wǎng)絡分布、傳輸速率不同,實際節(jié)點數(shù)均達不到理論值。例如75LBC184運用在500m分布的RS485網(wǎng)絡上節(jié)點數(shù)超過50或速率大于9.6kb/s時,工作可靠性明顯下降。通常推薦節(jié)點數(shù)按RS485芯片最大值的70%選取,傳輸速率在1200~9600b/s之間選取。通信距離1km以內(nèi),從通信效率、節(jié)點數(shù)、通信距離等綜合考慮選用4800b/s最佳。通信距離1km以上時,應考慮通過增加中繼模塊或降低速率的方法提高數(shù)據(jù)傳輸可靠性。(2)節(jié)點與主干距離。理論上講,RS485節(jié)點與主干之間距離(T頭,也稱引出線)越短越好。T頭小于10m的節(jié)點采用T型,連接對網(wǎng)絡匹配并無太大影響,可放心使用,但對于節(jié)點間距非常小(小于1m,如LED模塊組合屏)應采用星型連接,若采用T型或串珠型連接就不能正常工作。RS485是一種半雙工結構通信總線,大多用于一對多點的通信系統(tǒng),因此主機(PC)應置于一端,不要置于中間而形成主干的T型分布。
【提高RS485通信效率】
RS485通常應用于一對多點的主從應答式通信系統(tǒng)中,相對于RS232等全雙工總線效率低了許多,因此選用合適的通信協(xié)議及控制方式非常重要。(1)總線穩(wěn)態(tài)控制(握手信號)。大多數(shù)使用者選擇在數(shù)據(jù)發(fā)送前1ms將收發(fā)控制端TC置成高電平,使總線進入穩(wěn)定的發(fā)送狀態(tài)后才發(fā)送數(shù)據(jù);數(shù)據(jù)發(fā)送完畢再延遲1ms后置TC端成低電平,使可靠發(fā)送完畢后才轉入接收狀態(tài)。據(jù)實際使用TC端的延時有4個機器周期已滿足要求。(2)為保證數(shù)據(jù)傳輸質(zhì)量,對每個字節(jié)進行校驗的同時,應盡量減少特征字和校驗字。慣用的數(shù)據(jù)包格式由引導碼、長度碼、地址碼、命令碼、數(shù)據(jù)、校驗碼、尾碼組成,每個數(shù)據(jù)包長度達20~30字節(jié)。在RS485系統(tǒng)中這樣的協(xié)議不太簡練。推薦用戶使用MODBUS協(xié)議,該協(xié)議已廣泛應用于水利、水文、電力等行業(yè)設備及系統(tǒng)的國際標準中。
【RS485接口電路的電源、接地】
對于由MCU結合RS485微系統(tǒng)組建的測控網(wǎng)絡,應優(yōu)先采用各微系統(tǒng)獨立供電方案,最好不要采用一臺大電源給微系統(tǒng)并聯(lián)供電,同時電源線(交直流)不能與RS485信號線共用同一股多芯電纜。RS485信號線宜選用截面積0.75mm2以上雙絞線而不是平直線。對于每個小容量直流電源選用線性電源LM7805比選用開關電源更合適,當然應注意LM7805的保護。(1)LM7805輸入端與地應跨接220~1000μF電解電容;(2)LM7805輸入端與輸出端反接1N4007二極管;(3)LM7805輸出端與地應跨接470~1000μF電解電容和104pF獨石電容并反接1N4007二極管;(4)輸入電壓以8~10V為佳,最大允許范圍為6.5~24V。可選用TI的PT5100替代LM7805,以實現(xiàn)9~38V的超寬電壓輸入。
【光電隔離】
在某些工業(yè)控制領域,由于現(xiàn)場情況十分復雜,各個節(jié)點之間存在很高的共模電壓。雖然RS485接口采用的是差分傳輸方式,具有一定的抗共模干擾的能力,但當共模電壓超過RS485接收器的極限接收電壓,即大于+12V或小于-7V時,接收器就再也無法正常工作了,嚴重時甚至會燒毀芯片和儀器設備。解決此類問題的方法是通過DC-DC將系統(tǒng)電源和RS485收發(fā)器的電源隔離;通過光耦將信號隔離,徹底消除共模電壓的影響。實現(xiàn)此方案的途徑可分為:(1)用光耦、帶隔離的DC-DC、RS485芯片構筑電路;(2)使用二次集成芯片,如PS1480、MAX1480等。
【RS485系統(tǒng)的常見故障及處理方法】
RS485是一種低成本、易操作的通信系統(tǒng),但是穩(wěn)定性弱同時相互牽制性強,通常有一個節(jié)點出現(xiàn)故障會導致系統(tǒng)整體或局部的癱瘓,而且又難以判斷。因此介紹一些維護RS485的常用方法。(1)若出現(xiàn)系統(tǒng)完全癱瘓,大多因為某節(jié)點芯片的VA、VB被電源擊穿,使用萬用表測VA、VB間差模電壓為零,而對地的共模電壓大于3V,此時可通過測共模電壓大小來排查,共模電壓越大說明離故障點越近,反之越遠。(2)總線連續(xù)幾個節(jié)點不能正常工作。一般是由其中的一個節(jié)點故障導致的。一個節(jié)點故障會導致鄰近的2~3個節(jié)點(一般為后續(xù))無法通信,因此將其逐一與總線脫離,如某節(jié)點脫離后總線能恢復正常,說明該節(jié)點故障。(3)集中供電的RS485系統(tǒng)在上電時常常出現(xiàn)部分節(jié)點不正常,但每次又不完全一樣。這是由于對RS485的收發(fā)控制端TC設計不合理,造成微系統(tǒng)上電時節(jié)點收發(fā)狀態(tài)混亂從而導致總線堵塞。改進的方法是將各微系統(tǒng)加裝電源開關然后分別上電。(4)系統(tǒng)基本正常但偶爾會出現(xiàn)通信失敗。一般是由于網(wǎng)絡施工不合理導致系統(tǒng)可靠性處于臨界狀態(tài),最好改變走線或增加中繼模塊。應急方法之一是將出現(xiàn)失敗的節(jié)點更換成性能更優(yōu)異的芯片。(5)因MCU故障導致TC端處于長發(fā)狀態(tài)而將總線拉死一片。提醒讀者不要忘記對TC端的檢查,盡管RS485規(guī)定差模電壓大于200mV即能正常工作。但實際測量:一個運行良好的系統(tǒng)其差模電壓一般在1.2V左右(因網(wǎng)絡分布、速率的差異有可能使差模電壓在0.8~1.5V范圍內(nèi))。
評論