国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產業發展的先行者!
隨著會計的發展,追蹤碳足跡
CAIAC 2025
2024
工業智能邊緣計算2024年會
2023年工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于獨立雙CAN控制器的中繼器設計與實現
  • 企業:控制網     領域:工業以太網     行業:市政工程    
  • 點擊數:1161     發布時間:2008-06-12 10:33:45
  • 分享到:

1 引言

    CAN(Controller Area Network,控制器局域網)總線是一種有效支持分布式控制或實時控制的串行通信網絡,是現場總線的一種。CAN總線具有通信速率高、開放性好、糾錯能力強和系統成本低等優點,現已在機械工業、機器人、醫療器械等各種領域中得到了廣泛的應用。

    然而由于受到CAN收發器的限制,在一個CAN總線網絡中最多只能有110個CAN節點,最大只能達到10 km的通信距離,所以當所需CAN總線網絡規模超出以上限制時就必須進行CAN總線網絡的擴展。目前一般的擴展方式是加入CAN總線中繼器。CAN中繼器的主要任務是在兩個CAN網段之間實現數據的轉發,他具有過濾通信量,擴大通信距離,增加節點的最大數目,允許各個網段使用不同的通信速率,提高可靠性,改善網絡性能等優點,是CAN組網的關鍵設備之一。在稍大型的CAN總線網絡中經常會用到中繼器。

    通常CAN中繼器都是基于兩片獨立的CAN控制器實現的。這樣的CAN中繼器雖然可以擴大通信距離、增加節點的最大數目,但是由于他的數據存儲轉發要通過CPU的內部緩存中轉,使得CPU與CAN控制器之間的數據交互過多,從而造成通信系統的時延增加,實時性能變差,CPU的負擔變重。同時當網絡負擔較重時,還會因為CPU的內部緩存容量有限,造成幀丟失現象,使系統可靠性變差。然而,實時性和可靠性對通信系統而言是非常重要的。

    針對上述中繼器在實時性和可靠性上的缺點,我們采用獨立雙CAN控制器作為兩路CAN接口的控制器來設計CAN中繼器。利用獨立雙CAN控制器的內置FIFO和網關的特性,使兩個CAN節點共享雙CAN模塊的資源,允許在兩個單獨的CAN節點之間直接通過FIFO進行數據交換,而不使用CPU內部緩存中轉,這樣減少了CPU與控制器之間的數據交互,優化了CAN總線的傳輸,大幅度減少了CPU的負荷,改善了整個系統的實時性和可靠性。

2 獨立雙CAN控制器簡介

    獨立雙CAN控制器包括兩個全CAN功能節點。但他并不是這兩個CAN節點簡單的組合,而是這兩者既可以獨立使用,又可以通過雙CAN控制器的網關功能,設計出可以大幅度減輕CPU負擔的中繼器的設備。除此之外,雙CAN控制器還具有節電功能、更多的中斷功能和增強的濾波功能等,他與微控制器的信息交換通道也有串行和并行兩種選擇。

    圖1給出了獨立雙CAN控制器的結構框圖。他由CAN節點A/B、報文對象緩沖器、雙CAN控制模塊、端口控制、總線接口、中斷控制等模塊構成。


    端口控制模塊實現CAN節點A/B收發數據;總線接口模塊用于接收來自CPU的片選、時鐘、地址、讀寫信號等信息,實現與CPU的信息交互;中斷控制模塊負責整理中斷源信息,向CPU發出中斷信號;雙CAN控制模塊是一個全局控制接口,他包括初始化邏輯、全局控制和狀態邏輯以及中斷請求接收器;報文緩沖單元包含報文緩沖區、FIFO緩沖區管理、網關控制邏輯以及一個基于中斷請求發生單元的報文。CAN節點A/B分別又包括位流處理器、位定時控制單元、錯誤處理邏輯、中斷請求產生單元和節點控制邏輯。其中CAN節點A/B、報文對象緩沖器、雙CAN控制模塊等模塊構成了獨立雙CAN控制器的核心。圖2給出了這幾個核心模塊的詳細結構。

3 基于獨立雙CAN控制器的中繼器設計

    獨立的雙CAN控制器支持在兩個單獨CAN總線之間的信息自動傳輸,他的網關功能是通過兩個單獨的CAN節點共享的CAN報文對象存儲器來實現的,使報文轉發不用CPU的干預。通過對報文配置寄存器中的報文對象CAN節點選擇位的設置,使每一個存儲在報文存儲器中的報文對象關系到節點A或節點B。兩個節點之間的信息交換可以通過聯結兩個報文對象(正常網關模式)或通過共享一個共同的報文對象(共享網關模式)來實現。本文中以共享網關模式來設計一個CAN中繼器。

    所設計的中繼器可以實現CAN節點A將與他相連的數據源所連續發送的數據幀通過CAN節點B自動發送到目標方的CAN總線上,反之亦然。

3.1 CAN中繼器的硬件設計

    CAN中繼器主要由微控制器和兩路CAN控制器接口組成。現在這個中繼器的微控制器(CPU)由89C52來充當,他負責整個中繼器的監控任務。兩路CAN控制器接口使用獨立雙CAN控制器82C900、光電耦合電路和CAN總線驅動器82C250組成。兩路CAN接口的CAN總線驅動器都采用帶隔離的DC/DC模塊單獨供電。這樣不僅實現了兩路CAN接口之間的電器隔離,也實現了CAN中繼器與總線之間的隔離。采取隔離措施,可以使故障局限在某一網段內,而不至于影響其他網段,既便于維護又保證了系統的安全。圖3給出了CAN中繼器的硬件結構。


    除了上述的器件,該CAN中繼器的硬件還包括:LED指示燈、E2PROM、Watch Dog等部分。在這里共使用了7個LED燈:1個用于上電指示,4個用于兩路CAN接口的接收和發送指示燈,另外2個用于兩路CAN接口的通信故障指示。通過這些LED指示燈就可以基本了解整個系統的當前運行狀態。在復位電路設計中,采用了3種復位方式,即上電復位、手動復位和軟件復位。上電后,89C52、82C900 等即可復位;另外還可以通過手動開關強制復位;軟件復位主要是由看門狗Watch Dog(MAX1232)進行控制,當軟件運行出現死循環時,看門狗發送復位信號,對系統復位以保證軟件的順利運行,這樣設計便于調試和處理整個系統運行時出現的問題。E2PROM采用具有1 kB容量的24LC08,他用于保存CAN中繼器的配置參數等信息,以便于系統的靈活配置。

3.2 CAN中繼器的軟件設計

    圖4表示了在該中繼器中獨立雙CAN控制器的工作狀態。接收數據幀的節點為源方,而經過中繼器發送數據幀的節點為目標方。一個共享報文對象設置為源方的接收對象,當數據幀發送位GDFS置為1(即設為對應的數據幀自動發送)時他接收到一個數據幀,通過對報文對象節點選擇位NODE(0表示該報文對象分配給CAN節點A,1表示該節點分配給CAN節點B)和報文對象方向控制位DIR(0為接收對象,1為發送對象)取反,報文對象發送請求位置位,該報文對象轉為目標方的一個發送對象,同時發送相關的數據幀,而不需要任何CPU的干預。在報文對象發送成功后,報文對象發送請求位復位,共享報文對象返回到作為與源方關聯的接收對象的初始功能。


    對于CPU而言,由于通信對時間的要求,進行軟件設計時要求做到轉發數據的時間盡量短,因此CPU在接收數據時都是采用中斷方式。

   CAN中繼器的軟件設計主要包括以下幾部分:初始化程序、主監控程序、中繼器功能中斷子程序等。

    在初始化程序中,89C52初始化是對芯片的I/O和堆棧等進行初始設定,使其能正常工作;雙CAN控制器初始化主要是指設置模式、總線時序、中斷使能、屏蔽碼和ID號等,這些設置是通過配置82C900芯片內部寄存器來實現的。

    主監控程序負責監控整個系統,當發現中斷時調用相應的中斷服務程序。當主監控程序接收到某一節點的接收報文中斷時,調用中繼器功能中斷子程序。中繼器功能中斷子程序會實現圖4中所示的接收、轉發報文的過程,實現中繼器功能。圖5是CAN總線中繼器的軟件程序流程圖。


3.3 兩種CAN中繼器性能比較

    基于兩片獨立的CAN控制器的CAN中繼器在進行存儲轉發時,是先將一個CAN節點接收到的數據幀從其控制器FIFO中讀出并存儲到CPU的內部緩存中,再由CPU的內部緩存將數據幀寫到另一個CAN節點控制器的FIFO中并發送。

    基于獨立雙CAN控制器的CAN中繼器利用獨立雙CAN控制器中特有的網關功能,以及他的兩個CAN節點共享FIFO的特性,所以在工作時只要通過配置雙CAN控制器相應寄存器的值(如報文對象的報文配置寄存器、報文對象的網關控制寄存器)就可以實現將一個節點接收到的數據幀存于共享FIFO中,再由另一個節點直接從共享FIFO中讀出并發送。

    由于報文不需要在CPU的內部存儲空間中轉,使用獨立雙CAN控制器的CAN中繼器CPU與控制器之間的數據交互要遠少于基于兩片獨立的CAN控制器的CAN中繼器,最大程度上減少了數據存儲轉發的時間,縮小了通信時延,提高了系統的實時性。

    同時基于獨立雙CAN控制器的CAN中繼器由于存儲轉發時不使用CPU內部存儲空間,也就避免了在通信任務較重時,因為CPU內部存儲空間有限而造成的幀丟失現象,極大地提高了系統的可靠性。

    通過以上分析,我們可以發現基于獨立雙CAN控制器的CAN中繼器在實時性和可靠性上都優于基于兩片獨立的CAN控制器的CAN中繼器。

4 結 語

    基于獨立雙CAN控制器的CAN中繼器由于利用雙CAN控制器本身的內置FIFO和網關功能的特性,避免了受到CPU內部存儲空間的限制,最大限度地減少了CPU對處理報文的負擔、縮小通信時延,改善了通信系統的實時性和可靠性。實踐證明,該中繼器工作時性能穩定,實時性和可靠性都有明顯提高,但是他的軟件設計比較復雜,希望以后能找到更好的軟件算法。

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 97免费视频免费视频 | 欧美一级毛片一级 | 日本一本久 | 欧美成年视频 | 精品欧美日韩一区二区 | 久爱综合 | 91视频一区 | 欧美三级在线观看不卡视频 | 69凹凸国产成人精品视频 | 日本一级视频 | 亚洲男女网站 | 日日爽夜夜操 | 精品成人毛片一区二区视 | 视频在线一区 | 成人亚洲天堂 | 男女晚上爱爱的视频在线观看 | 国产成人18黄网站免费 | 久久99精品久久久久久久野外 | 亚洲精品高清国产一线久久97 | 国产成人mv在线观看入口视频 | 久久精品免视着国产成人 | 女人被男人躁得好爽免费文 | 免费观看成年人视频 | 免费 欧美 自拍 在线观看 | 国产精品一在线观看 | 亚洲国产精品a一区二区三区 | 97视频在线免费观看 | 91欧美一区二区三区综合在线 | 99久久99久久久99精品齐 | 久久伊人免费视频 | 毛片网站在线 | 青青热在线精品视频免费 | 好吊操这里只有精品 | 亚洲精品91香蕉综合区 | 中国精品视频一区二区三区 | 韩国激情啪啪 | 久9青青cao精品视频在线 | 久久精品中文字幕免费 | 亚洲欧美中文在线观看4 | 亚洲自偷自拍另类12p | 一a一片一级一片啪啪 |