<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于RS485總線的可擴展局域網絡的研究

          基于RS485總線的可擴展局域網絡的研究

          作者: 時間:2016-12-12 來源:網絡 收藏

            1 RS-485總線通訊的特點

          本文引用地址:http://www.ex-cimer.com/article/201612/341444.htm

            RS-485是在RS-422的基礎上發(fā)展起來的,能實現一點對多點的通訊,也能實現多點雙向通訊,但同一時刻只能有一個發(fā)送器,其余的為接收器,即一主多從的通訊方式。目前市場上可供選擇的RS-485總線芯片很多,其中包括可支持128個節(jié)點的MAXl487和支持400個節(jié)點的SP485R。利用該類芯片可直接組成簡單的通訊網絡。

            RS-485收發(fā)器采用平衡發(fā)送、差分接收的方式,即在發(fā)送端將TTL信號轉換成差分信號輸出,在接收端,接收器將差分信號轉換成TTL信號。因此具有較高的共模抑制能力。同時接收用具有較高的靈敏度,能檢測低達200mV的電壓,數據傳輸可達1 200m。如降低數據傳輸速率,則通訊間隔可更長。當通訊速率為1 200bps時,理論上通訊間隔可達15km。當傳輸間隔超過300m時,在網絡的二端需接進120Ω的匹配電阻,以減少因阻抗不匹配而引起的反射,吸收噪聲,從而有效抑制噪聲干擾。MAXl487的接口電路示意圖如圖1所示。

              

           

            2網絡結構及實施方案

            在實際應用中,RS-485總線芯片本身所擁有的節(jié)點數已不能滿足需求,而往往需要一個接點龐大的復雜局域網絡(如幾千甚至幾萬個節(jié)點)來完成。連接在該網絡中的各類設備能相互通訊,并且可以在一定節(jié)點數范圍內根據實際需要任意擴展,并做到即插即用。治理職員通過隨身攜帶的筆記本電腦,接進網絡中的任一接點,可了解整個網絡的運行情況。結適用戶應用程序,治理職員還可獲得連接于該網絡上相關設備的運行數據。

            針對以上要求,局域網絡必須由多片具有RS-485總線的芯片連接而成。本文討論節(jié)點數≤32768點的局域網絡,使用MAXl487作收發(fā)器。根據RS-485總線的特點;在任一時刻,整個網絡只答應有一個發(fā)送器,其余的必須處于接收狀態(tài)。而接進網絡中的設備隨時可能有多個設備同時傳輸數據的要求,如不進行協(xié)調,就會出現總線競爭現象,使總線電子紊亂,整個網絡無法工作。

            將一片MAXl487所能連接的128個節(jié)點作為一個子網,整個局域網絡由若干個子網組成。所有節(jié)點不直接和用戶設備相連,而是通過一個節(jié)點模塊和設備連接。這是一種二端帶通訊口的智能化模塊,內帶一個單片機系統(tǒng),用于執(zhí)行局域網絡通訊協(xié)議,負責BS-485總線和設備間的通訊,同時參與整個局域網絡的通訊協(xié)調工作。模塊的一端為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é)點是該子網的治理者,協(xié)音調網中的通訊,同時也是該子網的一個數據出進口,和上一個地址為7FH的節(jié)點連接。地址為7FH的節(jié)點為該子網的另一個數據出進口,負責和下一個子網中地址為00H的節(jié)點連接。這表示子網之間是由2個背靠背的節(jié)點模塊通過RS-232總線相連的。

            這2個背靠背的節(jié)點模塊又是子網之間的中繼站。同時還規(guī)定00H子網的00H節(jié)點,即地址為"00000000·00000000"的節(jié)點為整個網絡的最高治理者。局域網絡宜采用拓撲結構,以進步網絡運行效率,而鏈式結構可增加網絡的通訊間隔。RS-485總線構成的局域網絡結構示意圖如圖3所示(以00H、01H 2個子網為例)。

              

           

            3節(jié)點模塊的設計

            該局域網絡的關鍵是節(jié)點模塊的設計。這也是本局域網絡的特色所在,其中軟件設計至關重要。節(jié)點模塊主要完成網絡的治理和通訊。為了使模塊具有通用性,所有節(jié)點模塊具有相同的結構和軟件,只要按照網絡協(xié)議選擇好正確的地址,任一模塊都可相互替換。網絡中沒有專門的網絡服務器,任意一個節(jié)點模塊都具有服務器的功能。哪個節(jié)點模塊充當服務器是由其自身的地址決定的,因此節(jié)點模塊軟件應該具有自動識別地址的功能,以確定自己在網絡中的位置和角色。例如,當檢測到自身的地址是"00001010·×0000000"時,就知道自己是0AH子網中的OOH節(jié)點,并且是該子網中的治理者;當檢測到自身地址是"00000000·×0000000"時,就知道自己是整個局域網絡的最高治理者。節(jié)點模塊地址可由用戶自行設定。

            為了實現即插即用功能,最高治理者必須定時向整個網絡廣播,以便收集網絡的運行情況(如是否有新節(jié)點加進,是否有節(jié)點從網絡上退出等)并形成網絡狀態(tài)注冊表,根據實際情況實時刷新。任何節(jié)點都可以向最高治理者取得該注冊表,以便治理職員從任一節(jié)點上獲得網絡運行狀態(tài)。

            網絡空閑時,最高治理者不斷地向整個網絡發(fā)出詢問,監(jiān)視是否有數據通訊要求。子網內部的數據通訊由該子網的治理者(節(jié)點地址為00H)協(xié)調,只有跨子網傳輸數據時,最高治理者(子網地址為00H,節(jié)點地址也是00H)才會干預。節(jié)點模塊中有8KB的SRAM作為數據緩沖區(qū),另外有2KB的E2PROM用于保存注冊表等信息。單片機的串行通訊口既要完成RS-485總線的通訊,又要完成由RS-232總線到設備的通訊,所以必須有通訊口切換功能。平時單片機的串行通訊口總是與RS-485總線相連,只有當設備需要傳輸數據時才切換到RS-232總線,所以系統(tǒng)還必須有對設備通訊請求的檢測功能。限于篇幅,軟件具體編程在此不作敘述。節(jié)點模塊的結構如圖4所示。

              

           

            4總 結

            理論上該局域網絡對節(jié)點的擴展沒有限制,但考慮到RS-485總線通訊速度的限制,因此網絡規(guī)模不宜過大。由前面的結構分析可知,網絡的可靠性取決于子網。由于各子網間不會產生串擾,因此網絡的可靠性不會隨網絡的規(guī)模擴大而降低。這是一個通用的局域網絡,適合任何需要RS-485總線通訊的場合,因此實用性非常強。



          關鍵詞: RS485 RS422

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();