還記得在純電車(chē)?yán)顺敝埃菚?huì)兒現(xiàn)在叫的基礎(chǔ)軟件還叫底層軟件,而且比較簡(jiǎn)單,也就包括芯片和外設(shè)的驅(qū)動(dòng)、診斷和通信這些功能,那時(shí)大部分的控制器還沒(méi)有引入OS,一個(gè)簡(jiǎn)單的while(1)解決。 在純電和智能座艙、自動(dòng)駕駛浪潮后,域控制器、中央計(jì)算單元、SOC引入汽車(chē)行業(yè),再加上AUTOSAR標(biāo)準(zhǔn)越來(lái)越被行業(yè)接受,基礎(chǔ)軟件的叫法也越來(lái)越多。 汽車(chē)基礎(chǔ)軟件是啥呢?從定義來(lái)看,是用于實(shí)現(xiàn)汽車(chē)系統(tǒng)軟硬件解耦,與用戶(hù)應(yīng)用功能無(wú)關(guān),但提供汽車(chē)系統(tǒng)服務(wù)的一系列支撐的軟件集合。通俗點(diǎn)講就是板級(jí)芯片驅(qū)動(dòng)、車(chē)載操作系統(tǒng)、Hypervisor和中間件。 01. 操作系統(tǒng) 操作系統(tǒng)的概念大家多少有點(diǎn)了解,常用的就是ISO、Andriod系統(tǒng),其主要提供任務(wù)管理、進(jìn)程訪問(wèn)、中斷處理、內(nèi)存管理、文件系統(tǒng)等功能,滿(mǎn)足用于實(shí)時(shí)性、安全性等需求。現(xiàn)在車(chē)載中常用的操作系統(tǒng)就是QNX、Linux和Android。 QNX是一個(gè)微內(nèi)核、非開(kāi)源、安全實(shí)時(shí)的操作系統(tǒng)。QNX系統(tǒng)是由加拿大QSSL公司開(kāi)發(fā),后在2004年被哈曼國(guó)際收購(gòu),2010年又轉(zhuǎn)手到黑莓。由于QNX是微內(nèi)核架構(gòu),所以?xún)?nèi)核就很小,只有幾十KB。驅(qū)動(dòng)程序、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧、應(yīng)用程序都在微內(nèi)核之外的受保護(hù)的內(nèi)存中運(yùn)行,這樣可以實(shí)現(xiàn)組件間的相互獨(dú)立,避免踩內(nèi)存導(dǎo)致的內(nèi)核崩潰。這也是其安全性高、穩(wěn)定性好、不易受病毒破壞的原因。另外QNX也是首款通過(guò)ISO26262 ASIL-D安全認(rèn)證的實(shí)時(shí)操作系統(tǒng)。 但是由于其封閉性,導(dǎo)致應(yīng)用生態(tài)比較弱,而且開(kāi)發(fā)難度很大,還有就是授權(quán)費(fèi)很高昂,舉個(gè)例子,當(dāng)你在使用QNX系統(tǒng)做開(kāi)發(fā)時(shí),遇到一些疑問(wèn)時(shí),想問(wèn)一下技術(shù)支持,這個(gè)都是按小時(shí)收費(fèi)的,而且費(fèi)用很貴。 因此其常用在儀表、自動(dòng)駕駛等對(duì)安全性要求很高的控制器上,下圖是QNX系統(tǒng)的軟件架構(gòu)。 Linux是一款開(kāi)源、功能強(qiáng)大的操作系統(tǒng)。Linux具有內(nèi)核緊湊高效等特點(diǎn),可以充分發(fā)揮硬件的性能。它相較于QNX的最大優(yōu)勢(shì)就是開(kāi)源,具有很強(qiáng)的定制開(kāi)發(fā)的靈活度,而且功能強(qiáng)大,但是其穩(wěn)定性和安全性就比QNX要差不少,因此常用在信息娛樂(lè)、智能座艙中,不過(guò)也有實(shí)力比較強(qiáng)的,將其應(yīng)用在自動(dòng)駕駛等安全領(lǐng)域,比如特斯拉。 Android是發(fā)行版本的Linux,系統(tǒng)復(fù)雜,功能強(qiáng)大。由Google和開(kāi)發(fā)手機(jī)聯(lián)盟基于Linux開(kāi)發(fā)的操作系統(tǒng),其特點(diǎn)是開(kāi)源、應(yīng)用生態(tài)豐富、可移植性強(qiáng),適合用在信息娛樂(lè)和智能座艙。 三個(gè)操作系統(tǒng)的整體對(duì)比如下圖所示。 ![]() 從主機(jī)廠選擇信息娛樂(lè)系統(tǒng)的操作系統(tǒng)來(lái)看,國(guó)外主機(jī)廠偏向于基于Linux,而國(guó)內(nèi)主機(jī)廠偏向于用Android,比如比亞迪的Dilink,小鵬的Xsmart OS,蔚來(lái)的NIO OS等都是基于Android來(lái)打造的,這些僅僅是更改上層應(yīng)用,而不會(huì)更改內(nèi)核相關(guān)的。 從上圖可以看出,在車(chē)載操作系統(tǒng)領(lǐng)域,基本全是國(guó)外的,國(guó)內(nèi)如何在該領(lǐng)域逐漸自研,掌握核心技術(shù),首先這個(gè)肯定很難,畢竟QNX和Linux在操作系統(tǒng)領(lǐng)域已經(jīng)積累的幾十年。從頭做基本是不可能。國(guó)內(nèi)現(xiàn)在做自研操作系統(tǒng)的,基本都是基于Linux,然后逐步實(shí)現(xiàn)的,畢竟這么好的開(kāi)源資源,為啥不用,強(qiáng)如Google不都是基于Linux來(lái)做的嘛,蘋(píng)果的IOS也是基于UNIX來(lái)做的。 國(guó)內(nèi)目前也有幾家企業(yè)在從事操作系統(tǒng)的開(kāi)發(fā),比如國(guó)汽智控打造的ICVOS,支持自主可控的主流芯片以硬件平臺(tái),支持L~L4及泊車(chē)等自動(dòng)駕駛應(yīng)用定制化開(kāi)發(fā)。 華為的智能駕駛操作系統(tǒng)AOS,2020年,TV萊茵集團(tuán)向華為AOS頒發(fā)了軟件安全產(chǎn)品ISO 26262:2018 ASIL-D等級(jí)認(rèn)證證書(shū),認(rèn)證內(nèi)容包括AOS內(nèi)核、服務(wù)中間件等關(guān)鍵組件,滿(mǎn)足車(chē)載領(lǐng)域最高安全等級(jí)應(yīng)用的開(kāi)發(fā)需求。華為AOS內(nèi)核是華為完全自主研發(fā)的實(shí)時(shí)運(yùn)行環(huán)境,具有創(chuàng)新型的架構(gòu),可滿(mǎn)足車(chē)控領(lǐng)域高性能,高安全,高可靠的要求。服務(wù)中間件遵循AUTOSAR Adaptive Platform R19-11標(biāo)準(zhǔn)開(kāi)發(fā),是國(guó)內(nèi)首個(gè)符合AUTOSAR Adaptive標(biāo)準(zhǔn)的服務(wù)中間件軟件產(chǎn)品。另外在智能座艙領(lǐng)域,也推出了基于Linux深度定制的鴻蒙OS,在華為與塞力斯合作打造的問(wèn)界M5上鴻蒙座艙獲得了一致的好評(píng)。 02. 中間件 中間件的任務(wù)就是負(fù)責(zé)各類(lèi)應(yīng)用軟件模塊之間的通信以及對(duì)系統(tǒng)資源的調(diào)度。其中中間件絕大部分的功能是通信,因此通常我們說(shuō)的中間件也就是通信中間件。 隨著傳感器的數(shù)量增加,數(shù)據(jù)來(lái)源增多,多元異構(gòu)數(shù)據(jù)在芯片之間、各任務(wù)進(jìn)程之間的高效、穩(wěn)定傳遞需要引入通信中間件。通信中間件包括點(diǎn)到點(diǎn)、消息隊(duì)列和發(fā)布/訂閱三種工作模式。 點(diǎn)到點(diǎn)模式具有很強(qiáng)的時(shí)間和空間耦合性,使得通信靈活性受到很大限制;消息隊(duì)列模式通過(guò)一個(gè)消息隊(duì)列來(lái)傳遞消息,解決了通信雙方時(shí)間和空間松耦合的問(wèn)題,但不能實(shí)現(xiàn)消息消費(fèi)者通信的異步,并且還存在服務(wù)器瓶頸和單點(diǎn)失效的問(wèn)題,可靠性得不到保障;發(fā)布/訂閱模型中,發(fā)布者和訂閱者通過(guò)主題相關(guān)聯(lián),雙方不必知道對(duì)方在何處,也不必同時(shí)在線,實(shí)現(xiàn)了通信雙方在時(shí)間、空間和數(shù)據(jù)通信上的多維松耦合,并且能夠減少網(wǎng)絡(luò)負(fù)載,提高通信效率,也提高開(kāi)發(fā)人員的工作效率。 現(xiàn)在常用的通信中間件SOME/IP與DDS都采用了發(fā)布/訂閱模式,實(shí)現(xiàn)通信雙方在時(shí)間、空間和數(shù)據(jù)通信上的多維松耦合。 SOME/IP SOME/IP的全稱(chēng)為:Scalable service-Oriented MiddlewarE over IP,是一種面向服務(wù)的傳輸協(xié)議。嚴(yán)格地說(shuō),SOME/IP不是一款特定的產(chǎn)品,而是一種技術(shù)標(biāo)準(zhǔn)。其最早由寶馬在2011年開(kāi)發(fā),并在2013年集成進(jìn)AUTOSAR 4.1中。其對(duì)內(nèi)存需求較小,但僅提供一種用于選擇UDP與TCP的“可靠性”QoS設(shè)置,其同時(shí)支持Adaptive AUTOSAR與Classic AUTOSAR。 開(kāi)源版的SOME/IP則是由Genivi協(xié)會(huì)來(lái)維護(hù)的,由 C++ 編寫(xiě),目前主要實(shí)現(xiàn)了 SOME/IP 的通信和服務(wù)發(fā)現(xiàn)功能,并在此基礎(chǔ)上增加了少許的安全機(jī)制。 目前SOME/IP中間件提供商有AUTOSAR工具鏈廠商,包括Vector、ETAS、EB等國(guó)外公司,國(guó)內(nèi)的也有包括普華基礎(chǔ)軟件,經(jīng)緯恒潤(rùn)、東軟等。 DDS DDS全稱(chēng)為Data Distribution Service (數(shù)據(jù)分發(fā)服務(wù)),由對(duì)象管理組(OMG)發(fā)布和維護(hù),是一個(gè)中間件協(xié)議和API標(biāo)準(zhǔn),采用發(fā)布/訂閱體系架構(gòu),強(qiáng)調(diào)以數(shù)據(jù)為中心,提供豐富的QoS服務(wù)質(zhì)量策略,以保障數(shù)據(jù)進(jìn)行實(shí)時(shí)、高效、靈活地分發(fā),可滿(mǎn)足各種分布式實(shí)時(shí)通信應(yīng)用需求。 其廣泛應(yīng)用于工業(yè)物聯(lián)網(wǎng)領(lǐng)域,DDS對(duì)內(nèi)存需求大,體量較大,需要人為地進(jìn)行項(xiàng)目級(jí)的裁剪,在服務(wù)策略方面,DDS支持22種QoS策略,每種策略都可以應(yīng)用在不同的角色上,而針對(duì)同一角色,可單獨(dú)使用一種QoS,也可以組合使用多種QoS策略。 在2018年,DDS被首次引入Adaptive AUTOSAR,作為可選的通信中間件之一。018年3月,DDS的主要提供者RTI公司宣布,AUTOSAR AP的最新版本(版本18-03)已經(jīng)具有DDS標(biāo)準(zhǔn)的完整網(wǎng)絡(luò)綁定,但是目前還不支持Classical AUTOSAR。 此外ROS 2和Cyber RT的底層都使用了開(kāi)源的DDS,將DDS作為最重要的通信機(jī)制。 全球范圍內(nèi),DDS的最大供應(yīng)商是RTI(Real-Time Innovations),它同時(shí)也是OMG組織董事會(huì)的成員,從2004年開(kāi)始負(fù)責(zé)主持DDS工作組的工作,包括DDS標(biāo)準(zhǔn)的制定,目前已經(jīng)成為這個(gè)行業(yè)的領(lǐng)導(dǎo)者,對(duì)DDS標(biāo)準(zhǔn)有足夠的權(quán)威。其DDS產(chǎn)品為為RTI Connext DDS,占據(jù)絕大部分市場(chǎng)。 除此之外,還有一些開(kāi)源的DDS,其也是根據(jù)OMG官方的DDS標(biāo)準(zhǔn)開(kāi)發(fā)的,但源代碼開(kāi)放。 在自動(dòng)駕駛領(lǐng)域比較有影響力的開(kāi)源DDS是由RTI原核心團(tuán)隊(duì)成員在歐洲創(chuàng)辦的eProsima公司推出的FastDDS。在eProsima將FastDDS的源代碼開(kāi)放出來(lái)后,用戶(hù)可以直接在github上免費(fèi)下載。但FastDDS使用起來(lái)比較麻煩,這個(gè)時(shí)候,用戶(hù)就需要通過(guò)向eProsima支付費(fèi)用來(lái)取得支持。 OpenDDS 由位于圣路易斯和鳳凰城的的Object Computing的 ACE/TAO 團(tuán)隊(duì)開(kāi)發(fā),它和FastDDS具有一定的相似性——兩者都是基于RTPS實(shí)現(xiàn)的,面向數(shù)據(jù)的通信框架,遵循的是同一標(biāo)準(zhǔn)。這類(lèi)框架的典型特征是去中心化,支持QoS機(jī)制,支持實(shí)時(shí)通信。通常會(huì)綁定如protobuf等序列化工具。 在許多情況下,F(xiàn)astDDS 、OpenDDS可以跟RTI的Connnext DDS互操作/通信。當(dāng)然,具體還得看場(chǎng)景。比如開(kāi)源DDS支持的的QoS有 23個(gè),大家都用這23個(gè)QOS交互,那就能互操作;如果Connext用的是超出這23個(gè)自定義范圍的QoS,那么開(kāi)源DDS就解析不了。此外,如果用的是OMG沒(méi)開(kāi)源的DDS工具,那也沒(méi)法互操作。 目前來(lái)看SOME/IP相較于DDS在汽車(chē)領(lǐng)域,有先發(fā)優(yōu)勢(shì)。DDS雖然功能完善,而且在其他領(lǐng)域具有廣泛的應(yīng)用,但是在汽車(chē)行業(yè),車(chē)規(guī)是最重要的。另外SOME/IP是直接針對(duì)汽車(chē)場(chǎng)景設(shè)計(jì)的,而DDS應(yīng)用在汽車(chē)場(chǎng)景需要進(jìn)行剪裁和適配,這里相較于SOME/IP,工作量又多了很多。最重要的一點(diǎn)是,由于現(xiàn)在大部分車(chē)載控制器的開(kāi)發(fā)都是基于AUTOSAR來(lái)做的,目前SOME/IP同時(shí)支持AP和CP,而DDS目前還只能在AP上運(yùn)行。 SOME/IP和DDS中間件除了上述提到的AUTOSAR工具廠商和RTI及開(kāi)源可以提供外,國(guó)內(nèi)還有一些企業(yè)也提供相關(guān)的產(chǎn)品,比如百度Apollo提供的Cyber RT,它在Apollo 3.5中正式加入。Cyber RT和ROS2很像, 其底層也是使用了一個(gè)開(kāi)源版本的DDS。 當(dāng)前其可適配LiNUX、VxWorks、QNX、AUTOSAR CP、FreeRTOS等多種車(chē)載操作系統(tǒng),并已成功部署在地平線'征程’系列、賽靈思ZU5、英偉達(dá)Xavier、芯馳G9X以及英飛凌TC397等多個(gè)平臺(tái)上, 03. Hypervisor Hypervisor又名虛擬機(jī),虛擬機(jī)主要是支持不同操作系統(tǒng),這里有兩種類(lèi)型,第一種為虛擬機(jī)直接運(yùn)行在物理硬件之上,第二種是虛擬機(jī)運(yùn)行于另一個(gè)操作系統(tǒng)之中,比如你在window電腦上,裝個(gè)VMware虛擬機(jī),然后再在該虛擬機(jī)上裝個(gè)Ubuntu,或者其他系統(tǒng)。 通過(guò)虛擬機(jī)技術(shù),可以支持一芯多屏,比如中控屏幕與儀表、HUD采用一顆SOC,同時(shí)處理不同屏幕所需的任務(wù),并推送到各個(gè)顯示區(qū)。 ![]() 一汽集團(tuán)、東軟和英特爾聯(lián)合發(fā)布智能座艙平臺(tái) C4-Alfus,已在紅旗車(chē)型中投產(chǎn),德賽西威基于高通 820A 車(chē)載芯片為理想 ONE 車(chē)型打造四屏互動(dòng)的智能座艙方案。國(guó)內(nèi)主機(jī)廠都在試圖往“一芯多屏”的智能座艙方案上過(guò)渡。 一芯多屏可以降低智能座艙方案的成本,二是多屏交互的信息在芯片內(nèi)部完成,傳輸更順暢,通信時(shí)間比之前大大降低,之前多個(gè)操作系統(tǒng)之間通過(guò) CAN、以太網(wǎng)等外部總線通信方式,最后一芯多屏系統(tǒng)復(fù)雜度降低,芯片等器件數(shù)量減少,整體可靠性也有所增加。 目前達(dá)到車(chē)規(guī)級(jí)、且實(shí)現(xiàn)量產(chǎn)的虛擬機(jī)產(chǎn)品包括QNX的Hypervisor、風(fēng)河的Vxworks、Green Hills的INTERGITY Muitivisor,Mentor的Graphics Embedded Hypervisor等。主流的還是QNX的Hypervisor。 國(guó)內(nèi)目前阿里旗下的斑馬智行在自研虛擬機(jī)技術(shù),名稱(chēng)為AliOS Hypervisor。 04. AUTOSAR AUTOSAR是目前最常見(jiàn)和最常用的中間件方案,可提供控制器通信、診斷、OS等各種功能。AUTOSAR僅是一個(gè)標(biāo)準(zhǔn),需要完全實(shí)現(xiàn)AUTOSAR,需要購(gòu)買(mǎi)第三方公司做好的AUTOSAT工具鏈,頭部三大廠商分別是Vector、 EB、ETAS,Classical和Adaptive AUTOSAR工具都可以提供。例如EB的tresos、Vector的達(dá)芬奇、ETAS的ISOLAR為classical AUTOSAR的開(kāi)發(fā)工具,EB的Corbos Studio、vector的Davinci Adaptive、etas的RTA-VRTE AP為Adaptive AUTOSAR開(kāi)發(fā)工具。 目前國(guó)內(nèi)也有很多公司在從事AUTOSAR 中間件的開(kāi)發(fā),比較大的是東軟睿馳、普華基礎(chǔ)軟件。其余有經(jīng)緯恒潤(rùn)、華為、斑馬智行、超星未來(lái)、映馳科技、未動(dòng)科技、零念科技、上海赫千、國(guó)汽智控、成都道偉。 普華基礎(chǔ)軟件 普華基礎(chǔ)軟件是中國(guó)電子科技集團(tuán)下的子公司,其成立于2011年,其汽車(chē)電子事業(yè)部自成立以來(lái)一直從事AUTOSAR基礎(chǔ)軟件的開(kāi)發(fā),AUTOSAR基礎(chǔ)軟件開(kāi)發(fā)和技術(shù)服務(wù)團(tuán)隊(duì)人員約70人。其自主研發(fā)推出的AUTOSAR工具鏈為ORIENTAIS AUTOSAR,能為用戶(hù)提供了操作系統(tǒng)、底層驅(qū)動(dòng)、通信協(xié)議棧、診斷協(xié)議棧、網(wǎng)絡(luò)管理、測(cè)量標(biāo)定、復(fù)雜驅(qū)動(dòng)、Bootloader 、FOTA 、功能安全、信息安全等基礎(chǔ)軟件模塊及集成開(kāi)發(fā)環(huán)境。早在大概在2011年的時(shí)候,普華的產(chǎn)品通過(guò)了德國(guó)奔馳技術(shù)中心的測(cè)試和認(rèn)證, 2013年就與長(zhǎng)安汽車(chē)合作,將國(guó)產(chǎn)AUTOSAR應(yīng)用到量產(chǎn)車(chē)型CS75上,2015年我們拿到Automotive SPICE 3級(jí)認(rèn)證,2020年5月,普華的AUTOSAR OS獲得萊茵頒發(fā)的 ISO 26262 ASIL D的產(chǎn)品認(rèn)證證書(shū)。 2021年AUTOSAR中國(guó)日上,普華發(fā)布了其新一代面向Adaptive AUTOSAR產(chǎn)品。 東軟睿馳 除了普華基礎(chǔ)軟件之外,東軟睿馳的AUTOSAR產(chǎn)品NeuSAR,在國(guó)內(nèi)也是做的不錯(cuò)的,AUTOSAR本文為21-11。有支持AUTOSAR Adaptive標(biāo)準(zhǔn)的NeuSAR aCore平臺(tái),以及支持AUTOSAR Classic標(biāo)準(zhǔn)的NeuSAR cCore平臺(tái)。 與其他工具廠商一樣,NeuSAR ccore涵蓋了Classical AUTOSAR標(biāo)準(zhǔn)里規(guī)定的模塊,其中OS、RTE、E2E、WDGM等模塊還通過(guò)了功能安全I(xiàn)SO26262 ASILD的認(rèn)證,可以適配主流的英飛凌Aurix系列,恩智浦的MPC56、57、S32的部分產(chǎn)品,瑞薩的RH850系列等,另外國(guó)產(chǎn)芯馳的芯片也支持。 用于Adaptive AUTOSAR開(kāi)發(fā)的NeuSAR acore目前也比較完善了,支持系統(tǒng)功能組件、通信功能組件(支持SOME/IP和DDS)、安全功能組件、診斷和日志組件等。其適配的操作系統(tǒng)有主流用Linux和QNX。適配硬件平臺(tái)也很多,包括NXP的S32V和G,IMX6和8,TI的TDA4,Renesas的R-Car H3,Xilinx的Zynq UltraScale+,安霸的CV22,芯馳的G9X以及NVIDIA的Jetson-AGX等,覆蓋面已經(jīng)很廣了,除此之外,對(duì)于特定的平臺(tái),還有額外的配置、代碼生成、編譯等工具支持,比如瑞薩、安霸、FPGA和英偉達(dá)。 今年4月,東軟推出針對(duì)域控制器的軟件開(kāi)發(fā)平臺(tái)——NeuSAR DS(Domain System),其有機(jī)地將AUTOSAR CP和AUTOSAR AP、SOA中間件、底層文件系統(tǒng)的支持等融合到一起。針對(duì)域控制器的應(yīng)用提供一個(gè)完整一體化的軟件包、工具鏈和開(kāi)發(fā)環(huán)境。這樣主機(jī)廠和Tier-1供應(yīng)商既可以將其快速應(yīng)用于量產(chǎn)項(xiàng)目,也可以通過(guò)使用在主流芯片平臺(tái)上的NeuSAR DS原型開(kāi)發(fā)系統(tǒng),甚至直接采用NeuSAR DS的虛擬化版本,快速啟動(dòng)面向SOA的應(yīng)用軟件開(kāi)發(fā)。極大地縮短開(kāi)發(fā)周期,節(jié)省開(kāi)發(fā)成本。 05. 展望 在汽車(chē)行業(yè)電動(dòng)化、智能化、網(wǎng)聯(lián)化的浪潮下,相較于燃油汽車(chē)時(shí)代,拼的是機(jī)械功底以及工藝功底,在智能網(wǎng)聯(lián)汽車(chē)時(shí)代,拼的更多的是軟件,不管是操作系統(tǒng),還是中間件、AUTOSAR等基礎(chǔ)軟件,都能看到國(guó)產(chǎn)廠商的身影,雖然當(dāng)前國(guó)內(nèi)廠商的產(chǎn)品與國(guó)際主流產(chǎn)品還有一定差距,但是在隨著國(guó)產(chǎn)產(chǎn)品的不斷迭代,越來(lái)越強(qiáng)肯定是沒(méi)問(wèn)題的。 |
|
來(lái)自: Kuai2012 > 《待分類(lèi)》