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