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