面向OEM的AUTOSAR解決方案
一、 AUTOSAR背景介紹
本文引用地址:http://2s4d.com/article/197723.htmAUTOSAR是英文AUTomotive Open Systems ARchitecture的縮寫(xiě),中文意思是汽車(chē)開(kāi)放系統(tǒng)架構(gòu),它定義了一套支持分布式的、功能驅(qū)動(dòng)的汽車(chē)電子軟件開(kāi)發(fā)方法和電子控制單元上的軟件架構(gòu)標(biāo)準(zhǔn)化方案,以便應(yīng)用于不同的汽車(chē)平臺(tái),提高軟件復(fù)用,降低開(kāi)發(fā)成本。AUTOSAR是由汽車(chē)OEM和其一線供應(yīng)商建立的汽車(chē)軟件開(kāi)發(fā)全球合作聯(lián)盟,于2003年夏天正式成立,并于2004年啟動(dòng)了主要的工作,其目的就在于控制汽車(chē)軟件的復(fù)雜性和多樣性。AUTOSAR包括9個(gè)核心成員:BMW Groups(寶馬)、BOSCH(博世)、Continental(大陸)、DAIMLER(戴姆勒)、Ford(福特)、GM(通用)、PSA Peugeot Citron(標(biāo)志-雪鐵龍)、TOYOTA(豐田)、VOLKSWAGEN AG(大眾)。目前其成員已超過(guò)150個(gè),國(guó)內(nèi)OEM中已有一汽及上汽加入,恒潤(rùn)科技成為繼一汽、上汽之后,國(guó)內(nèi)第三家加入該組織的公司。
AUTOSAR自面世以來(lái),從半導(dǎo)體工業(yè)、工具和軟件廠商、零部件供應(yīng)商到汽車(chē)制造商本身,整個(gè)汽車(chē)領(lǐng)域內(nèi)的價(jià)值體系都給予該標(biāo)準(zhǔn)積極的推動(dòng)。 AUTOSAR開(kāi)發(fā)成員在2007年發(fā)布了2.1版本,使AUTOSAR的發(fā)展到達(dá)了一個(gè)穩(wěn)定的階段,隨后通過(guò)幾個(gè)不同的開(kāi)發(fā)項(xiàng)目對(duì)AUTOSAR的實(shí)用性進(jìn)行了測(cè)試,現(xiàn)在AUTOSAR已經(jīng)做好進(jìn)入到產(chǎn)品ECU的準(zhǔn)備,而寶馬集團(tuán)已將符合AUTOSAR標(biāo)準(zhǔn)的ECU(電子控制單元)應(yīng)用在全新BMW 7系量產(chǎn)車(chē)型中,預(yù)計(jì)在2010年AUTOSAR的所有核心成員都將推出相關(guān)的產(chǎn)品。在商業(yè)領(lǐng)域里,支持AUTOSAR標(biāo)準(zhǔn)的工具和軟件供應(yīng)商已推出了相應(yīng)的工具和軟件,提供需求管理,系統(tǒng)描述,軟件構(gòu)件算法模型驗(yàn)證,軟件構(gòu)件算法建模,軟件構(gòu)件代碼生成,RTE生成,ECU配置以及基礎(chǔ)軟件和操作系統(tǒng)等服務(wù),幫助OEM實(shí)現(xiàn)無(wú)縫的AUTOSAR系統(tǒng)軟件架構(gòu)開(kāi)發(fā)流程。目前AUTOSAR版本為3.1版,預(yù)計(jì)將于2009年秋季發(fā)布4.0版本。
由于AUTOSAR提倡“在標(biāo)準(zhǔn)上合作,在實(shí)現(xiàn)上競(jìng)爭(zhēng)”的原則,其核心思想在于“統(tǒng)一標(biāo)準(zhǔn)、分散實(shí)現(xiàn)、集中配置”,所以采用AUTOSAR將為OEM帶來(lái)很大的好處,這將使得他們對(duì)于軟件采購(gòu)和控制擁有更靈活和更大的權(quán)利,因?yàn)檐浖到y(tǒng)的標(biāo)準(zhǔn)化和開(kāi)放化將使更多的軟件供應(yīng)商進(jìn)入汽車(chē)電子行業(yè),從而使得他們有更多的選擇,同時(shí)軟件的質(zhì)量監(jiān)督也會(huì)相應(yīng)提高,有利于提高他們的產(chǎn)品質(zhì)量。但是,也必須看到在全行業(yè)內(nèi)推行此標(biāo)準(zhǔn)還是存在潛在障礙的,就是來(lái)自一些OEM廠商和大的第一級(jí)汽車(chē)供應(yīng)商的抵制,因?yàn)樗麄円呀?jīng)有自己的標(biāo)準(zhǔn)和架構(gòu)了,而采用AUTOSAR標(biāo)準(zhǔn)及其架構(gòu)可能產(chǎn)生更換成本、喪失控制等風(fēng)險(xiǎn)。盡管如此,汽車(chē)電子軟件開(kāi)發(fā)方法和軟件架構(gòu)的標(biāo)準(zhǔn)化是汽車(chē)行業(yè)不可阻擋的發(fā)展趨勢(shì),而且目前還沒(méi)有哪種標(biāo)準(zhǔn)比AUTOSAR標(biāo)準(zhǔn)走的更遠(yuǎn)。鑒于此,國(guó)內(nèi)汽車(chē)OEM必須做好應(yīng)對(duì)AUTOSAR的準(zhǔn)備,這對(duì)他們來(lái)說(shuō),是挑戰(zhàn)更是機(jī)遇。
在AUTOSAR標(biāo)準(zhǔn)的實(shí)施過(guò)程中,OEM將起主導(dǎo)作用。OEM應(yīng)如何提出需求并在他們的產(chǎn)品上使用這些來(lái)自不同供應(yīng)商的具有標(biāo)準(zhǔn)功能和接口的軟件呢?AUTOSAR為此同時(shí)制定了方法上、流程上的標(biāo)準(zhǔn),即AUTOSAR方法論。 本文將著重解讀AUTOSAR方法論內(nèi)容,講解OEM應(yīng)如何將該標(biāo)準(zhǔn)應(yīng)用在他們的產(chǎn)品研發(fā)及生產(chǎn)過(guò)程中。
二、 AUTOSAR 技術(shù)概述
AUTOSAR的計(jì)劃目標(biāo)主要有3項(xiàng),第一是建立獨(dú)立于硬件的分層的軟件架構(gòu);第二是為實(shí)施應(yīng)用提供方法論,包括制定無(wú)縫的軟件架構(gòu)堆疊流程并將應(yīng)用軟件整合至ECU中;第三是制定各種車(chē)輛應(yīng)用接口規(guī)范,作為應(yīng)用軟件整合標(biāo)準(zhǔn),以便軟件構(gòu)件在不同的汽車(chē)平臺(tái)上的復(fù)用。
1、AUTOSAR軟件架構(gòu)
為了實(shí)現(xiàn)AUTOSAR的目標(biāo),即實(shí)現(xiàn)應(yīng)用程序和基礎(chǔ)模塊之間的分離,汽車(chē)電子軟件架構(gòu)被抽象成幾個(gè)層,如圖1所示。
圖1:AUTOSAR軟件架構(gòu)層次圖。
為了區(qū)別軟件依賴和硬件依賴,基礎(chǔ)軟件分為四個(gè)層次:服務(wù)層(Services Layer)、ECU抽象層(ECU Abstraction Layer)、微控制器抽象層(Microcontroller Abstraction Layer)和RTE(Runtime Environment)。除此四層外,在AUTOSAR軟件架構(gòu)中還有復(fù)雜驅(qū)動(dòng)(Complex Driver),由于對(duì)復(fù)雜傳感器和執(zhí)行器進(jìn)行操作的模塊涉及到嚴(yán)格的時(shí)序問(wèn)題,在AUTOSAR中這部分沒(méi)有被標(biāo)準(zhǔn)化。
* 服務(wù)層提供包括診斷協(xié)議、存儲(chǔ)管理、ECU模式管理和操作系統(tǒng)等在內(nèi)的系統(tǒng)服務(wù)。除了操作系統(tǒng)外,服務(wù)層的軟件模塊都是與平臺(tái)無(wú)關(guān)的。
* ECU抽象層將ECU結(jié)構(gòu)(如外設(shè)與ECU的聯(lián)接方式等)進(jìn)行了抽象處理。該層與ECU平臺(tái)相關(guān),但與微控制器無(wú)關(guān)。
* 微控制器抽象層包括微控制器相關(guān)的驅(qū)動(dòng)(如I/O驅(qū)動(dòng)、ADC驅(qū)動(dòng)等)。
* RTE層負(fù)責(zé)AUTOSAR軟件構(gòu)件(即應(yīng)用層)相互間的通信以及軟件構(gòu)件與基礎(chǔ)軟件之間的通信。RTE層之下的基礎(chǔ)軟件對(duì)于應(yīng)用層來(lái)說(shuō)是不可見(jiàn)的,必須通過(guò)RTE進(jìn)入,它將軟件構(gòu)件從對(duì)底層軟件和硬件平臺(tái)的依賴中獨(dú)立出來(lái),實(shí)現(xiàn)了應(yīng)用程序和基礎(chǔ)軟件之間的分隔。2、 AUTOSAR方法論
AUTOSAR為符合該標(biāo)準(zhǔn)的汽車(chē)電子軟件系統(tǒng)開(kāi)發(fā)過(guò)程定義了一套通用的技術(shù)方法,這種方法即被稱為AUTOSAR方法論(AUTOSAR Methodology)。汽車(chē)OEM作為整車(chē)系統(tǒng)功能的規(guī)劃和設(shè)計(jì)者,需要了解并掌握AUTOSAR提供的這套開(kāi)發(fā)流程,才能主導(dǎo)和推進(jìn)符合AUTOSAR標(biāo)準(zhǔn)的系統(tǒng)的開(kāi)發(fā)過(guò)程。
兼容AUTOSAR標(biāo)準(zhǔn)的汽車(chē)電子軟件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)流程如圖 2所示。
圖2:AUTOSAR系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)流程。
主要步驟可劃分兩個(gè)階段:
第一個(gè)階段是系統(tǒng)配置階段,這屬于系統(tǒng)級(jí)設(shè)計(jì)決策工作。首先是編寫(xiě)系統(tǒng)配置輸入文件,為XML類型的文件。應(yīng)用軟件的描述術(shù)語(yǔ)在AOTUSAR中為軟件構(gòu)件(Software Components),該文件將確定需要使用的軟件構(gòu)件(即系統(tǒng)具有哪些功能)和硬件資源(ECU),以及整個(gè)系統(tǒng)的約束條件。AUTOSAR提供了一系列的模板(軟件構(gòu)件模板,ECU資源模板和系統(tǒng)模板)和標(biāo)準(zhǔn)的信息交換格式,工具供應(yīng)商可據(jù)此提供相應(yīng)的工具支持,從而簡(jiǎn)化系統(tǒng)設(shè)計(jì)的工作,最終系統(tǒng)設(shè)計(jì)者只需要使用工具填充或編輯相應(yīng)的模板即可導(dǎo)出系統(tǒng)配置輸入文件。
系統(tǒng)配置輸入包含三部分內(nèi)容,第一個(gè)輸入是軟件構(gòu)件描述,定義每個(gè)需要的軟件構(gòu)件的接口內(nèi)容,包括數(shù)據(jù)類型,端口,接口等;第二個(gè)輸入是ECU資源描述,定義了每個(gè)ECU的資源需求,如處理器、外部設(shè)備、存儲(chǔ)器、傳感器和執(zhí)行器等;第三個(gè)輸入是系統(tǒng)約束描述,定義總線信號(hào),拓?fù)浣Y(jié)構(gòu)和軟件構(gòu)件的映射關(guān)系。
系統(tǒng)配置階段接下來(lái)的工作是將初步獲得的系統(tǒng)配置輸入文件借助系統(tǒng)配置生成器生成系統(tǒng)配置描述文件,同樣為XML文件,這是系統(tǒng)配置階段的最終工作成果。該文件將包含所有的系統(tǒng)信息,包括將軟件構(gòu)件映射到相關(guān)的ECU上(這種映射需要考慮到構(gòu)件的需要、構(gòu)件的連接、資源需求以及約束條件,有時(shí)也需要考慮成本等方面的因素),以及通信矩陣(整車(chē)的網(wǎng)絡(luò)結(jié)構(gòu)、時(shí)序以及網(wǎng)絡(luò)數(shù)據(jù)幀的內(nèi)容)。
第二個(gè)階段是ECU的配置,這階段的工作需要對(duì)系統(tǒng)中每個(gè)ECU分別進(jìn)行。首先是使用第一個(gè)階段的工作成果――系統(tǒng)配置描述文件,從中提取出與各個(gè)ECU相關(guān)的系統(tǒng)配置描述信息,提取的信息包括ECU通信矩陣、拓?fù)浣Y(jié)構(gòu)、頂級(jí)功能組合(據(jù)此產(chǎn)生需映射到該ECU上的所有軟件構(gòu)件),將放在另一個(gè)XML文件中。提取信息的工作可借助工具完成。然后進(jìn)入ECU配置的實(shí)際工作中,這一步負(fù)責(zé)往輸入對(duì)象中添加具體應(yīng)用所必需的信息,如任務(wù)調(diào)度、必要的BSW模塊、BSW配置信息、給任務(wù)分配的可運(yùn)行實(shí)體等。這一步的結(jié)果被放在ECU 配置描述文件中,它包含了具體ECU所需的所有信息。最后一步是生成具體ECU的可執(zhí)行程序,此步將根據(jù)ECU 配置描述文件中的配置信息構(gòu)建完成ECU的基礎(chǔ)軟件的設(shè)置和與基于AUTOSAR構(gòu)件的應(yīng)用軟件的集成,最終生成ECU的可執(zhí)行代碼。
此外,要說(shuō)明的是,AUTOSAR系統(tǒng)的設(shè)計(jì)過(guò)程使用了虛擬功能總線(Virtual Functional Bus)的概念。虛擬功能總線(Virtual Functional Bus)將AUTOSAR軟件構(gòu)件相互間的通信以及軟件構(gòu)件與基礎(chǔ)軟件之間的通信進(jìn)行了抽象,同時(shí)使用預(yù)先定義的標(biāo)準(zhǔn)接口。而對(duì)于虛擬功能總線來(lái)說(shuō),ECU內(nèi)部通信和外部總線通信并沒(méi)有什么區(qū)別,這種區(qū)別要等到系統(tǒng)布局以及ECU的具體功能最終確定才會(huì)體現(xiàn)出來(lái)。軟件構(gòu)件本身對(duì)于這種區(qū)別并不關(guān)注,因此我們可以在獨(dú)立的情況下開(kāi)發(fā)軟件構(gòu)件。在系統(tǒng)實(shí)現(xiàn)過(guò)程中,虛擬功能總線所代表的功能最終以RTE的生成來(lái)體現(xiàn)。
3、標(biāo)準(zhǔn)化的應(yīng)用接口
通過(guò)RTE實(shí)現(xiàn)AUTOSAR軟件構(gòu)件(即應(yīng)用程序)相互間的通信以及軟件構(gòu)件與基礎(chǔ)軟件之間的通信的前提是,軟件構(gòu)件必須具有標(biāo)準(zhǔn)的AUTOSAR接口。目前,AUTOSAR 3.1版已定義了一些典型的汽車(chē)電子應(yīng)用領(lǐng)域(動(dòng)力,車(chē)身/舒適和底盤(pán))的標(biāo)準(zhǔn)接口。AUTOSAR按照功能邏輯分別將這些領(lǐng)域的系統(tǒng)劃分成若干個(gè)模塊,這些模塊可被視為一個(gè)軟件構(gòu)件或多個(gè)軟件構(gòu)件的組合,這些功能性的軟件構(gòu)件的接口被明確定義,所定義的接口的內(nèi)容包括名稱,含義,范圍,數(shù)據(jù)類型,通信類型,單位等。應(yīng)用軟件開(kāi)發(fā)者在軟件構(gòu)件的設(shè)計(jì)與開(kāi)發(fā)時(shí)需要應(yīng)用這些接口定義。
這里以車(chē)身/舒適系統(tǒng)的雨刷管理的軟件構(gòu)件的接口定義為示例,如圖3:
圖3:軟件構(gòu)件的接口定義。
評(píng)論