域控制器的四大支柱分別是車載以太網(wǎng)、自適應(yīng)Autosar、高性能處理器和集中式E/E架構(gòu)。
車載以太網(wǎng)之物理層
車載以太網(wǎng)有兩個核心,一個是車載以太網(wǎng)物理層,另一個是車載以太網(wǎng)協(xié)議棧。前者讓車載以太網(wǎng)不同于傳統(tǒng)PC以太網(wǎng),具備較低的重量和成本、較好的EMI性能和簡單布線。后者讓車載以太網(wǎng)達(dá)到車規(guī)級的可確定性、高可靠性、低延遲和時鐘一致。
車載以太網(wǎng)OSI模型,資料來源:Marvell
車載以太網(wǎng)標(biāo)準(zhǔn)分兩部分,一部分是最底層的PHY標(biāo)準(zhǔn),另一部分是鏈路層標(biāo)準(zhǔn)。這兩個標(biāo)準(zhǔn)都以IEEE的標(biāo)準(zhǔn)應(yīng)用最廣泛。
車載以太網(wǎng)PHY標(biāo)準(zhǔn)主要是制定單對雙絞線標(biāo)準(zhǔn),傳統(tǒng)以太網(wǎng)與車載以太網(wǎng)最大不同是傳統(tǒng)以太網(wǎng)需要2-4對線,車載以太網(wǎng)只需要一對,且是非屏蔽的,僅僅此一項,可以減少70-80%的連接器成本,可以減少30%的重量。這是車載以太網(wǎng)誕生的最主要原因。同時也是為了滿足車內(nèi)的EMC電磁干擾。
車載以太網(wǎng)PHY標(biāo)準(zhǔn)分布,資料來源:Marvell
車載以太網(wǎng)野心勃勃,10Base-T1S是試圖取代傳統(tǒng)的CAN網(wǎng)絡(luò)的。10BASE-T1S即IEEE802.3cg也就是 OPEN Alliance 的TC14 ,100BASE-T1即IEEE802.3bw也就是OPEN Alliance TC1,100/1000BASE-T1 ECU測試標(biāo)準(zhǔn)即OPEN Alliance的TC8, 1000BASE-T1即IEEE802.3bp也就是OPEN Alliance 的TC12 ,2.5/5/10GBASE-T1即IEEE802.3ch也就是OPEN Alliance 的TC15標(biāo)準(zhǔn)。
車載以太網(wǎng)物理層IC,100Mbps的大約3-4美元,德州儀器、NXP傳統(tǒng)汽車芯片大廠市場占有率高,傳統(tǒng)網(wǎng)絡(luò)芯片廠家博通也略強(qiáng)。1Gbps的大約15-20美元,Marvell在此領(lǐng)域?qū)嵙Τ瑥?qiáng),博通和Microchip也有一席之地。1Gbps以上基本只有Aquantia,Aquantia已經(jīng)被Marvell以4.52億美元收購。10Gbps有Aquantia的AQV107,大約40美元一片。
PHY在發(fā)送數(shù)據(jù)的時候,收到MAC過來的數(shù)據(jù)(對PHY來說,沒有幀的概念,對它來說,都是數(shù)據(jù)而不管什么地址,數(shù)據(jù)還是CRC),每4bit就增加1bit的檢錯碼,然后把并行數(shù)據(jù)轉(zhuǎn)化為串行流數(shù)據(jù),再按照物理層的編碼規(guī)則(10Based-T的NRZ編碼或100based-T的曼徹斯特編碼)把數(shù)據(jù)編碼,再變?yōu)?a href="http://www.1cnz.cn/analog/" target="_blank">模擬信號把數(shù)據(jù)送出去。網(wǎng)線上的到底是模擬信號還是數(shù)字信號呢?答案是模擬信號,因為它傳出和接收是采用的模擬的技術(shù)。雖然它傳送的信息是數(shù)字的,并不是傳送的信號是數(shù)字的。
通常交換器IC和MCU會集成低端(如CAN網(wǎng)絡(luò))的物理層,高端(如以太、Flexray網(wǎng)絡(luò))物理層一般都是單獨的芯片。
車載以太網(wǎng)協(xié)議棧標(biāo)準(zhǔn)集:TSN
以太網(wǎng)是由鮑勃梅特卡夫(Bob Metcalfe)于1973年提出的,以太網(wǎng)絡(luò)使用CSMA/CD(載波監(jiān)聽多路訪問及沖突檢測)技術(shù),目前通常使用雙絞線(UTP線纜)進(jìn)行組網(wǎng)。包括標(biāo)準(zhǔn)的以太網(wǎng)(10Mbit/s)、快速以太網(wǎng)(100Mbit/s)、千兆網(wǎng)(1Gbit/s)和10G(10Gbit/s)以太網(wǎng)。它們都符合IEEE802.3。(注:bps=bit/s) 。以太網(wǎng)中所有的傳輸都是串行傳輸,就是說在網(wǎng)卡的物理端口會在每一個單位時間內(nèi)“寫入”或是“讀取”一個電位值(0或1)。那么這個單位時間對于1Gbps帶寬來說就是1÷1000,000,000=1ns,每8個位(bit)相當(dāng)于1個字節(jié)(Byte)。多個字節(jié)(Byte)可以組成一個數(shù)據(jù)幀。以太網(wǎng)傳輸數(shù)據(jù)是以幀為單位的。
以太網(wǎng)規(guī)定每一個數(shù)據(jù)幀的最小字節(jié)是64byte,最大字節(jié)是1518byte。實際上每個數(shù)據(jù)幀之間還會有一個12字節(jié)的間隔。由于帶寬通常是由多個設(shè)備共享的,這也是以太網(wǎng)的優(yōu)勢所在。但是所有的發(fā)送端沒有基于時間的流量控制,并且這些發(fā)送端永遠(yuǎn)是盡最大可能發(fā)送數(shù)據(jù)幀。這樣來自不同設(shè)備的數(shù)據(jù)流就會在時間上產(chǎn)生重疊,即我們通常所說的沖突。因為所有數(shù)據(jù)流重疊/沖突的部分會遵循QoS優(yōu)先機(jī)制進(jìn)行轉(zhuǎn)發(fā),一部分的數(shù)據(jù)包肯定會被丟棄。在IT專業(yè)里有一個不成文的規(guī)定。
當(dāng)某個交換機(jī)的帶寬占用率超過40%時就必須得擴(kuò)容,其目的就是通過提高網(wǎng)絡(luò)帶寬來避免擁堵的產(chǎn)生。
由于以太網(wǎng)的發(fā)明時間太早,并沒有考慮實時信息的傳輸問題。盡管RTP(Realtime Transport Protocol)能在一定程度上保證實時數(shù)據(jù)的傳輸,但并不能為按順序傳送數(shù)據(jù)包提供可靠的傳送機(jī)制。因此,想要對所有的數(shù)據(jù)包進(jìn)行排序,就離不開對數(shù)據(jù)的緩沖(Buffer)。但一旦采用緩沖的機(jī)制就又會帶來新的問題—極大的“延時”。換句話說,當(dāng)數(shù)據(jù)包在以太網(wǎng)中傳輸?shù)臅r候從不考慮延時、排序和可靠交付。傳統(tǒng)以太網(wǎng)最大的缺點是不確定性或者說非實時性,由于Ethernet采用CSMA/CD方式,網(wǎng)絡(luò)負(fù)荷較大時,網(wǎng)絡(luò)傳輸?shù)牟淮_定性不能滿足工業(yè)控制的實時要求,故傳統(tǒng)以太網(wǎng)技術(shù)難以滿足控制系統(tǒng)要求準(zhǔn)確定時通信的實時性要求,一直被視為“非確定性”的網(wǎng)絡(luò)。盡管傳統(tǒng)二層網(wǎng)絡(luò)已經(jīng)引入了優(yōu)先級(Priority)機(jī)制,三層網(wǎng)絡(luò)也已內(nèi)置了服務(wù)質(zhì)量(QoS)機(jī)制,仍然無法滿足實時性數(shù)據(jù)的傳輸。此外,在傳統(tǒng)以太網(wǎng)中,只有當(dāng)現(xiàn)有的包都處理完后才會處理新到的包,即使是在Gbit/s的速率下也需要幾百微秒的延遲,滿足不了車內(nèi)應(yīng)用的需求。更何況目前是Mbit/s的速率,延遲最多可能達(dá)上百毫秒,這肯定是無法接受的。普通以太網(wǎng)采用的是事件觸發(fā)傳輸模式,在該模式下端系統(tǒng)可以隨時訪問網(wǎng)絡(luò),對于端系統(tǒng)的服務(wù)也是先到先服務(wù)。事件觸發(fā)模式的一個明顯的缺點是當(dāng)幾個端系統(tǒng)需要在同一傳輸媒介上進(jìn)行數(shù)據(jù)通訊時,所產(chǎn)生的傳輸時延和時間抖動會累積。
隨著音視頻娛樂大量進(jìn)入汽車座艙,IEEE開始著手開發(fā)用于音視頻傳輸?shù)囊蕴W(wǎng),這就是EAVB。AVB——以太網(wǎng)音視頻橋接技術(shù)(Ethernet Audio Video Bridging)是IEEE的802.1任務(wù)組于2005開始制定的一套基于新的以太網(wǎng)架構(gòu)的用于實時音視頻的傳輸協(xié)議集。
EAVB主要在針對多媒體數(shù)據(jù),適用面太窄,2012年11月,EAVB工作小組改名TSN工作小組。TSN是一系列標(biāo)準(zhǔn)的集和。TSN的核心應(yīng)用是異構(gòu)性網(wǎng)絡(luò)的實時、高可靠性,高時鐘同步性數(shù)據(jù)交換。也就是說主要用于骨干傳輸網(wǎng),而非節(jié)點。汽車、工業(yè)自動化是主要應(yīng)用場合,這些場合至少有兩種以上的傳輸總線,通常是CAN和以太網(wǎng),汽車則還有MOST、Flexray、LIN、PSI5、CAN-FD等,這些是用戶習(xí)慣、成本和研發(fā)成果復(fù)用性決定的,不可能改變。如果非異構(gòu)性網(wǎng)絡(luò),TSN優(yōu)勢不明顯。TSN也可用于5G,5G的前傳Fronthaul采用的就是TSN 802.1CM標(biāo)準(zhǔn)。
TSN標(biāo)準(zhǔn)包括時鐘同步、超高可靠性、低延遲、資源管理四大類,紫色字體為尚未完成,截至2020年1月,2020年6月19日,802.1AS-2020版已經(jīng)完成。
下面介紹TSN的關(guān)鍵標(biāo)準(zhǔn)
時間同步
所有通信問題均基于時鐘,確保時鐘同步精度是最為基礎(chǔ)的問題,TSN工作組開發(fā)基于IEEE1588的時鐘,并制定新的標(biāo)準(zhǔn)IEEE802.1AS-Rev。它用于實現(xiàn)高精度的時鐘同步。對于TSN而言,其最為重要的不是“最快的傳輸”和“平均延時”,而是“最差狀態(tài)下的延時”—這如同“木桶理論”,系統(tǒng)的能力取決于最短的那塊板,即對于確定性網(wǎng)絡(luò)而言,最差的延時才是系統(tǒng)的延時定義。
IEEE1588 協(xié)議,又稱 PTP( precise time protocol,精確時間協(xié)議),可以達(dá)到亞微秒級別時間同步精度,于 2002 年發(fā)布 version 1,2008年發(fā)布 version 2。它的主要原理是通過一個同步信號周期性地對網(wǎng)絡(luò)中所有節(jié)點的時鐘進(jìn)行校正同步,可以使基于以太網(wǎng)的分布式系統(tǒng)達(dá)到精確同步,IEEE?1588PTP時鐘同步技術(shù)也可以應(yīng)用于任何組播網(wǎng)絡(luò)中。
IEEE1588 協(xié)議的同步原理,所提出的 Delay Request-Response Mechanism(延時響應(yīng)機(jī)制)如上圖,IEEE1588 把所涉及到的報文分為 事件報文 和 通用報文,分類依據(jù)是:是否在收發(fā)報文時需要記錄精確時間戳,根據(jù)上文中所描述的幾種報文,可以進(jìn)行如下分類:
事件報文(event message) :sync /Delay_Req/Pdelay_Req/Pdelay_Resp。
通用報文 (generalmessage) :Announce/Follow_up/Delay_resp/Pdelay_Resp_Follow_Up/Magnament/Siganling。Pdelay_Req /Pdelay_Resp/Pdelay_Resp_Follow_Up通過peer延遲機(jī)制測量兩個時鐘端口之間的鏈接延時,鏈接延時被用來更正Sync和Follow_Up報文中的時間信息。
IEEE802.1AS-Rev是為以太網(wǎng)第二層所定義的1588規(guī)范加以擴(kuò)展,它的擴(kuò)展包括了所有域常用peer延遲服務(wù),支持精細(xì)時間測量FTM,對鏈路聚合(802.1AX)的支持,改善的使用范圍-包括1步時間戳標(biāo)準(zhǔn)化處理以及針對長鏈、環(huán)的支持,更好的響應(yīng)能力,這包括了更快的主站交互、降低BMCA收斂時間。另外IEEE802.1AS-Rev支持了多域的同步信息傳輸以及冗余支持能力(可配置冗余路徑和冗余主站)。對無線網(wǎng)絡(luò)采用時間測量提供更好的支持。IEEE802.1AS-Rev的制定得到了AVNU聯(lián)盟的大力支持,AVNU聯(lián)盟由英特爾、思科和三星哈曼發(fā)起,是EAVB協(xié)議的主要提供者,AVNU聯(lián)盟為IEEE802.1AS-Rev的實施提供協(xié)助,能夠提供完整的協(xié)議棧和測試認(rèn)證。
低延遲
汽車控制數(shù)據(jù)可以分為三種,Scheduled Traffic、Reserved Traffic、Best-effort Traffic,Scheduled Traffic如底盤控制數(shù)據(jù),沒有任何的妥協(xié)余地,必須按照嚴(yán)格的時間要求送達(dá),有些是只需要盡力而為的如娛樂系統(tǒng)數(shù)據(jù),可以靈活掌握。汽車行業(yè)一般要求底盤系統(tǒng)延遲不超過5毫秒,最好是2.5毫秒或1毫秒,這也是車載以太網(wǎng)與通用以太網(wǎng)最大不同之處,要求低延遲。
在TSN標(biāo)準(zhǔn)里,數(shù)據(jù)則被分為4級,最高的預(yù)計延遲時間僅為100微秒。
低延遲的核心標(biāo)準(zhǔn)是IEEE802.1Qbv時間感知隊列。
通過時間感知整形器(Time Aware Shaper)使TSN交換機(jī)能夠來控制隊列流量(queued traffic),以太網(wǎng)幀被標(biāo)識并指派給基于優(yōu)先級的VLAN Tag,每個隊列在一個時間表中定義,然后這些數(shù)據(jù)隊列報文的在預(yù)定時間窗口在出口執(zhí)行傳輸。其它隊列將被鎖定在規(guī)定時間窗口里。因此消除了周期性數(shù)據(jù)被非周期性數(shù)據(jù)所影響的結(jié)果。這意味著每個交換機(jī)的延遲是確定的,可知的。而在TSN網(wǎng)絡(luò)的數(shù)據(jù)報文延時被得到保障。TAS介紹了一個傳輸門概念,這個門有“開”、“關(guān)”兩個狀態(tài)。傳輸?shù)倪x擇過程-僅選擇那些數(shù)據(jù)隊列的門是“開”狀態(tài)的信息。而這些門的狀態(tài)由網(wǎng)絡(luò)時間進(jìn)度表network schedule進(jìn)行定義。對沒有進(jìn)入network schedule的隊列流量關(guān)閉,這樣就能保障那些對傳輸時間要求嚴(yán)格的隊列的帶寬和延遲時間。TAS保障時間要求嚴(yán)苛的隊列免受其它網(wǎng)絡(luò)信息的干擾,它未必帶來最佳的帶寬使用和最小通信延遲。當(dāng)優(yōu)先級非常高時,搶占機(jī)制可以被使用。
在網(wǎng)絡(luò)進(jìn)行配置時隊列分為Scheduled Traffic、Reserved Traffic、Best-effort Traffic三種,對于Schedule而言則直接按照原定的時間規(guī)劃通過,其它則按優(yōu)先級,Best-effort通常排在最后。Qbv主要為那些時間嚴(yán)苛型應(yīng)用而設(shè)計,其必須確保非常低的抖動和延時。Qbv確保了實時數(shù)據(jù)的傳輸,以及其它非實時數(shù)據(jù)的交換。
對于特別重要的數(shù)據(jù),TSN規(guī)定了一個搶占機(jī)制,它由802.1Qbu/802.3br共同構(gòu)成。對于IEEE802.1Qbu的搶占而言,正在進(jìn)行的傳輸可以被中斷,報文按等級可被分為可被搶占和搶占幀,搶占生成框架,最小以太網(wǎng)幀受到保護(hù)的,127字節(jié)的數(shù)據(jù)幀(或剩余幀)不能被搶占。IEEE802.1br定義了,設(shè)計了快速幀的MAC數(shù)據(jù)通道,可以搶占Preemptable MAC的數(shù)據(jù)傳輸。IEEE802.3br也同樣可以與IEEE802.1Qbv配合進(jìn)行增強(qiáng)型的數(shù)據(jù)轉(zhuǎn)發(fā)。
高可靠性
TSN中保證高可靠性主要依靠802.1CB標(biāo)準(zhǔn)。這也是無人駕駛必須用TSN的主要原因,也只有TSN能讓整個系統(tǒng)達(dá)到功能安全的最高等級ASIL D級。同樣,與自適應(yīng)AUTOSAR的捆綁程度也比較高。
眾所周知,L4級無人駕駛需要一個冗余處理器,但是主處理系統(tǒng)和冗余處理系統(tǒng)之間的通訊機(jī)制如何建立?這就是802.1CB的用武之地了。802.1CB是兩套系統(tǒng)間的冗余,芯片之間的冗余還是多采用PCIE交換機(jī)的多主機(jī)fail-operational機(jī)制,兩者有相似之處。
對于非常重要的數(shù)據(jù),802.1CB會多發(fā)送一個數(shù)據(jù)備份,這個備份會沿著最遠(yuǎn)離主數(shù)據(jù)路徑交集的路徑傳輸。如果兩個數(shù)據(jù)都接收到,在接收端把冗余幀消除,如果只接受到一幀數(shù)據(jù),那么就進(jìn)入后備模式。在ISO/IEC 62439-3中已經(jīng)定義了PRP和HSR兩種冗余,這種屬于全局冗余,成本較高,802.1CB只針對關(guān)鍵幀做冗余,降低了成本。802.1CB標(biāo)準(zhǔn)的制定主要依靠思科和博通。
802.1CB也可以縮寫為FRER。
FRER不僅能提供雙失效冗余,也可以提供多失效冗余。
802.1CB也有簡單的失效原因分析機(jī)制
域控制器階段,TSN的必要性還不是太突出,但是ADAS領(lǐng)域的域控制器,TSN或者說802.1CB的優(yōu)勢明顯,未來進(jìn)入到SOA架構(gòu)階段,即混合域和Zonal階段,TSN交換機(jī)和物理層IC都是不可或缺的。一旦轉(zhuǎn)進(jìn)到SOA架構(gòu),TSN很快將取代EAVB成為主流。
自適應(yīng)Autosar
AUTOSAR只是一個軟件框架,不具備實操意義(務(wù)虛)。必須購購買第三方的軟件系統(tǒng)或二次開發(fā),全球主要有三家商業(yè)化的Autosar軟件供應(yīng)商,分別是Vector、EB和ETAS。EB屬于德國大陸汽車軟件子公司,獨立性略差,硬件方方面與瑞薩和英飛凌捆綁稍明顯,ETAS規(guī)模比較小,ETAS鋪蓋面最廣,獨立性最強(qiáng),規(guī)模最大,因此Vector市市場占有率最高,大約有70%。
AUTOSAR結(jié)構(gòu)比較臃腫,想定義一切,靈活性不高,新興造車通通常不感興趣。開發(fā)AUTOSAR和硬件也捆綁得有點緊,比如國內(nèi)普華基礎(chǔ)軟件就跟意法半導(dǎo)體捆綁的緊。
國內(nèi)有東軟、恒潤、普華和華為在做,需要芯片廠家配合提供MCAL抽象層,但芯片廠家地位超然,不屑于和小公司合作。普華汽車電子事業(yè)部國內(nèi)唯一通過ASIPICE三級和ASIL D級認(rèn)證的公司,隸屬中中國電子科技集團(tuán),國企背景。主要客戶包括一汽、東風(fēng)、長安、奇瑞、江淮等國企。
即便是大公司如奔馳寶馬也是購買Vector的Autosar工具M(jìn)ICROSAR。
奔馳的Vector Microsar
為什么要搞自適應(yīng)Autosar,因為經(jīng)典Autosar只能對應(yīng)OSEK這樣復(fù)雜程度很低的嵌入式操作系統(tǒng),無法適應(yīng)Linux這樣的大型操作系統(tǒng),而自動駕駛和部分智能駕駛操作系統(tǒng)都是Linux,因此催生了自適應(yīng)Autosar。
Adaptive Autosar,自適應(yīng)Autosar第一版誕生自2017年3月,目前已經(jīng)有6版,最新版本是2019年11月。據(jù)說第一版的自適應(yīng)Autosar的英文規(guī)格書用A4紙打印出來摞起來有7米高。
經(jīng)典Autosar與自適應(yīng)Autosar對比,目前Autosar有284個會員,9個核心會員,分別是寶馬、奔馳、大陸汽車、福特、戴姆勒、PSA、通用汽車、豐田和大眾。兩個戰(zhàn)略會員,電裝和LG電子。55個高級會員,其中中國企業(yè)有長城、華為、百度、香港英恒。另外說一句,這4家企業(yè)是近兩年才成為高級會員的,2017年高級會員沒有中國企業(yè)。
Autosar組織結(jié)構(gòu),主要工作由Working組完成。
Working組架構(gòu)如上圖。用戶組下面再分三個小組,分別是中國組,負(fù)責(zé)演示開發(fā)和基礎(chǔ)軟件集成。北美組,負(fù)責(zé)一般性培訓(xùn)(OEM-Tier1 Workflows/ Security),安全和以太網(wǎng)。增強(qiáng)利用ImprovedExploitation組,負(fù)責(zé)命題(Thesis)優(yōu)化。
自適應(yīng)Autosar路線圖,版本是不能混用的,比如你買了R19-03的部分模塊,剩下的模塊想用R19-11版是不可能的。Adaptive AUTOSAR中,主要包含兩種Application:
1)Application-Level的Application
2)Platform-Level的Application
Application-Level的Application會生成源代碼和目標(biāo)代碼,這部分與 “用戶”有關(guān)。Platform-Level的Application會生成目標(biāo)代碼,這部分與 "工具供應(yīng)商" 有關(guān)。不是所有工具供應(yīng)商都能提供完整的Platform-Level的Application,通常只能提供部分,某些領(lǐng)域,標(biāo)準(zhǔn)未確定,如V2X,工具供應(yīng)商幾乎完全無能為力。
自適應(yīng)Autosar與經(jīng)典Autosar計劃增加的特色有23個,例如針對中國特色的V2X。
自適應(yīng)Autosar是針對自動駕駛的,2021年11月版計劃對應(yīng)L3級自動駕駛,不過這個L3級換到中國或者馬斯克口中,估計是L5了,目前一般推薦19-03版,比較穩(wěn)定。
自適應(yīng)Autosar典型應(yīng)用場景如上圖
自適應(yīng)Autosar的層架構(gòu)如上圖。基礎(chǔ)服務(wù)層中,主要服務(wù)包括,通信服務(wù)(COM)、加密服務(wù)(crypto)、日志記錄服務(wù)(Log)、診斷服務(wù)(Diag)、存儲服務(wù)(Per)、狀態(tài)管理(SM)、執(zhí)行管理(Exec)、時間同步(Tsync)、升級配置管理(UCM)等。
非Autosar、經(jīng)典Autosar和自適應(yīng)Autosar對比
ARA的COM架構(gòu),還是Autosar定義的ARXML文件格式為核心
ARA工具鏈如上圖
自適應(yīng)Autosar關(guān)鍵點一:Everything is a process .. as in “OS process”,一切都是一個進(jìn)程,OS中的進(jìn)程。
關(guān)鍵點二:面向服務(wù)的進(jìn)程間通訊。
每個AA(自適應(yīng)應(yīng)用或者說APP)都作為一個獨立的進(jìn)程來實現(xiàn),具有自己的邏輯內(nèi)存空間和名稱空間。一個AA可以包含多個進(jìn)程,并且可以應(yīng)用到一個AP(自適應(yīng)平臺)實例上,或者分布在多個AP實例上。從模塊組織的角度來看,每個進(jìn)程都是由操作系統(tǒng)在可執(zhí)行文件中去實現(xiàn)的。可以從單個可執(zhí)行文件實現(xiàn)多個進(jìn)程。AA可以構(gòu)成多個可執(zhí)行文件。從操作系統(tǒng)的角度上看,一個AP模塊只形成一組進(jìn)程,每個進(jìn)程包含一個或多個線程。這些進(jìn)程通過IPC或任何其他可用的操作系統(tǒng)功能相互作用。但是,AA進(jìn)程不能直接使用IPC,只能通過ARA(AUTOSAR Runtime for Adaptive applications) 的進(jìn)行通信。
為了與AA交互,還需要使用IPC。要實現(xiàn)這一點,有兩種可選設(shè)計。一種是“基于庫”的設(shè)計,其中接口庫由功能集群提供并鏈接到AA,直接調(diào)用IPC。另一種是“基于服務(wù)”的設(shè)計,流程使用通信管理功能,并有一個鏈接到AA的服務(wù)器代理庫。代理庫調(diào)用通信管理接口,該接口協(xié)調(diào)AA進(jìn)程和服務(wù)器進(jìn)程之間的IPC。實現(xiàn)定義決定了AA是只執(zhí)行帶有通信管理的IPC,還是通過代理庫與服務(wù)器混合使用IPC。
Application就是OS的一個一個進(jìn)程,Autosar 采用一個Manifest用來配置管理這些進(jìn)程信息,包含平臺相關(guān)的信息,恢復(fù)操作以及與服務(wù)或庫相關(guān)的依賴關(guān)系,Instance 配置文件主要包含靜態(tài)的信息,這里會配合執(zhí)行管理Exec、升級與配置管理UCM以及狀態(tài)管理SM等來配合管理進(jìn)程。自適應(yīng)Autosar采用Proxy/Skeleton的通信架構(gòu),同時采用中間件SOME/IP
目前明確使用自適應(yīng)Autosar的量產(chǎn)車就是大眾的MEB平臺。
大眾MEB的軟件架構(gòu),POSIX可以是Linux、VxWorks、QNX、Integrity等。
經(jīng)典Autosar是將MCU硬件與軟件層分離,提高軟件復(fù)用率,減少工作量。自適應(yīng)Autosar是將POSIX操作系統(tǒng)與上層API分離,讓軟件開發(fā)變成APP開發(fā)。一般情況下,POSIX系統(tǒng)的應(yīng)用程序通過應(yīng)用編程接口(API)而不是直接通過系統(tǒng)調(diào)用來編程(即并不需要和內(nèi)核提供的系統(tǒng)調(diào)用來編程)。一個API定義了一組應(yīng)用程序使用的編程接口。它們可以實現(xiàn)成調(diào)用一個系統(tǒng),也可以通過調(diào)用多個系統(tǒng)來實現(xiàn),而完全不使用任何系統(tǒng)調(diào)用也不存在問題。實際上,API可以在各種不同的操作系統(tǒng)上實現(xiàn)給應(yīng)用程序提供完全相同的接口,而它們本身在這些系統(tǒng)上的實現(xiàn)卻可能迥異。如下圖,當(dāng)應(yīng)用程序調(diào)用printf()函數(shù)時,printf函數(shù)會調(diào)用C庫中的printf,繼而調(diào)用C庫中的write,C庫最后調(diào)用內(nèi)核的write()。而經(jīng)典Autosar的前身OSEK是不可能的。
從程序員的角度看,系統(tǒng)調(diào)用無關(guān)緊要,只需要跟API打交道。相反,內(nèi)核只跟系統(tǒng)調(diào)用打交道,庫函數(shù)及應(yīng)用程序是怎么系統(tǒng)調(diào)用不是內(nèi)核所關(guān)心的。
那個大眾API就是大眾所說的VW.OS。大眾定義輸入輸出,第三方軟件開發(fā)商基于這個定義開發(fā)APP。
PPE是奧迪的下一代電動車平臺,大眾在2023年開始全部使用VW.OS。
上圖以WindRiver的操作系統(tǒng)為例,顯示出Autosar的另一個優(yōu)勢,靈活架構(gòu)。對于安全性和實時性要求高的領(lǐng)域采用VxWorks,對于要求不高也達(dá)不到高安全性的如深度學(xué)習(xí)(無功能安全要求)等采用Linux。在虛擬機(jī)上實現(xiàn)兩個操作系統(tǒng)。順便說一句Windriver是全球最大的商業(yè)RTOS供應(yīng)商,最大的嵌入式商業(yè)Linux供應(yīng)商。Windriver已經(jīng)在2018年脫離英特爾獨立。
多種操作系統(tǒng)等于自適應(yīng)Autosar可以構(gòu)建時間分區(qū)架構(gòu)。避免各個CPU核心之間的干擾。保證ADAS的安全性。
以Windriver產(chǎn)品為例L4級無人駕駛的自適應(yīng)Autosar軟件架構(gòu)。對V2X 5G和高精度地圖非常友好。
大陸汽車子公司Elektrobit的Corbos自適應(yīng)Autosar架構(gòu)
自適應(yīng)Autosar將運行的硬件視為一臺機(jī)器,實現(xiàn)一致的平臺視圖,而不考慮所使用的虛擬化技術(shù)。這臺機(jī)器可能是一臺真正的物理機(jī)器、一臺完全虛擬化的機(jī)器、一個準(zhǔn)虛擬化的操作系統(tǒng)、一個操作系統(tǒng)級的虛擬化容器或任何其他虛擬化環(huán)境。
在硬件上,可以有一臺或多臺機(jī)器,并且只有一個自適應(yīng)Autosar服務(wù)在機(jī)器上運行。這種“硬件”上一般會有一個芯片,并承載著一臺或多臺機(jī)器。然而,如果自適應(yīng)Autosar服務(wù)允許的話,多個芯片也可能形成一臺機(jī)器。
自適應(yīng)Autosar也使得車內(nèi)電子架構(gòu)得以大幅度躍進(jìn),進(jìn)入中央化和區(qū)域化時代
自適應(yīng)Autosar平臺與經(jīng)典Autosar網(wǎng)關(guān)連接
自適應(yīng)Autosar、車載TSN以太網(wǎng)、Zonal架構(gòu)是三位一體的,也是未來汽車電子的核心。不過自適應(yīng)Autosar目前對中小企業(yè)來說恐怕不合適,標(biāo)準(zhǔn)未完善,一次性投入過高,開發(fā)難度過高,開發(fā)周期長。
上圖為Vector的自適應(yīng)Autosar產(chǎn)品Adaptice MICROSAR 配置開發(fā)工具和工作流。
上圖為Vector推薦的自適應(yīng)Autosar開發(fā)流程圖,與經(jīng)典Autosar不同,自適應(yīng)Autosar要求最好和整車電子架構(gòu)一起開發(fā),因為自適應(yīng)Auotsar是整車電子架構(gòu)的核心底層。因此自適應(yīng)Autosar常常與整車電子設(shè)計架構(gòu)軟件PREEvision捆綁。
PREEvision分4層
需求層(Requirements Layer):該層需要導(dǎo)入需求開發(fā)的輸出物:需求說明書,作為工程設(shè)計的指導(dǎo)文件。需求層一般由三部分組成:Requirement、Customer Feature、FFN。
功能邏輯層:該層用于描述系統(tǒng)的邏輯功能關(guān)系,即系統(tǒng)功能的模塊框架以及各模塊之間的接口關(guān)系。主要包括兩個層面的內(nèi)容:系統(tǒng)邏輯架構(gòu)層和軟件架構(gòu)層。前者關(guān)注系統(tǒng)功能實現(xiàn)的所有邏輯關(guān)系;后者關(guān)注系統(tǒng)實現(xiàn)過程中的軟件相關(guān)的邏輯關(guān)系。內(nèi)容包括邏輯傳感器、功能塊、邏輯執(zhí)行器等功能模塊,以及各功能模塊之間的信息交互接口(Port)。當(dāng)各模塊之間的端口通過信息交互接口連接后,相應(yīng)模塊就能進(jìn)行數(shù)據(jù)和控制信息的交換。在功能邏輯架構(gòu)中,開發(fā)人員可以方便的查看各個功能模塊之間的邏輯關(guān)系。
硬件架構(gòu)層(Hardware Architecture Layer):該層主要包括網(wǎng)絡(luò)層(Network Layer)、部件層(Components Layer)和線路原理層(Schematic/Circuit Layer)。網(wǎng)絡(luò)層主要描述各個部件之間的邏輯鏈接方式,如總線系統(tǒng)、傳統(tǒng)連接、電源供應(yīng)和地線連接等(還會在線路原理層進(jìn)行進(jìn)一步細(xì)化);部件層描述每個部件內(nèi)部構(gòu)成及其對外接口的詳細(xì)信息;線路原理層描述網(wǎng)絡(luò)層中邏輯連接的具體實現(xiàn)情況,如:具體導(dǎo)線、線纜連接方式、保險繼電器盒內(nèi)部結(jié)構(gòu)等。
E/E架構(gòu)
先進(jìn)E/E架構(gòu)實際就是車載以太網(wǎng)和自適應(yīng)Autosar的具體應(yīng)用。無論是軟件定義汽車還是服務(wù)架構(gòu)導(dǎo)向,其最核心的支柱也是車載以太網(wǎng)和自適應(yīng)Autosar。
上圖為汽車E/E架構(gòu)演進(jìn)路線圖,資料來源:博世
Vehicle Computer階段實際就是Zonal架構(gòu),Centralization中央化就是域控制器架構(gòu)。這都離不開TSN。
TSN為骨干網(wǎng)的Zonal架構(gòu)
Zonal架構(gòu)可算是SOA架構(gòu)的典型代表,可以說SOA架構(gòu)離不開TSN。ADAS/座艙/車身三個運算單元類似大眾MEB里的ICAS。
大眾的MEB架構(gòu)
網(wǎng)關(guān)中最核心的則是對應(yīng)TSN的交換機(jī)
Zonal網(wǎng)關(guān)的內(nèi)部框架圖
CAN到以太網(wǎng),即SOME/IP-UDP-IP-MAC,或TCP-IP-MAC。這也意味著經(jīng)典Autosar或自適應(yīng)Autosar不可或缺。TSN、Autosar是SOA不可或缺的成分。
幀的分組,包括目的地,優(yōu)先級,截至周期等
高性能處理器
上圖為ARM在2017年投資者大會上發(fā)布的內(nèi)容,ARM預(yù)計2020年頂級座艙的算力是50K DMIPS
智能座艙典型功能,資料來源:IHS Markit
對于座艙來說,決定其功能和性能的關(guān)鍵是主SoC的算力,衡量CPU算力的單位主要是DMI。
PS,DMIPS是DhrystoneMillion Instructions Per Second的縮寫,每秒處理的百萬級的機(jī)器語言指令數(shù)。基本上SoC高于20000DMIPS才能流暢地運行智能座艙的主要功能(AR導(dǎo)航或云導(dǎo)航、360全景、播放流媒體、AR-HUD、多操作系統(tǒng)虛擬機(jī)等),GPU方面,只需要100GFLOPS的算力就可以支持3個720P屏幕,因此簡單定義一下,CPU高于20000DMIPS,GPU高于100GFLOPS的SoC的座艙就是智能座艙。
程序編譯和運行過程中,代碼會經(jīng)過編譯器轉(zhuǎn)化成機(jī)器可以理解的指令。CPU每個指令周期分為取指令、指令譯碼、指令執(zhí)行三個過程,只有在指令執(zhí)行時才真正有效,在取指令和指令譯碼時,CPU時間是白白浪費的,而同樣的運算在不同架構(gòu)不同指令集需要的指令數(shù)也不一樣。
不同的CPU指令集不同、硬件加速器不同、CPU架構(gòu)不同,導(dǎo)致不能簡單的用核心數(shù)和CPU主頻來評估性能,所以出了一個跑分算法叫Dhrystone:程序用來測試CPU整數(shù)計算性能,其輸出結(jié)果為每秒鐘運行Dhrystone的次數(shù),即每秒鐘迭代主循環(huán)的次數(shù)。
Dhrystone所代表的處理器分?jǐn)?shù)比MIPS(million instructionsper second 每秒鐘執(zhí)行的指令數(shù))更有意義,因為在不同的指令系統(tǒng)中,比如RISC(Reduced Instruction Set Computer精簡指令集計算機(jī))系統(tǒng)和CISC(ComplexInstruction Set Computer復(fù)雜指令集計算機(jī))系統(tǒng),Dhrystone的得分更能表現(xiàn)其真正性能。由于在一個高級任務(wù)中,RISC可能需要更多的指令,但是其執(zhí)行的時間可能會比在CISC中的一條指令還要快。由于Dhrystone僅將每秒鐘程序執(zhí)行次數(shù)作為指標(biāo),所以可以讓不同的機(jī)器用其自身的方式去完成任務(wù)。另一項基于Dhrystone的分?jǐn)?shù)為DMIPS(DhrystoneMIPS),其含義為每秒鐘執(zhí)行Dhrystone的次數(shù)除以1757(這一數(shù)值來自于VAX 11/780機(jī)器,此機(jī)器在名義上為1MIPS機(jī)器,它每秒運行Dhrystone次數(shù)為1757次)。
影響CPU算力最關(guān)鍵的參數(shù)是Decode Wide譯碼寬度,譯碼寬度可簡單等同于每周期指令數(shù)量即IPC,即每個周期完成多少個指令。
譯碼寬度的增加是非常困難的,不是想多少就多少的,簡單來說每增加一位寬度,系統(tǒng)復(fù)雜度會提高15%左右,裸晶面積也就是成本會增加15-20%左右。如果簡單地增加譯碼寬度,那么成本也會增加,廠家就缺乏更新的動力,所以ARM的做法是配合臺積電和三星的先進(jìn)工藝,利用晶體管密度的提高來減少裸晶面積降低成本,因此ARM的每一次譯碼寬度升級都需要先進(jìn)制造工藝的配合,否則成本增加比較多。同時ARM也從商業(yè)角度考慮,每年小升級一次,年年都有提升空間。8位寬度是目前的極限,蘋果一次到位使用8位寬度,缺點是必須使用臺積電最先進(jìn)的制造工藝,但蘋果依然使用的是ARM的指令集。
此外,RISC和CISC還有區(qū)別,CISC增加寬度更難,但CISC的1位寬度基本可頂RISC的1.2-1.5位。英特爾是有實力壓制蘋果的,就是制造工藝不如臺積電。CISC指令的長度不固定,RISC則是固定的。因為長度固定,可以分割為8個并行指令進(jìn)入8個解碼器,但CISC就不能,它不知道指令的長度。因此CISC的分支預(yù)測器比RISC要復(fù)雜很多,當(dāng)然目前RISC也有長度可變的指令。遇到有些長指令,CISC可以一次完成,RISC因為長度固定,就像公交車站,一定要在某個站停留一下,肯定不如CISC快。也就是說,RISC一定要跟指令集,操作系統(tǒng)做優(yōu)化,RISC是以軟件為核心,針對某些特定軟件做的硬件,而CISC相反,他以硬件為核心,針對所有類型的軟件開發(fā)的。
目前與未來常見座艙與智能駕駛SoC算力統(tǒng)計
審核編輯 :李倩
-
控制器
+關(guān)注
關(guān)注
112文章
16385瀏覽量
178378 -
電磁干擾
+關(guān)注
關(guān)注
36文章
2317瀏覽量
105468 -
車載以太網(wǎng)
+關(guān)注
關(guān)注
18文章
223瀏覽量
23020
原文標(biāo)題:萬字綜述:域控制器四大支柱
文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論