一種基于CAN總線(xiàn)的客房通信控制器的設計
CAN總線(xiàn)接口電路主要由CAN通信控制器SJA1000、高速光耦6N137和CAN總線(xiàn)驅動(dòng)器82C250組成。SJA1000作為CAN總線(xiàn)協(xié)議轉換的控制器,它內建BASIC CAN協(xié)議,并提供對CAN2.0B協(xié)議的支持。通過(guò)對片內寄存器的讀、寫(xiě)操作,主控制器單片機能夠設置CAN總線(xiàn)通信模式,實(shí)現數據的發(fā)送與接收。
SJA1000在邏輯上實(shí)現了傳輸數據的編碼和解碼,若要與物理線(xiàn)路連接,還必須借助總線(xiàn)驅動(dòng)器82C250,以增強CAN總線(xiàn)的差動(dòng)發(fā)送和接收驅動(dòng)能力。為了增強CAN 總線(xiàn)節點(diǎn)的抗干擾能力,防止線(xiàn)路間串擾,SJA1000 的TX0 和RXO 并不是直接與82C250 的TXD 和RXD 相連,而是通過(guò)高速光耦6N137 后再與82C250 相連;另外,CAN總線(xiàn)驅動(dòng)器采用帶隔離的DC/DC模塊單獨供電,實(shí)現了通信控制器與CAN總線(xiàn)的隔離,提高系統的可靠性。
82C250的CANH和CANL引腳各自通過(guò)一熱敏電阻與CAN總線(xiàn)相連,當過(guò)流時(shí)電阻發(fā)熱阻值變大,保護82C250免受過(guò)流的沖擊。CANH和CANL與地之間并聯(lián)兩個(gè)小電容,可以起到濾除總線(xiàn)上的高頻干擾和一定的防電磁輻射的能力。
RS232接口電路主要用于主控制器單片機與管理層中央服務(wù)器PC的雙向數據傳送。由于采用了標準的RS232串行通信,結構簡(jiǎn)單、成本低。
控制器的其它外圍電路還有電源模塊、非易失性EEPROM存儲器、時(shí)鐘保持電路、LED指示燈和看門(mén)狗等。非易失性EEPROM存儲器采用具有2KB容量的AT24C02,用于保存系統配置參數及各節點(diǎn)的最新信息,便于管理層的查詢(xún)。時(shí)鐘保持電路選用涓流充電時(shí)鐘芯片DS1302,其內部含有實(shí)時(shí)時(shí)鐘和日歷,通過(guò)簡(jiǎn)單的串行接口與單片機進(jìn)行通信,用于給各節點(diǎn)控制器校時(shí)。同時(shí),控制器還配置了4個(gè)LED指示燈,分別用于系統上電、CAN通信、RS232通信和系統通信故障的指示,以方便系統的調試和對控制器運行狀況的監測。
4 系統軟件
CAN通信控制器的主要任務(wù)是過(guò)濾信息量,將現場(chǎng)層信息上傳給管理層,同時(shí)接收管理層的控制指令,對記錄數據或各CAN節點(diǎn)進(jìn)行操作。CAN通信控制器同時(shí)還具有數據記錄和零點(diǎn)校時(shí)功能。因而控制器軟件設計主要包括四大部分:CAN通信、RS232通信、EEPROM數據的讀寫(xiě)和系統時(shí)鐘DS1302的讀寫(xiě)。其程序主流程圖如圖3所示。
評論