新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于dsPIC30F6011的CAN總線擴展技術

        基于dsPIC30F6011的CAN總線擴展技術

        作者: 時間:2013-02-01 來源:網絡 收藏

        3 網關的軟件設計

        網關作為消息的轉發器,要準確、實時地接收兩個發送的信息,并且要實時發出去。對于不斷發出信息的問題節點要及時屏蔽,避免錯誤信息蔓延到另 一個網絡。如果CAN網關被設置成透明網關則直接把一個CAN網絡的信息轉發到另外一個網絡中即可,如果CAN網關被設置成和某個區間ID相關,則 要做一些信息過濾和屏蔽處理。當CAN網關檢測到有錯誤時,要通過備用的UART口將錯誤信息上發到上位機或其他信息處理主機。

        CAN網關的信息接收通過硬件中斷來完成。當上有消息時,引起硬件中斷,進入中斷程序后根據中斷標志位的區別把接收到的信息存放到相應的緩沖區中。緩 沖區是一個FIFO的存儲區。而主程序則一直檢測兩個CAN控制器對應的兩個接收緩沖區,當檢測到緩沖區不為空時則把緩沖區內的信息順序發送到另一個網絡 中。從而形成一個具有一定的錯誤檢測能力的雙向通道,完成了兩個CAN網絡的信息轉發。CAN網關的主程序框圖如圖4所示,中斷程序框圖如圖5所示。

        4 結 語

        詳細介紹了CAN的網絡拓撲結構和系統構成,給出了CAN網關的硬件設計原理及軟件設計框圖。這樣的CAN總線網絡,因為引入CAN網關 而增加了消息的傳遞時間,但是這個增加的時間很小,是微秒級的,可以忽略不計。而帶來的優勢明顯,因為把CAN網絡在物理層上劃分為幾個網絡,彼此之間不 相互影響,因而增加了CAN網絡的抗干擾性,同時,靈活,只需要增加一個CAN網關來增加子網即可;通信速率可通過增加網關來提高,通信距離可以擴展 到很遠。通過CAN網關增加了CAN總線的容量、提高了CAN總線的通信速率、擴展了CAN總線的傳輸距離。

        隔離器相關文章:隔離器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西平县| 东丽区| 特克斯县| 日土县| 南开区| 东明县| 义乌市| 综艺| 临沭县| 科尔| 黄大仙区| 黄浦区| 黔东| 平阴县| 松潘县| 左贡县| 清远市| 沙坪坝区| 鹤壁市| 富阳市| 泊头市| 玛纳斯县| 蓬安县| 屏南县| 达日县| 桑植县| 龙井市| 喀什市| 泌阳县| 景东| 郯城县| 犍为县| 神池县| 高密市| 额济纳旗| 崇州市| 商南县| 宁夏| 织金县| 城步| 大化|