基于CAN總線的碼頭岸電監(jiān)控系統(tǒng)實時性分析
摘要:隨著我國”節(jié)能減排”的勢在必行,船舶靠港期間使用碼頭岸電以及岸電供給的智能監(jiān)控已經(jīng)成為當(dāng)前的趨勢,并正在大力推廣。 CAN總線在智能監(jiān)控領(lǐng)域具有廣闊的應(yīng)用前景,在大型網(wǎng)絡(luò)監(jiān)控系統(tǒng)中,監(jiān)控系統(tǒng)的實時性具有重要的意義。文章分析了CAN總線的實時性問題,針對CAN協(xié) 議提出了仿真模型,實驗測出延時數(shù)據(jù),總結(jié)比較了當(dāng)前幾種基于TTCAN的算法優(yōu)化問題。對于開發(fā)大型網(wǎng)絡(luò)監(jiān)控系統(tǒng)具有一定的現(xiàn)實參考意義。
本文引用地址:http://m.butianyuan.cn/article/201610/306153.htm碼頭岸電的使用對于環(huán)境的保護(hù)具有重大意義,岸電的普及不僅能大量減少船舶靠港時自身發(fā)電所產(chǎn)生的廢氣,同時也大大的降低了港口的噪聲污染。為了普及這一具有重要重要意義的技術(shù),各國都在大力發(fā)展船舶靠港岸電供電技術(shù);相應(yīng)的就需要一個智能的監(jiān)控網(wǎng)絡(luò)實現(xiàn)供電的智能化。當(dāng)前工業(yè)級監(jiān)控領(lǐng)域廣泛采用現(xiàn)場總線來作為數(shù)據(jù)傳輸?shù)闹薪?。而其?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/CAN總線">CAN總線以其特有的優(yōu)點(diǎn)已經(jīng)廣泛應(yīng)用在各級智能控制領(lǐng)域。
控制器局域網(wǎng)(Controller Area Network)已經(jīng)廣泛應(yīng)用于機(jī)械、紡織、醫(yī)療、機(jī)器人等領(lǐng)域。CAN已經(jīng)形成國際標(biāo)準(zhǔn),并被公認(rèn)為是幾種最為有前途的現(xiàn)場總線之一。CAN總線作為傳輸信息的中介,其傳輸實時性一直是CAN系統(tǒng)重要的指標(biāo)之一,針對其的研究也是當(dāng)前有關(guān)CAN總線的熱點(diǎn)研究問題之一。
1 控制器局域網(wǎng)(CAN)實時性問題研究
CAN總線和其他的控制總線相比,具有良好的可靠性、靈活性和實時性。體現(xiàn)在一下幾個方面:
1)CAN總線采用多主通信方式,網(wǎng)絡(luò)上任意一節(jié)點(diǎn)均可在總線空閑時刻主動的向其他節(jié)點(diǎn)發(fā)送信息,而不分主從。
2)CAN總線采用對各節(jié)點(diǎn)劃分優(yōu)先級的方法,可協(xié)調(diào)系統(tǒng)各節(jié)點(diǎn)的傳送時序。
3)CAN總線采用非破壞性總線仲裁技術(shù),當(dāng)同時有多個節(jié)點(diǎn)向總線發(fā)送信息時,優(yōu)先級較低的節(jié)點(diǎn)主動退出發(fā)送,而最高優(yōu)先級的節(jié)點(diǎn)不受影響的繼續(xù)傳送數(shù)據(jù)。
由于篇幅有限,CAN總線的其他特點(diǎn)不在贅述。正是CAN總線具有上述1、2、3的特點(diǎn)。極端情況下,可能出現(xiàn)級別較低的節(jié)點(diǎn)需要很長的時間才能發(fā)送數(shù)據(jù)甚至無限期時延。這就要求對CAN總線的通信實時性具體分析,以達(dá)到系統(tǒng)設(shè)計的要求。
1.1 CAN總線延時分析
CAN總線的網(wǎng)絡(luò)延時包括:從待發(fā)送數(shù)據(jù)在總線節(jié)點(diǎn)A變化開始,直到該數(shù)據(jù)在另外一個節(jié)點(diǎn)B中得到確認(rèn),這期間的總延時時間。根據(jù)CAN總線的數(shù)據(jù)流的傳播方向可知,CAN的報文信息延時由幀延時、軟件延時與CAN控制器延時和媒體訪問延時等部分組成。
1.2 幀延時分析
幀延時既報文信息的傳輸延時,由報文的幀長度和總線的傳輸速率決定。根據(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)的方法來編碼,在整個位時間里,位的電平要么為“顯性”,要么為“陰性”。位填充機(jī)制造成總線上實際傳輸消息的位數(shù)始終大于原始的位數(shù)。
CAN總線的傳輸速率也是影響幀延時的重要因素。由于信息在CAN總線上是串行發(fā)送的,因此傳輸速率由波特率度量。將CAN總線應(yīng)用于實際工業(yè)現(xiàn)場中時,其傳輸速率隨著傳輸距離(40 m~10 km)而相應(yīng)的在1 M~5 kbit/s之間變化。
綜合上述幀長度、波特率和傳輸距離對幀延時的影響,針對擴(kuò)展幀,得到其在最大傳輸速率條件下對應(yīng)不同數(shù)據(jù)字節(jié)的延時,如表1所示。
由于CAN總線的報文信息大都采用短幀結(jié)構(gòu),其傳輸?shù)臄?shù)據(jù)字節(jié)較少,標(biāo)識符的差異對信息延時有著較大的影響,平均能達(dá)到30%~40%左右。
1.3 軟件及控制器延時分析
軟件及控制器導(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é)點(diǎn)作為發(fā)送節(jié)點(diǎn),另一個作為接收節(jié)點(diǎn),排除了總線媒體訪問的仲裁沖突延時。
總延時包括從發(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)系遞增,這主要?dú)w因于CAN控制器和MCU之間的數(shù)據(jù)交換量的增加。同時,根據(jù)實際測量,CAN總線在通信速率較低時,傳輸延時較高,通信速率對延時影響較大;一旦通信速率達(dá)到50 kbit/s之上,發(fā)送信息的字節(jié)數(shù)將成為延時的主要因素,而且CAN網(wǎng)絡(luò)的軟件延時及控制器延時隨著信息字節(jié)數(shù)的遞增主要在30~100 μs之間變化。
1.4 基于排隊論的媒體訪問延時分析
在中大型控制網(wǎng)絡(luò)中,隨著系統(tǒng)中控制節(jié)點(diǎn)的增加,控制網(wǎng)絡(luò)中的信息流也將急劇增加。在這樣的多節(jié)點(diǎn)、高負(fù)荷的網(wǎng)絡(luò)控制系統(tǒng)中,由報文搶占總線資源而引起的媒體訪問延時將越來越凸顯出其重要性,對于媒體訪問延時的分析將是設(shè)計控制系統(tǒng)時的重要參考因素。
排隊論主要研究統(tǒng)計平衡下的各項性能指標(biāo)的概率性質(zhì),根據(jù)CAN總線協(xié)議,可以把CAN總線的網(wǎng)絡(luò)傳輸模型可模擬為圖1所示。
這樣就能建立一個模擬的排隊模型,n個待處理的信息相當(dāng)于顧客,而處理信息節(jié)點(diǎn)相當(dāng)于服務(wù)。待處理信息的到達(dá)服從泊松分布,呈現(xiàn)出規(guī)律性的特點(diǎn);CAN總線采用位填充的方式進(jìn)行報文傳送,報文的長度不一而使服務(wù)時間呈現(xiàn)出一定的概率分布,服務(wù)時間服從一般概率分布W;同時只有一個信息可在總線上傳輸。建立一個基于排隊論的非強(qiáng)占優(yōu)先級的N/W/1模型,如圖1所示。
假定系統(tǒng)容量無限;在系統(tǒng)正常連續(xù)運(yùn)行時,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的平均等待時間
Tξi=E(Ti)=E(T0+Tj) (1)
依據(jù)排隊論的分析方法,可得到第i級報文的等待時間為
Little定理指出:系統(tǒng)中物體的平均數(shù)量等于物體離開系統(tǒng)的平均速率和每個物體在系統(tǒng)中停留的平均時間(這里指單個報文的平均服務(wù)時間)的乘積。根據(jù)little定理可得出第i級報文的平均等待時間為:
在實驗中模擬碼頭岸電監(jiān)控系統(tǒng)中的8個下位機(jī)智能監(jiān)控點(diǎn),設(shè)定優(yōu)先級分別為0到7之間;在系統(tǒng)搭建完成之后,由于系統(tǒng)的晶振頻率已經(jīng)確定,則各個優(yōu)先級的報文到真實驗達(dá)速率一定,相應(yīng)服務(wù)速率一定,仿得到的網(wǎng)絡(luò)性能參數(shù)如表3所示。
從上表可看出,網(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ò)的實時性要求。
2 實時性能提升分析
通過以上對CAN網(wǎng)絡(luò)的實時性能的分析,在設(shè)計實際的控制網(wǎng)絡(luò)中,給予讀者一下參考:
1)當(dāng)標(biāo)準(zhǔn)幀能滿足系統(tǒng)對控制容量、傳輸可靠性等的要求時,盡量避免使用擴(kuò)展幀。2)在滿足控制系統(tǒng)的穩(wěn)定性的要求前提下,盡量提高系統(tǒng)的傳輸速率。3)減少控制網(wǎng)絡(luò)中不必要的節(jié)點(diǎn)及報文信息,以達(dá)到降低負(fù)載率的目的。
針對CAN網(wǎng)絡(luò)本身的優(yōu)化研究也很必要,對于CAN網(wǎng)絡(luò)的優(yōu)化問題,在協(xié)議層上面上目前相對成熟的方法是采用基于時間觸發(fā)的TTCAN協(xié)議,此協(xié)議完全兼容于CAN節(jié)點(diǎn),無論是數(shù)據(jù)鏈路層還是物理層。TTCAN節(jié)點(diǎn)不需要專用的總線防護(hù)裝置,節(jié)點(diǎn)之間總線沖突的防止依靠CAN的無破壞位仲裁機(jī)制和CAN故障限制。
文獻(xiàn)針對TTCAN提出了基于字母編碼的遺傳算法,此算法提出了一種采用“權(quán)”的動態(tài)優(yōu)先級提升算法,并且引入了字母編碼方式對遺傳算法進(jìn)行優(yōu)化。有效縮短了系統(tǒng)矩
陣中的事件型信息的滯后時間,同時減少了周期性信息的抖動性問題且計算速度快,具有較好的優(yōu)化效果。
文獻(xiàn)針對,TTCAN提出了粒子群優(yōu)化算法(PSO),PSO算法比遺傳算法具有更快的收斂速度、概念簡單、易于實現(xiàn);在處理低維問題時候具有一定的優(yōu)越性。在固定優(yōu)先級算法的基礎(chǔ)上,采用基于粒子群算法的TTCAN系統(tǒng)調(diào)度算法,在減少信息的傳輸抖動和提高帶寬利用率上比傳統(tǒng)算法具有一定的優(yōu)勢性。在大型的綜合CAN系統(tǒng)中,基于粒子群算法優(yōu)化的TTCAN矩陣在實時性和提高帶寬利用率方面都有很大的研究價值。
3 結(jié)論
針對于中小型港口,其靠港船舶相對較少,智能供電終端無需安裝太多就能滿足靠港船舶的供電需要,因而依靠CAN總線本身的協(xié)議就能具有較好的網(wǎng)絡(luò)實時性。但是對綜合的大型港口而言,其智能供電終端一般都有數(shù)十乃至上百個,這就存在傳輸實時性能否滿足要求的問題。針對這一問題的研究還是有一定價值的。
在碼頭岸電監(jiān)控系統(tǒng)中,由于本課題僅僅采用CAN模塊模擬8個岸電供電監(jiān)控點(diǎn),因此對于CAN的實時性研究還不夠深入,有待進(jìn)一步的什么學(xué)習(xí)。但CAN總線作為當(dāng)前最為廣泛應(yīng)用的現(xiàn)場總線之一,對其實時性的深入分析研究對于系統(tǒng)的優(yōu)化和信息的實時傳送都具有重大的意義,今后將針對算法優(yōu)化的問題展開進(jìn)一步的分析研究。
評論