新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的單片機與數字信號處理器通信系統設計

        基于CAN總線的單片機與數字信號處理器通信系統設計

        作者: 時間:2009-08-24 來源:網絡 收藏

        3 軟件
        組成的進行數據時,應約定通信協議,如幀格式、波特率、標識符等。各節點軟件均包括數據發送和接收子程序以及控制器初始化子程序。這里著重研究控制器的初始化。
        3.1 通信軟件
        單片機CAN通信系統軟件設計主要是指SJA1000總線控制器的初始化程序設計。
        CAN總線控制器初始化程序主要是通過對SJA1000寄存器寫入相應的控制字,從而確定SJA1000的工作方式。SJA1000需要初始化的寄存器有:模式寄存器MODE、時鐘分頻寄存器CDR、接收代碼寄存器ACR、接收屏蔽寄存器AMR、中斷使能寄存器IER、總線定時寄存器BTR、輸出控制寄存器OCR等。其中,總線定時寄存器BTR的值決定CAN通信波特率,而波特率正確與否,是與單片機實現CAN通信的關鍵。因為這些寄存器僅能在SJA1000復位期間進行寫訪問,因此在對這些寄存器初始化之前,必須確保系統進入復位狀態,在初始化后,須清除復位請求位,使SJA1000返回正常運行狀態,其初始化子程序如下:


        3.2 數字信號處理器通信系統軟件設計
        在使用數字信號處理器CAN控制器前必須對它的一些內部寄存器進行設置,如對位定時器的設置及對郵箱進行初始化。位定時器主要由CANBCR1和CANBCR2兩個寄存器組成,配置對位定時器也就是設置這兩個寄存器,其值決定了CcAN控制器的通信波特率、同步跳轉寬度、采樣次數和重同步方式等。對郵箱初始化主要是對郵箱進行配置,設置郵箱的標識符以及接收濾波器的設置等。 CAN控制器初始化子程序如下:

        4 結 語
        單片機與數字信號處理器CAN總線通信系統實驗過程中,發送端采用查詢方式,接收端采用中斷方式,利用鍵盤改變發送數據,接收端利用液晶顯示器實時顯示接收數據。反復試驗表明,該系統工作穩定性較高;該系統硬件電路或軟件程序稍加改動可用于單片機與數字信號處理器或數字信號處理器與數字信號處理器等雙 CPU或多CPU測控系統中,且應用前景廣闊。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通山县| 边坝县| 教育| 云霄县| 佛山市| 洛宁县| 特克斯县| 巢湖市| 抚州市| 盐亭县| 岑巩县| 金沙县| 大方县| 白玉县| 英德市| 永康市| 大同市| 孝义市| 建德市| 新平| 会理县| 宁乡县| 辉南县| 东方市| 肇东市| 襄城县| 公主岭市| 印江| 鄂州市| 含山县| 嘉义县| 泰顺县| 格尔木市| 米林县| 桂林市| 曲沃县| 太康县| 西平县| 珠海市| 洞口县| 东源县|