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