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