總說汽車軟件不同于互聯(lián)網(wǎng)軟件,要區(qū)別對(duì)待,也有很多說法,比如:
汽車軟件的實(shí)時(shí)性要求更高
汽車軟件的安全性要求更高
汽車軟件所用編程語言不同
汽車軟件操作系統(tǒng)不同
汽車軟件的開發(fā)環(huán)境與工具鏈不同
......
這些都沒錯(cuò),但又不怎么對(duì)。
一來是,在座艙、智駕、后臺(tái)軟件大舉進(jìn)入以及電子電氣架構(gòu)不斷演化后,汽車軟件的內(nèi)涵已經(jīng)有了比較大的擴(kuò)展。
二來呢,這些都屬于技術(shù)特性,技術(shù)差異點(diǎn)只能說明汽車的“軟件”和互聯(lián)網(wǎng)的“軟件”,而非“汽車軟件”與“互聯(lián)網(wǎng)軟件”。
我們希望能從整體的角度來看汽車軟件,這就引出了今天的話題——集成,它也是汽車軟件獨(dú)特性的核心體現(xiàn)。
具體來看,集成可以分為以下5個(gè)層次:
將軟件單元集成到一起
將軟件集成到硬件上
將硬件集成到機(jī)械殼體上
將ECU集成到子系統(tǒng)中
將子系統(tǒng)集成到整車上
1
第一層:將軟件單元集成到一起
當(dāng)我們講軟件集成時(shí),軟件自身的集成是其最典型和最狹義的含義。
簡(jiǎn)單說,軟件集成就是將經(jīng)過驗(yàn)證的軟件單元集成為完整軟件,操作層面的表現(xiàn)為將不同的.c或.h文件以及一些config文件通過集成工具集成構(gòu)建成軟件包。
當(dāng)然,由于實(shí)際項(xiàng)目的復(fù)雜性,集成會(huì)作為整個(gè)軟件項(xiàng)目管理鏈條的一個(gè)環(huán)節(jié)。
第一,開發(fā)工程師接受ALM工作流工具上的缺陷、變更或任務(wù)等的驅(qū)動(dòng),進(jìn)行本地代碼的修改,之后將代碼push到代碼倉(cāng)庫(kù),把代碼備好。
第二,集成工程師也最好通過工作流工具接受集成任務(wù),任務(wù)中要明確集成的分支策略、交付目的、時(shí)間計(jì)劃、各單元信息等,而后基于這些輸入要完成軟件的構(gòu)建。
第三,集成工程師自然也需要對(duì)自身工作質(zhì)量做一個(gè)確認(rèn),所以要完成靜態(tài)或動(dòng)態(tài)集成測(cè)試,相關(guān)結(jié)果可能會(huì)包括編譯器的警告信息、代碼掃描結(jié)果、資源消耗數(shù)據(jù)、堆棧分析內(nèi)容、代碼評(píng)審及冒煙測(cè)試情況等。
第四,集成工程師將包括可執(zhí)行文件、測(cè)試報(bào)告、配置信息、問題清單、releasenotes 等一系列必要材料打包對(duì)外發(fā)布。
2
第二層:將軟件集成到硬件上
當(dāng)完整的軟件包就緒后,我們需要將軟件集成到硬件上,準(zhǔn)確來說是將軟件刷寫到MCU等芯片里。
理論上講,集成都是通過接口來完成的,軟硬件集成也就是通過軟硬件接口來進(jìn)行,具體表現(xiàn)就是物理的芯片引腳和邏輯的傳輸數(shù)據(jù)的軟件接口,具體方法如下:
常規(guī)的產(chǎn)線或打樣室刷新的方式基本是通過芯片引腳直接燒錄
如果硬件已經(jīng)裝在車上了,就可以通過OBD或USB口刷新
非現(xiàn)場(chǎng)則可以通過遠(yuǎn)程OTA刷新
另外,如果開發(fā)過程比較理想,這些接口應(yīng)該在系統(tǒng)架構(gòu)的部分進(jìn)行過定義。
3
第三層:將硬件集成到機(jī)械殼體上
到這里,我們會(huì)得到一塊有軟件的電路板。
進(jìn)一步地,還需要電路板與機(jī)械外殼、接插件、屏幕等的集成,只不過這步集成更多有著機(jī)械裝配的意味,落在現(xiàn)實(shí)工作里就是打一批樣件了,結(jié)果就是形成我們所說的ECU或者控制模塊。
由于汽車電子需要面臨各類復(fù)雜嚴(yán)苛的駕駛環(huán)境,所以這部分仍然對(duì)軟件功能的發(fā)揮有很大影響,很典型的例子是內(nèi)部傳感器對(duì)安裝環(huán)境有模態(tài)和尺寸要求。
4
第四層:將ECU集成到子系統(tǒng)中
ECU至少需要和一套傳感器及一套執(zhí)行器一起構(gòu)成一套具備特定功能的系統(tǒng),我們姑且稱之為子系統(tǒng),比如,驅(qū)動(dòng)系統(tǒng)、剎車系統(tǒng)、轉(zhuǎn)向系統(tǒng)、被動(dòng)安全系統(tǒng)、照明系統(tǒng)、輔助駕駛系統(tǒng)等。
對(duì)于這個(gè)層級(jí)的集成,操作上就是通過線束連接ECU、傳感器、執(zhí)行器這三者,并且將ECU固定在整車上。后兩者通常來源于不同組織,所以特定集成的意義就更明確。
至于集成效果,是需要通過在整車環(huán)境中完成布置確認(rèn)、模態(tài)分析、傳感信號(hào)校驗(yàn)、電子對(duì)手件聯(lián)調(diào)、子系統(tǒng)功能確認(rèn)、產(chǎn)線確認(rèn)以及EMC、振動(dòng)、沖擊、水淋、鹽霧、高低溫等一系列的考驗(yàn)的。
對(duì)于軟件來說,尤其要考慮對(duì)手件聯(lián)調(diào),越來越多的電子功能需要多模塊協(xié)同,最常見的診斷、通信問題就是該環(huán)節(jié)頻繁識(shí)別出來的。
另外,很多在子系統(tǒng)性能也是需要在整車環(huán)境下進(jìn)行軟件標(biāo)定匹配的。
5
第五層:將子系統(tǒng)集成到整車上
傳統(tǒng)汽車的各個(gè)子系統(tǒng)或者域通常是分離的,相互之間大體隔絕,所以涉及到的是裝配,而非集成這個(gè)概念。
但是,電子電氣架構(gòu)在不斷走向跨子系統(tǒng)、跨域、域融合、中央集中,現(xiàn)在車輛子系統(tǒng)之間的邊界越來越模糊,越來越多的功能特性需要聚焦在更整車、更終端才能得到驗(yàn)證與確認(rèn)。
6
寫在最后
整體來說,在汽車行業(yè)里做軟件,要意識(shí)到,所有的代碼其實(shí)都是最終服務(wù)于整車?yán)锏谋憩F(xiàn)。
另外一點(diǎn),汽車的多層次集成其實(shí)是有歷史原因的,主要是來源于汽車零部件全球模塊化分工及采購(gòu)這種模式。
這種分工與標(biāo)準(zhǔn)化的好處不言自明,但也增加了很多集成點(diǎn),集成點(diǎn)多了就會(huì)造成溝通協(xié)調(diào)復(fù)雜或者解決方案整合困難等弊端,而這也是我們做汽車軟件要充分考量的。
往長(zhǎng)遠(yuǎn)看,我們現(xiàn)在從架構(gòu)層面追求的中央化正在不斷地減少集成點(diǎn),同樣也就會(huì)弱化集成的價(jià)值與必要性。
-
集成
+關(guān)注
關(guān)注
1文章
176瀏覽量
30231 -
軟件
+關(guān)注
關(guān)注
69文章
4921瀏覽量
87392 -
汽車行業(yè)
+關(guān)注
關(guān)注
0文章
305瀏覽量
15359
原文標(biāo)題:汽車行業(yè)軟件集成五大層級(jí)
文章出處:【微信號(hào):智能汽車電子與軟件,微信公眾號(hào):智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論