1 前言
在許多巡檢系統工程應用中,往往需要計算機與多個單片機實現遠距離多機雙向通信。在計算機為上位機,單片機是下位機的情況下,目前通用的方法是采用RS-485協議,要求芯片通常都具有抗靜電干擾、節點多、通信速率高等優點。然而,在筆者設計的幾個系統中所使用的多種類型的RS-485、RS-422協議的芯片卻都無一例外的特別容易損壞,輕則封裝表面出現局部燒黑,重則爆裂,以致于整個系統癱瘓。在鄭州車輛段脫軌器微機監控系統中,設計時用1臺計算機作為上位機,23個股道的單片機(89C51)作為下位機。系統卻在空凋開關、日光燈短路等現象出現時造成芯片不同程序的損壞,幾乎每個月都要更換通信芯片20余片,設計者采取了多種保護措施,依然沒有解決問題。并且,離上位機距離最近的幾個總是最選損壞。
1999年初,新鄉三瑞電子技術有限公司精心研制了一種高可靠性、遠距離、多機、分時雙工串行通信芯片SR331" title="SR331">SR331,并由中國臺灣加工生產。該器件的最大特點是可能、穩定。SR331利用20mA電流環" title="電流環">電流環、光電隔離、多機通信" title="多機通信">多機通信原理有效地實現了復雜電磁環境下的多機通信,在通信距離為1000m時,通信速率達9600bps,而其下位機沒有數量限制。
2 SR331芯片介紹
SR331是遠距離通信芯片,其主要特點是:可靠性高(這正是研制SR331的初衷)和對下位機數量沒有限制。
SR331采用的電源電壓為5±0.5V;并采用TTL電平,它的RxD和TxD直接與單片機(如AT89C51)連接;其MTBF大于100萬小時;工作溫度范圍為-30~+70℃。SR331采用8腳DIP封裝,其管腳排列如圖1所示。各引腳的功能定義如下:
1腳:T+,發送正端;
2腳:T-,發送負端;
3腳:RxD,接收端,接本地CPU的RxD;
4腳:GND,接地,通常接本地CPU的地;
5腳:R-,接收負端;
6腳:R+,接收正端;
7腳:TxD,發送端,接本地CPU的RxD;
8腳:Vcc,+5V的電源端,接本地CPU的Vcc。

3 點對點串行雙工通信
利用20mA電流環、光電隔離實現計算機與單片機點對點通信的原理在其它文獻[1]中介紹較多,這里不再敘述。
采用SR331實現1臺計算機與1個下位機串地通信的原理圖如圖2所示,計算機使用標準串行口COM1,單片機選用89C51。
MAX232用來實現計算機的標準串行口COM1所輸出的RS-232信號電平與TTL電平之間的轉換。計算機串行口X1-TxD腳的常態為-12V,D1的9腳輸出低電平(0V)到SR331的D2的TxD腳,此時,環路A[(8V)→(R1)→(RP1)→(D3的R+腳)→(D3的R-腳)→(D2的T+腳)→(D2的T-腳)→GND(上位機端)]無電流通過,D3的RxD腳輸出高電平(+5V)送給單片機90C51;而當計算機發送信息的起始位時,X1的TxD腳輸出為+12V,D1的9腳輸出高電平(+5V)到SR331的D2的TxD腳,此時,環路A有20mA的電流通過,D3的RxD腳輸出低電平(0V),從而實現上位機到下位機的通信。
當單片機89C51KD4中TxD腳的常態為高電平+5V時,環路B[8V]→(R2) →(RP2) →(D2的R+腳) →(D2的R-腳)→(D3的T+腳)→(D3的T-腳)→GND(上位機端)無電流通過,此時D2的RxD腳輸出的高電平(+5V)經MAX232轉換為-12V送給計算機;在單片機發送信息的起始位時,D4的TxD腳輸出為低電平0V,環路B中有20mA電流通過,D2的RxD腳輸出低電平(0V)并經MAX232轉換為+12V送給計算機,從而實現下位機到上位機的通信。根據通信距離的遠近調節RP1和RP2可以使環路A和環路B中的電流為20mA。

4 多機主從式分時雙工串行通信
計算機與單片機的通信除點對點的通信以外,在許多現場控制中,還會出現一機對多機或多機間的通信。下面介紹以計算機作為上位機,多個單片機(89C51)作為下位機的串行通信設計方式。該設計要求下位機要服從上位機的調度和支配,即單片機的通信方式要使用串行口通信方式2,也就是利用第9位。通信各方約定如下:
上位機向下位機發送地址信息時,其第9位必須為1,當向下位機發送命令時,其第9位必須為0。
圖3所示為上位機與多個下位機進行分時雙工串行通信的電路原理圖。當上位機通過SR331向下位機發送地址、命令時,每個下位機通過SR331都能收以。在下位機處于監聽狀態時,置SM2=1。當確認是本下位機地址時,置SM2=0,以準備接收命令。然后向上位機回送信息。每個下位機均可單獨向上位機發送信息。平樣就實現了上位機與多個下位機的分時通信。
5 結束語
為了解決多機遠距離通信的可靠性問題,新鄉三瑞電子技術有發公司才下決心研制SR331,可喜的是:SR331具有出人意料的高可靠性,并且環境適應能力強,無須中繼,同時對下位機的數量沒有限制(太多時,在電阻R1前使用較高電壓即可)。雖然,為了提高可靠性犧牲了部分通信速率,但9600bps對于一般巡檢系統已經足夠。目前,SR331已經成功應用于鄭州車輛段脫軌器微機監控系統(具有29個下位機)、新鄉車輛段脫軌器微機監控系統(具有12個下位機)、新鄉車輛段列車試風微機監控系統(具有4個下位機)、洛陽車輛段脫軌器微機監控系統(具有12個下位機)、洛陽車輛段空氣壓縮機微機監控系統(具有4個下位機)等系統中。現在,投入實現運行的300多片在連續工作500天后無一損壞。由此可見,SR331具有極高的可靠性。
