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