張國勝,王書舉
(1.交通運輸部公路科學(xué)研究院,運輸車輛運行安全技術(shù)交通行業(yè)重點實驗室,北京 100088; 2.遼寧工程技術(shù)大學(xué)機械工程與自動化學(xué)院,阜新 123000)
?
2015169
基于數(shù)據(jù)壓縮的車身CAN網(wǎng)絡(luò)優(yōu)化調(diào)度設(shè)計*
張國勝1,王書舉2
(1.交通運輸部公路科學(xué)研究院,運輸車輛運行安全技術(shù)交通行業(yè)重點實驗室,北京 100088; 2.遼寧工程技術(shù)大學(xué)機械工程與自動化學(xué)院,阜新 123000)
針對汽車車身網(wǎng)絡(luò)節(jié)點日漸增多而低速CAN帶寬資源有限的問題,引入減少網(wǎng)絡(luò)傳輸數(shù)據(jù)的數(shù)據(jù)壓縮技術(shù),分析了車身網(wǎng)絡(luò)信息數(shù)據(jù)變化特點,提出了基于數(shù)據(jù)壓縮的變化優(yōu)先(CF)的優(yōu)化調(diào)度算法,介紹了CF算法的數(shù)據(jù)壓縮、解壓縮和調(diào)度原理,將CF算法應(yīng)用于汽車車身控制系統(tǒng)設(shè)計,理論分析和實驗驗證的結(jié)果表明,該算法可顯著降低車身CAN總線負載,改善信息的實時性,提高車身CAN總線的擴展靈活性。
車身;控制器局域網(wǎng);優(yōu)化調(diào)度;數(shù)據(jù)壓縮
CAN網(wǎng)絡(luò)廣泛應(yīng)用于車輛控制系統(tǒng),采用CAN網(wǎng)絡(luò)的車身電子系統(tǒng)信息容量大、擴展靈活性強、成本低、布線少、維修智能。
汽車車身控制模塊接收乘員的指令,返回系統(tǒng)的運行狀態(tài),車身控制系統(tǒng)中的信息多屬于按鍵、狀態(tài)指示類,車身系統(tǒng)對通信網(wǎng)絡(luò)的要求有以下幾方面[1]。
(1) 要求信息有一定的實時性,以避免乘駕人員的誤操作。例如,駕駛員對后視鏡的操作指令若不能及時響應(yīng),將帶來安全隱患。
(2) 車身網(wǎng)絡(luò)對網(wǎng)絡(luò)的容量和擴展靈活性的需求越來越大。當前汽車車身的控制功能正向著自動化、智能化的方向發(fā)展,車身控制系統(tǒng)中通過網(wǎng)絡(luò)互連的電子器件日漸增多。
(3) 汽車車身電子系統(tǒng)對成本因素比較敏感。車身控制網(wǎng)絡(luò)目前通常采用低速CAN協(xié)議網(wǎng)絡(luò)。
由于成本制約和車身信息的實時性要求,對于車身控制網(wǎng)絡(luò)的設(shè)計更加注重網(wǎng)絡(luò)的擴展靈活性或網(wǎng)絡(luò)資源的利用效率[1-2]。因此,通過優(yōu)化調(diào)度來提高現(xiàn)有CAN網(wǎng)絡(luò)的資源利用率,是車身CAN網(wǎng)絡(luò)設(shè)計中的重點內(nèi)容。
汽車車身電子系統(tǒng)包括車內(nèi)外照明控制、中央門鎖、電動窗、智能雨刮器、電動轉(zhuǎn)向柱、電動座椅、輔助加熱系統(tǒng)和智能空調(diào)器等[3]。車身電控裝置通過CAN總線連接構(gòu)成車身總線網(wǎng)絡(luò)。
為了減少汽車控制模塊與線束、降低成本,一般會根據(jù)電器的位置對網(wǎng)絡(luò)系統(tǒng)功能模塊進行劃分,然后按照功能相似、位置靠近的原則將車身劃分為多個區(qū)域控制節(jié)點[4-5]。整個車身網(wǎng)絡(luò)包含的部件較多,本文中以中央控制器和4個車門控制器等5個模塊節(jié)點為例,介紹車身CAN網(wǎng)絡(luò)設(shè)計方法。由中央控制器模塊和4個門控制模塊構(gòu)成的車身CAN系統(tǒng)拓撲結(jié)構(gòu)如圖1所示。
為了提高節(jié)點信息解碼的效率,將同一節(jié)點的控制信息集中在一起,預(yù)留一些保留位用于協(xié)議的擴展。左前門節(jié)點的狀態(tài)或命令信息的數(shù)據(jù)場中4字節(jié)的具體定義如表1[6]所示,其余節(jié)點的數(shù)據(jù)定義詳見文獻[6]。
車身CAN網(wǎng)絡(luò)狀態(tài)或命令信息傳輸占用的字節(jié)較少。由車身節(jié)點的信息屬性可以看出,在汽車穩(wěn)定行駛時,由中央控制器、車門模塊等節(jié)點周期性發(fā)出的信息中大部分數(shù)據(jù)并沒有發(fā)生變化,這樣的屬性滿足了對傳輸數(shù)據(jù)進行壓縮的條件。
本文中基于數(shù)據(jù)壓縮思想提出了根據(jù)數(shù)據(jù)變化情況進行網(wǎng)絡(luò)調(diào)度的變化優(yōu)先CF(changed first)算法。
數(shù)據(jù)壓縮技術(shù)可以使用更少的數(shù)據(jù)來傳輸相同的信息內(nèi)容,該技術(shù)已經(jīng)廣泛應(yīng)用于圖像傳輸和數(shù)據(jù)存儲等領(lǐng)域。車身CAN節(jié)點收發(fā)的信息數(shù)據(jù)表征汽車的參數(shù)或狀態(tài),當汽車的參數(shù)或狀態(tài)無變化時,相應(yīng)的信息數(shù)據(jù)也保持不變。
表1 左前門控制器狀態(tài)與命令幀[6]
注:表中未說明的位為保留位,置為1。
2.1 CAN信息標識符和數(shù)據(jù)域分配
CF算法旨在減少總線傳輸?shù)臄?shù)據(jù)量,給予數(shù)據(jù)發(fā)生變化的信息較高的優(yōu)先級,給予數(shù)據(jù)無變化的信息較低優(yōu)先級。因此,根據(jù)CAN協(xié)議的“線與”要求,設(shè)置信息標識符的ID.10位為數(shù)據(jù)變化控制位(CIB),表示數(shù)據(jù)是否變化。設(shè)置ID.9位為數(shù)據(jù)壓縮控制位(DCB),表示數(shù)據(jù)是否壓縮。設(shè)置信息的數(shù)據(jù)域第一個字節(jié)為數(shù)據(jù)壓縮控制(DCC)域。CF算法中對于信息幀的結(jié)構(gòu)配置如圖2所示。
在CF算法中,由于DCC占用了信息數(shù)據(jù)域的一個字節(jié),當節(jié)點中產(chǎn)生的新數(shù)據(jù)和舊數(shù)據(jù)有超過一個字節(jié)的數(shù)據(jù)重復(fù)時,可以采用數(shù)據(jù)壓縮技術(shù)來減少傳輸?shù)臄?shù)據(jù)量。當節(jié)點產(chǎn)生的新信息的數(shù)據(jù)無變化且滿足壓縮條件時,將CIB位置1,此時,競爭總線資源的其他信息將有更高的優(yōu)先級,實現(xiàn)了發(fā)生變化數(shù)據(jù)的優(yōu)先傳輸。CF算法中,CIB和DCB與數(shù)據(jù)變化的對應(yīng)設(shè)置如表2所示。
表2 CF算法中控制位設(shè)置
2.2 CF算法編碼與解碼原理
根據(jù)表2的設(shè)置,當新數(shù)據(jù)產(chǎn)生時滿足壓縮要求,通過配置DCC中的對應(yīng)位來表征數(shù)據(jù)的組成,如某信息有兩個字節(jié)數(shù)據(jù)發(fā)生變化時,其DCC控制位的配置如圖3所示。與節(jié)點中備份信息的數(shù)據(jù)相同的字節(jié)無須發(fā)送,對于有變化且需要發(fā)送的數(shù)據(jù)字節(jié)將DCC對應(yīng)位置1,有變化的數(shù)據(jù)字節(jié)按先后順序排列,節(jié)點發(fā)送的新信息將攜帶DCC及其變化的數(shù)據(jù)。
當信息m首次產(chǎn)生時,將其作為原始信息進行數(shù)據(jù)備份。當m再次產(chǎn)生時,控制器根據(jù)信息的數(shù)據(jù)變化情況,置位各控制位,具體數(shù)據(jù)壓縮流程如圖4所示。
接收節(jié)點須對數(shù)據(jù)壓縮信息進行解壓來還原數(shù)據(jù),它首先根據(jù)控制位判斷數(shù)據(jù)是否經(jīng)過壓縮,然后對比相應(yīng)信息的數(shù)據(jù)備份,對數(shù)據(jù)進行復(fù)原,接收節(jié)點對信息數(shù)據(jù)的重構(gòu)過程如圖5所示。
3.1 車身CAN網(wǎng)絡(luò)性能分析方法
針對車身CAN網(wǎng)絡(luò)的實時性和網(wǎng)絡(luò)擴展性需求,分析控制策略對網(wǎng)絡(luò)這兩個方面性能的影響。
3.1.1 車身CAN網(wǎng)絡(luò)實時性分析
信息m在CAN總線中傳輸須經(jīng)歷一定的時間,考慮CAN協(xié)議的位填充和幀間間隔,信息m占用總線的最長傳輸時間tCm[7]為
(1)
式中:fbaud為總線傳輸速率;τbit為網(wǎng)絡(luò)位傳輸時間;對于標準信息幀g=34;dm為信息幀m數(shù)據(jù)域的字節(jié)數(shù)。
車載網(wǎng)絡(luò)信息的實時調(diào)度一般采用截止期單調(diào)(DM)算法[8]。DM按照信息的截止期分配信息的優(yōu)先級,通過計算可分析出此信息傳輸能否滿足其實時性要求。
CAN總線信息從發(fā)生節(jié)點申請發(fā)送開始至目標節(jié)點完成信息的接收為止要經(jīng)歷一定的傳輸延時。此延時須考慮信息m的最壞傳輸條件,包括信息m發(fā)出總線使用申請后的等待時間(先等待已經(jīng)在總線上傳輸?shù)牡蛢?yōu)先級信息傳輸、競爭總線失敗后再等待高優(yōu)先級的信息傳輸)和自身的傳輸時間。此情況下的延時稱為最長傳輸延時,記為tRm[8]:
(2)
式中:tWm為信息m從申請發(fā)送開始到獲得總線使用權(quán)的時間;tBm為m申請使用總線時被正在傳輸?shù)牡蛢?yōu)先級信息所阻礙的時間;h(m)為比信息m優(yōu)先級高的信息集合;l(m)為比m優(yōu)先級低的信息集合;Ti為信息幀i的發(fā)送周期;tJi為軟件抖動時間;tCi是i信息在總線上的傳輸時間。
對于車載CAN實時系統(tǒng),若系統(tǒng)中的信息m滿足以下條件,則認為該信息傳輸滿足實時性:
tRm≤tDm-tJm
(3)
式中:tDm為信息m的有效時限,即可允許的最大傳輸延時。
CF調(diào)度針對信息的數(shù)據(jù)變化情況賦予信息不同的優(yōu)先級,數(shù)據(jù)無變化的信息則被賦予低優(yōu)先級而延遲發(fā)送,此類信息如果由于調(diào)度延遲超出其時間限制,可由接收節(jié)點直接采用本地的備份狀態(tài)和指令數(shù)據(jù);對于數(shù)據(jù)有變化的信息,其優(yōu)先級不低于原優(yōu)先級,其響應(yīng)時間將不大于采用DM調(diào)度時的最長響應(yīng)時間,則此類信息的實時性可根據(jù)式(3)判定。
3.1.2 車身CAN網(wǎng)絡(luò)可擴展性分析
總線負載率是衡量CAN總線可擴展能力的重要指標。它定義為系統(tǒng)各個信息幀總線占用百分比之和:
(4)
式中Tm為信息幀m的發(fā)送周期。
擴展靈活性因子UFR[1]是評價CAN總線可擴展能力的另一個重要指標,表示新調(diào)度方案相對于傳統(tǒng)方案的總線利用節(jié)約百分率。UFR的值越大,說明CAN總線網(wǎng)絡(luò)的可擴展性能越強。采用CF算法進行信息調(diào)度的總線擴展靈活性因子[9]為
(5)
式中:UTrad為采用傳統(tǒng)調(diào)度形式時的總線負載率;UCF為采用CF時的總線負載率。
3.2 車身CAN網(wǎng)絡(luò)性能分析
采用與文獻[6]中汽車車身控制系統(tǒng)相同的參數(shù)配置,取中央控制器模塊和4個門控制模塊構(gòu)建車身網(wǎng)絡(luò)。CAN網(wǎng)絡(luò)位速率為62.5kbit/s,各模塊節(jié)點的信息屬性如表3所示。針對車身應(yīng)用環(huán)境,取軟件抖動為1ms。
表3 車身控制系統(tǒng)信息屬性
由表1車身信息中對信號的定義可以看出,在車輛行駛中,車身各模塊節(jié)點發(fā)送的信息所攜帶的數(shù)據(jù)中有多個字節(jié)數(shù)據(jù)不發(fā)生變化甚至整個數(shù)據(jù)沒有變化。本文中取中央節(jié)點和兩前門節(jié)點發(fā)送的信息數(shù)據(jù)中有4字節(jié)重復(fù)不變,兩后門節(jié)點有2字節(jié)不變時的情況[6]對網(wǎng)絡(luò)性能進行分析。
3.2.1 車身CAN網(wǎng)絡(luò)實時性分析
對采用CF算法與采用傳統(tǒng)傳輸方式(TradT)的信息最長響應(yīng)時間進行計算,得到信息的延遲時間如圖6所示。由圖可見,采用CF算法后信息的最長響應(yīng)時間縮短,數(shù)據(jù)有變化的低優(yōu)先級信息的實時性得到明顯改善。
3.2.2 車身CAN網(wǎng)絡(luò)擴展性實驗分析
利用5節(jié)點實驗系統(tǒng)對數(shù)據(jù)壓縮方案進行驗證分析,實驗系統(tǒng)由3個單片機節(jié)點和2個PC節(jié)點組成,設(shè)置系統(tǒng)傳輸速率為62.5kbit/s,實驗系統(tǒng)如圖7所示。
實驗中各節(jié)點周期性發(fā)送帶8字數(shù)據(jù)節(jié)信息,單片機節(jié)點所發(fā)送的信息數(shù)據(jù)有4字節(jié)重復(fù),PC節(jié)點發(fā)送數(shù)據(jù)中有2字節(jié)重復(fù)。網(wǎng)絡(luò)監(jiān)測結(jié)果表明,實施CF方案前后的系統(tǒng)網(wǎng)絡(luò)負載率分別為16.62%和13.86%,可見經(jīng)過優(yōu)化后的總線負載明顯降低。實驗測得的總線負載率比理論計算結(jié)果略小,這是由于理論計算中考慮的是信息幀m的最大位填充的情況。
相比傳統(tǒng)調(diào)度方案,采用CF時的車身系統(tǒng)的擴展靈活因子為
即本文方案相對于傳統(tǒng)傳輸方案的擴展靈活性提高了16.606%,采用CF算法后系統(tǒng)的可擴展性明顯提高。
針對車身網(wǎng)絡(luò)擴展性和實時性的要求,分析了車身網(wǎng)絡(luò)信息數(shù)據(jù)變化的特點,基于數(shù)據(jù)壓縮思想提出了變化優(yōu)先調(diào)度方案。分析結(jié)果表明,該方案可使數(shù)據(jù)有變化的信息優(yōu)先獲得總線資源,能提高CAN網(wǎng)絡(luò)的傳輸效率,同時改善低優(yōu)先級信息的實時性,為未來車身電子系統(tǒng)的入網(wǎng)擴展提供了優(yōu)化設(shè)計方案。
[1] 曹萬科.CAN協(xié)議車載網(wǎng)絡(luò)若干關(guān)鍵理論研究[D].沈陽:東北大學(xué),2008.
[2] Navet N, Song Y Q. Validation of In-vehicle Real-time Application[J]. Computers in Industry,2001,46(2):107-122.
[3] 高青春.基于CAN/LIN總線的汽車車身通信網(wǎng)絡(luò)的研究及應(yīng)用[D].重慶:重慶大學(xué),2006.
[4] 白中浩,曹立波,劉擁華,等.基于CAN總線的汽車車身網(wǎng)絡(luò)系統(tǒng)的開發(fā)[J].客車技術(shù)與研究,2005,27(6):18-20.
[5] 郭利進,王化祥,龔進峰.基于CAN總線的車身網(wǎng)絡(luò)系統(tǒng)及其控制策略研究[J].汽車工程,2006,28(8):774-778.
[6] 羅峰,孫澤昌.汽車CAN總線系統(tǒng)原理、設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2010.
[7] 王書舉,張?zhí)靷b,張國勝.汽車TTCAN實時性分析及其可視化研究[J].汽車工程,2011,33(2):172-175.
[8] Giorgio C Buttazzo. Rate Monotonic vs EDF: Judgment Day[J]. Real-Time Systems,2005,29(1):5-26.
[9] 曹萬科,張?zhí)靷b,劉應(yīng)吉,等.基于RMA方法的汽車車身CAN總線優(yōu)化設(shè)計[J].汽車工程,2007,29(12):1098-1101.
Optimized Scheduling of Vehicle Body CAN Based on Data Compression
Zhang Guosheng1& Wang Shuju2
1.KeyLaboratoryofOperationSafetyTechnologyonTransportVehiclesMinistryofCommunication,PRC,ResearchInstituteofHighwayMinistryofCommunications,Beijing100088; 2.SchoolofMechanicalEngineering,LiaoningTechnicalUniversity,Fuxin123000
In view of the contradiction between the ever increasing network nodes in vehicle body and the limited bandwidth resources of low-speed CAN, a data compression technique is introduced to reduce network transmission data. Then based on the analysis on the changing features of vehicle body network data, an optimization scheduling algorithm with "changed first" principle is proposed for data compression and is then applied to the control system design of vehicle body. The results of theoretical analysis and experimental verification indicate that the algorithm proposed can obviously reduce the load of vehicle body CAN bus, improve the real time performance of information and enhance the expansion flexibility of vehicle body CAN bus.
vehicle body; CAN; optimized scheduling; data compression
*國家自然科學(xué)基金青年基金(51305181和51405213)資助。
原稿收到日期為2013年10月8日,修改稿收到日期為2014年1月22日。