麻新兵,蘇婷,張文,王號,李萌
(陜西汽車控股集團(tuán)有限公司 技術(shù)中心,陜西 西安 710200)
伴隨電子信息化的飛速發(fā)展,汽車智能化時代已經(jīng)加速駛來。整車EE架構(gòu)革新大勢所趨?!败浖x汽車”正由一個概念名詞,轉(zhuǎn)變?yōu)槠囯娍剀浖軜?gòu)開發(fā)與功能實現(xiàn)的行業(yè)共識。通過自動代碼生成的方式進(jìn)行大部分軟件開發(fā)工作,其相比較傳統(tǒng)的手動軟件開發(fā),可以規(guī)范團(tuán)隊軟件開發(fā)方法,提高開發(fā)效率,最大限度提升汽車嵌入式軟件系統(tǒng)的可靠性和安全性。
“軟件定義汽車”的汽車電控技術(shù)發(fā)展趨勢,在不斷豐富汽車功能的同時必然導(dǎo)致汽車電控系統(tǒng)的功能日益龐大,汽車軟件開發(fā)工作量日益復(fù)雜。一輛特斯拉Model 3的軟件代碼已突破1000萬行,一輛寶馬X5的軟件代碼量更甚超過3億行,這些直接導(dǎo)致軟件程序設(shè)計人員工作量不斷增加。傳統(tǒng)的手動編程設(shè)計方法越來越不能滿足汽車電子系統(tǒng)軟件設(shè)計對開發(fā)效率、代碼安全的質(zhì)量要求。
基于圖形化的代碼自動生成軟件工具EC利用模塊庫搭建的控制系統(tǒng)軟件,自動生成符合某一特點軟件規(guī)范的代碼文件,從而提高軟件開發(fā)人員的工作效率。
軟件開發(fā)人員快速完成控制系統(tǒng)核心策略的開發(fā)和測試驗證,經(jīng)過自動代碼生成技術(shù),快速生成軟件代碼,相比較于其他嵌入式軟件開發(fā)方法,存在以下優(yōu)點:
1)軟件開發(fā)工程師可以將主要精力投入到功能需求梳理和算法設(shè)計;
2)可以產(chǎn)生符合“高內(nèi)聚,低耦合”軟件設(shè)計規(guī)范的高質(zhì)量功能模型,提高算法的可移植性,便于版本管理;
3)提高團(tuán)隊軟件開發(fā)的工作效率和代碼設(shè)計規(guī)范的一致性;
4)將應(yīng)用層算法設(shè)計與底層驅(qū)動分層開發(fā),便于功能模塊職責(zé)劃分,實現(xiàn)平臺化、模塊化的軟件設(shè)計流程。
以Infineon TC2**主核的底層驅(qū)動通過S-function將底層驅(qū)動封裝至模型庫(CanDIDOPWM 等),并實現(xiàn)接口的GUI配置,供軟件開發(fā)人員進(jìn)行應(yīng)用層控制軟件開發(fā)。
首先應(yīng)用層策略開發(fā)人員需要在創(chuàng)建一個 slx文件,用于基于圖形化的控制策略開發(fā)。
建模完成后還可通過仿真調(diào)試軟件工具,實現(xiàn)控制算法的測試驗證,直到控制算法符合設(shè)計需求。
圖1 GUI庫文件
圖2 整車動力系統(tǒng)控制模型
當(dāng)系統(tǒng)模型搭建完成后,軟件開發(fā)人員需要利用目標(biāo)編譯器生成_rtw中間文件,rtw文件包含對應(yīng)模型的若干屬性,比如參數(shù)變量、模塊命名及其他屬性,然后rtw文件經(jīng)過目標(biāo)編譯器TLC生成c文件,通過TLC將底層驅(qū)動庫融入自動代碼生成過程。
圖3 自動代碼生成架構(gòu)
再通過手動集成到C編譯器(本文使用HighTec編譯器)后進(jìn)行代碼編譯,即可得到系統(tǒng)可執(zhí)行文件(hex)。
圖4 控制系統(tǒng)軟件編譯
利用建模環(huán)境,搭建整車控制策略模型,使用EC工具將控制模型生成C代碼文件,再通過TLC將底層驅(qū)動融入自動代碼生成過程,最終手動集成到目標(biāo)編譯器下生成可執(zhí)行文件。這種基于模型的開發(fā)方法具有更高的系統(tǒng)移植性,提高系統(tǒng)軟件開發(fā)效率,有效降低軟件設(shè)計成本。該方法已成功應(yīng)用于一款純電動載貨車整車控制設(shè)計開發(fā)過程中,通過路試試驗表明系統(tǒng)運行穩(wěn)定可靠,滿足設(shè)計要求。