基于CAN總線(xiàn)智能建筑監(jiān)控系統(tǒng)的通信協(xié)議設(shè)計(jì)
2.2 基于線(xiàn)與功能多節(jié)點(diǎn)仲裁過(guò)程
通信節(jié)點(diǎn)訪(fǎng)問(wèn)總線(xiàn),對(duì)總線(xiàn)上信號(hào)進(jìn)行檢測(cè),只有當(dāng)總線(xiàn)處于空閑狀態(tài)時(shí),才允許發(fā)送。當(dāng)總線(xiàn)上有多個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行發(fā)送時(shí),必須通過(guò)“無(wú)損的逐位仲裁”方法來(lái)使有最高優(yōu)先權(quán)的報(bào)文優(yōu)先發(fā)送。在CAN總線(xiàn)上發(fā)送的每一條報(bào)文都具有惟一的11位或29位ID。CAN總線(xiàn)的狀態(tài)取決于二進(jìn)制數(shù)‘O’而不是‘1’,所以ID號(hào)越小,該報(bào)文擁有越高的優(yōu)先權(quán)。因此一個(gè)為全‘0’標(biāo)志符的報(bào)文具有總線(xiàn)上的最高級(jí)優(yōu)先
權(quán)。多節(jié)點(diǎn)仲裁過(guò)程如圖3所示。本文引用地址:http://butianyuan.cn/article/157121.htm
2.3 CAN控制器SJAl000的功能介紹
CAN的通信協(xié)議由CAN控制器完成,CAN控制器由實(shí)現(xiàn)CAN總線(xiàn)協(xié)議的部分和實(shí)現(xiàn)與微處理器接口部分的電路組成。
SJAl000是Philips公司推出的一種高性能的CAN總線(xiàn)控制器,它不僅和PCA82C200的基本CAN模式(BasieCAN)兼容,而且還增強(qiáng)CAN模式(PeliCAN),這種模式支持CAN2.0B協(xié)議。SJAl000以一塊可編程芯片上的邏輯電路的組合來(lái)實(shí)現(xiàn)這些功能,提供了與模塊控制器及微控制器的接口,通過(guò)對(duì)它的編程,CPU可設(shè)置它的工作方式,控制它的工作狀態(tài),與CAN驅(qū)動(dòng)器PCA82C250進(jìn)行數(shù)據(jù)的接收和發(fā)送。
3 CAN的幀結(jié)構(gòu)
CAN協(xié)議規(guī)定了兩種不同的幀格式,不同之處為標(biāo)識(shí)符的長(zhǎng)度不同,具有11位標(biāo)識(shí)符的幀稱(chēng)之為標(biāo)準(zhǔn)幀,具有29位標(biāo)識(shí)符的幀被稱(chēng)為擴(kuò)展幀。
3.1 CAN幀類(lèi)型
報(bào)文傳輸由以下4個(gè)不同的幀類(lèi)型所表示和控制
(1)數(shù)據(jù)幀:攜帶數(shù)據(jù)從發(fā)送器至接收器。
(2)遠(yuǎn)程幀:由節(jié)點(diǎn)發(fā)送,請(qǐng)求發(fā)送具有相同標(biāo)識(shí)符的數(shù)據(jù)幀。
(3)錯(cuò)誤幀:由任何節(jié)點(diǎn)發(fā)出,檢測(cè)到錯(cuò)誤就發(fā)出錯(cuò)誤幀。
(4)過(guò)載幀:用于提供先前和后續(xù)數(shù)據(jù)幀或遠(yuǎn)程幀之間的附加延時(shí)。
3.2 CAN擴(kuò)展幀的數(shù)據(jù)幀結(jié)構(gòu)
擴(kuò)展幀的數(shù)據(jù)幀結(jié)構(gòu),如圖4所示。
評(píng)論