基于OSEK/VDX平臺的汽車嵌入式系統(tǒng)開發(fā)
摘要:隨著汽車技術的發(fā)展及微處理器技術的不斷進步,嵌入式系統(tǒng)在汽車電子技術中得到了廣泛應用?;诖司C述了汽車嵌入式系統(tǒng)的應用發(fā)展、開發(fā)平臺和開發(fā)流程,介紹了基于OSEK/VDX平臺的汽車嵌入式系統(tǒng)開發(fā)的專門技術和實現(xiàn)方法。
關鍵詞:汽車;嵌入式系統(tǒng);OSEK/VDX
0 引言
嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,適用于對功能、可靠性、成本、體積、功耗、實時性等有嚴格要求的場合。眾所周知嵌入式系統(tǒng)有體積小、低功耗、集成度高、子系統(tǒng)間能通信融合的優(yōu)點,這就決定了它非常適合應用于汽車工業(yè)領域。當今,隨著汽車技術的發(fā)展以及微處理器技術的不斷進步,嵌入式系統(tǒng)在汽車電子技術中得到了廣泛應用,滿足了現(xiàn)代汽車電控系統(tǒng)功能不斷擴展、邏輯漸趨復雜、子系統(tǒng)間通信頻率不斷提高的要求,代表著汽車電子技術的發(fā)展趨勢。
1 汽車嵌入式系統(tǒng)的應用和發(fā)展
汽車嵌入式系統(tǒng)近年來發(fā)展非常迅速,基于網絡通信和實時多任務并行處理的嵌入式高端應用越來越廣泛。汽車嵌入式系統(tǒng)在硬件上采用32位或64位高性能處理器,在軟件上嵌入了實時操作系統(tǒng),具有功能多樣、集成度高、通信網絡化、開發(fā)快捷及成本低廉的特點,已在高檔轎車的電子控制和車載網絡通信系統(tǒng)方面有著一定的應用。
在嵌入式技術的推動下,汽車電子向網絡化、智能化、舒適化等高端應用發(fā)展日漸成熟,汽車電子控制系統(tǒng)功能持續(xù)擴展、邏輯漸趨復雜、子系統(tǒng)間通信日趨頻繁、與外界互聯(lián)互通成為汽車電子技術發(fā)展的主流和動力。嵌入式系統(tǒng)在汽車控制系統(tǒng)、通信系統(tǒng)、導航系統(tǒng)、安全系統(tǒng)以及娛樂系統(tǒng)中均得到有效應用,滿足了汽車電子強實時性、高可靠性、可維護性等需求,為整車及零部件開發(fā)提供統(tǒng)一的架構,充分體現(xiàn)了其構件化、標準化、集成化、可重用的優(yōu)勢。
今后汽車嵌入式系統(tǒng)將重點在以下幾個方面發(fā)展:
(1)隨著汽車局域網技術和智能交通技術的發(fā)展,嵌入式系統(tǒng)將會形成以C級或D級網絡為基礎的整車分布式控制系統(tǒng)和以無線通信為基礎的遠程高頻網絡通信系統(tǒng),其應用范圍將逐步從高檔車和進口車擴展到低檔車和國產車。
(2)汽車嵌入式系統(tǒng)將會向FPGA/CPLD(在線可編程門陣列)方向發(fā)展,系統(tǒng)由分布式可編程互連邏輯單元構成。
單元之間可以交換信息,大量運算由硬件直接完成,體系結構更加靈活,集成度更高。
(3)在系統(tǒng)開發(fā)上遵循通用的汽車電子系統(tǒng)開發(fā)平臺和統(tǒng)一的標準。為了提高軟硬件通用性,加快開發(fā)速度,降低成本,嵌入式系統(tǒng)需要構建統(tǒng)一的標準與開發(fā)平臺,歐洲已頒布了汽車嵌入式系統(tǒng)開發(fā)平臺的OSEK/VDX標準和規(guī)范。
2 汽車嵌入式系統(tǒng)的開發(fā)平臺-OSEK/VDX
2.1 OSEK/VDX簡介
嵌入式操作系統(tǒng)是支持嵌入式應用的操作系統(tǒng),它是一種系統(tǒng)軟件。OSEK(Open Systems and the Corresponding Interfaces for Au-tomotive Electronics)是針對汽車電子控制的操作系統(tǒng)標準,OSEK是德文縮寫詞,意思是“汽車電子的開發(fā)系統(tǒng)及其接口標準”。OSEK /VDX規(guī)范從實時操作系統(tǒng)(Real-Time Operating System,RTOS)、軟件接口、通訊和網絡管理等方面對汽車的電子控制軟件開發(fā)平臺作了較為全面的定義與規(guī)定。OSEK/VDX規(guī)范包括以下七部分:OSEK/VDX操作系統(tǒng)規(guī)范(OSEK Operating System,OSEK OS),OS-EK/VDX通訊規(guī)范(OSEK Communication,OSEK COM),OS-EK/VDX網絡管理規(guī)范(OSEK Network Management,OSEKNM),OSEK/VDX實現(xiàn)語言規(guī)范(OSEK Imple-mentation Language,OSEK OIL),OSEK/ORTI規(guī)范(OSEK Run Time Interface),OSEK-Time規(guī)范(OSEK/VDX Time-Triggered Operating System),OSEK FTCom規(guī)范(OSEK/VDX Fault-Tolerant Communication)規(guī)范。使用基于OSEK/VDX規(guī)范的嵌入式應用架構如圖1所示。
采用符合OSEK/VDX規(guī)范的嵌入式實時操作系統(tǒng)可以提高產品代碼的復用率、降低開發(fā)成本、縮短產品開發(fā)周期。[!--empirenews.page--]
2.2 OSEK/VDX的任務管理
OSEK/VDX將任務分為基本任務和擴展任務?;救蝿站哂?種狀態(tài):運行狀態(tài)、就緒狀態(tài)、掛起狀態(tài);擴展任務比基本任務增加一個等待狀態(tài)。基本任務只在開始和結束時才有同步點。擴展任務運行時可能進入等待狀態(tài),因此不僅在開始和結束有同步點,而且運行過程中可能有多個同步點。圖2所示的是擴展任務與基本任務的狀態(tài)轉化圖。
2.3 OSEK實現(xiàn)語言規(guī)范
為了達到軟件可移植的目標,OSEK OIL規(guī)范(OSEK Implementation Language Specification)定義了一種配置和使用OSEK應用的方法。圖3表示了一個遵守OSEK規(guī)范的應用開發(fā)過程。OIL文件可以是手寫的或者是系統(tǒng)配置工具產生。
OIL提供一種在特定CPU中配置OSEK應用的機制。每個CPU對應一個OIL描述。所有的OSEK系統(tǒng)對象用OIL對象來描述。OSEK應用的OIL描述是一組OIL對象的組合。CPU是這些OIL對象的容器。OIL明確地為每個OIL對象定義了所有標準屬性。每個OSEK應用可以定義附加的特殊執(zhí)行屬性和引用。每個OSEK應用可以限制每個屬性的取值范圍。[!--empirenews.page--]
3 汽車嵌入式系統(tǒng)的開發(fā)流程
為了節(jié)約資源,縮短產品開發(fā)周期,如圖4所示,一般應采取軟硬件同步開發(fā)的方案。汽車嵌入式系統(tǒng)的開發(fā)工具對軟硬件的同步開發(fā)、調試提供了很好的支持。汽車嵌入式系統(tǒng)的軟件開發(fā)分為功能描述、軟件設計、代碼生成、操作系統(tǒng)環(huán)境下高級調試等步驟。汽車嵌入式系統(tǒng)的硬件開發(fā)分為硬件描述、硬件設計、硬件調試等步驟。當軟件設計完成后,通過使用相應的工具,完成在虛擬ECU平臺上的驗證。
當硬件設計完成后,與硬件一起進行軟硬件集成調試。通過這種開發(fā)方式,縮短了產品上市的時間。
汽車嵌入式系統(tǒng)軟件開發(fā)流程是“V”形開發(fā)流程。“V”形開發(fā)流程分為五個階段,即功能設計、原型仿真、代碼生成、硬件在回路仿真-HIL、標定。如圖5所示,在功能設計階段使用的主要工具是MATLAB。通過使用MATLAB提供的Simulink、Stateflow等工具,完成控制方案的設計、功能模塊的設計、控制算法的設計等任務,并進行初步的仿真模擬工作。在原型仿真階段使用的主要工具是dSPACE。使用dSPACE提供的快速控制原型-RCP工具完成離線的仿真工作。在開始該階段之前,需要使用Real Time Workshop、Targetlink等工具完成由Simulink、Stateflow等產生的代碼向標準C代碼的轉換工作。在進行向標準C代碼的轉換的過程中,可以根據需要加入符合OSEK規(guī)范的嵌入式實時操作系統(tǒng)。在代碼生產階段使用的主要工具是CodeWarrior。通過使用CodeWarrior提供的編譯器、調試器等工具,完成從標準C代碼向目標硬件平臺上的產品代碼的轉換工作。圖6表示了汽車嵌入式系統(tǒng)的代碼生成過程。
4 結束語
本文闡述了汽車嵌入式系統(tǒng)的應用發(fā)展、系統(tǒng)實現(xiàn)的平臺和產品的開發(fā)流程等開發(fā)技術,指出了汽車嵌入式系統(tǒng)的發(fā)展方向,闡述了汽車嵌入式系統(tǒng)的開發(fā)平臺-OSEK/VDX和汽車嵌入式系統(tǒng)的開發(fā)流程,總結了汽車嵌入式系統(tǒng)開發(fā)的專門技術和實現(xiàn)方法。