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