基于CAN總線智能建筑監控系統的通信協議設計
擴展幀的數據幀的主要結構有:
(1)幀起始,標志幀的開始,它由單個“顯性”位構成,在總線空閑時發送,在總線上產生同步作用。
(2)仲裁域,仲裁域包括29位標識符、SRR位、IDE位、RTR位。29位標識符包括11位基本ID、18位擴展ID。基本ID按ID-28到ID-18的順序發送,擴展ID按ID-17到ID-0的順序發送。基本ID首先發送,其次是SRR位和IDE位。擴展ID的發送位于IDE位之后。SRR是“隱性”位。IDE位在標準格式里為“顯性”,在擴展格式里為“隱性”。RTR位在數據幀里必為“顯性”,而在遠程幀里必為“隱性”。標識符用于提供關于傳送報文和總線訪問的優先權信息,其數值越小,表示優先權越高,發生沖突時優先發送。
(3)控制域,由6位構成,前2位為保留位,為“顯性”。后4位為數據長度碼(DLC),表示數據域中數據的字節數,必須在0~8范圍內變化。
(4)數據域,由被發送的數據組成,字節數為控制域中決定的0~8 bit,第一個字節的最高位首先被發送。
(5)CRC域,包括CRC(循環冗余碼校驗)序列(15位)和CRC界定符(1個“隱性”位),用于幀校驗。
(6)應答域,由應答間隙和應答界定符組成,共2位。
(7)幀結束,由7位隱性位組成,此期間無位填充。本文引用地址:http://www.104case.com/article/157121.htm
4 通訊協議的制定
在CAN的協議規范,規定了數據鏈路層和物理層,沒有規定應用層。所以用戶在設計通訊軟件時,必須首先設計合適的CAN總線通訊協議,才能完成數據準確可靠的傳輸。基于研究CAN2.OB規范的基礎上,采用自定義協議的方法,制定了智能建筑監控系統的通信協議。通訊協議的制定主要包括以下3個步驟。
4.1 CAN總線網絡中信息傳輸類型
智能建筑中信息傳輸類型主要有以下幾種:
(1)緊急信息,用以傳輸重要信息,優先級最高,如報警信息。
(2)廣播信息,向總線上掛接的所有節點發送的信息。
(3)命令信息,控制節點向執行節點發送的信息。
(4)狀態信息,執行節點接收到命令執行后,向控制節點反饋的信息。
(5)數據信息,負責采集數據的節點發送的信息,如傳感器采集到的信息。
4.2 根據標識符的分配方案確定各節點優先級
標識符的分配方案首先滿足節點以及報文信息對優先級的要求,同時利用標識符空問加載有關信息,減少在數據域內占用的空間。本系統采用有29位標識符的擴展幀格式,具體分配如下:
(1)信息類型標識符(ID.28~ID.23),000001—緊急信息,000010—廣播信息,000011—命令信息,000100—狀態信息,000101—數據信息。
(2)節點地址標識符(ID.22~ID.15),0000000l—上位機節點,00000010—安全監控節點,00000100—消防監控節點,0000010l—配電節點,00000111—給排水節點,00001000—電梯節點,00001001—照明節點,00001010—空調節點。
(3)報文功能標識符(ID.14~ID.08),如果一個節點發送多幀報文,在報文信息類型相同的情況下,可以用報文功能標識符來區分報文的優先級。
(4)現場裝置地址標識符(ID.07~ID.00)。
4.3 組織各幀報文
明確各節點發送的報文,對系統中各類控制信號和數據進行分類,填充各報文的數據域。
5 通信協議的軟件實現
通信協議的軟件設計由3部分組成:CAN控制器的初始化、數據的發送和接收程序,其流程圖如圖5,圖6和圖7所示。
評論