汽车软件设计的变化趋势
汽車軟件到目前還是一種嵌入式軟件,嵌入式軟件有領(lǐng)域的特點(diǎn),汽車軟件和其他嵌入式軟件的開發(fā)有所不同,其特點(diǎn)有:
對于傳統(tǒng)汽車,汽車軟件設(shè)計就是控制器軟件設(shè)計。控制器是用來控制汽車部件的,傳統(tǒng)汽車的部件都是復(fù)雜的機(jī)械系統(tǒng),沒有對機(jī)械原理的良好了解,無法開發(fā)控制算法,所以很容易理解第6點(diǎn),為什么過去的汽車軟件開發(fā)人員大部分是機(jī)械類出身。
接著第5點(diǎn)的原因也可以就此引出。由于一個控制器控制一個汽車部件,一個控制器上就運(yùn)行一個程序,強(qiáng)調(diào)實(shí)時性而不是多任務(wù),對操作系統(tǒng)的要求不高,反而操作系統(tǒng)越簡單實(shí)時性越好,所以大部分控制器供應(yīng)商選擇自行開發(fā)專用的底軟(不一定是操作系統(tǒng)),相較于使用通用操作系統(tǒng),專用底軟不僅能提高性能還能降低成本(操作系統(tǒng)免費(fèi)而且對硬件要求低)。
機(jī)械系統(tǒng)控制算法的參數(shù)很多都是無法直接確定的,需要試驗(yàn)得到,所以各大汽車零部件商都很重視標(biāo)定功能的開發(fā),汽車軟件的標(biāo)定功能是領(lǐng)先于其他嵌入式領(lǐng)域的。這是第4點(diǎn)的原因。
CAN通信在很多工業(yè)領(lǐng)域也會用到,但是說到行業(yè)內(nèi)的普及率還是汽車為最。CAN通信在今天已經(jīng)遇到很多瓶頸,但是在汽車總線剛剛出現(xiàn)的時候很好的兼顧了成本和性能。這是第3點(diǎn)的原因。
正如前面所說,研究算法的人大部分是機(jī)械類專業(yè)出身,他們不懂編程,雖然采用了標(biāo)準(zhǔn)庫的C語言寫汽車控制算法并不難,但是測試這些算法需要搭建一個比算法復(fù)雜得多的物理模型,用C完成這部分工作對他們來說是一個難題:算法工程師可以把控制系統(tǒng)拆成一個個小模塊并用C函數(shù)復(fù)現(xiàn),但是不懂如何把C函數(shù)串起來;而專業(yè)的C語言工程師能夠把C函數(shù)串起來,但是不知道為什么這么做,也不知道如何去觀察。所以很早以前一個算法的開發(fā)需要算法開發(fā)者精通C語言或者和C語言工程師緊密配合。而simulink誕生之后,這一切都不需要了,它把后者的工作全包了,算法工程師再也不需要擔(dān)心測試環(huán)境的搭建,全圖形化的界面的學(xué)習(xí)幾乎是零成本。算法的開發(fā)和測試基本可以由算法工程師一人完成,開發(fā)效率提高,開發(fā)成本降低。同時也帶來一個新問題,就是算法不能直接使用還要C語言化。這就需要自動代碼生成,由于定點(diǎn)化的問題這部分工作還需要人的參與。這就是汽車軟件界言必simulink的原因。
至于第一點(diǎn),這是個歷史問題,不過為什么不是arm呢,因?yàn)槠噷π酒哪屈c(diǎn)功耗還是承擔(dān)得起的。
to be continued….
總結(jié)
以上是生活随笔為你收集整理的汽车软件设计的变化趋势的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XCP协议基础知识 - 协议层
- 下一篇: 从“月饼现象”谈吉利转型