摘 要:當(dāng)前我國(guó)的汽車(chē)電子技術(shù)研究領(lǐng)域相對(duì)不足,國(guó)內(nèi)幾乎70%的市場(chǎng)份額都屬于國(guó)外的研究企業(yè),甚至外資企業(yè)在發(fā)動(dòng)機(jī)電控等核心領(lǐng)域形成了技術(shù)壟斷,這對(duì)于我國(guó)汽車(chē)電子技術(shù)的發(fā)展是非常不利的。因此我國(guó)應(yīng)當(dāng)積極研發(fā)汽車(chē)電子軟件開(kāi)發(fā)技術(shù),充分掌握自主知識(shí)產(chǎn)權(quán),讓我國(guó)的汽車(chē)電子技術(shù)行業(yè)得到有效的進(jìn)步。
關(guān)鍵詞:汽車(chē)電子;嵌入式軟件;軟件開(kāi)發(fā)
隨著我國(guó)汽車(chē)市場(chǎng)規(guī)模的擴(kuò)大,汽車(chē)上的傳感器也越來(lái)越高多,信號(hào)處理也更加復(fù)雜,電控單元數(shù)據(jù)處理量也在成倍提升,這都促進(jìn)著汽車(chē)電子技術(shù)的飛速發(fā)展。不過(guò)由于我國(guó)的汽車(chē)電子技術(shù)研發(fā)起步較晚,因此對(duì)于嵌入式軟件的研發(fā)是我國(guó)汽車(chē)電子產(chǎn)業(yè)發(fā)展過(guò)程中最重要的工作之一。
1 汽車(chē)電子嵌入式軟件開(kāi)發(fā)應(yīng)用軟件的意義和趨勢(shì)
汽車(chē)電子軟件作為汽車(chē)電子技術(shù)的核心,同時(shí)也是技術(shù)里最強(qiáng)的一部分,而軟件的質(zhì)量也會(huì)對(duì)汽車(chē)電子產(chǎn)品的質(zhì)量造成直接影響。不過(guò)當(dāng)前我國(guó)大部分汽車(chē)電子開(kāi)發(fā)軟件程序員在汽車(chē)電子軟件的開(kāi)發(fā)過(guò)程中,依然會(huì)采用傳統(tǒng)手打代碼的模式,因此很容易產(chǎn)生效率慢、代碼質(zhì)量不足以及后期生產(chǎn)會(huì)產(chǎn)生大量的測(cè)試成本等弊端,這對(duì)于我國(guó)汽車(chē)電子技術(shù)產(chǎn)業(yè)的發(fā)展是非常不利的。
由于汽車(chē)電子軟件的控制算法基本一致,因此為了確保汽車(chē)電子軟件的可重復(fù)使用,車(chē)用操作系統(tǒng)目前有一個(gè)能夠相對(duì)廣泛接受的標(biāo)準(zhǔn):OSEK/VDX。而利用模型以及代碼自動(dòng)生成的軟件技術(shù)能夠有效解決這一問(wèn)題,首先這種方法能夠確保代碼的質(zhì)量,同時(shí)也減輕了測(cè)試成本;其次這種方法能夠讓模型、代碼以及代碼生成報(bào)告間有一定的一致性;而且在通過(guò)模型中加入支持OSEK標(biāo)準(zhǔn)的模塊能夠提高軟件的可復(fù)用性,而且也讓軟件的移植難度得到了有效的降低。
隨著我國(guó)汽車(chē)電子嵌入式軟件開(kāi)發(fā)技術(shù)的深入研究,我們不難發(fā)現(xiàn)只靠軟件組件本身的標(biāo)準(zhǔn)化很難滿(mǎn)足實(shí)際的開(kāi)發(fā)需求,因此開(kāi)發(fā)的流程和所用的工具平臺(tái)一樣需要展開(kāi)標(biāo)準(zhǔn)化。例如早在2003年,全球的汽車(chē)制造商、部件供應(yīng)商、電子開(kāi)發(fā)企業(yè)、半導(dǎo)體開(kāi)發(fā)企業(yè)、軟件系統(tǒng)公司聯(lián)合建立了AUTOSAR組織,也就是汽車(chē)開(kāi)放系統(tǒng)架構(gòu)組織,該組織主要目標(biāo)就是為汽車(chē)工業(yè)開(kāi)發(fā)一個(gè)開(kāi)放且標(biāo)準(zhǔn)化的軟件架構(gòu),確保推動(dòng)建立起汽車(chē)/電子架構(gòu)的開(kāi)放式標(biāo)準(zhǔn),讓這個(gè)標(biāo)準(zhǔn)能夠成為汽車(chē)嵌入式應(yīng)用功能管理的架構(gòu)基礎(chǔ),并且讓汽車(chē)電子產(chǎn)品、軟件和元器件的互通性得到有效規(guī)范。
在AUTOSAR架構(gòu)得到有效推廣后,汽車(chē)的電子系統(tǒng)軟件得到了有效的交換和更新,并且能夠?yàn)閷?duì)更加復(fù)雜的車(chē)輛電子、軟件系統(tǒng)展開(kāi)高效管理打好堅(jiān)實(shí)的基礎(chǔ)。而且AUTOSAR在能夠保障產(chǎn)品和服務(wù)質(zhì)量的基礎(chǔ)上,也能夠大幅度提升成本效率。如今更多的廠商都在致力于加入AUTOSAR組織,而且其開(kāi)發(fā)的商品也不斷以堅(jiān)持符合AUTOSAR標(biāo)準(zhǔn)為基礎(chǔ),當(dāng)前AUTOSAR已經(jīng)成為了其次電子開(kāi)發(fā)的核心標(biāo)準(zhǔn),而未來(lái)也必然成為汽車(chē)電子軟件開(kāi)發(fā)的主要趨勢(shì)。
2 汽車(chē)電子嵌入式軟件開(kāi)發(fā)應(yīng)用軟件的相關(guān)核心技術(shù)分析
2.1OSEK標(biāo)準(zhǔn)。在汽車(chē)制造業(yè)的發(fā)展過(guò)程中,一直對(duì)汽車(chē)電子控制應(yīng)用軟件的可移植性以及和不同廠商控制模塊的可兼容性作為主要追求。早在1993年德國(guó)汽車(chē)工業(yè)界就聯(lián)合推出了汽車(chē)電子開(kāi)放式系統(tǒng)以及接口:OSEK標(biāo)準(zhǔn),其目的就是為了在汽車(chē)上的分布控制單元提供一個(gè)開(kāi)放結(jié)構(gòu)的工業(yè)化標(biāo)準(zhǔn)。OSEK規(guī)范能夠從實(shí)時(shí)操作系統(tǒng)、通信以及網(wǎng)絡(luò)管理這三個(gè)方面對(duì)汽車(chē)電子控制軟件的開(kāi)發(fā)做出全面定義,采用在利用了OSEK標(biāo)準(zhǔn)之后,能夠有效提升汽車(chē)電子軟件產(chǎn)品的代碼復(fù)用率,確保開(kāi)發(fā)成本能夠得到控制,大幅度縮減產(chǎn)品的開(kāi)發(fā)周期。
2.2 Simulink模型定制機(jī)制。Simulink是一個(gè)基于模型設(shè)計(jì)的工具,其能夠利用模型來(lái)完成對(duì)線性和非線性系統(tǒng)的建模,而且在實(shí)際的建模工作中,部分信號(hào)的處理算法相對(duì)復(fù)雜,若是直接利用Simulink的模型庫(kù)模型展開(kāi)建模非常困難,甚至還會(huì)出現(xiàn)建模失敗的情況,因此Simulink為用戶(hù)提供的S函數(shù)機(jī)制來(lái)確保用戶(hù)能夠?qū)δP驼归_(kāi)自定義。
Simulink運(yùn)行M格式以及MEX格式的兩種S函數(shù),其次M格式的S函數(shù)能夠通過(guò)M語(yǔ)言直接生產(chǎn)。而MEX格式的S函數(shù)則需要利用mex工具進(jìn)行編譯,例如C語(yǔ)言、C++等語(yǔ)言編譯源都可以。
S函數(shù)會(huì)以一種非圖形化的方法來(lái)和Simulink引擎展開(kāi)交互,其機(jī)制以及模塊庫(kù)中的內(nèi)置模塊具有和Simulink交互機(jī)制一樣的機(jī)制。S函數(shù)也具有固定的編寫(xiě)格式,因此Matlab也推薦了一些模板來(lái)讓用戶(hù)進(jìn)行參考。S函數(shù)機(jī)制能夠?qū)imulink框圖簡(jiǎn)潔明了以及編程方式靈活的特點(diǎn)進(jìn)行有效融合,讓Simulink的功能得到了有效的擴(kuò)展。
常用的S函數(shù)實(shí)現(xiàn)方式主要有五種:首先是利用S.Function建構(gòu)器,利用圖形化的形式來(lái)提供部分S函數(shù)的功能,非常適用于新手使用,而且能夠屏蔽S函數(shù)和C語(yǔ)言之間的API。
其次是C語(yǔ)言實(shí)現(xiàn)方式,C語(yǔ)言提供了最大的可編程性,功能和算法能夠直接放到S函數(shù)中實(shí)現(xiàn),同時(shí)也可以利用S函數(shù)調(diào)用現(xiàn)場(chǎng)的C語(yǔ)言程序來(lái)實(shí)現(xiàn)算法,而且該模塊的生成代碼也可以利用嵌入的方法來(lái)展開(kāi)定制。
第三則是Level.1 M語(yǔ)言和Level.2 M語(yǔ)言實(shí)現(xiàn),其中Level.1 M語(yǔ)言只開(kāi)放了部分M語(yǔ)言和S函數(shù)間交互的API,只能實(shí)現(xiàn)簡(jiǎn)單的模塊功能;而Level.2 M語(yǔ)言則開(kāi)放了更多M語(yǔ)言和S函數(shù)間的API,因此大多數(shù)情況下會(huì)利用Level.2 M語(yǔ)言來(lái)實(shí)現(xiàn)S函數(shù)。
2.3 RTW ECoder代碼生成技術(shù)。RTW ECoder是對(duì)RTW產(chǎn)品的擴(kuò)展,其專(zhuān)門(mén)用于嵌入式領(lǐng)域,能夠增加針對(duì)復(fù)雜配置嵌入式系統(tǒng)中重要的軟件工程工作,其能夠從Simulink以及Stateflow模型中生產(chǎn)符合ANSI/ISO標(biāo)準(zhǔn)的C語(yǔ)言代碼。
在對(duì)嵌入式軟件進(jìn)行開(kāi)發(fā)的過(guò)程中,經(jīng)常需要根據(jù)不同的處理器或者目標(biāo)版來(lái)歷于不同的開(kāi)發(fā)環(huán)境,而且為了充分支持I/O設(shè)備,必須要針對(duì)不同硬件驅(qū)動(dòng)的需求來(lái)展開(kāi)開(kāi)發(fā)。而這些嵌入式軟件的開(kāi)發(fā)目標(biāo)能夠針對(duì)特定的MCU或者特定的開(kāi)發(fā)環(huán)境以及操作系統(tǒng)等等。
和Simulink一致,RTW ECoder本身能夠提供很多嵌入式目標(biāo),同時(shí)也可以讓用戶(hù)對(duì)嵌入式目標(biāo)進(jìn)行自定義定制,其中一個(gè)嵌入式目標(biāo)應(yīng)當(dāng)包括如下方面:首先是代碼組建,能夠指導(dǎo)以及支持模型生成代碼的C語(yǔ)言源文件,其中也包括了應(yīng)用組件和運(yùn)行接口組件兩個(gè)系統(tǒng);其次是控制文件,主要用于在代碼定制生成過(guò)程或者構(gòu)建文件的過(guò)程,一般包括STF、TMF以及一些M語(yǔ)言的回調(diào)函數(shù);最后則是目標(biāo)偏好類(lèi),用于定義目標(biāo)偏好類(lèi)來(lái)存儲(chǔ)該目標(biāo)特定的一部分信息,像是交叉編譯器的路徑等等。
結(jié)語(yǔ)
總的來(lái)說(shuō),在對(duì)面向汽車(chē)電子系統(tǒng)軟件的開(kāi)發(fā)構(gòu)架、建模以及代碼自動(dòng)生成工具以及開(kāi)發(fā)平臺(tái)進(jìn)行不斷研究后,我們可以發(fā)現(xiàn)增加針對(duì)配置復(fù)雜的嵌入式系統(tǒng)是非常重要的,這對(duì)于能夠?qū)崿F(xiàn)針對(duì)電子汽車(chē)軟件的開(kāi)發(fā)平臺(tái)標(biāo)準(zhǔn)化,進(jìn)而縮短汽車(chē)電子軟件的開(kāi)發(fā)周期以及減少開(kāi)發(fā)成本,提高汽車(chē)電子軟件的開(kāi)發(fā)效率。
參考文獻(xiàn):
[1]馮天舒. 面向汽車(chē)電子的嵌入式軟件開(kāi)發(fā)應(yīng)用軟件的研究與分析[D].吉林大學(xué),2012.
[2]董艷棟, 泛亞汽車(chē)電子生態(tài)化嵌入式軟件開(kāi)發(fā)平臺(tái). 上海市,泛亞汽車(chē)技術(shù)中心有限公司,2016-07-01.
作者簡(jiǎn)介:
朱全勝 (1994-10-),男,漢,籍貫:河北省 滄州市 學(xué)歷:研究生,研究方向:linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā) 嵌入式軟件開(kāi)發(fā)。