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