引 言:
在通信距離為幾十米到上千米時,RS485收發(fā)器被廣泛使用。RS485收發(fā)器采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力,加上接收器具有高的靈敏度,能檢測低達200mV的電壓,故傳輸信號能在千米以外得到恢復。
使用RS485總線,一對雙絞線就能實現(xiàn)多站聯(lián)網,構成分布式系統(tǒng)。它的設備簡單、價格低廉、能進行長距離通信,故在工程項目中得到了廣泛應用。但是如果工程需要更長的通信距離,超出RS485接口能夠提供的可靠傳送數(shù)據(jù)范圍時,單一的RS485通信控制芯片對就無法完成了。這時,必須在傳輸線路中增加中繼器。
筆者在長期實踐的基礎上,設計了一種微功耗的RS485中繼器,經實地測試,通信距離可達原來的1.8倍。
1 中繼器原理
中繼器原理圖如圖1所示。其中,U1和U2是中繼器的收發(fā)芯片對,負責數(shù)據(jù)的收發(fā)或發(fā)收,采用SIPex公司的3V低功耗芯片SP3485,單片待機時電流為10 μA,其他邏輯電路均采用HC型,待機電流2 μA,大大降低了系統(tǒng)功耗。
圖1原理圖
低待機電流和真失效保護是該應用的兩個關鍵特性。RS485是一種半雙工通信標準,必須控制好總線的收發(fā)狀態(tài)。當RS485輸入開路,或者已經終端匹配且沒有驅動的情況下,U1和U2將使其接收端輸出(RO)為高電平。在差分輸入端A1和B1處,如果有輸入的字節(jié)數(shù)據(jù)時,則在U1的RO端將產生一個電壓躍變,由觸發(fā)器74HC74及與非門74HC00組成的狀態(tài)機在RO的下降沿鎖定為ON狀態(tài)。狀態(tài)機將U2的驅動器使能引腳(DE)拉為高電平,使輸入數(shù)據(jù)字節(jié)從U2以RS485電平轉發(fā)出去。
狀態(tài)機一直監(jiān)視RO引腳的電壓躍變。當一個數(shù)據(jù)字節(jié)傳輸完成時(當在一個內定的時間間隔內沒有下降沿加在狀態(tài)機上時,即表示字節(jié)傳輸完畢),狀態(tài)機自動復位,并等待任何一側接口上的下一個數(shù)據(jù)字節(jié)。
一幀數(shù)據(jù)到達U1后,被轉發(fā)至U2的A2端口和B2端口輸出。在最后一次跳變700μs后U2釋放其輸出。其他的時間延遲可以通過調整圖1中的R1/C1和R2/C2得到。
同樣,如果一幀數(shù)據(jù)到達U2后,將被轉發(fā)至U1的A1端口和B1端口輸出。這樣就實現(xiàn)了數(shù)據(jù)的雙向傳輸,并且由于中繼的原因,理論上通信距離會增至原來的2倍。
2 測試結果
使用泰克示波器TDS2012觀察接收和發(fā)送端的波形,并加以存儲分析,如圖2所示。
其中,垂直刻度為1 V/格,水平刻度為400μs/格;上部波形表示一幀數(shù)據(jù)到來,中間和下部波形分別表示被轉發(fā)至B2和A2。由圖2可見,波形的上升沿和下降沿都很陡,說明數(shù)據(jù)電平比較規(guī)范,失真度很小。并且由于采用了狀態(tài)機結構,能夠自動識別數(shù)據(jù)傳輸方向,比采用軟件控制方向更加方便、可靠,達到了設計要求。
另外,在系統(tǒng)允許的情況下,波特率應盡可能低,因為過高的波特率將致使傳輸距離受限。由于傳輸線的歐姆阻抗、集膚效應等損耗引起信號畸變,從而通信距離受到限制。從實驗結果總結看,有中繼器的數(shù)據(jù)傳輸波特率不宜超過14400。增加中繼器后通信距離為原來的1.8倍。功耗方面,在沒有數(shù)據(jù)傳輸?shù)拇龣C狀態(tài),用微安表測得整機功耗電流約為22 μA(供電電壓3 V)。
圖2波形圖
結語
在對RS485總線理論深入分析的基礎上,結合實際應用,設計了一種完全由硬件組成的RS485中繼器。經過實地測試,收到了良好的效果;同時采用了3V的低功耗芯片,使它非常適宜工作在電池供電的場合。這對于單片機及其他系統(tǒng)的長距離通信有一定的參考價值。