基于OSEK/VDX規(guī)范的車控電子開發(fā)
3.5.1 ORTI文件結(jié)構(gòu)
ORTI文件包含版本信息部分、聲明部分和信息部分。版本信息部分描述了KOIL和內(nèi)核的版本。對于ORTI來講,內(nèi)核的版本是ORTI標準的版本號。聲明部分聲明ORTI實現(xiàn)中使用的內(nèi)核類型,相當于C語言中的結(jié)構(gòu)聲明。它描述了訪問內(nèi)核對象所包含數(shù)據(jù)的方法。該部分詳細說明了給定屬性的顯示名稱。信息部分包含了所有給定系統(tǒng)聲明部分所聲明的方法,描述了計算或引用所需屬性的方法。信息部分還提供了所需屬性的靜態(tài)值和表達式。
3.5.2 標準的ORTI對象及屬性
OS對象,包含正在運行的任務、正在運行的優(yōu)先級、正在運行的中斷處理程序、操作系統(tǒng)服務、最近的錯誤、當前應用的模式等屬性。
任務對象,包含優(yōu)先級、狀態(tài)、堆棧、活動狀態(tài)、上下文等屬性。
上下文對象,包含地址、大小等兩個屬性。
堆棧對象,包含大小、基地址、堆棧方向、填充模式等四個屬性。
報警器對象,包含報警時間、周期、狀態(tài)、動作、記數(shù)器等五個屬性。
資源對象,包含狀態(tài)、資源鎖、優(yōu)先級等三個屬性。
消息容器對象,包含消息名稱、類型、隊列大小、隊列記數(shù)器、當前消息地址等五個屬性。
4 車控電子產(chǎn)品的開發(fā)流程
車控電子產(chǎn)品是軟硬件結(jié)合的嵌入式系統(tǒng)。為了節(jié)約資源,縮短產(chǎn)品開發(fā)周期,一般應采取軟硬件同步開發(fā)的方案,如圖5所示。車控電子產(chǎn)品的開發(fā)工具對軟硬件的同步開發(fā)、調(diào)試提供了很好的支持。車控電子產(chǎn)品的軟件開發(fā)分為功能描述、軟件設計、代碼生成、操作系統(tǒng)環(huán)境下高級調(diào)試等步驟。車控電子產(chǎn)品的硬件開發(fā)分為硬件描述、硬件設計、硬件調(diào)試等步驟。當軟件設計完成后,通過使用相應的工具,完成在虛擬ECU平臺上的驗證。當硬件設計完成后,與硬件一起進行軟硬件集成調(diào)試。通過這種開發(fā)方式,縮短了產(chǎn)品上市的時間。
圖5 軟硬件并行的開發(fā)方案
目前,汽車車控電子產(chǎn)品軟件開發(fā)流程是“V”形開發(fā)流程,如圖6所示。“V”形開發(fā)流程分為五個階段,即功能設計、原型仿真、代碼生成、硬件在回路仿真——HIL、標定。
圖6 車控電子產(chǎn)品軟件開發(fā)流程
在功能設計階段使用的主要工具是MATLAB。通過使用MATLAB提供的Simulink、Stateflow等工具,完成控制方案的設計、功能模塊的設計、控制算法的設計等任務,并進行初步的仿真模擬工作。在原型仿真階段使用的主要工具是DSPACE。使用dSPACE提供的快速控制原型 ——RCP工具完成離線的仿真工作。在開始該階段之前,需要使用Real Time Workshop、Targetlink等工具完成由Simulink、Stateflow等產(chǎn)生的代碼向標準 C代碼的轉(zhuǎn)換工作。在進行向標準 C代碼的轉(zhuǎn)換過程中,可以根據(jù)需要加入符合OSEK規(guī)范的嵌入式實時操作系統(tǒng)。在代碼生產(chǎn)階段使用的主要工具是CodeWarrior。通過使用 CodeWarrior提供的編譯器、調(diào)試器等工具,完成從標準C代碼向目標硬件平臺上的產(chǎn)品代碼的轉(zhuǎn)換工作。圖7表示了車控電子產(chǎn)品的代碼生成過程。
圖7 車控電子產(chǎn)品代碼生成過程
結(jié)語
我國自主發(fā)展汽車車控產(chǎn)品尚處于起步階段。本文簡要介紹了車控產(chǎn)品的系統(tǒng)平臺——OSEK/VDX規(guī)范,并給出了一個基于OSEK/VDX規(guī)范的簡單的車控電子開發(fā)模型。在這個模型中,要求開發(fā)者熟練使用國際上主流的開發(fā)工具,以提高開發(fā)效率,縮短開發(fā)時間。
評論