季學彬,竇金生
(1.江蘇科技大學 電子信息學院,江蘇 鎮江 212003;2.中國人民解放軍鎮江船艇學院 工程系,江蘇 鎮江 212003)
碼頭岸電的使用對于環境的保護具有重大意義,岸電的普及不僅能大量減少船舶靠港時自身發電所產生的廢氣,同時也大大的降低了港口的噪聲污染[1]。為了普及這一具有重要重要意義的技術,各國都在大力發展船舶靠港岸電供電技術;相應的就需要一個智能的監控網絡實現供電的智能化。當前工業級監控領域廣泛采用現場總線來作為數據傳輸的中介。而其中CAN總線以其特有的優點已經廣泛應用在各級智能控制領域。
控制器局域網(Controller Area Network)已經廣泛應用于機械、紡織、醫療、機器人等領域。CAN已經形成國際標準,并被公認為是幾種最為有前途的現場總線之一。CAN總線作為傳輸信息的中介,其傳輸實時性一直是CAN系統重要的指標之一,針對其的研究也是當前有關CAN總線的熱點研究問題之一。
CAN總線和其他的控制總線相比,具有良好的可靠性、靈活性和實時性。體現在一下幾個方面:
1)CAN總線采用多主通信方式,網絡上任意一節點均可在總線空閑時刻主動的向其他節點發送信息,而不分主從。
2)CAN總線采用對各節點劃分優先級的方法,可協調系統各節點的傳送時序。
3)CAN總線采用非破壞性總線仲裁技術,當同時有多個節點向總線發送信息時,優先級較低的節點主動退出發送,而最高優先級的節點不受影響的繼續傳送數據。
由于篇幅有限,CAN總線的其他特點不在贅述。正是CAN總線具有上述1、2、3的特點。極端情況下,可能出現級別較低的節點需要很長的時間才能發送數據甚至無限期時延。這就要求對CAN總線的通信實時性具體分析,以達到系統設計的要求。
CAN總線的網絡延時包括:從待發送數據在總線節點A變化開始,直到該數據在另外一個節點B中得到確認,這期間的總延時時間。根據CAN總線的數據流的傳播方向可知,CAN的報文信息延時由幀延時、軟件延時與CAN控制器延時和媒體訪問延時等部分組成。
幀延時既報文信息的傳輸延時,由報文的幀長度和總線的傳輸速率決定。根據CAN2.0B協議,CAN總線的報文信息共有以下4種幀類型:數據幀、遠程幀、錯誤幀和過載幀。
CAN總線為實現總線空閑的確定、CAN控制器的同步和傳輸錯誤的檢測,采用位流編碼技術,即在幀的幀起始、仲裁場、控制場、數據場以及CRC序列。均通過位填充的方法編碼。無論何時,發送器只要檢測到位流里有5個連續相同值的位,便自動在位流里插入1位相反極性位;同時報文的位流根據“不歸零”(Not Return To Zero,NRZ)的方法來編碼,在整個位時間里,位的電平要么為“顯性”,要么為“陰性”[1-2]。位填充機制造成總線上實際傳輸消息的位數始終大于原始的位數。
CAN總線的傳輸速率也是影響幀延時的重要因素。由于信息在CAN總線上是串行發送的,因此傳輸速率由波特率度量。將CAN總線應用于實際工業現場中時,其傳輸速率隨著傳輸距離(40 m~10 km)而相應的在1 M~5 kbit/s之間變化。
綜合上述幀長度、波特率和傳輸距離對幀延時的影響,針對擴展幀,得到其在最大傳輸速率條件下對應不同數據字節的延時,如表1所示。

表1 擴展幀數據延時參數Tab.1 The extended frame data delay parameters
由于CAN總線的報文信息大都采用短幀結構,其傳輸的數據字節較少,標識符的差異對信息延時有著較大的影響,平均能達到30%~40%左右[2]。
軟件及控制器導致的延時主要與系統使用的MCU、CAN控制器及接口芯片有關。本文在碼頭岸電監控系統的實際應用中采用的是C8051F040作為MCU(內嵌CAN控制器),CAN收發器是PCA82C250。為了測量方便,采用的是一對CAN的ISA控制通信卡,一個CAN節點作為發送節點,另一個作為接收節點,排除了總線媒體訪問的仲裁沖突延時。
總延時包括從發送進程往CAN控制器的發送緩存器中寫第一個數據開始,一直到接收進程中將接收緩存器中的有關數據全部讀出的整個階段。時間的測量可通過主控制器控制面板上的計數芯片的計數通道來獲取,精度為1μs,測量獲得的數據如表2所示。
從表2分析可知,在固定發送速率條件下,隨著發送字節的遞增,非幀延時時間也成正比關系遞增,這主要歸因于CAN控制器和MCU之間的數據交換量的增加。同時,根據實際測量,CAN總線在通信速率較低時,傳輸延時較高,通信速率對延時影響較大;一旦通信速率達到50 kbit/s之上,發送信息的字節數將成為延時的主要因素,而且CAN網絡的軟件延時及控制器延時隨著信息字節數的遞增主要在30~100μs之間變化。
在中大型控制網絡中,隨著系統中控制節點的增加,控制網絡中的信息流也將急劇增加。在這樣的多節點、高負荷的網絡控制系統中,由報文搶占總線資源而引起的媒體訪問延時將越來越凸顯出其重要性,對于媒體訪問延時的分析將是設計控制系統時的重要參考因素[3]。
排隊論主要研究統計平衡下的各項性能指標的概率性質,根據CAN總線協議,可以把CAN總線的網絡傳輸模型可模擬為圖1所示。
這樣就能建立一個模擬的排隊模型,n個待處理的信息相當于顧客,而處理信息節點相當于服務。待處理信息的到達服從泊松分布,呈現出規律性的特點;CAN總線采用位填充的方式進行報文傳送,報文的長度不一而使服務時間呈現出一定的概率分布,服務時間服從一般概率分布W;同時只有一個信息可在總線上傳輸。建立一個基于排隊論的非強占優先級的N/W/1模型,如圖1所示。

圖1 N/W/1模型Fig.1 Model of N/W/1

表2 不同發送速率下報文延時Tab.2 Different transmission rate message delay time
假定系統容量無限;在系統正常連續運行時,CAN總線系統中的消息通常是持續不斷發送的,則可以假定顧客來源無限(理想狀態分析,誤差較小)。設CAN總線的報文優先級分別為從0到λ-1,共λ個等級,這里數字越小,代表的優先級越高;各個等級的報文均以泊松模式進入系統,其平均到達速度分別為v0v1…vλ-1,系統對各個報文的平均服務速率分別為 ω0ω1ωλ-1,服務時間服從指數分布,具備馬爾科夫特性。

消息i的消息等待時間Ti包括:
1)當前正在總線上傳輸的的信息的傳送完畢時間To;
2)在等待期間,比i優先級較高的信息j在上一消息息發送完畢后占用總線發送信息的時間Tj,由此可得Ti=Tj+T0,求Ti的數學期望即消息i的平均等待時間

依據排隊論的分析方法,可得到第i級報文的等待時間為

Little定理指出:系統中物體的平均數量等于物體離開系統的平均速率和每個物體在系統中停留的平均時間 (這里指單個報文的平均服務時間)的乘積[3]。根據little定理可得出第i級報文的平均等待時間為:

在實驗中模擬碼頭岸電監控系統中的8個下位機智能監控點,設定優先級分別為0到7之間;在系統搭建完成之后,由于系統的晶振頻率已經確定,則各個優先級的報文到真實驗達速率一定,相應服務速率一定,仿得到的網絡性能參數如表3所示。

表3 實驗測得數據Tab.3 Test result
從上表可看出,網絡負載率對報文消息的等待延時有著很大的影響;當網絡負載率較小時,消息基本能保證實時發送,但是當負載率極高時,CAN總線的網絡延時還是比較嚴重的。同時優先級對等待時間的影響也是巨大的,當網絡負載較高且各優先級的報文分布比較均勻的時候,優先級小于λ-1/2的報文基本能及時的發送,但隨著優先級的繼續增加,網絡延時劇增,將無法滿足控制網絡的實時性要求。
通過以上對CAN網絡的實時性能的分析,在設計實際的控制網絡中,給予讀者一下參考:
1)當標準幀能滿足系統對控制容量、傳輸可靠性等的要求時,盡量避免使用擴展幀。2)在滿足控制系統的穩定性的要求前提下,盡量提高系統的傳輸速率。3)減少控制網絡中不必要的節點及報文信息,以達到降低負載率的目的。
針對CAN網絡本身的優化研究也很必要,對于CAN網絡的優化問題,在協議層上面上目前相對成熟的方法是采用基于時間觸發的TTCAN協議,此協議完全兼容于CAN節點,無論是數據鏈路層還是物理層。TTCAN節點不需要專用的總線防護裝置,節點之間總線沖突的防止依靠CAN的無破壞位仲裁機制和CAN故障限制[4-5]。
文獻[5]針對TTCAN提出了基于字母編碼的遺傳算法,此算法提出了一種采用“權”的動態優先級提升算法,并且引入了字母編碼方式對遺傳算法進行優化。有效縮短了系統矩陣中的事件型信息的滯后時間,同時減少了周期性信息的抖動性問題且計算速度快[5-6],具有較好的優化效果。
文獻[7]針對TTCAN提出了粒子群優化算法(PSO),PSO算法比遺傳算法具有更快的收斂速度、概念簡單、易于實現;在處理低維問題時候具有一定的優越性。在固定優先級算法的基礎上,采用基于粒子群算法的TTCAN系統調度算法,在減少信息的傳輸抖動和提高帶寬利用率上比傳統算法具有一定的優勢性[7-8]。在大型的綜合CAN系統中,基于粒子群算法優化的TTCAN矩陣在實時性和提高帶寬利用率方面都有很大的研究價值。
針對于中小型港口,其靠港船舶相對較少,智能供電終端無需安裝太多就能滿足靠港船舶的供電需要,因而依靠CAN總線本身的協議就能具有較好的網絡實時性。但是對綜合的大型港口而言,其智能供電終端一般都有數十乃至上百個,這就存在傳輸實時性能否滿足要求的問題。針對這一問題的研究還是有一定價值的。
在碼頭岸電監控系統中,由于本課題僅僅采用CAN模塊模擬8個岸電供電監控點,因此對于CAN的實時性研究還不夠深入,有待進一步的什么學習。但CAN總線作為當前最為廣泛應用的現場總線之一,對其實時性的深入分析研究對于系統的優化和信息的實時傳送都具有重大的意義,今后將針對算法優化的問題展開進一步的分析研究。
[1]李運生.基于TTCAN的碼頭供電監控系統設計 [D].鎮江:江蘇科技大學,2012.
[2]陳曦,劉魯源,呂偉杰.基于排隊論的CAN總線消息響應時間建模與分析[J].天津大學學報,2012,45(3):228-235.CHEN Xi,LIU Lu-yuan,LV Wei-jie.Modeling and analysis of response time of CAN bus based on queueing theory[J].Journal of Tianjin University,2012,45(3):228-235.
[3]金晶.車用CAN網絡實時性與可靠性研究[D].武漢:武漢理工大學,2010.
[4]Leen G,Heffernan D.TTCAN:A new time triggered controller area network[J].Microprocessors and Microsystems,2002.
[5]李運生,竇金生.TTCAN系統矩陣的優化算法[J].自動化儀表,2012(6):8-10.LI Yun-sheng,DOU Jin-sheng.Optimization algorithn of system matrix for TTCAN(Network)[J].Automation and Ins-tumentation,2012(6):8-10.
[6]玄光男,程潤偉.遺傳算法與工程優化[M].北京:清華大學出版社,2004.
[7]張小玉.基于粒子群算法的TTCAN總線系統矩陣優化研究[D].無錫:江南大學,2008.
[8]佟為明,高洪偉,陳培友.CAN總線傳輸延時特性的研究[J].儀器儀表學報,2007,28(4):295-297.TONG Wei-ming,GAO Hong-wei,CHEN Pei-you.Research of CAN bus transmission time delay property[J].Chinese Journal of Scientific Instrument,2007,28(4):295-297.