現代智能建筑監控系統廣泛采用了現場總線技術?,F場總線的種類目前有40多種,但適合智能建筑且在我國推廣的主要有兩種:CAN(Control Area Network)總線和Lonworks總線。CAN總線技術以其可靠性高,結構簡單,傳輸距離長和成本低而具有巨大的應用潛力。
控制局域網CAN是現場總線技術中最成熟、最有發展前途的微處理器局域網絡。協議采用總線型拓撲結構,通過研究CAN2.0B協議規范,制定了符合智能建筑監控系統的通信協議,并進行了通信節點軟件的設計。
1 基于CAN總線的智能建筑網絡拓撲結構
CAN總線的智能建筑監控系統拓撲結構,如圖1所示。該系統由3部分組成:上位機、CAN通信節點和各個現場智能設備組成。通信節點的數量可根據建筑物的規模增減,CAN總線作為通信網絡將各個節點連接成一個分布式智能監控系統。
?。?)上位機:由計算機和監控軟件組成,對整個智能建筑監控系統的管理和控制,是整個系統的中心。
?。?)CAN通信節點:各通信節點功能相同,主要完成把現場設備采集到的實時數據發送到CAN總線上,接收CAN總線發送來的控制信息。CAN通信節點的硬件由微處理器、CAN控制器SJAl000、CAN收發器PCA82C250組成。
(3)現場智能設備:由微處理器、和現場功能裝置等組成。完成檢測、報警、控制、顯示等功能。智能建筑監控系統現場設備由照明、空調、電梯、安全監控、消防監控、給排水,配電等組成。
2 CAN總線通信協議的硬件基礎
CAN總線協議描述了信息在設備之間的傳遞規則,它對層的定義與開放系統互連模型OSI一致,CAN被分為應用層、數據鏈路層和物理層3層,各層之間互相透明,每一層只與另一設備上相同的那一層通訊,實際的通訊是發生在每一設備上相鄰的兩層之間,而各個設備只通過物理層的通信介質連接在一起。
CAN總線規范定義了模型的最下面的兩層:物理層和數據鏈路層。CAN總線驅動器和通信介質則實現了物理層的主要功能。CAN總線控制器實現了總線協議中規定的數據鏈路層的傳輸任務。常用的CAN總線驅動器有PHILIPS公司的PCA82C250,總線控制器是SJAl000,通信介質是雙絞線或同軸電纜。
2.1 總線驅動器PCA82C250的工作原理
PCA82C250是CAN總線控制器與物理導線之間的接口,該驅動器可以提供對總線的差動發送和接收功能。PCA82C250的驅動部分由1 個PNP的極管和1個NPN的三極管組成。這2個三極管根據TXD的信號導通或截止。當TXD=0時,2個三極管處于導通狀態時,總線上顯示為顯性電平。當TXD=1時,2個三極管處于截止狀態,總線上顯示為隱性電平,此時驅動器對總線的影響很小。因此,如果存在其他節點發送顯性電平,則總線的電平狀態就是顯性,只有所有的驅動器都發送隱性電平,總線的電平狀態才是隱性。實現了CAN總線物理層的線與功能。PCA82C250功能圖,如圖2所示。
2.2 基于線與功能多節點仲裁過程
通信節點訪問總線,對總線上信號進行檢測,只有當總線處于空閑狀態時,才允許發送。當總線上有多個節點同時進行發送時,必須通過“無損的逐位仲裁”方法來使有最高優先權的報文優先發送。在CAN總線上發送的每一條報文都具有惟一的11位或29位ID。CAN總線的狀態取決于二進制數‘O’而不是 ‘1’,所以ID號越小,該報文擁有越高的優先權。因此一個為全‘0’標志符的報文具有總線上的最高級優先權。多節點仲裁過程如圖3所示。
2.3 CAN控制器SJAl000的功能介紹
CAN的通信協議由CAN控制器完成,CAN控制器由實現CAN總線協議的部分和實現與微處理器接口部分的電路組成。
SJAl000是PHILIPS公司推出的一種高性能的CAN總線控制器,它不僅和PCA82C200的基本CAN模式(BasieCAN)兼容,而且還增強CAN模式 (PeliCAN),這種模式支持CAN2.0B協議。SJAl000以一塊可編程芯片上的邏輯電路的組合來實現這些功能,提供了與模塊控制器及微控制器的接口,通過對它的編程,CPU可設置它的工作方式,控制它的工作狀態,與CAN驅動器PCA82C250進行數據的接收和發送。
3 CAN的幀結構
CAN協議規定了兩種不同的幀格式,不同之處為標識符的長度不同,具有11位標識符的幀稱之為標準幀,具有29位標識符的幀被稱為擴展幀。
3.1 CAN幀類型
報文傳輸由以下4個不同的幀類型所表示和控制
?。?)數據幀:攜帶數據從發送器至接收器。
(2)遠程幀:由節點發送,請求發送具有相同標識符的數據幀。
(3)錯誤幀:由任何節點發出,檢測到錯誤就發出錯誤幀。
(4)過載幀:用于提供先前和后續數據幀或遠程幀之間的附加延時。
3.2 CAN擴展幀的數據幀結構
擴展幀的數據幀結構,如圖4所示。
擴展幀的數據幀的主要結構有:
(1)幀起始,標志幀的開始,它由單個“顯性”位構成,在總線空閑時發送,在總線上產生同步作用。
?。?)仲裁域,仲裁域包括29位標識符、SRR位、IDE位、RTR位。29位標識符包括11位基本ID、18位擴展ID?;綢D按ID- 28到ID-18的順序發送,擴展ID按ID-17到ID-0的順序發送?;綢D首先發送,其次是SRR位和IDE位。擴展ID的發送位于IDE位之后。SRR是“隱性”位。IDE位在標準格式里為“顯性”,在擴展格式里為“隱性”。RTR位在數據幀里必為“顯性”,而在遠程幀里必為“隱性”。標識符用于提供關于傳送報文和總線訪問的優先權信息,其數值越小,表示優先權越高,發生沖突時優先發送。
?。?)控制域,由6位構成,前2位為保留位,為“顯性”。后4位為數據長度碼(DLC),表示數據域中數據的字節數,必須在0~8范圍內變化。
(4)數據域,由被發送的數據組成,字節數為控制域中決定的0~8 bit,第一個字節的最高位首先被發送。
(5)CRC域,包括CRC(循環冗余碼校驗)序列(15位)和CRC界定符(1個“隱性”位),用于幀校驗。
?。?)應答域,由應答間隙和應答界定符組成,共2位。
(7)幀結束,由7位隱性位組成,此期間無位填充。
4 通訊協議的制定
在CAN的協議規范,規定了數據鏈路層和物理層,沒有規定應用層。所以用戶在設計通訊軟件時,必須首先設計合適的CAN總線通訊協議,才能完成數據準確可靠的傳輸?;谘芯緾AN2.OB規范的基礎上,采用自定義協議的方法,制定了智能建筑監控系統的通信協議。通訊協議的制定主要包括以下3個步驟。
4.1 CAN總線網絡中信息傳輸類型
智能建筑中信息傳輸類型主要有以下幾種:
?。?)緊急信息,用以傳輸重要信息,優先級最高,如報警信息。
?。?)廣播信息,向總線上掛接的所有節點發送的信息。
?。?)命令信息,控制節點向執行節點發送的信息。
?。?)狀態信息,執行節點接收到命令執行后,向控制節點反饋的信息。
?。?)數據信息,負責采集數據的節點發送的信息,如傳感器采集到的信息。
4.2 根據標識符的分配方案確定各節點優先級
標識符的分配方案首先滿足節點以及報文信息對優先級的要求,同時利用標識符空問加載有關信息,減少在數據域內占用的空間。本系統采用有29位標識符的擴展幀格式,具體分配如下:
?。?)信息類型標識符(ID.28~ID.23),000001—緊急信息,000010—廣播信息,000011—命令信息,000100—狀態信息,000101—數據信息。
(2)節點地址標識符(ID.22~ID.15),0000000l—上位機節點,00000010—安全監控節點,00000100—消防監控節點,0000010l—配電節點,00000111—給排水節點,00001000—電梯節點,00001001—照明節點,00001010—空調節點。
?。?)報文功能標識符(ID.14~ID.08),如果一個節點發送多幀報文,在報文信息類型相同的情況下,可以用報文功能標識符來區分報文的優先級。
(4)現場裝置地址標識符(ID.07~ID.00)。
4.3 組織各幀報文
明確各節點發送的報文,對系統中各類控制信號和數據進行分類,填充各報文的數據域。
5 通信協議的軟件實現
通信協議的軟件設計由3部分組成:CAN控制器的初始化、數據的發送和接收程序,其流程圖如圖5,圖6和圖7所示。
5.1 通信節點的初始化
初始化程序通過對CAN控制器SJAl000中的寄存器寫入控制字,確定CAN控制器的工作方式,包括模式寄存器的設置、接收濾波方式設置、接收屏蔽寄存器和接收代碼寄存器的設置、波特率參數和中斷允許寄存器的設置等,完成初始化設置后,SJAl000進行正常的通信。
5.2 數據發送程序
發送數據前,采用查詢方式先查看發送緩沖器狀態,滿足要求再把要發送的數據按照特定格式組合成一幀報文,送入SJAl000發送緩沖區,然后啟動SJAl000發送命令。
5.3 數據接收程序
接收數據采用中斷方式,主程序中應開放接受中斷,單片機響應接收中斷后讀出CAN控制器中SJAl000的接收緩沖區數據并保存,再清SJAl000的接收緩存器。
6 結束語
通過研究CAN2.0B協議規范,對報文格式的分析和標識符的分配,設計出了基于CAN總線的智能建筑監控系統的通信協議。協議具有實現簡單、通用性強、可靠性高,便于擴展等優點,通過驗證,該協議有效地解決了智能建筑監控系統多節點通信過程中的仲裁問題。
評論
查看更多