基于CAN總線智能建筑監控系統的通信協議設計
5.1 通信節點的初始化
初始化程序通過對CAN控制器SJAl000中的寄存器寫入控制字,確定CAN控制器的工作方式,包括模式寄存器的設置、接收濾波方式設置、接收屏蔽寄存器和接收代碼寄存器的設置、波特率參數和中斷允許寄存器的設置等,完成初始化設置后,SJAl000進行正常的通信。
5.2 數據發送程序
發送數據前,采用查詢方式先查看發送緩沖器狀態,滿足要求再把要發送的數據按照特定格式組合成一幀報文,送入SJAl000發送緩沖區,然后啟動SJAl000發送命令。
5.3 數據接收程序
接收數據采用中斷方式,主程序中應開放接受中斷,單片機響應接收中斷后讀出CAN控制器中SJAl000的接收緩沖區數據并保存,再清SJAl000的接收緩存器。
6 結束語
通過研究CAN2.0B協議規范,對報文格式的分析和標識符的分配,設計出了基于CAN總線的智能建筑監控系統的通信協議。協議具有實現簡單、通用性強、可靠性高,便于擴展等優點,通過驗證,該協議有效地解決了智能建筑監控系統多節點通信過程中的仲裁問題。
評論