1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 一種實現載波監聽多點接入/沖突檢測的多主RS485總線

        時間:2024-07-13 16:40:58 理工畢業論文 我要投稿
        • 相關推薦

        一種實現載波監聽多點接入/沖突檢測的多主RS485總線

        摘要:提出了一種附加硬件設備,配合軟件實現了RS485總線上的載波監聽多點接入/沖突檢測協議。滿足了系統的穩定性和可靠性,并且提高了系統的實時性。

        智能儀表和現場總線的出現標志著工業控制領域網絡時代的到來,成為工業控制的主流。目前國際上已經出現了多種現場總線和相應的通信協議,但是其系統造價對于許多中小型應用仍顯過高。而RS485總線以其構造簡單、造價低廉、可選芯片多、便于維護等特點在眾多工業控制系統中得到應用。

        1 RS485總線及現有工作方式的特點

        RS485總線以雙絞線為物理介質,工作在半雙工的通信狀態下[1],即同一時刻,總線上只能有一個節點成為主節點而處于發送狀態,其他所有節點必須處于接收狀態。如果同一時刻有兩個以上的節點處于發送狀態,將導致所有發送方的數據發送失敗,即所謂總線沖突。為了避免總線沖突,RS485總線具有以下特點:

        以工作模式來說,一般的RS485總線工作在主從模式下。整個通信總線系統由一個主節點、若干個從節點組成,由主節點不斷地輪流查詢從節點是否有通信需求。如果有則將總線控制權交給某一從節點,從節點發送完畢后立刻交還總線控制權。另外還有一種“輪主輪從”的工作方式,即讓總線控制權在各個節點間以類似令牌環的方式傳遞[3],得到控制權的節點成為主節點,其它節點成為從節點。一個節點在發送完數據的同時,將總線控制權交給相鄰的節點,而這個節點在處理完本節點的通信需求后再把控制權向下傳遞。令牌環式的RS485工作方式如圖1所示。

        從通信節點來講,RS485總線上的節點必須具備將自己的驅動器切換到高阻態的功能?眼1?演,以便在發送完數據后不會對總線狀態造成影響。這種驅動器實行發送態—高阻態切換的一個影響是?押從發送數據完畢到設備切換為高阻態,需要一個轉換延遲。這個轉換延遲是2線制通信中一個很重要的參數。這個時間不能太短,否則發出的字符的最后一部分因為尚未在總線上建立起來而導致丟失。同時這個時間也不能太長,否則在發送端還未轉為高阻態時其他設備已經開始發送數據,會導致總線沖突。因此2線制RS485總線上的主設備必須知道所有從設備的反應時間,并保證在從設備反應之前把驅動器設為高阻態,以接收從設備的數據。常用設備的轉換延遲是當前波特率發送一個字節的時間。

        以上為適應RS485總線的特殊之處而采用的工作方式也引入了一些不足。首先,上面提到的兩種總線工作方式在很多對實時性、可靠性要求高的工業控制場合有較大的局限性。主要原因是主從式總線的從節點無發起通信的權利,相互之間的通信需要通過主節點中轉。而“輪主輪從”總線上的各個節點由于等待總線控制權的時間未知,實時性也無法保證。同時,如果主從式的主節點或者是“輪主輪從”式的獲取令牌的節點出現故障,整個總線的工作將癱瘓,風險過于集中。其次,對驅動器實行“發送態—高阻態”切換以及考慮切換延遲等要求使編程變得復雜。在上電瞬間、CPU損壞或者是程序跑飛的情況下,還需要考慮復雜的故障保護等問題[2],否則將容易引起總線故障。

        2 RS485總線上CSMA/CD的實現

        為了解決各個節點主動獲取總線控制權的問題,人們想到了利用監聽總線狀態的方式實現總線控制權的本地判斷和獲取,也就是CSMA/CD協議實際上做的工作[3]。即所有節點在發送前監聽總線上是否有其他節點在發送數據,如果有,就暫時不發送。另外在發送數據的同時,邊發送邊監聽,如果監聽到沖突則沖突雙方都停止發送。這樣做,既能保證每一個節點都具有發起通信的權利,又能盡量減少發生總線沖突的機會,提高整個系統的吞吐量。

        已有的一種實現方法[4]是將總線接收器的輸出端反相后接到CPU的外部中斷管腳,如圖2所示。用觸發中斷的方式判斷總線上是否有數據傳輸,同時結合定時器中斷判斷總線是否空閑。如果總線空閑,就獲得總線控制權,發送數據;然后用監聽自己發送數據的辦法判斷是否發生總線沖突。該方法解決了總線控制權分配的時延問題,但是需要使用至少4個管腳(INT0、RXD、TXD、驅動器使能管腳),并且占用外部中斷和內部定時器中斷,需要利用軟件監聽發送的數據避免總線沖突。系統資源耗費較多,編程復雜,在一些場合的應用也有局限性。本文在以上方法的基礎上提出了一種利用硬件監聽總線狀態的方法,真正實現CSMA/CD協議。同時減少了系統資源的占用率,簡化了總線沖突的判斷。另外實現了驅動器的無延遲自動切換,進一步提高了系統的實時性。該系統工作穩定、可靠,并且大大提高了通信的實時性,特別適合實時分布式控制的場合。

        2.1 系統框圖

        系統由總線狀態判斷邏輯、驅動器自動切換邏輯兩部分組成,如圖3所示。系統資源只占用CPU的3個管腳:RXD、TXD、總線狀態指示腳,不占用任何中斷。在軟件實現方面由于采用了硬件判斷總線狀態而變得非常簡單,只需要對標準的232通信程序做微小修改即可。

        2.2 總線狀態判斷邏輯

        該電路由雙RS485總線接收

        【一種實現載波監聽多點接入/沖突檢測的多主RS485總線】相關文章:

        一種改進的CAN總線適配卡的設計與實現03-07

        MPC8272總線與DSP HPI總線接口的FPGA實現03-07

        模擬I2C總線多主通信的通用軟件包03-18

        談DSP HPI總線與MPC8272總線接口的FPGA實現03-08

        WCDMA主同步的FPGA實現03-07

        基于PCI總線的CAN卡的設計與實現03-18

        In多鏈路遠程接入方案的探討03-19

        基于CPLD的RS485通信實現方法研究03-07

        單時鐘完成多點分別計時的實現和應用03-18

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>