汽車網(wǎng)絡(luò)" title="汽車網(wǎng)絡(luò)">汽車網(wǎng)絡(luò)的作用已從過去的降低布線成本和減輕重量,向從根本上支持最新汽車功能的實(shí)現(xiàn)方面轉(zhuǎn)變。當(dāng)今的車內(nèi)分布式系統(tǒng)已有80多個(gè)由多種不同網(wǎng)絡(luò)連接起來的電子控制單元" title="電子控制單元">電子控制單元(ECU" title="ECU">ECU)。在“復(fù)用”(正如網(wǎng)絡(luò)時(shí)常被比稱的)初期引入的許多低效做法仍普遍存在。當(dāng)今的挑戰(zhàn)在呼喚新的解決方法。
業(yè)內(nèi)專家表示,在可預(yù)見的將來,汽車上90%的創(chuàng)新將通過電子汽車架構(gòu)實(shí)現(xiàn)。網(wǎng)絡(luò)是汽車電子工程架構(gòu)的一個(gè)主要建構(gòu)元素,因此應(yīng)該予以足夠重視。復(fù)雜的分布式功能的成功實(shí)現(xiàn)依賴可靠的網(wǎng)絡(luò)。網(wǎng)絡(luò)配置(以成為一個(gè)共享資源)的確提出了一個(gè)必須在系統(tǒng)級(jí)才能解決的嚴(yán)峻挑戰(zhàn)。
網(wǎng)絡(luò)設(shè)計(jì)挑戰(zhàn)
十幾年以來,汽車內(nèi)復(fù)用網(wǎng)絡(luò)的設(shè)計(jì)一直延續(xù)自下而上的工程實(shí)現(xiàn)方法,鮮有例外。該方法專注于直接相關(guān)的ECU之間的協(xié)議“資訊”,而把總線上隨機(jī)交互行為的影響交由測試解決。“先建構(gòu)再測試”一直是主導(dǎo)性做法。在汽車項(xiàng)目開發(fā)后期發(fā)現(xiàn)的錯(cuò)誤是昂貴的,而且改正起來風(fēng)險(xiǎn)很大,因?yàn)樗嬖谝氲诙?jí)錯(cuò)誤的高風(fēng)險(xiǎn)性。
當(dāng)今的網(wǎng)絡(luò)設(shè)計(jì)實(shí)踐常常意味著,先實(shí)現(xiàn)設(shè)計(jì)而后再驗(yàn)證。這與業(yè)界在任何其它技術(shù)領(lǐng)域的做法(即先驗(yàn)證、再實(shí)現(xiàn))都不同。
時(shí)域的可預(yù)測性是實(shí)現(xiàn)可靠性和效率目標(biāo)的關(guān)鍵因素。時(shí)序要求描述一個(gè)功能正確時(shí)必須產(chǎn)生的行為。時(shí)序行為決定系統(tǒng)將要做什么,換句話說,它表達(dá)了系統(tǒng)行為的一種模式。時(shí)序要求很關(guān)鍵,它代表著設(shè)計(jì)要求以及測試的目標(biāo)。如圖1中所示,時(shí)序模型可用于描述整條時(shí)序鏈上端至端的不同元素。
時(shí)序分析可被施加于時(shí)序行為,以產(chǎn)生可與時(shí)序要求比對(duì)的結(jié)果。已知的時(shí)序要求和時(shí)序行為都是時(shí)序分析的基本前提。
作為一個(gè)范例,我們應(yīng)當(dāng)更仔細(xì)地考察一個(gè)已經(jīng)過實(shí)際生產(chǎn)驗(yàn)證的方法學(xué)和工具,即Vehicle Network Architect(VNA)。
Vehicle Network Architect
實(shí)現(xiàn)正確時(shí)序模型的工具可以最簡單的方式執(zhí)行人工創(chuàng)建的通信矩陣的分析,以計(jì)算在總線上發(fā)送的信息的最大時(shí)延,并檢查它是否在最低要求之內(nèi),該最低要求可從汽車功能的端至端時(shí)序要求中推導(dǎo)出來。有趣的是,在更高端的應(yīng)用場合,這樣一種工具可根據(jù)輸入文件聲明的要求執(zhí)行完整的簇綜合和網(wǎng)關(guān)配置。該模式提供全自動(dòng)的幀創(chuàng)建、信號(hào)打包和進(jìn)度表生成。
為了能對(duì)設(shè)計(jì)師有實(shí)際幫助作用,這樣一種工具必須能夠處理車內(nèi)所用的全部協(xié)議,并確保透明的信號(hào)傳輸和保證的通過網(wǎng)關(guān)及多個(gè)不同總線的端至端時(shí)延。
當(dāng)今汽車電子工程系統(tǒng)中占主導(dǎo)地位的網(wǎng)絡(luò)方案是控制器局域網(wǎng)(CAN)和本地互連網(wǎng)(LIN)。為滿足對(duì)安全有極高要求的應(yīng)用對(duì)更高帶寬的要求,業(yè)界啟動(dòng)了FlexRay的開發(fā)。在可預(yù)見的未來,這些協(xié)議將共存于車中。這是因?yàn)椋總€(gè)協(xié)議都有特定的應(yīng)用領(lǐng)域,而且它是該領(lǐng)域成本最優(yōu)的解決方案。
系統(tǒng)級(jí)設(shè)計(jì)
系統(tǒng)級(jí)設(shè)計(jì)(SLD)常被稱為電子設(shè)計(jì)自動(dòng)化(EDA)的下一個(gè)前沿,業(yè)界期望它能給汽車行業(yè)帶來實(shí)質(zhì)性的生產(chǎn)力和效率的提高?;赟LD方法開發(fā)出來的解決方案是正確的和經(jīng)過優(yōu)化的,它不再是一種需要對(duì)由不同檔次和多個(gè)供應(yīng)商組成的供應(yīng)鏈提供的器件進(jìn)行冗長集成測試的候選方案。
不借助先進(jìn)工具,就無法實(shí)現(xiàn)這一過程。以每家主要OEM采用不同專有解決方案為特征的細(xì)分市場在以前不太適合部署這種產(chǎn)品。為了發(fā)揮 SLD的潛能,并把對(duì)EDA行業(yè)的關(guān)注引導(dǎo)到汽車應(yīng)用,需要一個(gè)范式轉(zhuǎn)移(paradigm shift)。
AUTOSAR
汽車開放系統(tǒng)架構(gòu)(AUTOSAR" title="AUTOSAR">AUTOSAR)是一個(gè)新興的汽車軟件架構(gòu)標(biāo)準(zhǔn)。在定義一個(gè)帶指定功能和接口的多層軟件架構(gòu)、以及描述配置數(shù)據(jù)的文件格式方面,業(yè)界已做了許多工作。一個(gè)詳盡的元模型(metamodel)為它提供了很好的補(bǔ)充,從而為創(chuàng)新性SLD工具的問世鋪平了道路。
VNA回顧
VNA是基于整體概念構(gòu)建的,它為車內(nèi)分布式實(shí)時(shí)網(wǎng)絡(luò)定義了一個(gè)獨(dú)立于協(xié)議的設(shè)計(jì)方法學(xué)。該概念處理技術(shù)和非技術(shù)實(shí)體(即:在開發(fā)階段把責(zé)任分配給完善定義的角色)。愿景是“保證設(shè)計(jì)正確性”。大多數(shù)與系統(tǒng)相關(guān)的問題可在項(xiàng)目早期被確認(rèn)和解決。該概念以可保證的信息時(shí)延以及基于信號(hào)的發(fā)布/訂閱通信模式這兩點(diǎn)為根基。它通過隱藏網(wǎng)絡(luò)和協(xié)議細(xì)節(jié)提供了抽象,從而允許開發(fā)者工作在以信號(hào)、功能和相關(guān)時(shí)序信息為素材的應(yīng)用環(huán)境中。
VNA是為支持這樣一個(gè)開發(fā)流程設(shè)計(jì)的:它以嚴(yán)格的系統(tǒng)工程原則為基礎(chǔ)、以解讀需求為肇始、然后使用戶參與各個(gè)階段、最后以實(shí)現(xiàn)一個(gè)具有完全可預(yù)見時(shí)序行為的高度優(yōu)化的設(shè)計(jì)為目標(biāo)。明確區(qū)分角色、分派任務(wù)是該工具背后理念的一部分(圖3)。
確切定義網(wǎng)絡(luò)需要大量信息。為支持?jǐn)?shù)據(jù)輸入,VNA采用基于XML的格式、提供對(duì)來自第三方工具的自動(dòng)輸入,它是借助GUI的人工數(shù)據(jù)輸入的一種替代。一個(gè)內(nèi)置的多層一致性校驗(yàn)器對(duì)全部數(shù)據(jù)進(jìn)行校驗(yàn)。
VNA內(nèi)的工作流程確保所有與網(wǎng)絡(luò)相關(guān)的信息都被收集到。將首先創(chuàng)制全局目標(biāo),然后它們在幾個(gè)項(xiàng)目內(nèi)被重復(fù)使用。VNA用戶與諸如信號(hào)/節(jié)點(diǎn)/接口等目標(biāo)類型打交道。用這些目標(biāo)構(gòu)建汽車所用的網(wǎng)絡(luò)。信號(hào)由名稱和類型定義,還可附加邏輯或物理編碼信息。對(duì)接口的詳盡硬件要求進(jìn)行定義,從而描述出網(wǎng)絡(luò)的實(shí)際節(jié)點(diǎn)。對(duì)每個(gè)節(jié)點(diǎn),都對(duì)接收和發(fā)射信號(hào)進(jìn)行定義并提供信號(hào)的時(shí)序要求。該信息是為“全局使用”的,它遍歷不同的車型和平臺(tái)等。當(dāng)所用全局?jǐn)?shù)據(jù)都被采集到后,則通過期望的配置把接口連接起來,網(wǎng)絡(luò)就這樣被設(shè)計(jì)出來了。
VNA具有很強(qiáng)的項(xiàng)目和衍生項(xiàng)目處理能力。不同配置可選擇性使用或適應(yīng)全局目標(biāo),例如:可把高端特性從一款低端車型中剝離出來。這意味著具有版本和變異處理能力的VNA可管理多個(gè)配置、設(shè)計(jì)和發(fā)布。
所有數(shù)據(jù)目標(biāo),無論是全局的還是針對(duì)配置的,都存儲(chǔ)在一個(gè)公共數(shù)據(jù)庫中。所有復(fù)雜、費(fèi)時(shí)的VNA操作都傾向于在數(shù)據(jù)庫的本地RAM鏡像內(nèi)完成以縮短響應(yīng)時(shí)間。
VNA工具內(nèi)置了豐富的一致性檢查功能。可根據(jù)需要啟動(dòng)一致性檢查,它通常連續(xù)對(duì)用戶輸入進(jìn)行查驗(yàn)、當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí)立即報(bào)警。一致性檢查確保網(wǎng)絡(luò)設(shè)計(jì)遵循全部預(yù)先定義的規(guī)則。
時(shí)序分析/框架編譯
為在VNA內(nèi)進(jìn)行時(shí)序分析的開發(fā)和定義進(jìn)行了許多努力。針對(duì)CAN進(jìn)行的時(shí)序分析構(gòu)建在稱為截至期限單調(diào)分析(DMA)的進(jìn)度模型上,并對(duì)在總線上發(fā)送的一組規(guī)定幀的每一幀都進(jìn)行最壞情況時(shí)延計(jì)算。該功能的一部分業(yè)已被設(shè)計(jì)進(jìn)一致性檢查算法內(nèi),但VNA工具的真實(shí)效能在幀打包/幀編譯功能中得以充分體現(xiàn)。
幀打包/幀編譯試圖把信號(hào)以最適當(dāng)?shù)姆绞椒殖蓭皇菫槊恳粠?jì)算合適的ID,從而確保在流程早期采集到的全部時(shí)序要求盡可能被滿足(一些要求可能代表不可預(yù)見的情況)。把多個(gè)信號(hào)自動(dòng)分組成幀的作法使數(shù)據(jù)總線的效率更高,因它分?jǐn)偭艘恍┥婕暗絽f(xié)議的開銷,從而降低了總線負(fù)載(圖4)。除帶寬方面的好處外,多信號(hào)/每幀和完美的濾波減少了ECU內(nèi)CPU的中斷干預(yù)和工作量。為處理不可配置的留存(carry-over)節(jié)點(diǎn),可將其附帶的幀定義為“固定”。若需要,還可進(jìn)行人工幀分組。
網(wǎng)關(guān)
一個(gè)網(wǎng)絡(luò)一般包含采用不同協(xié)議的多個(gè)網(wǎng)絡(luò)部分。信號(hào)可能通過網(wǎng)關(guān)節(jié)點(diǎn)從一部分傳送到另一部分。數(shù)據(jù)的網(wǎng)關(guān)流布(即使穿越多個(gè)協(xié)議)是由VNA自動(dòng)配置的。處理一個(gè)或多個(gè)網(wǎng)關(guān)的時(shí)序要求也都由VNA完成。這一解決方案不需任何特殊的網(wǎng)關(guān)硬件。
VNA輸出
VNA自動(dòng)生成表述整個(gè)網(wǎng)絡(luò)的一系列配置文件,以及系統(tǒng)內(nèi)針對(duì)每個(gè)節(jié)點(diǎn)的專門配置數(shù)據(jù)。利用可配置節(jié)點(diǎn)使系統(tǒng)很靈活,因該概念把依賴應(yīng)用和依賴網(wǎng)絡(luò)的信息分割開。系統(tǒng)集成商對(duì)網(wǎng)絡(luò)的改變可容易地施加于汽車且無需非要為ECU重新編譯應(yīng)用軟件。用于控制第三方分析和測量工具的各種文件可作為選項(xiàng)生成。
VNA工具使OEM可容易地與其客戶分享數(shù)據(jù),對(duì)FIBEX和XML等標(biāo)準(zhǔn)的支持進(jìn)一步簡化了信息共享并為配置第三方通信層打下基礎(chǔ)。
本文小結(jié)
堅(jiān)持用自動(dòng)化工具實(shí)現(xiàn)確定性調(diào)度明顯提升了可靠性和效能,并使網(wǎng)絡(luò)設(shè)計(jì)變成一種可重復(fù)的流程。因網(wǎng)絡(luò)正確性由設(shè)計(jì)把關(guān),所以剩下的唯一需驗(yàn)證的工作是對(duì)實(shí)現(xiàn)正確性本身的驗(yàn)證。