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