主機(jī)廠面臨的挑戰(zhàn)
挑戰(zhàn)1
某主機(jī)廠想在現(xiàn)有車型上增加一個(gè)汽車香氛功能,發(fā)現(xiàn)需要修改8個(gè)以上ECU結(jié)點(diǎn),涉及到5個(gè)以上的供應(yīng)商的PCE,多條CAN總線信號改變,包括很長周期的測試驗(yàn)證及功能聯(lián)調(diào)。 ?
挑戰(zhàn)2
某主機(jī)廠在規(guī)劃下一代車型的電子電器架構(gòu),新的EE架構(gòu)里增加了高階ADAS域控制器,10多個(gè)揚(yáng)聲器,10個(gè)以上的攝像頭,激光雷達(dá),點(diǎn)云毫米波雷達(dá)。 ? 導(dǎo)致ECU數(shù)量,ECU體積,ECU重量都有顯著提升,線束線徑直線上升,線束太粗,無法走線。??
挑戰(zhàn)3
來自某新勢力主機(jī)廠的挑戰(zhàn)。 ? 某新勢力主機(jī)廠在SOP之后以驚人的速度通過軟件OTA來給車型增加新功能,在將近3-4年內(nèi),不停的通過OTA給汽車賦能,給汽車增加新的功能,使消費(fèi)者持續(xù)獲得新鮮感,有一種說法:某新勢力的OTA功能打開了潘多拉的魔盒。 ? 當(dāng)前其他主機(jī)廠也在思考,?在SOP之后,汽車的生命周期是否還可以再延續(xù)幾年。然后通過OTA的方式來再次獲利。 ? 下表為2019某新勢力主機(jī)廠主要升級的內(nèi)容匯總:?
哨兵模式 |
寵物模式 |
可根據(jù)未知自動(dòng)合攏/展開外后視鏡 |
峰值功率提升 |
動(dòng)態(tài)制動(dòng)燈 |
升級提示屏 |
更多TeslAtari電子游戲 |
New Application Launcher |
停車燈警告 |
更好的駕車可視化體驗(yàn) |
NoA的無需確認(rèn)的變道功能 |
惡劣天氣NoA禁用功能 |
車道偏離避讓功能 |
緊急車道偏離避讓功能 |
有條件限速功能 |
挑戰(zhàn)4
某些主機(jī)廠在分析某新勢力主機(jī)廠的EEA之后的設(shè)計(jì)思路。 ? 包括中央大腦的出現(xiàn),ADAS的ECU、娛樂系統(tǒng)的ECU。如下圖所示 ?
? 上述EEA中,通過將車身的功能按區(qū)域劃分,進(jìn)而優(yōu)化走線。將原先按照功能域劃分的功能拆分到不同的區(qū)域里面。 ? 很多主機(jī)廠都是跟風(fēng)的,但是有些主機(jī)廠是有自己的想法的,所以他們也在往中央計(jì)算+區(qū)域化的電子電氣架構(gòu)的方向發(fā)展,以這樣的模式去開發(fā)他們的下一代的電子電氣架構(gòu)。??
總結(jié)
當(dāng)前主機(jī)廠碰到的問題: ?
隨著車內(nèi)功能越來越多,代碼量已達(dá)到將近2億行
控制器數(shù)量已多達(dá)100多個(gè),整個(gè)管控非常困難
1000個(gè)以上的功能跨ECU,這些功能要做修改和迭代是非常困難的
所以目前來說這些主機(jī)廠都為這些問題。正在頭痛,所以說大家都在尋求改變。 ? ? 特斯拉在年終一個(gè)更新里面增加了一個(gè)燈光秀的一個(gè)功能,這其實(shí)包含了SOA的概念。如果我們在原來的EEA上面要實(shí)現(xiàn)這樣的一個(gè)功能,其實(shí)是比較難的。
中央+區(qū)域的電子電器架構(gòu)
那么中央?yún)^(qū) + 區(qū)域的EEA是一個(gè)什么樣的一個(gè)概念呢?
中央 + 區(qū)域 EEA的概念
在1999年的時(shí)候,整車可能只有19個(gè)ECU,經(jīng)過多年以后,最新一代汽車上,ECU的數(shù)量已經(jīng)增加了108個(gè),F(xiàn)lexRay的總線上的信號數(shù)量已經(jīng)多達(dá)4萬個(gè)。 ? 以FlexRay為例,當(dāng)我們在增加功能的時(shí)候就會(huì)發(fā)現(xiàn),沒有人知道這4萬多個(gè)信號到底是干什么的,也沒有人敢去動(dòng)它,然后大家只管往里面再去增加更多的信號,那么會(huì)導(dǎo)致后續(xù)我們?nèi)ラ_發(fā)新的功能的時(shí)候就非常的困難,所以需要做出改變! ? 下圖是他們這家主機(jī)廠現(xiàn)在在努力的一個(gè)方向,原先的電子電器架構(gòu)主要是以功能域來劃分的, 慢慢的轉(zhuǎn)到中央式的電子電器架構(gòu),他們會(huì)把很多功能域集成到計(jì)算平臺(tái)的ECU中, 把一些配電和一些對傳感器執(zhí)行器的集成會(huì)放在VIU 單元當(dāng)中去, 用高速或慢速的CAN或以太網(wǎng),跟中央的大腦之間進(jìn)行一個(gè)連接。 ?
集中計(jì)算的概念就是要有一個(gè)高性能的異構(gòu)計(jì)算平臺(tái),設(shè)計(jì)軟件要有一個(gè)SOA的概念,具備OS與中間件, APP 要與硬件解耦; ? 然后分布式連接就是首先要搭一個(gè)中央+區(qū)域的電子電器架構(gòu),同時(shí)利用高速總線(以太網(wǎng)或 PCIe)來實(shí)現(xiàn)功能域之間的連接和通信,還有一些線束的革新,以及要做到IO解耦。??
SoC廠家愿景規(guī)劃
一些SoC廠家推出了一些SoC概念,在他們眼中,傳統(tǒng)網(wǎng)絡(luò)是一個(gè)網(wǎng)關(guān)把各個(gè)功能域連接在一起。 ? 在目前21/22年這一代可能量產(chǎn)的一些車型,或者量產(chǎn)的大部分車型中他們以功能域來劃分。在下圖可以看到ECU的數(shù)量大大減少了,把很多計(jì)算的東西放到了功能域上面,把一些功能集成到一個(gè)更大的ECU里面。 ? 在24/25年的時(shí)候,基本上會(huì)把這些功能域的控制器再做進(jìn)一步的集成,會(huì)形成一個(gè)兩個(gè)或三個(gè)這種大腦即我們認(rèn)為叫GCP或者叫CCU這樣一種形式,然后再以區(qū)域化的方式去接入。? ? 新進(jìn)來的一個(gè)SoC廠商更加激進(jìn),他們認(rèn)為可能一直到2026年可以把整車所有的計(jì)算全都放在單個(gè)的SoC里面,里面包括娛樂系統(tǒng)、Cluster、ADAS、車內(nèi)感知、車身控制、底盤等所有的功能。 ? 這目前是一個(gè)愿景,還在PPT階段,我們也拭目以待! ?
計(jì)算平臺(tái)概念
目前來說比較適合中國的主機(jī)廠的一個(gè)多快好省的計(jì)算平臺(tái)GCP,它應(yīng)該怎么去搭呢? ? 首先它是要有一個(gè)異構(gòu)的SoC,它里面是有MPU, 主要用來去做高性能計(jì)算,那上面我們會(huì)有VDL的這一層把外面接的執(zhí)行傳感器或者是其他的一些ECU進(jìn)行一個(gè)抽象和代理。 ? 然后還有一個(gè)MCU這個(gè)單元,MCU就相當(dāng)于一個(gè)實(shí)時(shí)核,它里面主要會(huì)跑 CP AUTOSAR,會(huì)通過信號與服務(wù)的轉(zhuǎn)換把一些信號暴露出來給MPU,讓MPU這邊去做一個(gè)SOA的一些應(yīng)用。 ? MCU主要是看它的個(gè)數(shù),包括它的算力,能夠支撐我們外面的一些ECU往里面去收集,我們就相當(dāng)于可以去把類似于純計(jì)算的一些ECU集成到我們這個(gè)MCU里面去。 ? 然后MPU這邊的話可能會(huì)有一些SOA的服務(wù),整車的OTA的Master,網(wǎng)絡(luò)安全,整車診斷的功能,大數(shù)據(jù)收集的功能等都會(huì)放在MPU上,利用它的一個(gè)高性能的 OS、 Linux或者eMCOS,數(shù)據(jù)庫的這種方式可以在這上面實(shí)現(xiàn)。??
計(jì)算平臺(tái)的特點(diǎn)
上述計(jì)算平臺(tái)的特點(diǎn)如下: ?
中央網(wǎng)關(guān)既是網(wǎng)關(guān)又是計(jì)算平臺(tái),也是軟硬分離的核心部件
中央網(wǎng)關(guān)連接的不再是功能域網(wǎng)段,而是按實(shí)時(shí)性及帶寬要求分解出更多的網(wǎng)段;
客戶體驗(yàn)相關(guān)應(yīng)用盡量上移到GCP,硬件相關(guān)軟件的基礎(chǔ)功能軟件放在其他節(jié)點(diǎn)。
盡量暴露其他節(jié)點(diǎn)的信號;
盡量暴露其他節(jié)點(diǎn)的能力并盡量原子化;
GCP算力高低可配;
SoC盡量pin to pin 可擴(kuò)展;
VDL可厚可薄取決需求。
通用計(jì)算平臺(tái)搭建
GCP如何搭建呢?它首先里面包括MPU、MCU兩個(gè)計(jì)算單元,我們這里是在一個(gè)異構(gòu)的SoC架構(gòu)里面。 ?
它是一個(gè)實(shí)時(shí)性的核和高性能的核的組合, 它要能夠?qū)崿F(xiàn)不同的功能域的融合的話,必須要支持不同的安全級別,有一些安全隔離,內(nèi)存、功能等之間是互相要隔離開,同時(shí)供電也是要互相隔離。 ? MPU特點(diǎn):高算力、大運(yùn)算量、服務(wù)類通信、低安全級別、低實(shí)時(shí)性、功能多樣化 ? MCU特點(diǎn):中低算力、多控制功能、高安全級別、高實(shí)時(shí)性、快速啟動(dòng)
功能分配
整合考慮因素
功能是否對實(shí)時(shí)性要求很高
功能是否需要有很多的模擬量輸入和輸出
I/O和計(jì)算分離后業(yè)務(wù)邏輯的變化(計(jì)算時(shí)的輸入參數(shù)需要通過總線傳遞)
OEM或供應(yīng)商是否有把某個(gè)功能做I/O,計(jì)算分離的技術(shù)能力
是否對優(yōu)化成本有優(yōu)勢
評估每個(gè)功能對硬件能力的需求,并評估整合后在新的硬件平臺(tái)上是否同樣滿足需求
整合后的ECU開發(fā)難度
功能分配
下圖是某個(gè)主機(jī)廠的一個(gè)基于Ti芯片的計(jì)算平臺(tái),集成網(wǎng)關(guān)功能,車身控制功能,同時(shí)因?yàn)樗饷嬗型鈷霫Q的芯片,把上層的ADAS融合算法和車輛控制也放到了這個(gè)芯片里面。 ?
高性能核有一些MCU的功能,在一個(gè)MPU中會(huì)有SOA相關(guān)的信號服務(wù)轉(zhuǎn)換功能、基本功能、上層服務(wù)。 ? 還有診斷功能DoIP、時(shí)鐘同步功能,數(shù)據(jù)和日志大數(shù)據(jù)收集功能(可能有的主機(jī)廠把大數(shù)據(jù)放在娛樂系統(tǒng)那邊的話,其實(shí)沒有辦法拿到整個(gè)車身上所有的信號,所以把它放在網(wǎng)關(guān)這樣一個(gè)節(jié)點(diǎn)或者放在中央計(jì)算平臺(tái)這樣一個(gè)節(jié)點(diǎn)是非常合理的)、網(wǎng)絡(luò)安全功能、OTA/刷寫功能。 ? 這些芯片除了以上描述的一些功能,還可以做一些視覺處理,泊車功能等。 ? 當(dāng)然這個(gè)芯片目前做了一些評估,雖然說這個(gè)泊車功能放在上面理論上是有可能性,但是可能這個(gè)芯片算力上稍微差點(diǎn),所以目前來說這只是一個(gè)規(guī)劃,如果后續(xù)出了一個(gè)更高的一個(gè)版本的話,那有可能把這個(gè)芯片的所有功能都用上,做成比較大的一個(gè)融合的平臺(tái)。
IO與計(jì)算分離
IO與計(jì)算分離概念
一個(gè)很典型的例子是在一個(gè)Door模塊里面集成了一個(gè)反光鏡的控制功能。比如有三組用戶的一個(gè)配置參數(shù)存在這個(gè)ECU的flash,受限于ECU的算力和FLASH、RAM大小,能夠存三組用戶數(shù)據(jù),我們可以看到,大多數(shù)一些車輛的門左側(cè)或者右側(cè)都會(huì)有一個(gè)用戶參數(shù)保存的實(shí)體按鈕,然后memory加上一個(gè)m鍵,這個(gè)功能基本上是定死,沒辦法再擴(kuò)展。 ? ? 我們要去對這個(gè)I/O和計(jì)算進(jìn)行一個(gè)解耦,那么怎么樣去做呢? ? 我們要把它的最基本的功能,比如左右上下的一個(gè)調(diào)整功能,擋位、車鎖芯聯(lián)動(dòng)的這些功能保留在信號的一個(gè)層面,然后把用戶相關(guān)的參數(shù)保存這些東西會(huì)放到更上層去做。 ? GCP一般是在一個(gè)承上啟下的位置,ECU變成一個(gè)執(zhí)行器,邏輯就會(huì)簡化,信號通信也變的簡單。
整個(gè)的業(yè)務(wù)邏輯上提到GCP里面,比如在R核里面部署一個(gè)類似于反光鏡這樣一個(gè)SWC,那么在A核這邊,我們就可以部署一個(gè)反光鏡控制的這樣一個(gè)基礎(chǔ)服務(wù),可以由很多其他的服務(wù)來調(diào)用,比如User Setting,這樣用戶的個(gè)性化功能就可以通過服務(wù)調(diào)用跟我們的反光鏡可以聯(lián)動(dòng)起來。 ? 以上就是一個(gè)面向服務(wù)的I/O與計(jì)算分離的一個(gè)示例。 ?
適用于計(jì)算平臺(tái)SoC
下面,我們分享一下適用于計(jì)算平臺(tái)的SoC。??
TI 821
TI 821的主要特點(diǎn)是有兩個(gè)A72的核,相對來說已經(jīng)是比較強(qiáng)的一個(gè)算力。還有4顆R5F,單顆可以在1GHz運(yùn)行下,提供2k的DMIPS算力,4顆R5F最多可以提供8K的算力。 ? 下圖可以看到安全島的概念,綠色的地方,如果用兩顆R5F的話可以達(dá)到ASIL D的一個(gè)級別,它的內(nèi)部MCU也是可以鎖步的,分開來用可以達(dá)到ASL B的級別。這也印證了一點(diǎn),它可以有不同的安全級別功能同時(shí)跑在不同的核上面。 ?
下圖是一個(gè)假想的設(shè)計(jì)框架,MCU0系統(tǒng)里面可以做一個(gè)網(wǎng)關(guān)的功能,把整個(gè)CP AUTOSAR的協(xié)議部署到上面。可選性比較多的,就看客戶的一個(gè)需求。 ?
NXP S32G
下圖是恩智浦的S32G芯片架構(gòu)圖 ?
? 上圖中,CPU Platform 中有兩個(gè)Cluster 0和1,每個(gè)Cluster 的里面是兩顆A53,這個(gè)A53可以支持鎖步,也可以支持分開來用。相當(dāng)于Cluster 0?和Cluster 1至少可以有兩個(gè)獨(dú)立的工作區(qū)來跑高性能的運(yùn)算. ? M7的核有三個(gè)可以支持鎖步的M7,可以達(dá)到ASIL-D,上面又可以去部署一些高實(shí)時(shí)性或CP AUTOSAR的一些功能。 ? S32G的外部接口的話跟TI 的芯片其實(shí)差不太多,比較有特色的就是它有一個(gè)網(wǎng)絡(luò)加速功能,對傳統(tǒng)的CAN有一個(gè)LLCE的引擎專門對報(bào)文路由進(jìn)行硬件加速,跟PDR模塊進(jìn)行一個(gè)緊密結(jié)合. ? 另外還有一個(gè)以太網(wǎng)加速模塊,也是一個(gè)對以太網(wǎng)報(bào)文路由進(jìn)行一個(gè)加速硬件模塊。這是兩個(gè)比較有特色的點(diǎn)。 ? 下圖是S32G開發(fā)板的參考設(shè)計(jì)框架,圖中外擴(kuò)了一個(gè)Switch,最下面是以太網(wǎng)的連接;上面可以支持LINE、FlexRay(主要是沃爾沃和吉利在用)、CAN傳統(tǒng)的車內(nèi)總線連接。 ?
? ?
?
SoC通用特性
MultipleCAN, FlexRay(opt), LIN, ADC, DIO,SPI,UART etc
MultipleEthernet
MPU:Cortex-A core (Performance Computing)
MCU:Cortex-M core Cortex-R core (Realtime Computing)
IPC(Inter Processor/Platform Communication)
HighSpeed & Bandwidth Interconnect between Computer Domains
SafetyEngine for HSM
SafetyIsland Concept (Separate Power Supplier, MCU only mode)
DDR-RAM& SRAM
NOR-FLASH(MCU firmware, NVM, Bootloader)
EMMC,UFS (MPU kernel, rootfs,user data)
SecureBoot
計(jì)算平臺(tái)SoC關(guān)鍵技術(shù)點(diǎn)
?
IPC工作流程
IPC工作流程如下圖所示: ?
Core1
application調(diào)用rpmsg_send接口,把數(shù)據(jù)copy到本地queue
virtio-ring把data從localqueu搬運(yùn)到共享內(nèi)存中的vring中
同時(shí)寫mailbox寄存器進(jìn)行kick操作
Core2
觸發(fā)IPC中斷
中斷處理函數(shù)中把數(shù)據(jù)從vring中搬運(yùn)到localqueue
中斷處理函數(shù)callback,receivecount ++
上層APP調(diào)用rpmsg_recv,把數(shù)據(jù)copy到應(yīng)用中去
?
IPCF 跨平臺(tái)通信框架
Inter-Platform Communication Framework (IPCF)???是一個(gè)子系統(tǒng),它使應(yīng)用程序能夠運(yùn)行在多個(gè)同質(zhì)或異質(zhì)處理核心上,位于同一芯片或不同芯片上,運(yùn)行在不同的芯片上。操作系統(tǒng)(AUTOSAR、Linux、FreeRTOS、Zephyr 等),通過各種傳輸接口進(jìn)行通信(共享內(nèi)存等)。 ? 下圖為恩智浦提出的一個(gè)方案,提供給用戶的API相對友好,利用了Zero-copy的技術(shù),從用戶空間或用戶application copy到共享內(nèi)存中效率較高。 ?
? 流程 ? 下面解釋一下IPCF的流程。 ? UNMANAGED 兩個(gè)API就可以實(shí)現(xiàn)一個(gè)動(dòng)作,Channel是固定的,先取到一個(gè)buffer,做一個(gè)內(nèi)存寫的動(dòng)作,中斷出來后,有個(gè)中斷處理函數(shù),中斷處理完成后會(huì)進(jìn)行callback直接會(huì)把memory地址給到APP讀出來,如下圖所示。 ? 總體來說,Unmanaged的效率還是比較高的。 ?
? MANAGED這邊有些小區(qū)別,需要告訴對方chan_id、buffer、size,然后觸發(fā)中斷,對方收到后會(huì)有另外一個(gè)callback接口,會(huì)把buffer、size等告訴app,app用完之后會(huì)還掉buffer。這就是一個(gè)簡單的Managed的過程。 ?
?
實(shí)例
基于IPC技術(shù),我們舉一個(gè)例子,如下圖所示。 ? 在左邊的R5核中部署了一些SWC,利用CDD模塊來實(shí)現(xiàn)IPC。SWC可以實(shí)現(xiàn)一些邏輯,它會(huì)把信號通過IPC路由到A核的SST(信號服務(wù)轉(zhuǎn)換)模塊,SST會(huì)把信號包裝成服務(wù),通過服務(wù)接口,在控制車窗模塊提供基礎(chǔ)服務(wù)。 ?
? 上述中會(huì)有一個(gè)比較關(guān)鍵的技術(shù):信號到服務(wù)的轉(zhuǎn)換。 ?
?
其他關(guān)鍵技術(shù)點(diǎn)
QoS (不同的核訪問外設(shè)資源時(shí)候的優(yōu)先級分配)
Firewall(核與核之間訪問內(nèi)存的硬隔離)
DeviceManagement (靈活分配外設(shè)資源到不同的物理核)
InterruptRoutine Management (配合DeviceManagement, 中斷路由管理)
TimeSync (不同核之間的時(shí)間同步)
異構(gòu)SoC的BSP非常大,也是項(xiàng)目開發(fā)難度比較大的點(diǎn)。下圖可以看到A核通常是一個(gè)Linux的一個(gè)BSP,R核通常會(huì)是一個(gè)MCU的一個(gè)BSP,通常它還會(huì)有很多的tool chain,包括編譯的工具,調(diào)試的工具,輔助的SDK。 ?
? 這邊舉了一個(gè)TI 821的例子(J7是一個(gè)內(nèi)部代號),可以看到,它的R核上會(huì)有SBL,A核上會(huì)有SPL,可以從A核先啟動(dòng),也可以從R核先啟動(dòng)。 ? 當(dāng)然也支持CP AUTOSAR,需要我們做一定的適配。工作量也非常大。 ? 也支持LWIP,一個(gè)輕量化的IP協(xié)議棧,一般使用AUTOSAR的時(shí)候,會(huì)用AUTOSAR的協(xié)議棧。 ? 還有PDK Driver,里面包含了外設(shè)驅(qū)動(dòng)等。 ?
編輯:黃飛
評論
查看更多