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