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