基於CAN匯流排智慧型建築監控系統的通訊協議設計

2021-05-25 09:26:20 字數 4315 閱讀 5543

現代智慧型建築監控系統廣泛採用了現場匯流排技術。現場匯流排的種類目前有40多種,但適合智慧型建築且在我國推廣的主要有兩種:can(control area network)匯流排和lonworks匯流排。can匯流排技術以其可靠性高,結構簡單,傳輸距離長和成本低而具有巨大的應用潛力。

控制區域網can是現場匯流排技術中最成熟、最有發展前途的微處理器區域網路。協議採用匯流排型拓撲結構,通過研究can2.0b協議規範,制定了符合智慧型建築監控系統的通訊協議,並進行了通訊節點軟體的設計。

1 基於can匯流排的智慧型建築網路拓撲結構

can匯流排的智慧型建築監控系統拓撲結構,如圖1所示。該系統由3部分組成:上位機、can通訊節點和各個現場智慧型裝置組成。通訊節點的數量可根據建築物的規模增減,can匯流排作為通訊網路將各個節點連線成乙個分布式智慧型監控系統。

(1)上位機:由計算機和監控軟體組成,對整個智慧型建築監控系統的管理和控制,是整個系統的中心。

(2)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個不同的幀型別所表示和控制

(1)資料幀:攜帶資料從傳送器至接收器。

(2)遠端幀:由節點傳送,請求傳送具有相同識別符號的資料幀。

(3)錯誤幀:由任何節點發出,檢測到錯誤就發出錯誤幀。

(4)過載幀:用於提供先前和後續資料幀或遠端幀之間的附加延時。

3.2 can擴充套件幀的資料幀結構

擴充套件幀的資料幀結構,如圖4所示。

擴充套件幀的資料幀的主要結構有:

(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位隱性位組成,此期間無位填充。

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所示。

5.1 通訊節點的初始化

初始化程式通過對can控制器sjal000中的暫存器寫入控制字,確定can控制器的工作方式,包括模式暫存器的設定、接收濾波方式設定、接收遮蔽暫存器和接收**暫存器的設定、波特率引數和中斷允許暫存器的設定等,完成初始化設定後,sjal000進行正常的通訊。

5.2 資料傳送程式

傳送資料前,採用查詢方式先檢視傳送緩衝器狀態,滿足要求再把要傳送的資料按照特定格式組合成一幀報文,送入sjal000傳送緩衝區,然後啟動sjal000傳送命令。

5.3 資料接收程式

接收資料採用中斷方式,主程式中應開放接受中斷,微控制器響應接收中斷後讀出can控制器中sjal000的接收緩衝區資料並儲存,再清sjal000的接收快取器。

6 結束語

通過研究can2.0b協議規範,對報文格式的分析和識別符號的分配,設計出了基於can匯流排的智慧型建築監控系統的通訊協議。協議具有實現簡單、通用性強、可靠性高,便於擴充套件等優點,通過驗證,該協議有效地解決了智慧型建築監控系統多節點通訊過程中的仲裁問題

智慧型建築 的破題立意心得

這半月進京被央企客戶趕考兩次,對於如何做好智慧型樓宇的產品,豐富解決方案打法又有所體會。產品來自客戶和專案需求,脫離了專案空談產品,就如同緣木求魚,白用功 而專案一樣離不了產品,解決方案的好壞,能否打動客戶,還在於做好標準產品的輸出和定製化的方案調整。乙個好的解決方案架構師如果不深入理解產品,就無法...

IOT智慧型建築實踐系列 一

iot智慧型建築需要將大樓 園區等建築內的裝置智慧型化 數位化 直白講就是將建築內的各種真實裝置 第三方系統連線的裝置整合起來,實現對裝置的控制 裝置資料的採集 最後將採集到的資料實現資料分析 大屏展示等上層業務。我們將業務架構分成三個層,從下到上分別為 對接層 業務層 iot平台層 每層實現各自不...

can例程 ecu 基於CAN匯流排的ECU設計

龍源期刊網 基於can 匯流排的ecu 設計于玲年第期 摘要 為了組建基於 can匯流排的控制單元,本文設計了一款相容標準 核心的mcu 提出總體設計方案,分層去實現各模組的功能。利用流水線的設計技術,對 mcu標準 核進行了精簡和優化,從而提高了產品的綜合處理速度,並減少了成品的設計面積。按照自上...