一種基于CAN總線(xiàn)的客房通信控制器的設計
圖3 控制器軟件流程圖
CAN通信軟件包括CAN初始化、報文的接收和報文發(fā)送三部分。當控制器上電后,首先對CAN控制器SJA1000進(jìn)行初始化設置,主要包括工作方式的設置、接受濾波方式的設置、接受屏蔽寄存器和接受代碼寄存器的設置、波特率參數設置和中斷允許寄存器的設置,SJA1000的初始化只能在復位模式下進(jìn)行。完成SJA1000的初始化設置后即返回工作狀態(tài),開(kāi)始循環(huán)監聽(tīng)CAN總線(xiàn)上的信息。報文的接收采取中斷方式,以便系統的即時(shí)響應。在報文接收的過(guò)程中同時(shí)要對總線(xiàn)關(guān)閉、錯誤報警、接受溢出等情況進(jìn)行處理。報文的發(fā)送相對比較簡(jiǎn)單,只需將待發(fā)送的數據組成一組報文送入SJA1000的發(fā)送緩存器中,啟動(dòng)發(fā)送即可。RS232通信軟件包括RS232初始化和與管理層中央服務(wù)器PC機的通信;控制器采用查詢(xún)方式接收中央服務(wù)器PC的數據。
EEPROM24C02存儲器數據和時(shí)鐘芯片DS1302的讀寫(xiě)均簡(jiǎn)單地采用同步串行的方式進(jìn)行通信。當控制器收到節點(diǎn)的信息后,即將此信息上傳給管理層,同時(shí)將此信息寫(xiě)入AT24C02存儲器,作為歷史信息保存,便于管理層的查詢(xún)??刂破鞯牧泓c(diǎn)校時(shí)功能是通過(guò)讀取DS1302的時(shí)鐘,當時(shí)鐘為零點(diǎn)整時(shí),即統一對各現場(chǎng)CAN節點(diǎn)進(jìn)行校時(shí),避免了各CAN節點(diǎn)時(shí)鐘誤差的積累。
5 結束語(yǔ)
基于CAN總線(xiàn)的客房通信控制器已在賓館的客房控制和管理系統中得到了成功的應用。實(shí)踐證明,由于采用了CAN總線(xiàn)技術(shù),不僅系統結構簡(jiǎn)單、適應性和可擴展性強,而且CAN總線(xiàn)以其分時(shí)多主、非破壞性總線(xiàn)仲裁和自動(dòng)檢錯重發(fā)的技術(shù)特點(diǎn)有效地提高了通信的可靠性,從而使現場(chǎng)調試更加方便、縮短了開(kāi)發(fā)周期。
評論