實(shí)時(shí)操作系統(tǒng)在混合動(dòng)力整車控制器中的應(yīng)用
在 OS_CPU_C.C文件中可以創(chuàng)建5個(gè)鉤子函數(shù),使用的前提是配置文件中常量OS_CPU_HOOKS_EN使能。
至此,μC/OS- II操作系統(tǒng)的移植基本完成。
4 整車控制器軟件多任務(wù)設(shè)計(jì)
整車控制器軟件設(shè)計(jì)以實(shí)時(shí)操作系統(tǒng)作為開發(fā)平臺(tái),將應(yīng)用程序分解成多任務(wù),簡(jiǎn)化了系統(tǒng)軟件的設(shè)計(jì),保證了整車控制系統(tǒng)的實(shí)時(shí)性,提高了系統(tǒng)的穩(wěn)定性與可靠性。整個(gè)系統(tǒng)的主程序流程如圖3所示。
4.1 定時(shí)器模塊
定時(shí)器的主要功能是為軟件程序提供基準(zhǔn)時(shí)鐘。本應(yīng)用選擇T5作為時(shí)鐘基準(zhǔn),在初始化函數(shù)void GPT_vInit()中完成模塊寄存器配置;中斷服務(wù)程序設(shè)置為OSTicklSR(),中斷向量為0x25。通過建立時(shí)鐘任務(wù)函數(shù) Timer_Int(),調(diào)用時(shí)鐘節(jié)拍函數(shù)OSTimeTick(),實(shí)現(xiàn)定時(shí)器與系統(tǒng)時(shí)鐘的連接。系統(tǒng)時(shí)鐘節(jié)拍編程為1 ms,可以減少中斷服務(wù)時(shí)間,提高實(shí)時(shí)性。
4.2 CAN通信模塊
CAN通信模塊功能是實(shí)現(xiàn)整車控制器與其他節(jié)點(diǎn)間的信息傳輸。周期性傳輸,傳輸周期為20 ms,通信速率為250 kbps,中斷調(diào)用CAN通信服務(wù)程序。
創(chuàng)建CAN通信模塊任務(wù) CAN_Trans,任務(wù)優(yōu)先級(jí)3:
4.3 A/D模塊
A/D模塊功能是完成讀取蓄電池電壓、加速踏板傳感器和節(jié)氣門位置傳感器信號(hào),并進(jìn)行模數(shù)轉(zhuǎn)換,被其他函數(shù)調(diào)用。
創(chuàng)建A/D轉(zhuǎn)換模塊任務(wù)ADC_Cony,任務(wù)優(yōu)先級(jí)4:
4.4 整車控制主程序模塊
在混合動(dòng)力汽車系統(tǒng)各模塊自檢成功后,整車控制器要求啟動(dòng)電池,進(jìn)入正常EV工作模式。然后通過判斷檔位,鑰匙開關(guān)和油門踏板等信息,進(jìn)入不同的處理模塊。控制策略包括整車控制策略和能量流管理策略,實(shí)現(xiàn)基于扭矩算法的控制輸出。
創(chuàng)建整車控制主程序任務(wù)Drive_Ctr,優(yōu)先級(jí)9:
OSTaskCreate(Drive_Ctr, (void*)&Drive_Ctr[OS_TASK_STK],9)
這里限于篇幅不再介紹其他模塊,大體過程相似。
結(jié)語
隨著汽車整車技術(shù)的不斷發(fā)展和法規(guī)日益嚴(yán)格的要求,汽車電子系統(tǒng)會(huì)變得越來越復(fù)雜,采用操作系統(tǒng)來實(shí)現(xiàn)對(duì)復(fù)雜任務(wù)的管理和協(xié)調(diào),將成為不可避免的趨勢(shì)。
本文通過混合動(dòng)力整車控制器的軟硬件設(shè)計(jì),詳細(xì)說明了μC/OS-II系統(tǒng)移植過程,優(yōu)化了系統(tǒng)軟件設(shè)計(jì),充分滿足了系統(tǒng)的需求。經(jīng)實(shí)車試驗(yàn)測(cè)試取得了很好的效果。
評(píng)論