怎樣提高485總線的可靠性
1 問題的提出
在應用系統(tǒng)中,RS-485半雙工異步通信總線是被各個研發(fā)機構(gòu)廣泛使用的數(shù)據(jù)通信總線,它往往應用在集中控制樞紐與分散控制單元之間。系統(tǒng)簡圖如圖1所示。
圖1. RS-485系統(tǒng)示意圖
由于實際應用系統(tǒng)中,往往分散控制單元數(shù)量較多,分布較遠,現(xiàn)場存在各種干擾,所以通信的可靠性不高,再加上軟硬件設計的不完善,使得實際工程應用中如何保障RS-485總線的通信的可靠性成為各研發(fā)機構(gòu)的一塊心病。
在使用RS-485總線時,如果簡單地按常規(guī)方式設計電路,在實際工程中可能有以下兩個問題出現(xiàn)。一是通信數(shù)據(jù)收發(fā)的可靠性問題;二是在多機通信方式下,一個節(jié)點的故障(如死機),往往會使得整個系統(tǒng)的通信框架崩潰,而且給故障的排查帶來困難。
針對上述問題,我們對485總線的軟硬件采取了具體的改進措施
2 硬件電路的設計
現(xiàn)以8031單片機自帶的異步通信口,外接75176芯片轉(zhuǎn)換成485總線為例。其中為了實現(xiàn)總線與單片機系統(tǒng)的隔離,在8031的異步通信口與75176之間采用光耦隔離。電路原理圖如圖2所示。
圖 2 改進后的485通信口原理圖
充分考慮現(xiàn)場的復雜環(huán)境,在電路設計中注意了以下三個問題。
2.1 SN75176 485芯片DE控制端的設計
由于應用系統(tǒng)中,主機與分機相隔較遠,通信線路的總長度往往超過400米,而分機系統(tǒng)上電或復位又常常不在同一個時刻完成。如果在此時某個75176的DE端電位為“1”,那么它的485總線輸出將會處于發(fā)送狀態(tài),也就是占用了通信總線,這樣其它的分機就無法與主機進行通信。這種情況尤其表現(xiàn)在某個分機出現(xiàn)異常情況下(死機),會使整個系統(tǒng)通信崩潰。因此在電路設計時,應保證系統(tǒng)上電復位時75176的DE端電位為“0”。由于8031在復位期間,I/O口輸出高電平,故圖2電路的接法有效地解決復位期間分機“咬”總線的問題。
評論