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