2023年5月9日—10日由捷途汽車主辦,蓋世汽車承辦的2023捷途汽車電子架構(gòu)與智能駕駛論壇上,華為智能車控解決方案架構(gòu)設(shè)計(jì)部長(zhǎng)何朗表示,通過(guò)SDV分層解耦+服務(wù)化,實(shí)現(xiàn)樂(lè)高式開(kāi)發(fā)和車型快速適配。同時(shí),SOA與分層設(shè)計(jì),能夠最大化實(shí)現(xiàn)軟硬件解耦,降低開(kāi)發(fā)復(fù)雜度。
同時(shí)他還總結(jié)了華為在實(shí)踐過(guò)程中總結(jié)出三條經(jīng)驗(yàn):在人機(jī)交互類應(yīng)用中引入真事件機(jī)制,替代周期機(jī)制;在SoAd層將多個(gè)上層報(bào)文進(jìn)行聚包,聚包到達(dá)觸發(fā)條件后再添加ETH報(bào)文頭發(fā)送;異步調(diào)用降低多任務(wù)時(shí)CPU占用和時(shí)延。
華為智能車控解決方案架構(gòu)設(shè)計(jì)部長(zhǎng)
以下為演講內(nèi)容整理:
SOA架構(gòu)的思考與設(shè)計(jì)
近些年SOA服務(wù)化落地過(guò)程中,架構(gòu)隨著業(yè)務(wù)的發(fā)展不斷進(jìn)行調(diào)整,在這個(gè)過(guò)程中一些思考與解決措施與大家分享一下。首先回到軟件定義的主題,面對(duì)日趨復(fù)雜的場(chǎng)景,智能化零部件的增多會(huì)帶來(lái)相關(guān)的網(wǎng)絡(luò)安全及隱私方面的需求。并且在軟件開(kāi)發(fā)過(guò)程中的落地流程也日趨復(fù)雜,所以都需要進(jìn)行調(diào)整和變革。
我們?cè)诤芏嘬囆蜕献隽藢?shí)踐,以及工程化的落地方案,包括和行業(yè)的生態(tài)伙伴們共同做了很多有益的探索。總體來(lái)看,軟件適應(yīng)汽車迭代過(guò)程中的周期性壓力和要求、生態(tài)伙伴的增多以及生態(tài)運(yùn)營(yíng)的不斷豐富等,需要將軟件分為三層,并且在應(yīng)用層要解決多種復(fù)雜問(wèn)題。
在物理層,隨著智能化部件的引入,對(duì)通信和電子信息架構(gòu)的調(diào)整具有巨大的變化,但為了整體軟件架構(gòu)能保持穩(wěn)定,所以引入了服務(wù)層,目前處于建設(shè)過(guò)程中。對(duì)軟件架構(gòu)的設(shè)計(jì),有以下幾個(gè)應(yīng)對(duì)措施,在分層設(shè)計(jì)方面,設(shè)計(jì)了三層,這樣可以把中間傳統(tǒng)的跨ECU的開(kāi)發(fā),通過(guò)軟件架構(gòu)解耦到中間平臺(tái),這一層包含了設(shè)備抽象。簡(jiǎn)而言之把軟件中通過(guò)經(jīng)驗(yàn)固化形成標(biāo)準(zhǔn)庫(kù)直接調(diào)用,讓開(kāi)發(fā)者有更多的精力進(jìn)行面向消費(fèi)者的差異化創(chuàng)新。
在解耦的過(guò)程中,發(fā)現(xiàn)物理層到應(yīng)用層是隨著車的電子信號(hào)而變化,并且對(duì)應(yīng)的電子器件的差異化會(huì)導(dǎo)致需要進(jìn)行適配工作。在軟件架構(gòu)中引入設(shè)備抽象和原子服務(wù)兩層進(jìn)行軟硬件充分解耦,設(shè)備抽象的使命是屏蔽統(tǒng)一類型硬件不同硬件供應(yīng)商或統(tǒng)一供應(yīng)商不同型號(hào)的接口差異,原子服務(wù)將基本的原子能力抽象成標(biāo)準(zhǔn)化的接口,這些能力也會(huì)隨著車型的變化固定下來(lái),通過(guò)經(jīng)驗(yàn)累積,形成可快速重用的資產(chǎn)。
在實(shí)踐過(guò)程中,因?yàn)樾碌膫鞲衅饕耄矔?huì)對(duì)智能化提出更高的要求,比如傳感攝像頭、雷達(dá)信號(hào)的引入等,如何向上提供更多的能力,也是消費(fèi)者感興趣的業(yè)務(wù)創(chuàng)新范圍。通過(guò)一些實(shí)踐,把新型的傳感器對(duì)外的能力做原子化的封裝,也可以利用已經(jīng)封裝好的能力形成一些新的業(yè)務(wù)。
在軟件定義汽車SOA的架構(gòu)中,我認(rèn)為比較有價(jià)值的設(shè)計(jì)原理,是通過(guò)軟件的差異去屏蔽不同硬件的能力,解決不同原子服務(wù)之間的耦合性,形成避免雙向依賴,減少信號(hào)之間交互的復(fù)雜度。以及對(duì)服務(wù)接口的前向兼容,避免上層軟件針對(duì)下層硬件的變化,產(chǎn)生新的架構(gòu)變化。
SOA開(kāi)發(fā)落地的性能挑戰(zhàn)與實(shí)踐
在SOA落地過(guò)程中遇到的主要挑戰(zhàn),是如何做到軟件Onetrack,因軟件規(guī)模日益龐大與復(fù)雜,分工也越來(lái)越精細(xì)。這種情況下,大量的軟件工程如何做到跨車型和平臺(tái),甚至是引入一個(gè)新的供應(yīng)商能快速融入當(dāng)前的架構(gòu),成為一個(gè)大的課題。
比如在實(shí)際落地過(guò)程中,服務(wù)層、抽象層以及對(duì)應(yīng)APP間的部署和調(diào)用間的關(guān)系非常復(fù)雜,必然會(huì)導(dǎo)致不僅要兼容很多功能,還要兼顧性能的考驗(yàn)。在保證服務(wù)層穩(wěn)定和靈活部署的前提下,有利于新功能的快速移植和同步。
在這個(gè)過(guò)程中,會(huì)發(fā)現(xiàn)服務(wù)的靈活性不可避免帶來(lái)通信的壓力,具體表現(xiàn)在一是通過(guò)原有信息架構(gòu)到服務(wù)化架構(gòu),為了保持靈活性所以會(huì)引入大量報(bào)文,各個(gè)服務(wù)器的接口間的獨(dú)立會(huì)帶來(lái)通信消息壓力的巨幅增加;二是在傳統(tǒng)的MCU去處理這些消息的時(shí)候,因?yàn)橐獞?yīng)對(duì)不確定性的報(bào)文,最開(kāi)始第一次SOA時(shí),對(duì)消息的處罰機(jī)制都沒(méi)有做約束,所以短時(shí)間會(huì)引入大量的報(bào)文,這種情況下對(duì)CPU的負(fù)載也是非常大的考驗(yàn)。
針對(duì)這兩個(gè)表現(xiàn),我們?cè)诤芏嘬囆蜕献隽藝L試,總結(jié)了服務(wù)部署的六條經(jīng)驗(yàn),比如功能安全高的, 部署在MCU上,多個(gè)CP間,若存在資源分布不均,優(yōu)先部署在CP資源最富余的節(jié)點(diǎn)上等。同時(shí),還要兼顧開(kāi)發(fā)者能力的聚合,以及對(duì)消費(fèi)者體驗(yàn)的實(shí)時(shí)性要求,把人機(jī)交互的應(yīng)用或者相關(guān)的服務(wù),就近部署到對(duì)應(yīng)的VIU或座艙控制器上。比如以手動(dòng)開(kāi)啟尾門(mén)特性為例,開(kāi)門(mén)的應(yīng)用是部署在尾門(mén)最近的VIU上,同時(shí)為了響應(yīng)更快,對(duì)應(yīng)的應(yīng)用部署在座艙上,與物理按鍵原子服務(wù)就近共部署。
圖源:演講嘉賓材料
滿足靈活部署的性能要求后,我們發(fā)現(xiàn)同樣一個(gè)功能會(huì)分散在不同的區(qū)域控制器和中央控制器系統(tǒng)中,多種交互以及對(duì)應(yīng)的通信開(kāi)銷會(huì)產(chǎn)生大量的報(bào)文沖擊。在這樣的情況下,為了保持車身域通信的靈活性,其消息粒度會(huì)變小,從而產(chǎn)生大量的報(bào)文,帶來(lái)了通信傳輸?shù)膲毫Α?/p>
我們借鑒ICT中的通信經(jīng)驗(yàn),比如在2G時(shí)解決信息風(fēng)暴或短信的擁塞的方法,,引入真事件機(jī)制,替代默認(rèn)的周期機(jī)制,對(duì)周期性的報(bào)文通過(guò)操作系統(tǒng)及工具鏈的配置,允許這些報(bào)文形成聚合,在沒(méi)有發(fā)生變化時(shí)默認(rèn)延長(zhǎng)周期,但發(fā)生變化時(shí),就會(huì)立刻觸發(fā)上報(bào)。采用周期性Event機(jī)制,每秒要產(chǎn)生20000+報(bào)文,而采用update on change機(jī)制,每秒產(chǎn)生的報(bào)文低于1000個(gè),處理報(bào)文數(shù)減少了20倍以上,極大的降低了CPU處理開(kāi)銷。
對(duì)以太代替CAN的通信的方式,最大的變化是會(huì)引入大量的消息負(fù)載,通過(guò)引入NPDU的方式,把消息分成不同類型,區(qū)分輕重緩急,兼顧實(shí)時(shí)性和通信效率需求。如果不是很緊急的報(bào)文,可以累積到一定時(shí)間上報(bào),這樣的方式可以將負(fù)載大幅降低。
異步調(diào)用打破傳統(tǒng)通信機(jī)制
傳統(tǒng)的通信方式,對(duì)Autosar標(biāo)準(zhǔn)協(xié)議非常成熟,消息機(jī)制比較穩(wěn)定,并且它的負(fù)載是通過(guò)底層統(tǒng)一處理。而SOA的形式下,會(huì)面臨著大量阻塞的問(wèn)題,具體原因是類似于RPC的服務(wù)方式,因?yàn)樗脑硎且鹊椒答伣Y(jié)果之后,才能處理后面的動(dòng)作。而服務(wù)化的方式后,會(huì)發(fā)現(xiàn)是多任務(wù)高頻同時(shí)發(fā)送的場(chǎng)景,如果每個(gè)處理的任務(wù)都需要等待后續(xù)的任務(wù)才能往下走,不可避免的會(huì)導(dǎo)致隊(duì)列會(huì)變得冗長(zhǎng)。
針對(duì)這種情況引用異步調(diào)用機(jī)制,把一個(gè)閉環(huán)的消息變成了兩次閉環(huán)消息。第一次把任務(wù)發(fā)到被調(diào)用方之后,不需要等待回調(diào)結(jié)果并行處理其他任務(wù),這樣可以把很多串行的任務(wù)變成并行。比如位置燈可能會(huì)部署在車不同區(qū)域的控制器中,可能會(huì)因?yàn)槠渌瑫r(shí)并發(fā)的任務(wù)而阻塞等待,但通過(guò)異步調(diào)用的方式,應(yīng)用本身能在60毫秒之內(nèi)處理完,也能夠解決服務(wù)化所帶來(lái)的問(wèn)題。
服務(wù)化本身因?yàn)橐蕴诿嫦蛴谲囕d和功能安全應(yīng)用,會(huì)面臨著很多的挑戰(zhàn)。對(duì)車燈或者車門(mén)要去協(xié)調(diào)各個(gè)地方的應(yīng)用,所以針對(duì)延時(shí)以及同步等問(wèn)題的處理,還需要后續(xù)考慮一些對(duì)策。總體來(lái)看,通過(guò)架構(gòu)的標(biāo)準(zhǔn)化對(duì)齊產(chǎn)業(yè)鏈的各種語(yǔ)言,能夠通過(guò)不同原子服務(wù)組合體現(xiàn)車型差異,并配置化適配,使能上層應(yīng)用跨車型復(fù)用,同時(shí)通過(guò)設(shè)備抽象,屏蔽硬件的差異化,軟硬件解耦,能夠使軟件在不同車型中更加靈活的移植,甚至做到不感知。
我們要想辦法做到整車的靈活部署,以及對(duì)應(yīng)的接口的標(biāo)準(zhǔn)化,使OTA新功能上線將變更和OTA范圍控制在某一個(gè)控制器內(nèi),同時(shí)對(duì)其他應(yīng)用來(lái)說(shuō),能夠盡量做到不感知。以性能來(lái)看,以太通信打破了傳統(tǒng)CAN周期處理思路,優(yōu)化其處理性能,可以提高可靠性和加速轉(zhuǎn)型。目前來(lái)看,最大的就是通信擁塞、調(diào)用問(wèn)題和隊(duì)列問(wèn)題,通過(guò)異步調(diào)用以及消息觸發(fā)的靈活性,對(duì)應(yīng)聚合等方式可以逐步完善性能。
聲明:以上內(nèi)容為本網(wǎng)站轉(zhuǎn)自其它媒體,相關(guān)信息僅為傳遞更多企業(yè)信息之目的,不代表本網(wǎng)觀點(diǎn),亦不代表本網(wǎng)站贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性。投資有風(fēng)險(xiǎn),需謹(jǐn)慎。