摘 要:分布式控制系統是現代控制系統的新方向,而通信系統是分布式控制的關鍵。在電器電磁干擾、震動干擾的環(huán)境下,分布式控制系統的穩(wěn)定性可能受到一定程度的影響。CAN總線是實現分布式控制的總線,優(yōu)點眾多。而通信系統需要滿足分布式控制系統實時性的要求,所以了解CAN總線相關分析方法十分重要。本文分析了CAN總線技術協議,對混合調度算法進行了說明,并對調度通信在CAN總線中的應用進行了研究。
關鍵詞:CAN總線技術;調度通信;混合調度算法
中圖分類號:TP273.5 文獻標識碼:A 文章編號:1004-7344(2018)35-0252-01
引 言
通信系統是分布式控制的關鍵,分布式控制可以使系統接線更為簡單,減少電纜的使用量,也可以簡化節(jié)點的設計,具有顯著的優(yōu)勢。同時,分布式控制也提高了系統的處理能力,可以提高節(jié)點冗余度。分布式控制需要的現場總線技術的支持,這其中就包括了CAN總線。
CAN是德國公司開發(fā)的用于解決汽車數據交換的通信協議,最終成為國際標準,并且在制造業(yè)、通信業(yè)得到了廣泛地應用。在部分歐美國家,CAN總線協議已經成為部分產業(yè)的標準總線。
1 CAN總線協議分析
1.1 CAN總線的物理層
雖然CAN總線的物理層在最初并未被定義,但是仍有研究者使用部分技術規(guī)范對CAN總線的物理層進行定義。部分學者使用高寬帶對單位雙線差分信號結構進行了定義;部分學者將其與低寬帶的應用相結合我,定義了低速的雙線差分信號結構。隱性與顯性是物理層的基本狀態(tài),前者可視為二進制的1,后者可視為二進制的0。當兩個節(jié)點同時傳輸相反的值,則顯性值會被全部節(jié)點讀到,這一情況可以被應用于系統訪問控制中。
1.2 CAN總線的數據鏈層
首先是數據幀,CAN總線的數據需要借助數據幀實現傳輸,數據幀主要由幀起始、控制場、數據場等組成。其中,仲裁場包括遠程發(fā)送請求位、標識符位,標準格式的數據幀的標識符長度為11位,ID10為最高權重位,ID0為最低權重位。同時該協議還規(guī)定前7位最高權重位必須有均為顯性信號;遠程發(fā)送請求位主要用于對數據幀與遠程幀的區(qū)分中??刂贫沃饕袛U展標識符位、數據長度編碼位以及保留位。其次,錯誤幀。錯誤幀主要由錯誤界定符與錯誤標志疊加組成。之后是遠程幀。在遠程幀中,RTR無數據場,這一情況與數據幀差異顯著,并且遠程幀的數據長度碼可以為0~8的任何數值。
2 混合調度算法
該算法的動態(tài)優(yōu)先級機制是采用了最小松弛優(yōu)先算法。若需在CAN總線中運用該算法,需要使最小松弛度的報文具有最高的優(yōu)先級。在CAN總線的數據幀中,通過在在標識符中添加節(jié)點的編號區(qū)分信息的來源,使不需要的信息可以被剔除,并且全部節(jié)點的標識符具有唯一性。標識符還應該包括每個節(jié)點需要傳輸的報文的名稱,進而區(qū)分報文的來源。報文的松弛度會影響當前報文的優(yōu)先級,而后者是實時報文優(yōu)先級域的反映。報文的松弛度、節(jié)點的調度以及基于優(yōu)先級的調度是選擇最低松弛度調度算法的重要參考,這是因為松弛度越小的報文二進制數越小。最低松弛度調度機制的時間臨界點與實時應用存在著緊密的聯系,如果CAN總線系統中最低松弛度調度機制的時間界限小于節(jié)點的松弛度的值,則其會通過相同的優(yōu)先級競爭。在CAN總線系統中,全部的硬實時報文必須可被預知,進而保證系統在任何狀態(tài)下都可以實現報文的實時傳輸。在這一過程中,技術人員必須對報文的傳輸時間段進行劃分,必須將錯誤重傳而產生的時間延遲考慮在內,從而確保報文的實時性。在硬實時報文的調度通信中,需要考慮到系統時鐘偏差的影響。因此,所有節(jié)點的時間參考必須一致,防止時間域之間的相互影響。在總線調度中,時鐘的精度越高,則相鄰的時間域之間的間隙就會越小。定義報文n的有效截止期為dn,從而利用保留時間域,并利用最低松弛度調度算法對報文的松弛度加以計算。在這一基礎上,硬實時報文可以在發(fā)送過程中擁有最高的總線訪問權。
3 調度通信在CAN總線中的應用
報文的接收主要是利用微控制器進行,按照實時性的要求,本文采用中斷方式。第一步:獨立CAN控制器接收報文后,對報文進行過濾,通過的報文存入接收緩沖區(qū)中。第二步:待到報文進入緩沖區(qū),獨立CAN控制器接收中斷。第三步:微控制器對報文的信息進行讀取,讀取中存入存儲器,直到讀取完畢。第四步:釋放接收緩中區(qū)。CAN總線中斷處理的程序為:第一步:倘若發(fā)生中斷,判斷中斷產生的原因,如果是錯誤引發(fā)的中斷,則進行錯誤處理。第二步:在排除錯誤引發(fā)的中斷后進一步分析中斷產生的原因,判斷中斷原因是否為數據溢出,如果是則使用溢出指示子程序進行處理。第三步:在錯誤、數據溢出被排除后,判斷發(fā)送問題是否是造成中斷的原因,若是,則進入發(fā)送子程序處理。第四步:判斷是否為接受的問題導致的接收中斷,若不是,則中斷返回。
優(yōu)先級待分配的報文參數為:信息A:8字節(jié)、周期2.0ms、截止期限2.0ms;信息B:8字節(jié)、周期3.0ms、截止期限3.0ms;信息C8字節(jié)、周期3.5ms;截止期限3.5ms;CAN總線采用標準幀格式。將信息A、B、C綁定在不同的節(jié)點上,分別記為節(jié)點1、2、3。之后將這個表中的數據分配優(yōu)先級,報文A、B、C分配的優(yōu)先級分別為1、2、3。報文C的實際響應時間分別為2.50ms、4.70ms、2.30ms、3.50ms??梢姡瑑?yōu)先級分配算法的適用條件較為苛刻。
在智能樓宇、智能小區(qū)等應用領域,控制采集系統多采用工業(yè)PC,直接使用串口轉換器插到PC的串口就可接入儀表。大部分國產組態(tài)軟件都支持百特儀表的通訊協議,數據采集難度較小。
4 結 語
現代工業(yè)對控制網絡的實時性要求較高,CAN總線是實現分布式控制的總線,本文分析了CAN總線技術協議,對調度通信在CAN總線中的應用進行了研究。本文分析了CAN總線的物理層與數據鏈層,通過實驗驗證優(yōu)先級分配算法的適用條件,并研究了可容許錯誤數最大化、可容許網絡延時的最小松弛優(yōu)先算法,對報文進行了有效的調度,進而確保報文的實時性。
參考文獻
[1]余松科,劉武周,方 方,周 偉.兩級CAN總線網絡數據通信調度研究[J].成都大學學報(自然科學版),2017(2):179~182.
[2]陳 真,王鎖平,梁慧娟.CAN總線通信在全電子計算機聯鎖系統中的應用[J].鐵路通信信號工程技術,2016,13(6):20~22.
[3]常維江.CAN總線技術在配電網數據通信中的應用[J].商品與質量,2016(45):87.
收稿日期:2018-11-6