AUTOSAR是由全球汽車OEM和供貨商共同推出的一種汽車電子嵌入式軟件分層架構(gòu)。該分層架構(gòu)由微控制器抽象層、ECU抽象層、服務(wù)層、執(zhí)行時環(huán)境(RTE)和應(yīng)用層組成,前三層被統(tǒng)稱為基礎(chǔ)軟件(BSW)。 AUTOSAR各層軟件的通信通過三類接口實現(xiàn),分別是標準接口、AUTOSAR接口和標準AUTOSAR接口。其中,標準接口用于BSW各個模塊之間的通信,已用C語言定義,如void Adc_Init(const Adc_ConfigType* ConfigPtr)。AUTOSAR接口用于軟件構(gòu)件(SW-C)之間的通信或者軟件構(gòu)件和ECU固件(IO硬件抽象、復(fù)雜設(shè)備驅(qū)動)之間的通信,這類接口命名以“Rte_”為前綴。標準AUTOSAR接口用于軟件構(gòu)件存取AUTOSAR服務(wù)。依賴這種分層架構(gòu)和接口定義,AUTOSR顯著提高了汽車電子嵌入式軟件的可重用性——層級越高者,可重用性越強。值得注意的是: * 微控制器抽象層層級最低,隨微控制器的更換而更換; * RTE雖然層級僅低于應(yīng)用層,但由于它負責(zé)著應(yīng)用層和BSW之間的橋梁作用,和硬件的耦合性最高,不具有可重用性; * 應(yīng)用層(除傳感器、執(zhí)行器相關(guān)的軟件構(gòu)件外)完全獨立于硬件,具有絕對的可重用性。 圖1:AUTOSAR分層架構(gòu)。 汽車診斷簡介 目前,整車廠和供貨商采用在線診斷與脫機診斷相結(jié)合的診斷方法。在線診斷通過ECU內(nèi)部軟硬件實現(xiàn)自診斷。在汽車執(zhí)行過程中,自診斷系統(tǒng)實時監(jiān)控電子控制系統(tǒng)各組成部分的工作狀態(tài),因而檢測電子控制系統(tǒng)中的故障。自診斷系統(tǒng)一方面將檢測出的故障通過一定的方式(比如警報指示燈)向駕駛員發(fā)出警告,另一方面將故障程序代碼及相關(guān)數(shù)據(jù)存入ECU內(nèi)存。脫機診斷通過外部診斷設(shè)備讀取相應(yīng)的診斷信息,實現(xiàn)診斷作業(yè)。實現(xiàn)脫機診斷的關(guān)鍵在于如何實現(xiàn)診斷設(shè)備和ECU之間的通信機制和診斷服務(wù),即診斷協(xié)議。 目前,診斷協(xié)議標準主要分為ISO和SAE兩種體系。美國使用SAE標準體系,包括中國在內(nèi)的多數(shù)國家使用ISO標準體系。在乘用車領(lǐng)域,OEM正從自定義診斷協(xié)議逐漸轉(zhuǎn)向ISO標準。在商用車領(lǐng)域,OEM沿用SAE診斷,歐洲OEM在此基礎(chǔ)上增加了ISO診斷。表1列出了部分ISO和SAE標準對照。 AUTOSAR CAN診斷實現(xiàn) 1) 診斷服務(wù) 目前,AUTOSAR V3.1診斷部分支持9個OBD服務(wù)(如表2所示),14個UDS服務(wù)(如表3所示)。 依據(jù)表2和表3可知,AUTOSAR不支持OBD中的0x05服務(wù)(請求氧傳感器監(jiān)測結(jié)果),原因在于基于CAN線的0x05服務(wù)在0x06中實現(xiàn)。不支持UDS中的0x28(通信控制)、0x34(程序下載)、0x35(程序上傳)、0x36(數(shù)據(jù)傳輸)和0x37(請求傳輸退出)服務(wù),且0x10服務(wù)不支持編程會話和擴展會話這兩種子功能。這些服務(wù)主要用于ECU重新編程,因此AUTOSAR不支持Bootloader。 圖2:AUTOSAR CAN診斷相關(guān)模塊。 雖然AUTOSAR目前不支持上述服務(wù),但并未限制開發(fā)者對其進行擴展。 2) 軟件架構(gòu) AUTOAR架構(gòu)中和診斷相關(guān)的模塊如圖2所示。 FIM模塊的作用是根據(jù)DEM(Diagnostic Event Manager)報告的事件狀態(tài)使能或禁止軟件構(gòu)件內(nèi)部的功能實體。PDU Router(協(xié)議數(shù)據(jù)單元路由器)模塊僅負責(zé)轉(zhuǎn)發(fā)DCM(Diagnostic Communication Manager)和CAN TP(CAN Transport Layer)之間的I_PDU(交互層協(xié)議數(shù)據(jù)單元),不會對數(shù)據(jù)進行任何修改。CAN Interface模塊、CAN Driver模塊和CAN Transceiver模塊負責(zé)L_PDU(數(shù)據(jù)鏈路層協(xié)議數(shù)據(jù)單元)的傳輸。 DEM、DCM和CAN TP是AUTOSAR架構(gòu)中和診斷相關(guān)的核心模塊。 3) DCM DCM模塊遵循ISO 14229-1、ISO 15031-5、ISO 15765-4和SAE J1979標準,能直接處理0x10、0x27和0x3E服務(wù)。收到AUTOSAR支持的OBD服務(wù)或其他UDS服務(wù)時,靠叫DEM、軟件構(gòu)件或者其他BSW模塊提供的接口進行響應(yīng)。 AUTOSAR建議用三個功能模塊組成DCM,分別是DSL(Diagnostic Session Layer)、DSD(Diagnostic Service Dispatcher)和DSP(Diagnostic Service Processing)。其中DSL負責(zé)處理PDU Router傳來的診斷請求,管理會話層和應(yīng)用層定時參數(shù),處理會話狀態(tài)的切換等。DSD負責(zé)將DSL傳來的診斷請求轉(zhuǎn)發(fā)給DSP,同時將DSP傳來的診斷響應(yīng)報文傳給DSL。DSP負責(zé)分析接收到的診斷請求報文,檢查其報文格式以及其請求的子功能。只有在診斷請求報文的服務(wù)標識符、子功能、報文格式等條件都滿足的情況下,DSP才會處理收到的請求報文,并將處理結(jié)果整理成診斷響應(yīng)報文發(fā)給PDU Router。 4) DEM DCM模塊遵循的標準與DCM相同,負責(zé)直接處理與DTC相關(guān)的服務(wù),如UDS中的0x19服務(wù)(響應(yīng)報文由DCM發(fā)送出去)。當軟件構(gòu)件中的Monitor Function檢測到故障或BSW模塊檢測到故障時,將通知DEM模塊處理和儲存“診斷事件”(由Event ID進行標識)。如果故障確診,呼叫NVRAM Manager(非揮發(fā)性內(nèi)存管理器)提供的接口將其存取到非揮發(fā)性內(nèi)存中,同時通知應(yīng)用層進行故障指示。DEM的狀態(tài)圖如圖3所示: 圖3:DEM狀態(tài)圖。 5) CAN TP模塊 遵循ISO 15765-2標準。負責(zé)診斷報文的尋址、拆包與打包,以及網(wǎng)絡(luò)層定時參數(shù)的管理。所以,該模塊向下傳輸?shù)氖荖_PDU(網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元)。 本文小結(jié) 第一、由于嚴格分層,除了CAN Driver和CAN Transceiver模塊要依賴于硬件,AUTOSAR與診斷相關(guān)的模塊幾乎完全獨立于硬件。按照此架構(gòu)開發(fā)完成的診斷程序碼能夠擺脫硬件的束縛,具有最大程度的可重用性。 第二、AUTOSAR目前不支持SAE J1939。 第三、暫時不能直接將AUTOSAR軟件架構(gòu)用于Bootloder程序的開發(fā)。 綜上所述,AUTOSAR標準仍舊處于發(fā)展和完善階段,但隨著目前汽車ECU軟件開發(fā)矛盾的加劇,開發(fā)難度不斷增大,開發(fā)周期卻不斷縮短,AUTOSAR將成為必然趨勢。 來源:zhouxiao
技術(shù)資料出處:likee
基于CAN總線智能建筑監(jiān)控系統(tǒng)的通信協(xié)議設(shè)計 摘要:從研究CAN2.OB總線規(guī)范入手,介紹了CAN總線規(guī)范的硬件基礎(chǔ),分析了CAN總線報文格式,通過對報文標識符的分配,設(shè)計了應(yīng)用于該系統(tǒng)的通信協(xié)議,并給出了軟件設(shè)計流程... 客車網(wǎng)絡(luò)控制中的CAN/CAN網(wǎng)橋設(shè)計方案 1 引言 控制器局部網(wǎng)CAN(ControllerAreaNetwork)是德國RobertBosch公司在20世紀80年代初為汽車業(yè)開發(fā)的一種車載專用串行數(shù)據(jù)通信總線,經(jīng)過多年的發(fā)展,現(xiàn)在越來越多... 基于WinCE的CAN適配卡驅(qū)動程序的設(shè)計與實現(xiàn) 1 引言 WinCE是一種為多種嵌入式系統(tǒng)和產(chǎn)品設(shè)計的緊湊、高效、可升級的操作系統(tǒng),WinCE 采用標準模式,其最主要的特征:為有限的硬件資源提供了多線程、多任務(wù)和完全優(yōu)... CAN 總線車載網(wǎng)絡(luò)通訊組件的研究和實現(xiàn) 摘要: 本文提出了一種基于CAN 總線的車載網(wǎng)絡(luò)軟件解決方案。該方案可將應(yīng)用與網(wǎng)絡(luò)協(xié)議分開,以便降低整車廠商對硬件供應(yīng)商的依賴性,同時提高軟件的復(fù)用性和可移植性。該方... 過程分析儀器CAN 網(wǎng)絡(luò)通信設(shè)計 摘要:為了解決在工業(yè)生產(chǎn)中遇到的現(xiàn)場檢測信息的采集、處理和同步等問題,提出了實現(xiàn)過程分析儀器CAN 總線網(wǎng)絡(luò)通信的方法。根據(jù)項目的設(shè)計要求,制定了適用的CAN 應(yīng)用層協(xié)... |
|