新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的客房通信控制器的設(shè)計(jì)

基于CAN總線的客房通信控制器的設(shè)計(jì)

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

本文引用地址:http://butianyuan.cn/article/157873.htm

4 系統(tǒng)軟件
CAN通信控制器的主要任務(wù)是過濾信息量,將現(xiàn)場(chǎng)層信息上傳給管理層,同時(shí)接收管理層的控制指令,對(duì)記錄數(shù)據(jù)或各CAN節(jié)點(diǎn)進(jìn)行操作。CAN通信控制器同時(shí)還具有數(shù)據(jù)記錄和零點(diǎn)校時(shí)功能。因而控制器軟件主要包括四大部分:CAN通信、RS232通信、EEPROM數(shù)據(jù)的讀寫和系統(tǒng)時(shí)鐘DS1302的讀寫。其程序主流程圖如圖3所示。


圖3 控制器軟件流程圖

CAN通信軟件包括CAN初始化、報(bào)文的接收和報(bào)文發(fā)送三部分。當(dāng)控制器上電后,首先對(duì)CAN控制器SJA1000進(jìn)行初始化設(shè)置,主要包括工作方式的設(shè)置、接受濾波方式的設(shè)置、接受屏蔽寄存器和接受代碼寄存器的設(shè)置、波特率參數(shù)設(shè)置和中斷允許寄存器的設(shè)置,SJA1000的初始化只能在復(fù)位模式下進(jìn)行。完成SJA1000的初始化設(shè)置后即返回工作狀態(tài),開始循環(huán)監(jiān)聽CAN總線上的信息。報(bào)文的接收采取中斷方式,以便系統(tǒng)的即時(shí)響應(yīng)。在報(bào)文接收的過程中同時(shí)要對(duì)總線關(guān)閉、錯(cuò)誤報(bào)警、接受溢出等情況進(jìn)行處理。報(bào)文的發(fā)送相對(duì)比較簡(jiǎn)單,只需將待發(fā)送的數(shù)據(jù)組成一組報(bào)文送入SJA1000的發(fā)送緩存器中,啟動(dòng)發(fā)送即可。RS232通信軟件包括RS232初始化和與管理層中央服務(wù)器PC機(jī)的通信;控制器采用查詢方式接收中央服務(wù)器PC的數(shù)據(jù)。
EEPROM24C02存儲(chǔ)器數(shù)據(jù)和時(shí)鐘芯片DS1302的讀寫均簡(jiǎn)單地采用同步串行的方式進(jìn)行通信。當(dāng)控制器收到節(jié)點(diǎn)的信息后,即將此信息上傳給管理層,同時(shí)將此信息寫入AT24C02存儲(chǔ)器,作為歷史信息保存,便于管理層的查詢??刂破鞯牧泓c(diǎn)校時(shí)功能是通過讀取DS1302的時(shí)鐘,當(dāng)時(shí)鐘為零點(diǎn)整時(shí),即統(tǒng)一對(duì)各現(xiàn)場(chǎng)CAN節(jié)點(diǎn)進(jìn)行校時(shí),避免了各CAN節(jié)點(diǎn)時(shí)鐘誤差的積累。

5 結(jié)束語
CAN總線的通信控制器已在賓館的控制和管理系統(tǒng)中得到了成功的應(yīng)用。實(shí)踐證明,由于采用了CAN總線技術(shù),不僅系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、適應(yīng)性和可擴(kuò)展性強(qiáng),而且CAN總線以其分時(shí)多主、非破壞性總線仲裁和自動(dòng)檢錯(cuò)重發(fā)的技術(shù)特點(diǎn)有效地提高了通信的可靠性,從而使現(xiàn)場(chǎng)調(diào)試更加方便、縮短了開發(fā)周期。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉