汽車工業(yè)經(jīng)過百年發(fā)展,已經(jīng)進入了有史以來最激動人心的時刻,技術(shù)的進步有望帶來無與倫比的安全性,更高的生產(chǎn)率和更好的環(huán)境利益。但具有自動駕駛功能的純電動汽車不可能在一夜之間成為主流或平價。OEM意識到,他們需要為當下和未來的汽車建立正確的架構(gòu)基礎(chǔ)。區(qū)域控制器是整車EE架構(gòu)的重要部分。本文討論實現(xiàn)區(qū)域控制器的關(guān)鍵技術(shù)以及MCU解決方案。
區(qū)域控制器是汽車中的節(jié)點,在汽車的一個物理區(qū)域內(nèi),為各傳感器、執(zhí)行器等設(shè)備提供電源分配,數(shù)據(jù)連接和I/O采集與驅(qū)動需求。MCU是區(qū)域控制器的大腦,區(qū)域控制器中的MCU一般需要具備強大的處理能力,有很豐富的通訊接口,同時具備一定功能安全和信息安全等級。下面介紹區(qū)域控制器的一些關(guān)鍵技術(shù)和MCU解決方案。
高算力多核處理器
圍繞區(qū)域控制器和中央計算單元的EE架構(gòu)車輛,會使車輛中的ECU的數(shù)量減少,但也增加了一些ECU的處理器負載,因為有更多的功能部署到這些。在物理上,區(qū)域控制器是多個ECU的邏輯集中點,這對于區(qū)域控制器中MCU的算力有了更高的需求。在傳統(tǒng)功能單一的ECU中往往使用性能較低的單核MCU即可滿足要求,而對于區(qū)域控制器,往往需要高性能的多核MCU才能滿足要求。在多核MCU中每個核可以跑一種單獨功能,多核即可實現(xiàn)多種功能,從而實現(xiàn)多種ECU功能的融合。
TC3xx微控制器是第2代AURIX?產(chǎn)品,搭載了多達六個TriCore? 1.62嵌入式內(nèi)核,每個內(nèi)核的時鐘頻率最高可達300MHz。下圖是TC3xx家族中的TC39x系列MCU模塊圖,TC39x的算力達到了4000 DMIPS。
Figure 1: TC39x Block Diagram
TC4xx微控制器是第3代AURIX?產(chǎn)品,搭載了多達六個TriCore? 1.8嵌入式內(nèi)核,每個內(nèi)核的時鐘頻率最高可達500MHz,并且集成一個PPU協(xié)處理器,可實現(xiàn)快速向量運算,基礎(chǔ)神經(jīng)網(wǎng)絡(luò)算法以及其它一些復雜數(shù)學算法。PPU在未來的區(qū)域控制器中可以被應用于建模,模型預測控制以及防入侵檢測等一些信息安全算法中。下圖是TC4xx家族中的TC4Dx MCU的模塊圖,TC4Dx的算力達到了8000DMIPS+72GFlops*1。72GFlops是由PPU貢獻的。
Figure 2: TC4Dx Block Diagram
*1. FLOPS是每秒浮點運算次數(shù)。1GFLOPS = 每秒十億(=10^9)次的浮點運算。以多層感知器(Multi-Layer Perception ,MLP)為例,在輸入層神經(jīng)元數(shù)量=14,隱藏層神經(jīng)元數(shù)量=20,輸出層神經(jīng)元數(shù)量=1的情況下,大約需要1.7GFLOPS的算力。
連接和互通
在區(qū)域控制器體系中,每個傳感器和執(zhí)行器都根據(jù)其位置連接到本地區(qū)域控制器,然后區(qū)域控制器執(zhí)行一些數(shù)據(jù)幀格式轉(zhuǎn)換,匯總數(shù)據(jù)并通過高速以太網(wǎng)將數(shù)據(jù)傳送至中央處理單元。區(qū)域控制器一般通過控制器CAN或LIN總線和掛載在它上面的傳感器和執(zhí)行器通信,或者通過低速以太網(wǎng)或LVDS與攝像頭或其他ADAS傳感器進行通信。這就要求區(qū)域控制器的主控MCU有豐富的CAN和LIN的通訊接口以及高速以太網(wǎng)接口。在區(qū)域控制器進行數(shù)據(jù)轉(zhuǎn)發(fā)的過程中,還需要考慮通信延遲的問題,在中央集中式架構(gòu)中,大部分的控制和執(zhí)行命令是由中央處理單元發(fā)出,有些命令(例如底盤和動力)對于延時有嚴格的要求,因此對于區(qū)域控制器中從高速以太網(wǎng)轉(zhuǎn)發(fā)到CAN/LIN/低速以太網(wǎng)接口的延時時間也有了要求。
TC3xx/TC4xx家族產(chǎn)品都有豐富的CAN/LIN/Ethernet通訊接口。
Figure 3: TC39x/TC4Dx CAN/LIN/Ethernet Channel
TC4xx產(chǎn)品中更是集成專用的硬件通訊路由模塊CRE (CAN Routine Engine)/DRE (Data Routine Engine)。TC4xx中的一個CAN模塊中集成了4個CAN 節(jié)點,當相同模塊中的CAN節(jié)點進行數(shù)據(jù)通信時,可以通過CRE直接實現(xiàn)CAN數(shù)據(jù)轉(zhuǎn)發(fā),無需CPU和軟件介入。當不同模塊中CAN節(jié)點進行數(shù)據(jù)轉(zhuǎn)發(fā)或者CAN節(jié)點和以太網(wǎng)之間進行數(shù)據(jù)轉(zhuǎn)發(fā),則可以通過CRE+DRE的方式直接實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),也無需CPU和軟件介入。
Figure 4: TC4xx CRE & DRE
這種硬件路由引擎直接實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)的方式大大減少了數(shù)據(jù)延遲,CAN到Ethernet的轉(zhuǎn)發(fā)延時最少可以到15us,CAN到CAN的轉(zhuǎn)發(fā)延時最少可以到5us。
Figure 5: TC4xx Communication Latency
在未來的中央集成EE架構(gòu)中,通訊數(shù)據(jù)量不斷增加,高速以太網(wǎng)逐漸成為EE架構(gòu)中的主干網(wǎng)。而為了考慮數(shù)據(jù)通信安全和冗余,以太網(wǎng)環(huán)網(wǎng)架構(gòu)逐漸成為主流,區(qū)域控制器和中央控制單元則都是以太網(wǎng)環(huán)網(wǎng)架中的節(jié)點。TC4Dx中有2路5Gbps的高速以太網(wǎng)接口和4路10/100Mbps接口,2路高速以太網(wǎng)接入以太網(wǎng)環(huán)網(wǎng)(1進1出),4路低速以太網(wǎng)則可以接雷達或者攝像頭傳感器。2路高速以太網(wǎng)可以通過內(nèi)部集成的高速以太網(wǎng)橋(G-Ethernet Bridge)直接進行以太網(wǎng)幀轉(zhuǎn)發(fā)。4路低速以太網(wǎng)接口之間也可以通過低速以太網(wǎng)橋(L-Ethernet Bridge)直接進行以太網(wǎng)幀轉(zhuǎn)發(fā)。低速以太網(wǎng)接口和高速以太網(wǎng)接口之間也可以通過低速以太網(wǎng)橋+DRE+高速以太網(wǎng)橋直接進行以太網(wǎng)幀轉(zhuǎn)發(fā)。這種方式大大減少以太網(wǎng)接口之間數(shù)據(jù)轉(zhuǎn)發(fā)的延時時間。
Figure 6: TC4xx Ethernet Bridge
在中央處理單元和區(qū)域控制器為節(jié)點的以太網(wǎng)骨干網(wǎng)絡(luò)中,往往需要傳輸多種以太網(wǎng)數(shù)據(jù)幀,有些數(shù)據(jù)需要進行確定性的傳輸(例如控制類數(shù)據(jù)),有些數(shù)據(jù)則會占用很大的帶寬(例如音視頻數(shù)據(jù),ADAS傳感器數(shù)據(jù)等),有些則是常規(guī)數(shù)據(jù)(例如對于傳輸延時沒有要求)。因此,在這個骨干網(wǎng)絡(luò)中,需要對于以太網(wǎng)幀進行分類,對于控制類數(shù)據(jù)要保證在可控的延時時間內(nèi)可以發(fā)送出去,對于音視頻或者ADAS傳感器數(shù)據(jù)要保證在正常傳輸?shù)耐瑫r不能干擾網(wǎng)絡(luò)中其他以太網(wǎng)幀的傳輸,造成其他高優(yōu)先級以太網(wǎng)幀阻塞。
Ethernet TSN協(xié)議很好的解決了這個問題,其中IEEE802.1Qav實現(xiàn)了流量整形,優(yōu)先級劃分和隊列管理,很好的解決了數(shù)據(jù)沖突的問題,而在此基礎(chǔ)上形成的IEEE802.1Qbv實現(xiàn)了時間整形(Time-aware Shaper)機制,允許端口按照一定的時基來控制流量是否允許傳輸,傳輸?shù)拈_關(guān)通過傳輸門(Transmission Gate)和門控制表(Gate Control List,GLC)來控制。通過這種時隙劃分機制,隔離了時間敏感消息流和其他普通消息流,既能夠?qū)崿F(xiàn)時間敏感消息的確定性傳輸,使得消息到達時間可預測,又能避免普通消息的干擾,提高實時性。IEEE802.1AS則給以太網(wǎng)網(wǎng)絡(luò)中各個節(jié)點提供了時間同步的機制,IEEE802.1AS-rev在此基礎(chǔ)上又增加了主時鐘冗余和多時間域的概念。
TC3xx/TC4xx以太網(wǎng)控制器支持的AVB/TSN協(xié)議如下:
Figure 7: TC3xx/TC4xx Ethernet TSN Support
*1) IEEE802.1 Qbv-prelim: 是指TC3xx的GETH的通道/隊列中支持一種slot功能。例如可以把一個同步周期分為3個slot, 然后配置3個隊 列,每個隊列占用一個slot,這樣就能實現(xiàn)3個隊列發(fā)送不同的以太網(wǎng)幀以及3個隊列發(fā)送的數(shù)據(jù)互不干擾。
互不干擾性
在面向區(qū)域的中央集中式架構(gòu)中,ECU的數(shù)量將大幅度減少,這一部分減少的ECU有一部分將并入?yún)^(qū)域控制器中,有些則會把控制功能往上傳至中央處理單元來實現(xiàn),而自身則轉(zhuǎn)變?yōu)橐粋€智能傳感器或者智能執(zhí)行器。在這個過程中,區(qū)域控制器會承載越來越多的功能,而各個功能獨立運行和互不干擾至關(guān)重要。
按核劃分
目前多核MCU在汽車電子上得到了廣泛的應用,可以每個核分配一個功能,這樣每個功能并行運行,提高運行效率,并且能保證互不干擾,當然這個需要依賴Memory Protection Unit (MPU)。TC3xx/TC4xx有多達6個CPU內(nèi)核,且每個CPU都支持Memory Protection Unit (MPU)。以TC3xx為例,每個CPU內(nèi)核都6組保護設(shè)置,每組保護設(shè)置有18個數(shù)據(jù)保護區(qū),10個代碼保護區(qū)。當配置代碼數(shù)據(jù)和代碼保護區(qū)后,其他CPU將無法訪問這些區(qū)域。另外考慮一個CPU中運行操作系統(tǒng)的情況,當有多個任務(wù)同時執(zhí)行時,可以給每個任務(wù)分配一組保護設(shè)置,這樣可以做到任務(wù)之間數(shù)據(jù)和代碼的隔離。
Figure 8: TC3xx/TC4xx MPU
另外區(qū)域控制器中的各項功能也會使用不同的MCU外設(shè)通道,也需要對外設(shè)進行很好的隔離。在TC3xx/TC4xx中每個外設(shè)通道都有訪問保護(Access Protection),其實現(xiàn)的原理是給每個SRI總線master分配一個master tag ID, 每個外設(shè)通道都可以設(shè)置允許哪些master可以訪問該通道。通過這些方式可以把不同的外設(shè)分配給不同的內(nèi)核進行訪問,從而保證其他內(nèi)核不會非法去控制不是屬于該內(nèi)核的資源。
虛擬化技術(shù)
中央集中式的架構(gòu)對于研發(fā)團隊的組織架構(gòu)影響也是巨大的,在未來的區(qū)域控制器中可能整合了多種ECU功能,而原來開發(fā)這些功能的研發(fā)人員可能來自不同的團隊,那么就會面臨幾個問題:
如何協(xié)調(diào)這些研發(fā)人員開發(fā)區(qū)域控制器?需要考慮這些研發(fā)人員以前使用的開發(fā)環(huán)境(如操作系統(tǒng),編譯器,調(diào)試器等)可能是不一樣的。
如何重用以往項目中的軟件?
如何讓這些研發(fā)人員同步開發(fā)而且相互之間沒有干擾?
舉一個例子(不一定符合實際情況),現(xiàn)在要開發(fā)一個區(qū)域控制器(放在左車身域),這個區(qū)域控制器至少要實現(xiàn)左邊車身域的I/O控制和檢測(類似以前的BCM功能),作為車身的一個網(wǎng)關(guān)(Gateway),還要作為左車身域配電中心(Power Distribution),最后可能還要考慮能夠?qū)τ趻燧d在它上面的各個ECU進行固件升級(OTA)。假設(shè)原來BCM和網(wǎng)關(guān)的軟件是不同兩個研發(fā)團隊開發(fā),他們用的OS也是不一樣的,現(xiàn)在想重用以前的BCM和Gateway的軟件,然后重新開發(fā)左車身域配電中心和對各個ECU進行固件升級的功能。那么如何才能高效的完成這個項目?
虛擬機(VM, Virtual Machine)完美地解決了這些問題。虛擬機是一種通過模擬物理機來封裝和執(zhí)行其他軟件的軟件。被執(zhí)行的軟件可以是一個單一的程序,也可以是一個完整的操作系統(tǒng),按照通常的方式執(zhí)行任務(wù)。Hypervisor是一個中間軟件層,用于在虛擬機之間劃分處理、內(nèi)存和通信資源,并將同時運行的虛擬機調(diào)度和遷移到不同的資源上。虛擬化的一個主要用途是整合需要不同操作系統(tǒng),以及相同操作系統(tǒng)的不同版本的ECU功能。
從微觀上來講,每個CPU內(nèi)核支持多個vm(例如vm0~vm7),各個虛擬機之間實際上是對CPU進行分時復用,每個虛擬機之間可以用Level 2的MPU進行數(shù)據(jù)和代碼的隔離。從宏觀上來講,每個功能可以由一個VM來實現(xiàn),而每個VM實際都對應一個或者多個CPUx.vmy。
以上述區(qū)域控制器為例,BCM功能用VM1來實現(xiàn) (假設(shè)原來是用一個三核MCU做的),Gateway功能用VM2來做(假設(shè)原來也是用一個三核MCU做的),VM3則實現(xiàn)區(qū)域配電功能,VM4實現(xiàn)OTA功能。VM1實際會包含cpu0.vm1, cpu1, vm1, cpu2.vm1,而VM2實際會包含cpu0.vm2, cpu1.vm2, cpu2.vm2, VM3用CPU3.VM1,VM4用CPU3.vm2。這樣,VM1和VM2依然還是可以重用以前的軟件(盡管以前用的是老版本的AUTOSAR軟件和操作系統(tǒng)),而新開發(fā)的功能VM3和VM4則可以用新的AUTOSAR版本。這些虛擬機之間用Hypervisor進行管理和調(diào)用,實際上每個CPU的vm0就是運行在Hypervisor模式,用于調(diào)度每個CPU的虛擬機,而所有CPU的vm0集合就是宏觀上所說的Hypervisor模式。
Figure 9: Hypervisor Example
除此之外,各個外設(shè)通道也可以設(shè)置各自的訪問保護(Access Protection),每個外設(shè)通道都可以設(shè)置允許哪些VM可以訪問該通道,從而做到VM之間的資源訪問隔離。
TC4xx MCU所使用的是TC1.8 TriCore?內(nèi)核,支持虛擬機。每個內(nèi)核支持8個VM (VM0~VM7),它支持3套獨立CPU內(nèi)核寄存器,VM0和VM1各獨占1套,VM2~VM7共享另外1套內(nèi)核寄存器,因此從VM0或者VM1到其他VM可以快速切換。
Figure 10: Hypervisor Example
OTA
中央集中式的架構(gòu)會使硬件平臺變得統(tǒng)一化,包含控制器,傳感器,執(zhí)行器和各種接口,不同功能的實現(xiàn)全由運行在各種硬件平臺上軟件進行區(qū)分,從而真正實現(xiàn)“軟件定義汽車”。未來的區(qū)域控制器是車上某個區(qū)域的樞紐,它需要能夠?qū)燧d在它上面各種ECU,傳感器,執(zhí)行器的軟件進行更新,除此之外它還需要能夠?qū)ψ陨淼能浖M行更新。
TC3xx/TC4xx MCU都可以實現(xiàn)無感OTA,即TC3xx/TC4xx MCU有兩個獨立Bank的Flash, 當程序運行在其中一個Bank的Flash時,可以把更新的程序?qū)懭肓硗庖粋€Bank,在這個寫入過程中,自身的程序的運行不會受到影響。
另外TC3xx/TC4xx MCU可以支持EMMC接口,最高訪問速度可達400Mbps,可以把其他ECU或者傳感器的更新固件放在外接的EMMC存儲器中,等到合適的時機,再對其他ECU或者傳感器進行程序升級。
功能安全
隨著車輛功能的復雜性增加,由于EE系統(tǒng)的故障而導致的不安全行為的可能性大大增加。這迫使OEM廠商嚴格按照安全標準來開發(fā)車輛。目前,汽車EE架構(gòu)事實上的功能安全標準是ISO26262。
TC2xx/TC3xx/TC4xx都可以達到ISO26262 ASIL D的功能安全等級。英飛凌的質(zhì)量管理體系秉承“零缺陷”的文化理念,在研發(fā)AURIX? MCU產(chǎn)品過程中擁有一支專業(yè)的功能安全開發(fā)和管理團隊,參與MCU設(shè)計,開發(fā)和驗證中的各個流程。英飛凌不僅可以提供ASIL D功能安全等級的MCU產(chǎn)品,同時還可以提供完整的功能安全文檔(如安全手冊,F(xiàn)MEDA表格等)以及安全軟件庫 (Safety Library)。
Figure 11: AURIX? Safety Cornerstones
TC3xx系列MCU是全球第一個獲得ISO26262-2018證書的MCU產(chǎn)品。
Figure 12: TC3xx ISO26262-2018 Certification
信息安全
網(wǎng)聯(lián)化是實現(xiàn)未來中央集中式EE架構(gòu)的基礎(chǔ),萬物互聯(lián)給用戶帶來便利的同時,也同時會給傳統(tǒng)汽車帶來安全隱患。在中央集中式EE架構(gòu)以以太網(wǎng)作為骨干網(wǎng)絡(luò),中央處理單元和區(qū)域控制器通過以太網(wǎng)進行通信,區(qū)域控制器則通過CAN/LIN總線和子ECU,傳感器以及執(zhí)行器通信。在這個網(wǎng)絡(luò)中,任何一個ECU/傳感器/執(zhí)行器都可以用OTA進行升級,在這個過程中,如果升級的固件在傳輸?shù)倪^程中被黑客非法篡改,那么將會帶來嚴重的后果。這個就要求區(qū)域控制器可以支持加密傳輸,簽名,驗簽,安全啟動等功能。
TC3xx MCU內(nèi)部的Full EVITA HSM模塊,包含ARM Cotex-M3的處理器,AES加速引擎, PKC模塊和Hash模塊。AES加速引擎支持AES128算法(對稱加密算法),PKC支持ECC256(非對稱加密算法),SHA256,和真隨機數(shù)產(chǎn)生器。
Figure 13: TC3xx HSM
另外我們的第三方合作伙伴也可以提供符合AUTOSAR規(guī)范的HSM商用軟件。
Figure 14: TC3xx HSM Software
TC4xx MCU會使用全新的Cyber security realtime module (CSRM)作為可信硬件環(huán)境,其中包含最高500MHz Tricore 1.8內(nèi)核,PKC模塊,TRNG和CSS模塊,其性能比TC3xx HSM提升5~15倍,更重要的是TC4xx MCU CSRM不僅支持EVITA Full, 而且兼容ISO21434規(guī)范。另外TC4xx CSRM除了支持原來TC3xx HSM中的算法之外,還支持SM2/3/4國密算法。
Figure 15: TC4xx CSRM
低功耗
隨著電子化程度的推進,高功率及高算力芯片使用率的提升,整車負載的用電需求量也在不斷提高。功耗問題處理不好,尤其對新能源車來說,會直接影響其續(xù)航里程、成本和客戶體驗。如何一方面滿足功能需求,同時將功耗降到最低,除了系統(tǒng)設(shè)計上的優(yōu)化外,在元器件選型時也要關(guān)注不同模式下的功耗指標。
TC3xx/TC4xx MCU把供電域分為主供電域(Power-On Domain)和休眠域兩部分(Standby Domain)。主供電域由Vext提供電源,休眠域由Vevrsb提供電源,Vext和Vevrsb可以接在一起,也可以分成兩個獨立電源供電。當MCU進入休眠模式后,主供電域關(guān)閉,休眠域持續(xù)工作。在休眠域中有一個休眠控制器(SCR, Standby Controller),它主要以8位的8051內(nèi)核構(gòu)成,也可以進行編程,這樣就極大得提高了在休眠模式下對于喚醒模式設(shè)置的靈活性。下表是SCR的基本資源和休眠模式功耗情況:
Figure 16: SCR/Standby Current
延續(xù)性考慮
在OEM或者Tier-1進行區(qū)域控制器主控MCU選型時除了產(chǎn)品本身符合應用需求之外,一般還需要考慮研發(fā)時間和成本。MCU是ECU中最復雜的半導體器件,研發(fā)團隊需要花很長時間才能熟悉一個MCU平臺。目前TC3xx MCU產(chǎn)品已經(jīng)在國內(nèi)多家OEM的區(qū)域控制器中得到廣泛的應用,這類區(qū)域控制器目前主要還是負責車身部分的控制。TC4xx MCU對于TC3xx MCU有很好的兼容性考慮,主要有下面因素:
開發(fā)速度:
TC3xx是基于TC1.6.2內(nèi)核,而TC4xx是基于TC1.8內(nèi)核,TC1.8兼容TC1.6.2。TC4xx的開發(fā)環(huán)境和TC3xx完全一樣(編譯器,調(diào)試器等),如果研發(fā)工程師已經(jīng)熟悉TC3xx開發(fā)環(huán)境,那么對于TC4xx可以迅速上手。
軟硬件兼容:
TC4xx和TC3xx大部分外設(shè)資源都保持一致,引腳分配也保持很大部分的兼容性。因此,硬件工程師可以沿用大部分之前的設(shè)計經(jīng)驗,軟件工程師可以沿用各個外設(shè)模塊的理解,無需再學習一遍。對于相同部分的外設(shè)資源,MCAL部分的配置也是保持不變的。
安全概念:
TC4xx沿用了大部分TC3xx的安全概念,例如CPU鎖步,F(xiàn)lash/RAM ECC保護,電源和時鐘檢測等。因此,對于功能安全開發(fā)部分,如果之前是基于TC3xx MCU進行開發(fā)的,TC4xx也可以沿用大部分的功能安全開發(fā)和設(shè)計理念。
可靠性:
TriCore?內(nèi)核推出至今已經(jīng)有20年以上的時間,被多家OEM廣泛使用。TC3xx/TC4xx MCU中的很多外設(shè)模塊也是很老的IP模塊,經(jīng)過20多年的迭代和更新,目前已經(jīng)變得非常穩(wěn)定和可靠。
Figure 17: TC3xx to TC4xx Synergies