汽車(chē)電子朝著網(wǎng)絡(luò)化方向發(fā)展,車(chē)載網(wǎng)絡(luò)成為汽車(chē)電子領(lǐng)域的最大熱點(diǎn)。提高控制單元間通訊可靠性和降低導(dǎo)線成本的網(wǎng)絡(luò)總線技術(shù)應(yīng)用成為動(dòng)力所在,包括CAN、LIN、FlexRey、MOST、IDB1394等已成為現(xiàn)代汽車(chē)網(wǎng)絡(luò)總線的關(guān)鍵技術(shù)。但是對(duì)于汽車(chē)整車(chē)廠,CAN網(wǎng)絡(luò)設(shè)計(jì)成為應(yīng)用CAN網(wǎng)絡(luò)通訊的關(guān)鍵之關(guān)鍵。縱觀現(xiàn)有的設(shè)計(jì)技術(shù),可以將其分為兩類,一類是以仿真和測(cè)試為主的傳統(tǒng)設(shè)計(jì)方法。另一類是以協(xié)議設(shè)計(jì)為主的方法。傳統(tǒng)方法將每個(gè)節(jié)點(diǎn)對(duì)協(xié)議的要求拼湊起來(lái),通過(guò)仿真測(cè)試的方法檢驗(yàn)協(xié)議的正確性,最終得到通訊協(xié)議;Volcano使用的是第二類方法,它通過(guò)系統(tǒng)設(shè)計(jì)技術(shù),用理論方法對(duì)系統(tǒng)的時(shí)序建模,分析設(shè)計(jì)系統(tǒng)的通訊協(xié)議,保證系統(tǒng)的實(shí)時(shí)性能以及協(xié)議的正確性,最終發(fā)布正確的通訊協(xié)議。本文將介紹傳統(tǒng)設(shè)計(jì)方法的局限性以及Volcano新方法的優(yōu)勢(shì)。
傳統(tǒng)設(shè)計(jì)方法局限性
但是隨著車(chē)輛上電子設(shè)備逐漸增多,網(wǎng)絡(luò)系統(tǒng)越來(lái)越復(fù)雜。汽車(chē)電子網(wǎng)絡(luò)面臨巨大的挑戰(zhàn),傳統(tǒng)的網(wǎng)絡(luò)協(xié)議設(shè)計(jì)技術(shù)的局限性也越來(lái)越突出,主要表現(xiàn)在以下三個(gè)方面:
數(shù)據(jù)丟失
所謂數(shù)據(jù)丟失是指新數(shù)據(jù)還沒(méi)有來(lái)得及通過(guò)網(wǎng)絡(luò)傳輸出去或超過(guò)接收節(jié)點(diǎn)接收時(shí)限才傳輸出去。數(shù)據(jù)丟失會(huì)嚴(yán)重影響通訊的實(shí)時(shí)性能,進(jìn)而影響整車(chē)通訊的質(zhì)量。實(shí)時(shí)性能好的系統(tǒng)應(yīng)該沒(méi)有數(shù)據(jù)丟失。舉個(gè)實(shí)際的例子,某一款車(chē)型通 過(guò)一個(gè)按鈕來(lái)控制內(nèi)循環(huán)的開(kāi)和閉。當(dāng)駕駛員按下按鈕時(shí),結(jié)果發(fā)現(xiàn)內(nèi)循環(huán)沒(méi)有打開(kāi)。行駛一段時(shí)間后,也沒(méi)有感覺(jué)到內(nèi)循環(huán)打開(kāi)。這就是數(shù)據(jù)丟失現(xiàn)象,駕駛員發(fā)出了指令,但是指令卻沒(méi)有發(fā)送到對(duì)應(yīng)的控制器上,因此功能也得不到實(shí)現(xiàn)。
數(shù)據(jù)丟失的影響因素就是通訊協(xié)議,傳統(tǒng)設(shè)計(jì)方法,通過(guò)仿真測(cè)試手段檢測(cè)協(xié)議的正確性。其缺陷是無(wú)法覆蓋所有的測(cè)試用例,因此輸出的通訊協(xié)議是有潛在錯(cuò)誤或不完整的,這樣就不可避免的會(huì)產(chǎn)生數(shù)據(jù)丟失的情況,降低整個(gè)系統(tǒng)的性能。
通訊延遲
通訊延遲是指數(shù)據(jù)準(zhǔn)備好到數(shù)據(jù)通過(guò)總線發(fā)送出去的等待時(shí)間。通訊延遲可能導(dǎo)致數(shù)據(jù)丟失,是傳統(tǒng)設(shè)計(jì)方法的根本性問(wèn)題。這主要是因?yàn)閭鹘y(tǒng)設(shè)計(jì)方法只是將各個(gè)節(jié)點(diǎn)對(duì)協(xié)議的要求拼湊起來(lái),沒(méi)有考慮整個(gè)系統(tǒng)的需求,比如發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)到接收節(jié)點(diǎn)接收數(shù)據(jù)并用于控制,沒(méi)有考慮實(shí)現(xiàn)這樣一個(gè)完整功能的時(shí)間要求。因此協(xié)議設(shè)計(jì)結(jié)果難以保證實(shí)時(shí)性能,必然存在通訊的延遲。
仲裁失敗是產(chǎn)生延遲的主要原因,因此延遲與消息的ID及周期有關(guān)。系統(tǒng)越復(fù)雜,消息之間發(fā)生競(jìng)爭(zhēng)的可能性越大,系統(tǒng)的實(shí)時(shí)性能越差。
為了減小延遲的影響,傳統(tǒng)設(shè)計(jì)方法采取了兩種預(yù)防措施。一種是設(shè)定時(shí)限,通過(guò)測(cè)試的方法測(cè)得消息的響應(yīng)時(shí)間(即發(fā)送時(shí)間+延遲時(shí)間)最大值,然后以此為基礎(chǔ)設(shè)定時(shí)限,超過(guò)時(shí)限接收節(jié)點(diǎn)將不執(zhí)行控制算法。這種方法的缺點(diǎn)是時(shí)限與實(shí)際的最大值--即最差情形下的響應(yīng)時(shí)間存在差距,因此當(dāng)響應(yīng)時(shí)間落在該區(qū)間時(shí),系統(tǒng)將產(chǎn)生數(shù)據(jù)丟失。
第二種方法是將總線負(fù)載限制在平均30%左右,降低消息競(jìng)爭(zhēng)的可能性。但是對(duì)于不同的系統(tǒng)限定值是多少,至今沒(méi)有理論的指導(dǎo)。設(shè)計(jì)人員只能靠經(jīng)驗(yàn)確定,因此它也不能完全避免數(shù)據(jù)丟失。而且對(duì)于越來(lái)越復(fù)雜的系統(tǒng),這種方法越來(lái)越不能滿足系統(tǒng)設(shè)計(jì)的需要。綜上所述,通訊延遲是傳統(tǒng)設(shè)計(jì)方法的根本性問(wèn)題,無(wú)法避免。
協(xié)議修改困難
修改協(xié)議在開(kāi)發(fā)過(guò)程中不可避免。但是對(duì)于傳統(tǒng)的設(shè)計(jì)方法,應(yīng)用程序和通訊功能實(shí)現(xiàn)融合在一起,通訊協(xié)議的參數(shù)變更會(huì)導(dǎo)致軟件的重新編譯和測(cè)試,這就意味著額外的時(shí)間和成本,供應(yīng)商將極不愿意整車(chē)廠修改協(xié)議。
因此整車(chē)廠修改協(xié)議十分困難,即使最后實(shí)現(xiàn)了修改也需要很長(zhǎng)的時(shí)間。 綜上所述,傳統(tǒng)設(shè)計(jì)方法通過(guò)拼湊的方法設(shè)計(jì)通訊協(xié)議,并試圖通過(guò)仿真測(cè)試的方法測(cè)試協(xié)議的正確性。這種方法的特點(diǎn)是以仿真測(cè)試為主,而且不可避免數(shù)據(jù)丟失,難以保證系統(tǒng)的實(shí)時(shí)性能。隨著ECU數(shù)量增多,通訊更復(fù)雜,傳統(tǒng)設(shè)計(jì)技術(shù)越來(lái)越難以滿足系統(tǒng)設(shè)計(jì)的需要。
Volcano技術(shù)的特點(diǎn)
Volcnao是適應(yīng)汽車(chē)電子發(fā)展趨勢(shì)的設(shè)計(jì)技術(shù),其特點(diǎn)是通過(guò)系統(tǒng)級(jí)設(shè) 計(jì)理論和方法,保證通訊協(xié)議的準(zhǔn)確性,避免了數(shù)據(jù)丟失,保證系統(tǒng)的實(shí)時(shí)性能。其特點(diǎn)概括起來(lái)如下:
系統(tǒng)級(jí)設(shè)計(jì),避免數(shù)據(jù)丟失
Volcano采用自上而下的系統(tǒng)設(shè)計(jì)技術(shù),對(duì)整個(gè)系統(tǒng)的架構(gòu)進(jìn)行設(shè)計(jì),并進(jìn)行優(yōu)化。通過(guò)理論設(shè)計(jì)方法,保證通訊協(xié)議的正確性,從根本上解決數(shù)據(jù)丟失問(wèn)題。
Volcano在系統(tǒng)設(shè)計(jì)的時(shí)候集成了系統(tǒng)級(jí)需求。定義功能時(shí)間為從數(shù)據(jù)產(chǎn)生,經(jīng)過(guò)總線傳送到接收節(jié)點(diǎn),到接收節(jié)點(diǎn)將數(shù)據(jù)用于控制的完整過(guò)程所需要的時(shí)間。系統(tǒng)級(jí)需求是功能時(shí)間必須小于功能時(shí)間要求Max_Age.在此需求下對(duì)整個(gè)系統(tǒng)進(jìn)行設(shè)計(jì)和優(yōu)化,從根本上解決了數(shù)據(jù)丟失問(wèn)題。
有效控制消息延遲
響應(yīng)時(shí)間是消息準(zhǔn)備發(fā)送到最后節(jié)點(diǎn)接收到數(shù)據(jù)的全部時(shí)間。它是發(fā)送時(shí)間和延遲的總和。其中延遲是影響響應(yīng)時(shí)間的主要因素,控制延遲就可以有效控制響應(yīng)時(shí)間。
Volclano通過(guò)對(duì)響應(yīng)時(shí)間進(jìn)行建模,并仔細(xì)編排消息的ID和周期以控制延遲時(shí)間、響應(yīng)時(shí)間及總線負(fù)載。然后用理論方法計(jì)算出最差情形下的延遲時(shí)間,最大的響應(yīng)值,以及總線負(fù)載。
由于Volcano能夠計(jì)算出最大總線負(fù)載,也能有效控制系統(tǒng)的延遲,因此沒(méi)有必要再對(duì)系統(tǒng)的總線負(fù) 載作任何限制,理論上可以達(dá)到100%。其優(yōu)勢(shì)在于保證了確定的通訊行為,可用有效的利用系統(tǒng)資源。
分隔應(yīng)用程序和通訊協(xié)議,保證變更靈活性
Volcano為ECU通訊功能提供了標(biāo)準(zhǔn)的實(shí)現(xiàn)組件VTP。VTP將應(yīng)用程序和通訊協(xié)議成功分隔開(kāi)來(lái),使得各自的修改互不影響,保證了協(xié)議修改的靈活性。VTP提供面向總線、應(yīng)用程序和通訊協(xié)議三方面的標(biāo)準(zhǔn)接口。面向應(yīng)用程序的接口是基于信號(hào)的操作,不包含通訊協(xié)議的參數(shù)。面向通訊協(xié)議的接口負(fù)責(zé)識(shí)別通訊協(xié)議。只要遵守接口標(biāo)準(zhǔn),協(xié)議可以進(jìn)行任意改變,而且不影響應(yīng)用程序。
其優(yōu)勢(shì)在于整車(chē)廠可以很容易修改協(xié)議,不需要供應(yīng)商支持,因此保證了系統(tǒng)變更的靈活性。
Volcano的汽車(chē)電子網(wǎng)絡(luò)開(kāi)發(fā)平臺(tái)
Volcano是無(wú)縫集成的工具鏈,包括網(wǎng)絡(luò)協(xié)議設(shè)計(jì)工具VNA(Volcano Network Architect),嵌入式軟件包括VTP(Volcano Target Parckage)和汽車(chē)相關(guān)軟件如網(wǎng)絡(luò)管理以及測(cè)試和驗(yàn)證工具Tellus(圖7)。
VNA實(shí)現(xiàn)自上而下的設(shè)計(jì)方法,實(shí)現(xiàn)系統(tǒng)自動(dòng)化設(shè)計(jì)的工具,輸出通訊協(xié)議規(guī)范以及系統(tǒng)測(cè)試規(guī)范。VTP根據(jù)通訊協(xié)議規(guī)范實(shí)現(xiàn)系統(tǒng)通訊功能,Tellus則根據(jù)VNA輸出的測(cè)試規(guī)范實(shí)現(xiàn)對(duì)節(jié)點(diǎn)及系統(tǒng)的自動(dòng)化測(cè)試。因此Volcano是涵蓋系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的無(wú)縫集成的開(kāi)發(fā)平臺(tái)。
結(jié)束語(yǔ)
目前的CAN/LIN開(kāi)發(fā)通過(guò)拼湊的方法設(shè)計(jì)通訊協(xié)議,因此數(shù)據(jù)丟失成為其根深蒂固的弊病。Mentor Grphics用全新的系統(tǒng)級(jí)設(shè)計(jì)技術(shù)對(duì)協(xié)議進(jìn)行設(shè)計(jì),集成系統(tǒng)級(jí)需求,通過(guò)理論設(shè)計(jì)保證協(xié)議的正確性;并在設(shè)計(jì)通訊協(xié)議的同時(shí),可以對(duì)系統(tǒng)進(jìn)行全局優(yōu)化,保證系統(tǒng)實(shí)時(shí)性能,避免了數(shù)據(jù)丟失的問(wèn)題。
目前Volcano在歐洲廣泛應(yīng)用,得到了大多數(shù)整車(chē)廠的認(rèn)可。2005年上汽采用Volcano作為新車(chē)型開(kāi)發(fā)平臺(tái),填補(bǔ)了中國(guó)整車(chē)廠無(wú)法設(shè)計(jì)整車(chē)通訊協(xié)議的空白,隨著時(shí)間的推移,Volcano必將在中國(guó)市場(chǎng)得到進(jìn)一步推廣和應(yīng)用。
(轉(zhuǎn)載)