基于OSEK/VDX規(guī)范的車控電子開發(fā)
1 簡介
本文引用地址:http://www.ex-cimer.com/article/197578.htm汽車電子化是現(xiàn)代汽車發(fā)展的重要標(biāo)志之一。目前世界每輛汽車采用電子裝置的情況已成為衡量這部汽車水平高低的主要標(biāo)志。為了加強市場競爭能力,國外廣泛采用 16~32位微處理器,以及廣泛采用更先進(jìn)的傳感器,使汽車的功能從對汽車自身的控制管理擴大到“汽車-人-環(huán)境”這樣一個大系統(tǒng)的信息獲取、處理和控制。
2 汽車電子產(chǎn)品的分類及嵌入式技術(shù)應(yīng)用
按照對汽車行駛性能作用的影響劃分,可以把汽車電子產(chǎn)品歸納為兩類。一類是車控電子——汽車電子控制裝置。汽車電子控制裝置要和車上機械系統(tǒng)進(jìn)行配合使用,即所謂“機電結(jié)合”的汽車電子裝置。它們包括發(fā)動機、底盤、車身電子控制,例如電子燃油噴射系統(tǒng)、制動防抱死控制、防滑控制、牽引力控制、電子控制懸架、電子控制自動變速器、電子動力轉(zhuǎn)向等。另一類是車載電子——車載汽車電子裝置。車載汽車電子裝置是在汽車環(huán)境下能夠獨立使用的電子裝置,與汽車本身的性能并無直接關(guān)系。它們包括汽車信息系統(tǒng)(行車電腦)、導(dǎo)航系統(tǒng)、汽車音響及電視娛樂系統(tǒng)、車載通信系統(tǒng)、上網(wǎng)設(shè)備等。
汽車電子的技術(shù)基礎(chǔ)是嵌入式技術(shù)。在過去的幾十年里,嵌入式技術(shù)發(fā)展迅速。隨著后PC時代的來臨,計算廣泛的嵌入到應(yīng)用中去,嵌入式系統(tǒng)將成為未來計算的主要存在方式。應(yīng)用的牽引和計算環(huán)境的變遷推動了嵌入式技術(shù)的發(fā)展。嵌入式技術(shù)與行業(yè)的結(jié)合又帶動了行業(yè)的發(fā)展。汽車的電子化、信息化是嵌入式技術(shù)在汽車行業(yè)的應(yīng)用。
車控電子產(chǎn)品是一個個分布在汽車上的電子控制單元(ECU)、智能傳感器(Smart Sensor)等功能單元器件。這些器件通過總線連接在一起組成一個子系統(tǒng)。它們可以以適合自己的協(xié)議,如Lin、J1939等進(jìn)行通信。不同的子系統(tǒng)也通過總線組成更大的網(wǎng)絡(luò)。其中智能傳感器(Smart Sensor)是一個以工業(yè)現(xiàn)場總線為基礎(chǔ),以CPU為處理核心,以數(shù)字通信為變送方式的傳感器和變送器的統(tǒng)一體。與傳統(tǒng)的Sensor相比,Smart Sensor增加了數(shù)字通信功能,面向網(wǎng)絡(luò),具有聯(lián)網(wǎng)功能。
3 車控電子產(chǎn)品系統(tǒng)平臺——OSEK/VDX
為了滿足日益龐大復(fù)雜的汽車電子控制軟件的開發(fā)需要,實現(xiàn)應(yīng)用軟件的可移植性和不同廠商的控制模塊間的可兼容性。1993年,德國汽車工業(yè)界聯(lián)合推出了汽車電子的開放式系統(tǒng)及接口——OSEK/VDX(Open Systems and the Corresponding InteRFaces For AutomoTIve Electronics)規(guī)范,旨在為汽車上的分布控制單元提供一個開放結(jié)構(gòu)的工業(yè)標(biāo)準(zhǔn)。OSEK/VDX 規(guī)范從實時操作系統(tǒng)RTOS(RealTime Operating System)、軟件接口、通信和網(wǎng)絡(luò)管理等方面對汽車的電子控制軟件開發(fā)平臺作了較為全面的定義與規(guī)定。
它所提出的一整套解決方案是未來汽車電子軟件開發(fā)的發(fā)展方向。目前,一些公司推出了符合OSEK/VDX規(guī)范的操作系統(tǒng)并得到了OSEK /VDX委員會的認(rèn)證,如 OSEK Works、OSEKOS、OSEKTurbo等。OSEK/VDX標(biāo)準(zhǔn)包括以下四部分:OSEK/VDX操作系統(tǒng)規(guī)范(OSEK Operating System,OSEK OS), OSEK/VDX通信規(guī)范(OSEK Communication,OSEK COM), OSEK/VDX網(wǎng)絡(luò)管理規(guī)范(OSEK Network Management,OSEK NM)以及OSEK/VDX實現(xiàn)語言(OSEK Implementation Language,OSEK OIL)。采用符合OSEK/VDX標(biāo)準(zhǔn)的嵌入式實時操作系統(tǒng)可以提高產(chǎn)品代碼的復(fù)用率、降低開發(fā)成本、縮短產(chǎn)品開發(fā)周期。使用兼容OSEK/VDX標(biāo)準(zhǔn)的嵌入式實時操作系統(tǒng)的應(yīng)用架構(gòu)如圖1所示。
圖1 兼容OSEK/VDX規(guī)范的操作系統(tǒng)應(yīng)用架構(gòu)
下面分別對OSEK規(guī)范的操作系統(tǒng)部分(OS)、通信部分(COM)、網(wǎng)絡(luò)管理部分(NM)、實現(xiàn)語言部分(OIL)、運行調(diào)試接口部分(ORTI)等進(jìn)行介紹。
3.1 OSEK OS規(guī)范
OSEK OS規(guī)范定義操作系統(tǒng)內(nèi)核的實現(xiàn)機制和應(yīng)用編程接口(API),包括任務(wù)管理機制、中斷處理機制、事件機制、資源管理機制、報警器管理機制等及相關(guān)標(biāo)準(zhǔn)的應(yīng)用編程接口。OSEK OS規(guī)范的實現(xiàn)機制見本刊網(wǎng)站www.dpj.com.cn。
3.2 OSEK COM規(guī)范
OSEK COM規(guī)范(OSEK Communication Specification)為汽車ECU應(yīng)用軟件提供了統(tǒng)一的通信環(huán)境。通過定義應(yīng)用軟件通信接口以及ECU內(nèi)部通信和ECU外部通信,OSEK COM規(guī)范提高了應(yīng)用軟件模塊的可移植性。OSEK COM 提供了多種服務(wù),以方便在任務(wù)與任務(wù)之間、中斷服務(wù)程序與中斷服務(wù)程序之間以及任務(wù)與中斷服務(wù)程序之間發(fā)送數(shù)據(jù)。
OSEK COM 規(guī)范的目的是支持應(yīng)用軟件的移植性、重用性和相互合作性。應(yīng)用程序接口隱藏了內(nèi)部和外部通信的區(qū)別,同樣也隱藏了不同的通信協(xié)議、總線系統(tǒng)和網(wǎng)絡(luò)。
OSEK COM中的通信是基于消息的。消息包括了特定應(yīng)用的數(shù)據(jù)。消息和消息屬性通過OSEK實現(xiàn)語言(OIL)靜態(tài)配置。消息的內(nèi)容和使用方法與OSEK COM無關(guān)。OSEK COM允許0長度的消息存在。在內(nèi)部通信情況下,交互層IL(Interaction Layer)使消息數(shù)據(jù)立即發(fā)送到接收方。在外部通信情況下,IL將1個或多個消息壓縮成指定的交互層協(xié)議數(shù)據(jù)單元(IPDU),并把它們傳遞到下層處理,如圖2所示。 內(nèi)部通信的功能性是外部通信功能性的子集。交互層里的消息管理者是基于消息對象的。消息對象存在于發(fā)送端的是“發(fā)送消息對象”,存在于接收端的是“接收消息對象”。
圖2 OSEK COM中消息發(fā)送和接收的簡單模型
交互層和下層通信的數(shù)據(jù)被組織稱IPDUs,包括一個或多個消息。一個消息必須占據(jù)在IPDU中連續(xù)的位而且不能被分離,在IPDUs中交叉。在IPDUs中消息被位排列。消息的大小在位中說明。交互層提供了應(yīng)用程序接口(API)來處理消息,API包括初始化、數(shù)據(jù)傳送和通信管理的服務(wù)。在網(wǎng)絡(luò)上傳送消息的服務(wù)是非阻塞的,一個發(fā)送消息的服務(wù)可能不能返回一個最終的發(fā)送狀態(tài),因為網(wǎng)絡(luò)中的傳送仍在進(jìn)行之中。OSEK COM為應(yīng)用程序提供了通知機制來決定傳送或接收的狀態(tài)。
評論