新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線智能節點的設計

        基于CAN總線智能節點的設計

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

        3.1 初始化CAN控制器

        C8051F550上電復位后,控制寄存器CANOCN的INIT位和CCE位置‘1’。允許寄存器初始化并寫入設置信息。需要寫入的寄存器主要包括位定時寄存器和擴展寄存器,命令掩碼寄存器。主要完成時序參數的配置和消息對象的初始化。本設計中,使用晶振頻率為11.05MHz,位定時設置為996.65~1000ns。初始化程序如下:

        點擊放大圖片

        3.2 CAN中斷服務程序

        C8051F550的CAN支持的中斷方式有狀態中斷和模塊中斷。狀態中斷方式是在報文成功傳輸或檢測到CAN總線出錯時發生的。模塊中斷也稱消息中斷。CAN控制器允許用戶按需求配置消息對象成為中斷源。通過設置消息控制寄存器的中斷懸掛位可實現此功能。在CAN中斷寄存器中以最高優先級來指向這些掛起的中斷,而不考慮時序。狀態中斷有最高優先級,讀取狀態寄存器會自動清除狀態中斷值(8000h)。消息中斷優先級是隨消息編號的增加而減小。消息中斷是由清除消息對象的INTPND位來清除的。中斷服務流程圖如圖3所示。

        點擊放大圖片

        圖3 中斷服務流程

        4 結束語

        本系統的總線通信網絡已實現三個節點與上位機的連調,系統軟件采用結構化程序設計方案,使其具有較好的模塊化和可移植性,對于不同的系統功能或不同的應用環境,可以方便地進行編程重組。

        本文設計的CAN總線通信網絡中的主從智能節點經過試驗調試,硬件電路工作正常,在總線數據采集系統中抗干擾能力強。軟件部分實時性強,準確率高。從節點可以實時地將信息傳送給主節點,以便主節點實時監控。整個節點通信系統工作穩定,可以滿足現場環境要求。

        在設計過程中,認識到目前基于CAN2.0B協議的CAN控制器無法為實時和非實時性數據動態分配優先權,基于事件觸發模式的訪問機制無法滿足眾多節點的實時訪問。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 张家川| 大新县| 罗定市| 清镇市| 固镇县| 平乐县| 历史| 靖安县| 渑池县| 罗甸县| 康马县| 三台县| 茂名市| 施秉县| 渑池县| 敦化市| 资兴市| 梅河口市| 新巴尔虎右旗| 正宁县| 乐陵市| 托里县| 汉川市| 鄂尔多斯市| 安溪县| 黄龙县| 罗定市| 秀山| 吉安市| 康马县| 张家口市| 南充市| 旬邑县| 东丰县| 平和县| 花垣县| 措勤县| 东乡族自治县| 安图县| 伊川县| 洛隆县|