季學(xué)彬,竇金生
(1.江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003;2.中國人民解放軍鎮(zhèn)江船艇學(xué)院 工程系,江蘇 鎮(zhèn)江 212003)
碼頭岸電的使用對于環(huán)境的保護(hù)具有重大意義,岸電的普及不僅能大量減少船舶靠港時自身發(fā)電所產(chǎn)生的廢氣,同時也大大的降低了港口的噪聲污染[1]。為了普及這一具有重要重要意義的技術(shù),各國都在大力發(fā)展船舶靠港岸電供電技術(shù);相應(yīng)的就需要一個智能的監(jiān)控網(wǎng)絡(luò)實現(xiàn)供電的智能化。當(dāng)前工業(yè)級監(jiān)控領(lǐng)域廣泛采用現(xiàn)場總線來作為數(shù)據(jù)傳輸?shù)闹薪椤6渲蠧AN總線以其特有的優(yōu)點已經(jīng)廣泛應(yīng)用在各級智能控制領(lǐng)域。
控制器局域網(wǎng)(Controller Area Network)已經(jīng)廣泛應(yīng)用于機械、紡織、醫(yī)療、機器人等領(lǐng)域。CAN已經(jīng)形成國際標(biāo)準(zhǔn),并被公認(rèn)為是幾種最為有前途的現(xiàn)場總線之一。CAN總線作為傳輸信息的中介,其傳輸實時性一直是CAN系統(tǒng)重要的指標(biāo)之一,針對其的研究也是當(dāng)前有關(guān)CAN總線的熱點研究問題之一。
CAN總線和其他的控制總線相比,具有良好的可靠性、靈活性和實時性。體現(xiàn)在一下幾個方面:
1)CAN總線采用多主通信方式,網(wǎng)絡(luò)上任意一節(jié)點均可在總線空閑時刻主動的向其他節(jié)點發(fā)送信息,而不分主從。
2)CAN總線采用對各節(jié)點劃分優(yōu)先級的方法,可協(xié)調(diào)系統(tǒng)各節(jié)點的傳送時序。
3)CAN總線采用非破壞性總線仲裁技術(shù),當(dāng)同時有多個節(jié)點向總線發(fā)送信息時,優(yōu)先級較低的節(jié)點主動退出發(fā)送,而最高優(yōu)先級的節(jié)點不受影響的繼續(xù)傳送數(shù)據(jù)。
由于篇幅有限,CAN總線的其他特點不在贅述。正是CAN總線具有上述1、2、3的特點。極端情況下,可能出現(xiàn)級別較低的節(jié)點需要很長的時間才能發(fā)送數(shù)據(jù)甚至無限期時延。這就要求對CAN總線的通信實時性具體分析,以達(dá)到系統(tǒng)設(shè)計的要求。
CAN總線的網(wǎng)絡(luò)延時包括:從待發(fā)送數(shù)據(jù)在總線節(jié)點A變化開始,直到該數(shù)據(jù)在另外一個節(jié)點B中得到確認(rèn),這期間的總延時時間。根據(jù)CAN總線的數(shù)據(jù)流的傳播方向可知,CAN的報文信息延時由幀延時、軟件延時與CAN控制器延時和媒體訪問延時等部分組成。
幀延時既報文信息的傳輸延時,由報文的幀長度和總線的傳輸速率決定。根據(jù)CAN2.0B協(xié)議,CAN總線的報文信息共有以下4種幀類型:數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀和過載幀。
CAN總線為實現(xiàn)總線空閑的確定、CAN控制器的同步和傳輸錯誤的檢測,采用位流編碼技術(shù),即在幀的幀起始、仲裁場、控制場、數(shù)據(jù)場以及CRC序列。均通過位填充的方法編碼。無論何時,發(fā)送器只要檢測到位流里有5個連續(xù)相同值的位,便自動在位流里插入1位相反極性位;同時報文的位流根據(jù)“不歸零”(Not Return To Zero,NRZ)的方法來編碼,在整個位時間里,位的電平要么為“顯性”,要么為“陰性”[1-2]。位填充機制造成總線上實際傳輸消息的位數(shù)始終大于原始的位數(shù)。
CAN總線的傳輸速率也是影響幀延時的重要因素。由于信息在CAN總線上是串行發(fā)送的,因此傳輸速率由波特率度量。將CAN總線應(yīng)用于實際工業(yè)現(xiàn)場中時,其傳輸速率隨著傳輸距離(40 m~10 km)而相應(yīng)的在1 M~5 kbit/s之間變化。
綜合上述幀長度、波特率和傳輸距離對幀延時的影響,針對擴展幀,得到其在最大傳輸速率條件下對應(yīng)不同數(shù)據(jù)字節(jié)的延時,如表1所示。
表1 擴展幀數(shù)據(jù)延時參數(shù)Tab.1 The extended frame data delay parameters
由于CAN總線的報文信息大都采用短幀結(jié)構(gòu),其傳輸?shù)臄?shù)據(jù)字節(jié)較少,標(biāo)識符的差異對信息延時有著較大的影響,平均能達(dá)到30%~40%左右[2]。
軟件及控制器導(dǎo)致的延時主要與系統(tǒng)使用的MCU、CAN控制器及接口芯片有關(guān)。本文在碼頭岸電監(jiān)控系統(tǒng)的實際應(yīng)用中采用的是C8051F040作為MCU(內(nèi)嵌CAN控制器),CAN收發(fā)器是PCA82C250。為了測量方便,采用的是一對CAN的ISA控制通信卡,一個CAN節(jié)點作為發(fā)送節(jié)點,另一個作為接收節(jié)點,排除了總線媒體訪問的仲裁沖突延時。
總延時包括從發(fā)送進(jìn)程往CAN控制器的發(fā)送緩存器中寫第一個數(shù)據(jù)開始,一直到接收進(jìn)程中將接收緩存器中的有關(guān)數(shù)據(jù)全部讀出的整個階段。時間的測量可通過主控制器控制面板上的計數(shù)芯片的計數(shù)通道來獲取,精度為1μs,測量獲得的數(shù)據(jù)如表2所示。
從表2分析可知,在固定發(fā)送速率條件下,隨著發(fā)送字節(jié)的遞增,非幀延時時間也成正比關(guān)系遞增,這主要歸因于CAN控制器和MCU之間的數(shù)據(jù)交換量的增加。同時,根據(jù)實際測量,CAN總線在通信速率較低時,傳輸延時較高,通信速率對延時影響較大;一旦通信速率達(dá)到50 kbit/s之上,發(fā)送信息的字節(jié)數(shù)將成為延時的主要因素,而且CAN網(wǎng)絡(luò)的軟件延時及控制器延時隨著信息字節(jié)數(shù)的遞增主要在30~100μs之間變化。
在中大型控制網(wǎng)絡(luò)中,隨著系統(tǒng)中控制節(jié)點的增加,控制網(wǎng)絡(luò)中的信息流也將急劇增加。在這樣的多節(jié)點、高負(fù)荷的網(wǎng)絡(luò)控制系統(tǒng)中,由報文搶占總線資源而引起的媒體訪問延時將越來越凸顯出其重要性,對于媒體訪問延時的分析將是設(shè)計控制系統(tǒng)時的重要參考因素[3]。
排隊論主要研究統(tǒng)計平衡下的各項性能指標(biāo)的概率性質(zhì),根據(jù)CAN總線協(xié)議,可以把CAN總線的網(wǎng)絡(luò)傳輸模型可模擬為圖1所示。
這樣就能建立一個模擬的排隊模型,n個待處理的信息相當(dāng)于顧客,而處理信息節(jié)點相當(dāng)于服務(wù)。待處理信息的到達(dá)服從泊松分布,呈現(xiàn)出規(guī)律性的特點;CAN總線采用位填充的方式進(jìn)行報文傳送,報文的長度不一而使服務(wù)時間呈現(xiàn)出一定的概率分布,服務(wù)時間服從一般概率分布W;同時只有一個信息可在總線上傳輸。建立一個基于排隊論的非強占優(yōu)先級的N/W/1模型,如圖1所示。
圖1 N/W/1模型Fig.1 Model of N/W/1
表2 不同發(fā)送速率下報文延時Tab.2 Different transmission rate message delay time
假定系統(tǒng)容量無限;在系統(tǒng)正常連續(xù)運行時,CAN總線系統(tǒng)中的消息通常是持續(xù)不斷發(fā)送的,則可以假定顧客來源無限(理想狀態(tài)分析,誤差較小)。設(shè)CAN總線的報文優(yōu)先級分別為從0到λ-1,共λ個等級,這里數(shù)字越小,代表的優(yōu)先級越高;各個等級的報文均以泊松模式進(jìn)入系統(tǒng),其平均到達(dá)速度分別為v0v1…vλ-1,系統(tǒng)對各個報文的平均服務(wù)速率分別為 ω0ω1ωλ-1,服務(wù)時間服從指數(shù)分布,具備馬爾科夫特性。
消息i的消息等待時間Ti包括:
1)當(dāng)前正在總線上傳輸?shù)牡男畔⒌膫魉屯戤厱r間To;
2)在等待期間,比i優(yōu)先級較高的信息j在上一消息息發(fā)送完畢后占用總線發(fā)送信息的時間Tj,由此可得Ti=Tj+T0,求Ti的數(shù)學(xué)期望即消息i的平均等待時間
依據(jù)排隊論的分析方法,可得到第i級報文的等待時間為
Little定理指出:系統(tǒng)中物體的平均數(shù)量等于物體離開系統(tǒng)的平均速率和每個物體在系統(tǒng)中停留的平均時間 (這里指單個報文的平均服務(wù)時間)的乘積[3]。根據(jù)little定理可得出第i級報文的平均等待時間為:
在實驗中模擬碼頭岸電監(jiān)控系統(tǒng)中的8個下位機智能監(jiān)控點,設(shè)定優(yōu)先級分別為0到7之間;在系統(tǒng)搭建完成之后,由于系統(tǒng)的晶振頻率已經(jīng)確定,則各個優(yōu)先級的報文到真實驗達(dá)速率一定,相應(yīng)服務(wù)速率一定,仿得到的網(wǎng)絡(luò)性能參數(shù)如表3所示。
表3 實驗測得數(shù)據(jù)Tab.3 Test result
從上表可看出,網(wǎng)絡(luò)負(fù)載率對報文消息的等待延時有著很大的影響;當(dāng)網(wǎng)絡(luò)負(fù)載率較小時,消息基本能保證實時發(fā)送,但是當(dāng)負(fù)載率極高時,CAN總線的網(wǎng)絡(luò)延時還是比較嚴(yán)重的。同時優(yōu)先級對等待時間的影響也是巨大的,當(dāng)網(wǎng)絡(luò)負(fù)載較高且各優(yōu)先級的報文分布比較均勻的時候,優(yōu)先級小于λ-1/2的報文基本能及時的發(fā)送,但隨著優(yōu)先級的繼續(xù)增加,網(wǎng)絡(luò)延時劇增,將無法滿足控制網(wǎng)絡(luò)的實時性要求。
通過以上對CAN網(wǎng)絡(luò)的實時性能的分析,在設(shè)計實際的控制網(wǎng)絡(luò)中,給予讀者一下參考:
1)當(dāng)標(biāo)準(zhǔn)幀能滿足系統(tǒng)對控制容量、傳輸可靠性等的要求時,盡量避免使用擴展幀。2)在滿足控制系統(tǒng)的穩(wěn)定性的要求前提下,盡量提高系統(tǒng)的傳輸速率。3)減少控制網(wǎng)絡(luò)中不必要的節(jié)點及報文信息,以達(dá)到降低負(fù)載率的目的。
針對CAN網(wǎng)絡(luò)本身的優(yōu)化研究也很必要,對于CAN網(wǎng)絡(luò)的優(yōu)化問題,在協(xié)議層上面上目前相對成熟的方法是采用基于時間觸發(fā)的TTCAN協(xié)議,此協(xié)議完全兼容于CAN節(jié)點,無論是數(shù)據(jù)鏈路層還是物理層。TTCAN節(jié)點不需要專用的總線防護(hù)裝置,節(jié)點之間總線沖突的防止依靠CAN的無破壞位仲裁機制和CAN故障限制[4-5]。
文獻(xiàn)[5]針對TTCAN提出了基于字母編碼的遺傳算法,此算法提出了一種采用“權(quán)”的動態(tài)優(yōu)先級提升算法,并且引入了字母編碼方式對遺傳算法進(jìn)行優(yōu)化。有效縮短了系統(tǒng)矩陣中的事件型信息的滯后時間,同時減少了周期性信息的抖動性問題且計算速度快[5-6],具有較好的優(yōu)化效果。
文獻(xiàn)[7]針對TTCAN提出了粒子群優(yōu)化算法(PSO),PSO算法比遺傳算法具有更快的收斂速度、概念簡單、易于實現(xiàn);在處理低維問題時候具有一定的優(yōu)越性。在固定優(yōu)先級算法的基礎(chǔ)上,采用基于粒子群算法的TTCAN系統(tǒng)調(diào)度算法,在減少信息的傳輸抖動和提高帶寬利用率上比傳統(tǒng)算法具有一定的優(yōu)勢性[7-8]。在大型的綜合CAN系統(tǒng)中,基于粒子群算法優(yōu)化的TTCAN矩陣在實時性和提高帶寬利用率方面都有很大的研究價值。
針對于中小型港口,其靠港船舶相對較少,智能供電終端無需安裝太多就能滿足靠港船舶的供電需要,因而依靠CAN總線本身的協(xié)議就能具有較好的網(wǎng)絡(luò)實時性。但是對綜合的大型港口而言,其智能供電終端一般都有數(shù)十乃至上百個,這就存在傳輸實時性能否滿足要求的問題。針對這一問題的研究還是有一定價值的。
在碼頭岸電監(jiān)控系統(tǒng)中,由于本課題僅僅采用CAN模塊模擬8個岸電供電監(jiān)控點,因此對于CAN的實時性研究還不夠深入,有待進(jìn)一步的什么學(xué)習(xí)。但CAN總線作為當(dāng)前最為廣泛應(yīng)用的現(xiàn)場總線之一,對其實時性的深入分析研究對于系統(tǒng)的優(yōu)化和信息的實時傳送都具有重大的意義,今后將針對算法優(yōu)化的問題展開進(jìn)一步的分析研究。
[1]李運生.基于TTCAN的碼頭供電監(jiān)控系統(tǒng)設(shè)計 [D].鎮(zhèn)江:江蘇科技大學(xué),2012.
[2]陳曦,劉魯源,呂偉杰.基于排隊論的CAN總線消息響應(yīng)時間建模與分析[J].天津大學(xué)學(xué)報,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網(wǎng)絡(luò)實時性與可靠性研究[D].武漢:武漢理工大學(xué),2010.
[4]Leen G,Heffernan D.TTCAN:A new time triggered controller area network[J].Microprocessors and Microsystems,2002.
[5]李運生,竇金生.TTCAN系統(tǒng)矩陣的優(yōu)化算法[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]玄光男,程潤偉.遺傳算法與工程優(yōu)化[M].北京:清華大學(xué)出版社,2004.
[7]張小玉.基于粒子群算法的TTCAN總線系統(tǒng)矩陣優(yōu)化研究[D].無錫:江南大學(xué),2008.
[8]佟為明,高洪偉,陳培友.CAN總線傳輸延時特性的研究[J].儀器儀表學(xué)報,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.