新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于CAN總線的數據采集與控制系統設計

        基于CAN總線的數據采集與控制系統設計

        作者: 時間:2011-05-20 來源:網絡 收藏


        3 軟件設計
        該系統軟件設計主要分為兩個部分:與控制模塊程序設計和通信程序設計。
        3.1 與控制模塊程序設計
        與控制模塊程序設計流程圖如圖6所示。

        本文引用地址:http://www.104case.com/article/194955.htm

        f.jpg


        3.2 通信程序設計
        通信程序設計分為三個部分:CAN總線初始化、數據發送和數據接收。
        (1)CAN總線初始化。CAN總線初始化主要是設置一些通信參數,保證通信的正常進行。初始化主要包括工作方式的設置、驗收濾波方式的設置、驗收屏蔽寄存器和驗收代碼寄存器的設置、波特率參數設置、中斷允許寄存器的設置等。特別需要注意的是,初始化只有在復位模式下才可以進行,因為SJA1000配置信息的寄存器只有在復位模式下才可以進行寫操作。
        (2)數據發送。數據發送前,微處理器周期查詢狀態寄存器,查看發送緩沖器是否被鎖定。若沒有鎖定,則把從現場取得的開關量數據發向CAN總線控制器的發送緩沖區,然后啟動CAN總線控制器發送命令,此時CAN總線控制器自動向總線發送數據。數據發送的流程圖如圖7所示。

        g.jpg


        (3)數據接收。數據接收采用中斷方式。系統中的CAN控制器檢測到總線上有數據時會自動接收總線上的數據,存入其接收緩沖區,并向微控制器發送接收中斷,啟動中斷接收服務程序,通過執行中斷接收服務程序,從CAN控制器的接收緩沖區讀取數據,并對其進行進一步處理工作。數據接收流程圖如圖8所示。

        4 結語
        通過對系統的軟硬件的反復調試表明,該數據采集和控制系統的設計方案是成功的。該系統能高速有效地采集、傳遞和處理現場數據,并且能在惡劣環境下保證通信速率和極低的出錯率,運行效果很好,體現了CAN總線高性能和高可靠性的優點。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绥中县| 芒康县| 桐庐县| 布拖县| 张家界市| 弥勒县| 芮城县| 东兰县| 探索| 包头市| 鄱阳县| 即墨市| 鱼台县| 蓬溪县| 安岳县| 师宗县| 凤冈县| 原阳县| 富锦市| 焉耆| 西青区| 广宗县| 河池市| 昆山市| 台东县| 宁阳县| 唐山市| 东莞市| 桐乡市| 彝良县| 漠河县| 台山市| 大城县| 星子县| 西和县| 宁晋县| 邳州市| 郎溪县| 永泰县| 徐闻县| 康定县|