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