基于CAN總線的家庭控制器的設(shè)計(jì)與實(shí)現(xiàn)
引言
本文引用地址:http://www.ex-cimer.com/article/163426.htmCAN(Controller Area Network)總線是德國Bosch公司為解決現(xiàn)代汽車中眾多的控制與測試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,通信速率可達(dá)1Mbps,通信距離可達(dá)10km,CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼,使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限制。由于CAN總線具有較強(qiáng)的糾錯(cuò)能力,支持差分收發(fā),因而適合高干擾環(huán)境,并具有較遠(yuǎn)的傳輸距離。因此,CAN協(xié)議對(duì)于許多領(lǐng)域的分布式測控是很有吸引力的。目前CAN已成為ISO11898標(biāo)準(zhǔn),其特性如下:
?。?)CAN是一種有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。
?。?)CAN協(xié)議遵循ISO/OSI模型,采用了其中的物理層、數(shù)據(jù)鏈路層與應(yīng)用層。
(3)CAN 可以多主方式工作,本質(zhì)上也是一種CSMA/CD方式,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可以在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上的其它節(jié)點(diǎn)發(fā)送信息,而不分主從,節(jié)點(diǎn)之間有優(yōu)先級(jí)之分,因而通信方式靈活;CAN采用非破壞性位仲裁技術(shù),優(yōu)先級(jí)發(fā)送,可以大大節(jié)省總線沖突促裁時(shí)間,在重負(fù)荷下表現(xiàn)出良好的性能;CAN可以點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)(成組)及全局廣播等幾種方式傳送和接收數(shù)據(jù)。
?。?)CAN的直接通信距離最遠(yuǎn)可達(dá)10km(傳輸速度為5 Kbps);最高通信速率可達(dá)1Mbps(傳輸距離為40m)。
?。?)CAN上的節(jié)點(diǎn)數(shù)據(jù)實(shí)際可達(dá)110個(gè)。
?。?)CAN數(shù)據(jù)鏈路層采用短幀結(jié)構(gòu),每一幀為8個(gè)字節(jié),易于糾錯(cuò);CAN每幀信息都有CRC校驗(yàn)及其它檢錯(cuò)措施,有效地降低了數(shù)據(jù)的錯(cuò)誤率;CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,具有自動(dòng)關(guān)閉的功能,使總線上其它節(jié)點(diǎn)不受影響。
?。?)信號(hào)調(diào)制解調(diào)方式采用NRZ編碼/解碼方式,并且采用插入填充位(位填充)技術(shù)。
(8)數(shù)據(jù)位具有支配“0”(Dominant bit)和退讓“1”(Recessive bit)兩種邏輯值,采用時(shí)鐘同步技術(shù),具有硬件自同步和定時(shí)時(shí)間自動(dòng)跟蹤功能。
基于CAN總線的家庭控制器總線設(shè)計(jì)方案
在進(jìn)入信息化時(shí)代的今天,人們對(duì)于居住環(huán)境中的安全性、舒適性要求已越來越高,建立住宅小區(qū)計(jì)算機(jī)管理局域網(wǎng),實(shí)現(xiàn)小區(qū)綜合管理的網(wǎng)絡(luò)化勢在必行。通過遍布于整個(gè)住宅區(qū)的家庭控制器和中央計(jì)算機(jī)系統(tǒng),實(shí)現(xiàn)對(duì)住宅的智能化管理。
圖 1是基于CAN總線的總體結(jié)構(gòu)示意圖,系統(tǒng)采用支持CAN標(biāo)準(zhǔn)的總線型網(wǎng)絡(luò)。中央計(jì)算機(jī)系統(tǒng)(上位機(jī)PC)通過CAN接口適配卡與CAN總線相連,進(jìn)行數(shù)據(jù)交換。通過雙絞線把中央計(jì)算機(jī)系統(tǒng)和家庭控制器(下位智能節(jié)點(diǎn))掛接在一條總線上,構(gòu)成低層通信網(wǎng)絡(luò)。由于采用了CSMA/CD的信息傳輸控制技術(shù),允許總線上各節(jié)點(diǎn)平等爭用總線,從而可構(gòu)成具有多主節(jié)點(diǎn)的冗余網(wǎng)絡(luò)結(jié)構(gòu)。
在低層通信網(wǎng)絡(luò)中,中央計(jì)算機(jī)系統(tǒng)和家庭控制器分別有自己的ID標(biāo)志。由于采用CAN標(biāo)準(zhǔn)作為網(wǎng)絡(luò)通信協(xié)議,各節(jié)點(diǎn)在網(wǎng)絡(luò)中的地位相同,于是我們可以將中央計(jì)算機(jī)系統(tǒng)虛擬成主機(jī),而家庭控制器則虛擬成從機(jī),響應(yīng)主機(jī)的要求。中央計(jì)算機(jī)系統(tǒng)負(fù)責(zé)對(duì)整個(gè)CAN總線系統(tǒng)進(jìn)行監(jiān)視管理,具有系統(tǒng)參數(shù)(如傳輸速率、節(jié)點(diǎn)地址等)設(shè)置、數(shù)據(jù)發(fā)送、數(shù)據(jù)請求、本機(jī)狀態(tài)查詢、節(jié)點(diǎn)狀態(tài)查詢、中斷狀態(tài)查詢等功能。系統(tǒng)工作過程為上位機(jī)向下位節(jié)點(diǎn)(家庭控制器)發(fā)送命令,下位節(jié)點(diǎn)識(shí)別并執(zhí)行相應(yīng)命令。同時(shí)各下位節(jié)點(diǎn)也可按要求進(jìn)行信息交換。
評(píng)論