基于RS-485總線的可擴展局域網絡的研究
RS-485是在RS-422的基礎上發(fā)展起來的,能實現一點對多點的通信,也能實現多點雙向通信,但同一時刻只能有一個發(fā)送器,其余的為接收器,即一主多從的通信方式。目前市場上可供選擇的RS-485總線芯片很多,其中包括可支持128個節(jié)點的MAXl487和支持400個節(jié)點的SP485R。利用該類芯片可直接組成簡單的通信網絡。
本文引用地址:http://www.butianyuan.cn/article/157797.htmRS-485收發(fā)器采用平衡發(fā)送、差分接收的方式,即在發(fā)送端將TTL信號轉換成差分信號輸出,在接收端,接收器將差分信號轉換成TTL信號。因此具有較高的共模抑制能力。同時接收器具有較高的靈敏度,能檢測低達200mV的電壓,數據傳輸可達1200m。如降低數據傳輸速率,則通信距離可更長。當通信速率為1200bps時,理論上通信距離可達15km。當傳輸距離超過300m時,在網絡的二端需接入120Ω的匹配電阻,以減少因阻抗不匹配而引起的反射,吸收噪聲,從而有效抑制噪聲干擾。MAXl487的接口電路示意圖如圖1所示。

2網絡結構及實施方案
在實際應用中,RS-485總線芯片本身所擁有的節(jié)點數已不能滿足需求,而往往需要一個接點龐大的復雜局域網絡(如幾千甚至幾萬個節(jié)點)來完成。連接在該網絡中的各類設備能相互通信,并且可以在一定節(jié)點數范圍內根據實際需要任意擴展,并做到即插即用。管理人員通過隨身攜帶的筆記本電腦,接入網絡中的任一接點,可了解整個網絡的運行情況。結合用戶應用程序,管理人員還可獲得連接于該網絡上相關設備的運行數據。
針對以上要求,局域網絡必須由多片具有RS-485總線的芯片連接而成。本文討論節(jié)點數≤32768點的局域網絡,使用MAXl487作收發(fā)器。根據RS-485總線的特點;在任一時刻,整個網絡只允許有一個發(fā)送器,其余的必須處于接收狀態(tài)。而接入網絡中的設備隨時可能有多個設備同時傳輸數據的要求,如不進行協調,就會出現總線競爭現象,使總線電子紊亂,整個網絡無法工作。
將一片MAXl487所能連接的128個節(jié)點作為一個子網,整個局域網絡由若干個子網組成。所有節(jié)點不直接和用戶設備相連,而是通過一個節(jié)點模塊和設備連接。這是一種二端帶通信口的智能化模塊,內帶一個單片機系統(tǒng),用于執(zhí)行局域網絡通信協議,負責BS-485總線和設備間的通信,同時參與整個局域網絡的通信協調工作。模塊的一端為RS-485總線,用于連接網絡,另一端是RS-232總線(或TTL電平)與用戶設備、儀器儀表或智能傳感器連接。
子網中每個節(jié)點模塊都有自己的地址,用1個字節(jié)表示,即00H~7FH。而在整個局域網絡中,每個子網也有自己的子網地址,也用1個字節(jié)表示,即00H~FFH。這樣,在整個局域網絡中每個節(jié)點就有自己惟一的用2個字節(jié)的二進制數表示的地址,類似Internet中的IP地址,其地址格式如圖2所示。以00H子網05H節(jié)點為例,其中的X為無效位

規(guī)定每個子網中的地址為00H和7FH的2個節(jié)點為特殊節(jié)點。地址為00H的節(jié)點是該子網的管理者,協調子網中的通信,同時也是該子網的一個數據出入口,和上一個地址為7FH的節(jié)點連接。地址為7FH的節(jié)點為該子網的另一個數據出入口,負責和下一個子網中地址為00H的節(jié)點連接。這表示子網之間是由2個背靠背的節(jié)點模塊通過RS-232總線相連的。
評論