汽車之家 劉文宇
結(jié)合我國(guó)汽車工業(yè)發(fā)展現(xiàn)狀,本文研究選擇了分布式驅(qū)動(dòng)電動(dòng)汽車研發(fā)作為研究對(duì)象,整車生產(chǎn)成本較低、機(jī)械噪音較低、控制性能較優(yōu)秀均屬于分布式驅(qū)動(dòng)電動(dòng)汽車所具備的優(yōu)勢(shì),而為了給予分布式驅(qū)動(dòng)電動(dòng)汽車研發(fā)一定支持,正是本文圍繞汽車整車控制器底層軟件開(kāi)發(fā)及程序集成開(kāi)展具體研究的原因所在。
汽車整車控制器軟件開(kāi)發(fā)需應(yīng)用汽車電控系統(tǒng)軟件V型開(kāi)發(fā)模式、RTW代碼生成技術(shù),整車控制軟件開(kāi)發(fā)流程可以描述為:“整車控制軟件控制功能需求制定→建立Simulink仿真模型→驗(yàn)證Simulink仿真模型→RTW代碼生成及驗(yàn)證→程序集成→整車控制器底層軟件開(kāi)發(fā)→整車控制軟件調(diào)試→整車控制器調(diào)試(基于單輪輪轂電機(jī)試驗(yàn)臺(tái)架)→整車控制器實(shí)車測(cè)試→整車控制器開(kāi)發(fā)完成”,結(jié)合這一系列流程可直觀發(fā)現(xiàn)汽車整車控制器底層軟件開(kāi)發(fā)所具備的重要意義[1]。
對(duì)于汽車整車控制器軟件開(kāi)發(fā)來(lái)說(shuō),底層軟件開(kāi)發(fā)是為了防止硬件部分改變導(dǎo)致的所有程序變動(dòng)出現(xiàn),汽車整車控制器底層軟件的開(kāi)發(fā)因此可較好服務(wù)于開(kāi)發(fā)周期的縮短,通過(guò)改變底層驅(qū)動(dòng)實(shí)現(xiàn)的硬件部分改變應(yīng)對(duì)屬于其價(jià)值的最直觀體現(xiàn)。
作為硬件與應(yīng)用軟件的隔離層,底層驅(qū)動(dòng)直接關(guān)系特定硬件系統(tǒng)的獨(dú)立開(kāi)發(fā)與模塊封裝,而由于本文研究整車控制器采用了英飛凌公司生產(chǎn)的32位MCU TC1767,這就使得英飛凌公司所制作的軟件DAvE必須應(yīng)用于汽車整車控制器底層軟件開(kāi)發(fā),MCU的快速使用將由此獲得有力支持,這種支持在CPU時(shí)鐘頻率、存儲(chǔ)器、外設(shè)、工作事件的配置中均可發(fā)揮不俗效用,而DAvE軟件具備的自動(dòng)生成可執(zhí)行代碼功能也將大幅提升汽車整車控制器底層軟件開(kāi)發(fā)效率,具體的初始化子程序開(kāi)發(fā)應(yīng)圍繞以下幾方面展開(kāi)[2]。
2.1.1 系統(tǒng)時(shí)鐘模塊設(shè)置
采用外部時(shí)鐘,始終頻率設(shè)置為33.33MHz,存儲(chǔ)器為56位、精度為0.03us,計(jì)時(shí)范圍可達(dá)68.55年。結(jié)合汽車整車控制器需要,設(shè)計(jì)使用的TC1767帶有7個(gè)額外系統(tǒng)始終寄存器,使用TIM0-TIM6進(jìn)行表示,TIM0-TIM6在計(jì)時(shí)范圍、精度方面均存在各自特點(diǎn),而TC1767攜帶的2個(gè)定時(shí)器則需要在系統(tǒng)時(shí)鐘模塊設(shè)置在發(fā)揮效用,因此設(shè)計(jì)采用了TIM4系統(tǒng)時(shí)鐘計(jì)時(shí)、CMP0則負(fù)責(zé)系統(tǒng)定時(shí)50ms進(jìn)入一次系統(tǒng)中斷,這里的TIM4計(jì)時(shí)范圍、精度分別為97.73天與2ms。
2.1.2 CAN模塊設(shè)置
結(jié)合TC1767特點(diǎn)與研究對(duì)象實(shí)際,可發(fā)現(xiàn)方向盤傳感器、電機(jī)控制器為定制產(chǎn)品,這就使得CAN模塊設(shè)置環(huán)節(jié)無(wú)法進(jìn)行CAN波特率的改變,因此將第一路、第二路CAN波特率分別設(shè)置為250kbps、500kbps,而為了實(shí)現(xiàn)四輪獨(dú)立驅(qū)動(dòng)控制,采用了11位標(biāo)準(zhǔn)幀進(jìn)行設(shè)計(jì),其中左前輪接收ID、發(fā)送ID分別為0x075與0x074,右前輪接收ID、發(fā)送ID分別為0x065與0x064,左后輪接收ID、發(fā)送ID分別為0x085與0x084,右后輪接收ID、發(fā)送ID分別為0x095與0x094,CAN系統(tǒng)會(huì)在收到電機(jī)控制器發(fā)送信息后產(chǎn)生中斷。
2.1.3 其他模塊設(shè)置
A/D模塊設(shè)置、串口模塊及I/O模塊設(shè)置同樣屬于初始化子程序開(kāi)發(fā)關(guān)鍵環(huán)節(jié),前者需關(guān)注CHANNEL0通道進(jìn)行的數(shù)模轉(zhuǎn)換,后者則需要設(shè)置三個(gè)I/O口接收檔位信息,Tasking軟件需要在其中負(fù)責(zé)匯編器、編譯器、鏈接器的集成。
該環(huán)節(jié)主要包括A/D信號(hào)的采集子程序開(kāi)發(fā)、檔位信號(hào)的釆集處理子程序開(kāi)發(fā),前者采集程序設(shè)計(jì)為:“開(kāi)始→設(shè)置時(shí)間采集點(diǎn)→明確STM_CMP0初始值→A/D采集中斷函數(shù)→A/D信息轉(zhuǎn)換→存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)→設(shè)置下個(gè)時(shí)間采集點(diǎn)”,后者則需要進(jìn)行停止檔、前進(jìn)檔、后退檔的變量信息存儲(chǔ),如P1_IN_P7代表停止檔[3]。
方向盤轉(zhuǎn)角傳感器CAN通訊子程序?qū)儆谕ㄓ嵔涌谧映绦蜷_(kāi)發(fā)的主要內(nèi)容,考慮到定制方向盤傳感器采用16位數(shù)據(jù)精度,因此采用計(jì)算方向盤轉(zhuǎn)角并判斷正負(fù)的開(kāi)發(fā)計(jì)劃,具體開(kāi)發(fā)實(shí)現(xiàn)需得到TURN的支持。此外,電機(jī)控制器、PC集、整車控制器的CAN通訊子程序開(kāi)發(fā)同樣需要得到關(guān)注,這一開(kāi)發(fā)使用的CAN通訊發(fā)送協(xié)議的字節(jié)1、字節(jié)2、字節(jié)3、字節(jié)4分別為0x02、控制參數(shù)、占空比、0x03,而采用時(shí)間觸發(fā)信息發(fā)送方式、設(shè)定系統(tǒng)定時(shí)器(DAvE中),即可實(shí)現(xiàn)高質(zhì)量電機(jī)運(yùn)行控制,接收CAN信息子程序流程可描述為:“開(kāi)始→CAN信息→CAN信息為8字節(jié)→CAN信息分析計(jì)算→無(wú)故障→數(shù)據(jù)存儲(chǔ)→結(jié)束”。
通過(guò)RTW工具生成代碼進(jìn)行整車控制策略模型輸入量與輸出量的變量名定義,如其中的左前輪轉(zhuǎn)速變量名為control_U.relf、右后輪轉(zhuǎn)速變量名為control_U.reff、踏板變量名為control_U.pedal,左前輪電機(jī)占空比變量名為control_Y.zkblf,由此即可滿足控制策略程序、底層軟件程序之間的數(shù)據(jù)交換需要。
整合目標(biāo)應(yīng)確定為RTW工具生成的包含ert_main.c函數(shù)與DAvE生成的底層驅(qū)動(dòng)初始化程序包含的MAIN.C函數(shù),具體整合流程可描述為:“主函數(shù)開(kāi)始→“文件包含”聲明→主函數(shù)→硬件設(shè)備初始化→軟件參數(shù)初始化→程序開(kāi)始→接收處理數(shù)據(jù)→輸入變量→控制計(jì)算→輸出變量→發(fā)送給電機(jī)控制器”,由此通過(guò)tasking軟件即可開(kāi)展編譯工作,由此生成機(jī)器碼并將其下載至整車控制器,即可較高質(zhì)量完成整車控制器軟件開(kāi)發(fā)工作。值得注意的是,上述主程序整合流程的確定與包含ert_main.c函數(shù)形式較為簡(jiǎn)單具備較為緊密聯(lián)系,底層軟件的數(shù)據(jù)賦值也在其中發(fā)揮著關(guān)鍵性作用,這些均需要得到業(yè)內(nèi)人士高度關(guān)注。
綜上所述,汽車整車控制器底層軟件開(kāi)發(fā)及程序集成具備較高現(xiàn)實(shí)意義,在此基礎(chǔ)上,本文涉及的系統(tǒng)時(shí)鐘模塊設(shè)置、CAN模塊設(shè)置、通訊接口子程序開(kāi)發(fā)、主程序整合等內(nèi)容,則提供了可行性較高的相關(guān)路徑支持,而為了進(jìn)一步推動(dòng)我國(guó)汽車工業(yè)發(fā)展,制動(dòng)能量回收、高速行駛狀態(tài)下的轉(zhuǎn)動(dòng)控制等研究理應(yīng)得到業(yè)界重視。
[1]沈璟虹.雙輪轂電機(jī)整車控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].石家莊學(xué)院學(xué)報(bào),2017(6):35-39.
[2]田韶鵬,闕同亮.基于模型設(shè)計(jì)的電動(dòng)車整車控制器開(kāi)發(fā)研究[J].自動(dòng)化與儀表,2017(9):60-64.
[3]李青.基于硬件在環(huán)的電動(dòng)汽車整車控制器功能測(cè)試方法初探[J].通訊世界,2017(21):335-336.