前言:本站為你精心整理了汽車(chē)電子中操作系統(tǒng)的使用論文范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。
論文關(guān)鍵詞:OSEK嵌入式實(shí)時(shí)操作體統(tǒng)RX850汽車(chē)電子
論文摘要:實(shí)時(shí)操作系統(tǒng)(RTOS)是復(fù)雜控制系統(tǒng)中必不可少的一部分,它能按照任務(wù)的優(yōu)先級(jí)實(shí)現(xiàn)多任務(wù)調(diào)度,通過(guò)信號(hào)量、事件標(biāo)志來(lái)實(shí)現(xiàn)任務(wù)的同步,消息隊(duì)列和郵箱機(jī)制來(lái)實(shí)現(xiàn)任務(wù)之間的通訊,中斷機(jī)制來(lái)實(shí)現(xiàn)突發(fā)事件的管理。較傳統(tǒng)的前后臺(tái)系統(tǒng),它具有更高的實(shí)時(shí)性、穩(wěn)定性。介紹了當(dāng)前在國(guó)際汽車(chē)工業(yè)界日益占據(jù)主導(dǎo)地位的汽車(chē)電子開(kāi)放式平臺(tái)系統(tǒng)(OSEK/VDX)規(guī)范。介紹了NEC汽車(chē)電子專(zhuān)用實(shí)時(shí)操作系統(tǒng)RX850,列舉了其他RTOS并分析了其優(yōu)缺點(diǎn),建立了基于RX850的RTOS軟件開(kāi)發(fā)平臺(tái),實(shí)現(xiàn)了汽車(chē)發(fā)動(dòng)機(jī)控制模塊任務(wù)的調(diào)度,并對(duì)RTOS的多任務(wù)進(jìn)行了軟仿,這對(duì)于復(fù)雜軟件系統(tǒng)開(kāi)發(fā)是非常有實(shí)際意義的。
引言
隨著國(guó)內(nèi)汽車(chē)電子產(chǎn)業(yè)的不斷升級(jí)和研發(fā)投入不斷加大,國(guó)內(nèi)生產(chǎn)的汽車(chē)電子簡(jiǎn)單的ECU已經(jīng)越來(lái)越普及,例如車(chē)載音響,儀表,車(chē)身控制BCM,動(dòng)力轉(zhuǎn)向EPS等等。越來(lái)越多的企業(yè)將精力投入到比較復(fù)雜的控制領(lǐng)域,比如發(fā)動(dòng)機(jī)控制,防抱死系統(tǒng)(ABS)等,對(duì)于這些邏輯復(fù)雜、實(shí)時(shí)性和安全性高的控制任務(wù),傳統(tǒng)的前后臺(tái)系統(tǒng)模式非實(shí)時(shí)處理的弊端越來(lái)越呈現(xiàn),這就勢(shì)必需要用到實(shí)時(shí)操作系統(tǒng)來(lái)管理這些任務(wù)。
OSEK標(biāo)準(zhǔn)是1993年德國(guó)汽車(chē)工業(yè)界聯(lián)合推出了“汽車(chē)電子的開(kāi)放式系統(tǒng)及接口軟件規(guī)范”,即OSEK(opensystemandthecorrespondinginterfacesforautomotiveelectronics)。1994年法國(guó)汽車(chē)工業(yè)界的相似規(guī)范VDX(vehicledistributedexecutive)和OSEK規(guī)范合并,從而形成OSEK/VDX規(guī)范體系。當(dāng)前OSEK標(biāo)準(zhǔn)已經(jīng)成為汽車(chē)電子軟件開(kāi)發(fā)領(lǐng)域中的通用標(biāo)準(zhǔn),旨在增強(qiáng)軟件代碼安全性、移植性,減少軟件開(kāi)發(fā)周期。
目前,市場(chǎng)上通用的開(kāi)源RTOS有很多,比如μC/OS-Ⅱ,F(xiàn)reeRTOS,Linux-2.6等,但是這些核多半是用于通用領(lǐng)域或者安全性要求不太高的領(lǐng)域,如果將這些移植到汽車(chē)電子動(dòng)力安全控制領(lǐng)域,是不太合時(shí)宜的;而且,這些核本身不是基于OSEK標(biāo)準(zhǔn),如果引入OSEK標(biāo)準(zhǔn),無(wú)疑加大了內(nèi)核移植的難度。NEC電子的實(shí)時(shí)操作系統(tǒng)RX850是一款基于OSEK標(biāo)準(zhǔn)的汽車(chē)級(jí)專(zhuān)用RTOS,其內(nèi)核的實(shí)時(shí)性已經(jīng)得到第三方的專(zhuān)業(yè)測(cè)試。它已經(jīng)被移植到了NEC芯片的集成開(kāi)發(fā)環(huán)境PMPlus和GreenHills,客戶只需要在IDE(IntegratedDevelopEnvironment)中編寫(xiě)腳本文件來(lái)配置RTOS即可通過(guò)編譯,使得客戶從底層驅(qū)動(dòng)編寫(xiě)到RTOS任務(wù)調(diào)度輕松實(shí)現(xiàn)“無(wú)縫結(jié)合”,大大縮短了RTOS移植的開(kāi)發(fā)周期。本文建立了基于NEC電子32位車(chē)身專(zhuān)用芯片V850/Fx3的軟件平臺(tái),并介紹了如何實(shí)現(xiàn)RX850操作系統(tǒng)的配置,以發(fā)動(dòng)機(jī)控制模塊為控制模型來(lái)實(shí)現(xiàn)多任務(wù)的實(shí)時(shí)調(diào)度,最后通過(guò)軟仿工具來(lái)分析該內(nèi)核的效率和任務(wù)調(diào)度的實(shí)時(shí)性。
一、系統(tǒng)平臺(tái)介紹
本系統(tǒng)采用NEC電子的32位車(chē)身專(zhuān)用芯片V850/Fx3系列,V850是NEC電子的32位微處理器核,5級(jí)流水線控制,內(nèi)部32個(gè)32位寄存器,乘法/除法指令,數(shù)據(jù)空間支持最大4GB線性尋址能力,代碼空間支持64M線性尋址能力,內(nèi)部1MB的codeflash,60KB的RAM空間,32KB的dataflash用作EEPROM模擬。
基于OSEK標(biāo)準(zhǔn)的RX850實(shí)時(shí)操作系統(tǒng)符合以下標(biāo)準(zhǔn):操作系統(tǒng)規(guī)范(OSEKOS)、通信規(guī)范(OSEKCOM)、網(wǎng)絡(luò)管理規(guī)范(OSEKNM)和OSEK實(shí)現(xiàn)語(yǔ)言(OSEKOIL)。其中OSEKOS是針對(duì)汽車(chē)應(yīng)用特點(diǎn)而專(zhuān)門(mén)制定的一個(gè)小型RTOS規(guī)范,著重以下幾個(gè)方面:(1)可移植性,所有API都是標(biāo)準(zhǔn)化的并且在功能上都有明確的定義;(2)可擴(kuò)展性,OSEKOS旨在通用于任何類(lèi)型的ECU,因此一方面系統(tǒng)要高度的模塊化,另一方面又要能進(jìn)行靈活的配置;(3)汽車(chē)應(yīng)用的特定需求,諸如可靠性、實(shí)用性和代價(jià)敏感性等。相應(yīng)的,OSEKOS靜態(tài)配置可以通過(guò)OS2EKOIL語(yǔ)言實(shí)現(xiàn),用戶在系統(tǒng)生成時(shí)靜態(tài)制定任務(wù)的個(gè)數(shù)、需要的資源和系統(tǒng)服務(wù)。OSEKCOM為通信網(wǎng)絡(luò)中的數(shù)據(jù)交換提供了標(biāo)準(zhǔn)的接口和協(xié)議。OSEKNM為監(jiān)視網(wǎng)絡(luò)的流量提供了一組標(biāo)準(zhǔn)的功能函數(shù),以保證網(wǎng)絡(luò)的安全性和可靠性。
二、RX850內(nèi)核配置
由于RX850已經(jīng)被嵌入到IDE,因此用戶直接編寫(xiě)內(nèi)核腳本文件即可,下面介紹如何來(lái)配置內(nèi)核。
1.系統(tǒng)時(shí)鐘設(shè)置
clkhdrINTTM0EQ0//選定TimerM為時(shí)間片中斷源
2.堆棧設(shè)置
RX850的堆棧分為系統(tǒng)堆棧和任務(wù)堆棧,
POOL0功能:系統(tǒng)基本表信息、準(zhǔn)備隊(duì)列、每個(gè)管理塊、任務(wù)堆棧、中斷句柄堆棧(系統(tǒng)堆棧)、可變長(zhǎng)度內(nèi)存、不變長(zhǎng)度內(nèi)存。
POOL1功能:任務(wù)堆棧、中斷句柄堆棧(系統(tǒng)堆棧)、可變長(zhǎng)度內(nèi)存、不變長(zhǎng)度內(nèi)存。
POOL0和POOL1都可以作為任務(wù)堆棧,即使沒(méi)有POOL1也可以。配置如下:
intstk0x400:pool0//系統(tǒng)堆棧大小為0x400
tskTSK1_TSK10x050:pool10x06TTS_DMT0x00ei//TSK_ID_1ms任務(wù)堆棧大小0x50
3.允許最大優(yōu)先級(jí)任務(wù)數(shù)
maxpri0x1f//允許最大優(yōu)先級(jí)任務(wù)數(shù)為0x1f
4.信號(hào)量設(shè)置
semSem_Task10x00//設(shè)置了信號(hào)量Sem_Task1為0
semSem_Task20x00//設(shè)置了信號(hào)量Sem_Task2為0
5.事件標(biāo)志設(shè)置
flgflg_Task1//設(shè)置了事件標(biāo)志flg_Task1
flgflg_Task2//設(shè)置了事件標(biāo)志flg_Task2
5.郵箱設(shè)置
mbxID_Task1TA_MPRI//設(shè)置Task1的郵箱
mbxID_Task2TA_MPRI//設(shè)置Task2的郵箱
6.中斷設(shè)置
RX850的中斷分為直接中斷和間接中斷兩種,直接中斷不受RX850制約的中斷句柄,理論上接近硬件中斷的速度,其缺點(diǎn)是需要用戶自己寫(xiě)中斷處理句柄,包括:(1).寄存器壓棧;(2).換向,跳轉(zhuǎn)到中斷句柄的開(kāi)始;(3).調(diào)用系統(tǒng)命令;(4).返回到調(diào)度;間接中斷的中斷句柄在RX850的中斷預(yù)處理后才被啟動(dòng),優(yōu)點(diǎn)是簡(jiǎn)化了句柄處理過(guò)程,缺點(diǎn)是由于RX850的預(yù)處理降低了速度,其處理過(guò)程如下:
間接中斷配置如下:
inthdrINTAD_AD_Interrupt//AD間接中斷句柄配置
inthdrINTC1REC_CAN_Ch1RxInt//CAN間接中斷句柄配置
7.固定/可變內(nèi)存池設(shè)置
當(dāng)系統(tǒng)需要交換較大的數(shù)據(jù)時(shí),此時(shí)任務(wù)堆棧是不夠用的,需要開(kāi)辟一段內(nèi)存來(lái)使用。RX850支持兩種方式的內(nèi)存配置,固定內(nèi)存池和可變內(nèi)存池。固定內(nèi)存池由用戶自定義內(nèi)存池的大小,可變內(nèi)存池根據(jù)實(shí)際應(yīng)用系統(tǒng)動(dòng)態(tài)的定義所需內(nèi)存大小,配置如下:
mpfMPF_ID_MBX0x08:pool150
//固定內(nèi)存以0x08字節(jié)為單位排列,大小為50*0x08;
mplMPL_ID_Task10x08:pool1
//可變內(nèi)存0x08字節(jié)為單位排列
8.系統(tǒng)周期循環(huán)中斷設(shè)置
cycCYC_INT_TIMER_CYC_IntTimerTCY_OFF10
//系統(tǒng)周期循環(huán)中斷時(shí)間為10個(gè)時(shí)間片
以上完成了操作系統(tǒng)的配置,然后通過(guò)NEC的IDE即可生成操作系統(tǒng)的.s和.h文件,將此兩個(gè)文件包含在工程文件中即可。超級(jí)秘書(shū)網(wǎng)
三、RX850軟仿及結(jié)論
通過(guò)以上配置,選擇發(fā)動(dòng)機(jī)控制模塊為對(duì)象,下面對(duì)RX850進(jìn)行軟仿。NEC電子提供專(zhuān)門(mén)的軟仿工具AZ,在IDE中打開(kāi)AZ。
通過(guò)上圖可以很方便的看到每個(gè)任務(wù)的實(shí)時(shí)調(diào)度情況和CPU內(nèi)核的使用效率。目前CPU的空閑率為94%,很多任務(wù)實(shí)際上沒(méi)有被調(diào)用,用戶可以根據(jù)實(shí)際情況將更多的功能模塊放在API任務(wù)中來(lái)運(yùn)行。軟仿只能提供模擬的仿真,如果用戶需要更精確的trace工具,則需要用硬仿來(lái)實(shí)現(xiàn)。
四、結(jié)束語(yǔ)
對(duì)于比較復(fù)雜的控制系統(tǒng),RTOS是必不可少的,建立以上開(kāi)發(fā)平臺(tái),使得系統(tǒng)工程師可以專(zhuān)注于系統(tǒng)功能建模仿真,然后將功能函數(shù)與該平臺(tái)的API任務(wù)調(diào)度結(jié)合,即可完成片上測(cè)試。實(shí)踐證明,這種開(kāi)發(fā)模式大大提高了整個(gè)項(xiàng)目的進(jìn)度。
汽車(chē)制造 汽車(chē)營(yíng)銷(xiāo) 汽車(chē)技能技術(shù) 汽車(chē)金融論文 汽車(chē)維修 汽車(chē)工程論文 汽車(chē)設(shè)計(jì)論文 汽車(chē)創(chuàng)新技術(shù) 汽車(chē)質(zhì)量論文 汽車(chē)論文 紀(jì)律教育問(wèn)題 新時(shí)代教育價(jià)值觀