SMARTCAR軟件平臺實現(xiàn)汽車電子系統(tǒng)軟件的整體設(shè)計
隨著汽車電子向著智能化、標(biāo)準(zhǔn)化、網(wǎng)絡(luò)化的方向發(fā)展,軟件開發(fā)在產(chǎn)品開發(fā)中所占的比重不斷增加,采用平臺化的設(shè)計方法降低成本、縮短開發(fā)時間、充分利用已有資源成為一種必然趨勢。
本文引用地址:http://m.butianyuan.cn/article/87892.htm目前,主要的汽車電子軟件的開發(fā)標(biāo)準(zhǔn)有AUTOSAR、MISRA和OSEK。浙江大學(xué)CCNT實驗室根據(jù)已有的標(biāo)準(zhǔn)和平臺,開發(fā)出了SMARTCAR汽車電子軟件平臺,包括了智能汽車平臺和汽車電子軟件開發(fā)平臺。
浙江大學(xué)副校長吳朝暉老師同時也是CCNT的學(xué)術(shù)帶頭人,他介紹說,包括面向智能汽車的自適應(yīng)中間件平臺ScudWare和在此基礎(chǔ)上開發(fā)的一個智能汽車空間原型系統(tǒng),是由車載處理中心、各種上下文采集設(shè)備、以及一系列遠(yuǎn)程Web服務(wù)器組成的一個計算環(huán)境,主要目的是根據(jù)用戶設(shè)定或者當(dāng)前環(huán)境特性自動提供適當(dāng)?shù)姆?wù),減少用戶主動發(fā)出服務(wù)請求的次數(shù),在車內(nèi)形成自發(fā)的、定制的服務(wù)空間,為用戶提供安全、舒適的行車環(huán)境。汽車電子軟件開發(fā)平臺SmartOSEK主要包括高可靠強(qiáng)實時的嵌入式操作系統(tǒng)內(nèi)核SmartOSEK OS、支持服務(wù)的板級支持體系結(jié)構(gòu)SmartOSEK BSS以及支持基于模型設(shè)計的圖形化開發(fā)環(huán)境SmartOSEK IDE幾大部分。重點解決復(fù)雜汽車電子應(yīng)用對操作系統(tǒng)的需求問題,面向汽車領(lǐng)域的建模描述問題,車控軟件的有效性驗證問題,開發(fā)過程中的文檔和代碼的自動生成問題,通過基于模型的軟件開發(fā)思想改變嵌入式系統(tǒng)的傳統(tǒng)開發(fā)方法,最終提高汽車電子控制系統(tǒng)產(chǎn)品開發(fā)的效率和產(chǎn)品質(zhì)量,降低開發(fā)成本。
SmartOSEK的組成結(jié)構(gòu)
SmartOSEK標(biāo)準(zhǔn)重點借鑒OSEK OS、OSEK OIL、OSEK COM、OSEK NM標(biāo)準(zhǔn)。AUTOSAR標(biāo)準(zhǔn),目前來說,主要借鑒了其Architecture的Communication Stack、RTE、System Services、Peripherals標(biāo)準(zhǔn)以及MethodologyAndTools、Application InteRFaces中相關(guān)的部分。MISRA標(biāo)準(zhǔn)主要是借鑒其針對汽車電子安全代碼的127條規(guī)則。
嵌入式實時操作系統(tǒng)SmartOSEK OS
SmartOSEK由操作系統(tǒng)、板級支持、開發(fā)工具三大部分組成,其操作系統(tǒng)部分SmartOSEK OS是嚴(yán)格按照OSEK/VDX規(guī)范實現(xiàn)的,而且是國內(nèi)第一個通過OSEK官方組織認(rèn)證的符合OSEK規(guī)范的嵌入式實時操作系統(tǒng)。
SmartOSEK OS嚴(yán)格實現(xiàn)了OSEK標(biāo)準(zhǔn)所規(guī)定的內(nèi)核模塊,具體包括任務(wù)管理模塊、資源管理模塊、事件機(jī)制模塊、定時器模塊、中斷處理模塊、錯誤處理模塊、內(nèi)部通信模塊等。
SmartOSEK內(nèi)核模塊需要底層模塊的支撐,包括體系相關(guān)模塊、開發(fā)調(diào)試模塊、硬件驅(qū)動模塊。體系相關(guān)模塊實現(xiàn)體系密切相關(guān)部分,如上下文切換等;開發(fā)調(diào)試模塊針對特定的平臺實現(xiàn)對應(yīng)用的監(jiān)控跟蹤調(diào)試;硬件驅(qū)動模塊包括各研究外設(shè)的驅(qū)動。SmartOSEK OS的應(yīng)用開發(fā)主要面向汽車電子控制系統(tǒng),包括發(fā)動機(jī)控制、變速箱控制、通信系統(tǒng)控制等。圖1是SmartOSEK OS的架構(gòu)圖。
SmartOSEK OS可滿足嚴(yán)格的片內(nèi)存儲器要求,內(nèi)核在4KB~12KB之間(32位PowerPC平臺);主頻為40M的MPC555上的SmartOSEK OS的上下文切換時間為微秒級;最大中斷屏蔽時間為21.72μs;最高可承受運行40kHz的中斷。
板級支持SmartOSEK BSS
板級支持SmartOSEK BSS是一個開放、通用的平臺,屏蔽具體硬件細(xì)節(jié),通過API向上層操作系統(tǒng)和應(yīng)用程序提供服務(wù),實現(xiàn)操作系統(tǒng)和應(yīng)用程序與硬件無關(guān)。對于新的硬件平臺,只要SmartOSEK BSS能夠?qū)崿F(xiàn),那么上層軟件就可以方便的移植。同時SmartOSEK BSS也應(yīng)該能夠在不同的開發(fā)平臺上使用,雖然它的具體實現(xiàn)可能會有不同,但接口是統(tǒng)一的。
參照AUTOSAR標(biāo)準(zhǔn)中對軟件系統(tǒng)的劃分,板級支撐平臺采用層次化結(jié)構(gòu)設(shè)計,分為微控制器抽象層和ECU抽象層,同時將整個板級支撐平臺按照功能分為四個模塊。
MCU抽象層包含各種驅(qū)動,按照功能特點分為四部分:IO驅(qū)動、通訊驅(qū)動、存儲驅(qū)動和微控制器驅(qū)動。它們是一個個軟件模塊,用于直接訪問微控制器內(nèi)的外設(shè)或者是內(nèi)存映射到微控制器的外部設(shè)備。MCU抽象層的結(jié)構(gòu)如圖2所示。
ECU抽象層包含那些通過網(wǎng)絡(luò)方式連接到微控制器的外部設(shè)備的驅(qū)動。ECU抽象層也分為四個部分:IO硬件抽象、通訊硬件抽象、存儲硬件抽象、板上設(shè)備抽象。
集成開發(fā)環(huán)境SmartOSEK IDE
SmartOSEK IDE是面向汽車電子應(yīng)用、支持SmartOSEK操作系統(tǒng)的集成開發(fā)環(huán)境。它充分借鑒了基于模型驅(qū)動的設(shè)計思想,圍繞汽車電子軟件開發(fā)領(lǐng)域V字型流程,提供UML需求建模、SmartC算法建模、狀態(tài)圖模型驗證、系統(tǒng)可調(diào)度性分析、自動代碼生成、自動文檔生成等一整套開發(fā)工具鏈。SmartOSEK IDE的總體結(jié)構(gòu)見圖3。
按照模型驅(qū)動的開發(fā)流程,首先是UML需求建模和結(jié)構(gòu)建模,并對UML進(jìn)行模型驗證,以確定設(shè)計是否滿足需求。SmartOSEK IDE提供模型轉(zhuǎn)換工具,直接把UML模型轉(zhuǎn)換成SmartC模型,在SmartC模型上進(jìn)行具體算法建模。在模型建立完成后,可以對模型進(jìn)行可調(diào)度性分析,以確保該模型滿足可調(diào)度性的要求。最后可以自動生成針對目標(biāo)平臺的符合MISRA標(biāo)準(zhǔn)的高質(zhì)量C代碼以及word格式的文檔。
SmartC是浙江大學(xué)CCNT實驗室嵌入式系統(tǒng)工程中心(ESE)自主開發(fā)的面向汽車電子領(lǐng)域的系統(tǒng)描述語言,和UML互為補(bǔ)充。SmartC的核心是其層次化建模方法,從上到下將系統(tǒng)的設(shè)計分為系統(tǒng)層、構(gòu)件層、任務(wù)層、子任務(wù)層、組件層五個層次。系統(tǒng)層關(guān)注的是整個系統(tǒng)的結(jié)構(gòu)和需求,構(gòu)件層關(guān)注的是系統(tǒng)的功能需求和軟件部署,任務(wù)層次關(guān)注的是系統(tǒng)的實現(xiàn),組件層關(guān)注控制算法的實現(xiàn)。
SmartOSEK IDE支持從模型自動生成針對SmartOSEK OS的應(yīng)用程序C代碼。生成的C代碼可以和SmartOSEK OS一起直接編譯運行的,不需要再手動修改。SmartOSEK IDE為用戶手動在模型中編寫的代碼提供符合MISRA標(biāo)準(zhǔn)代碼檢查器。
自動生成技術(shù)是提高軟件開發(fā)效率的重要手段,SmartOSEK IDE自動生成工具包括程序代碼的自動生成和設(shè)計文檔的自動生成。程序代碼的自動生成根據(jù)系統(tǒng)模型的設(shè)計和系統(tǒng)的配置文件,快速將預(yù)制的程序代碼組合成為實際的應(yīng)用系統(tǒng),能自動完成系統(tǒng)框架。預(yù)制的代碼包括各種復(fù)用的構(gòu)件、各種驅(qū)動以及操作系統(tǒng)等代碼,預(yù)制代碼越豐富,代碼自動生成的效率就越高。設(shè)計文檔的自動生成是指根據(jù)設(shè)計的系統(tǒng)模型自動生成相關(guān)的設(shè)計文檔。自動生成技術(shù)能消除傳統(tǒng)軟件開發(fā)方法各個階段之間的壁壘,減少問題并提高效率。自動生成技術(shù)另外一個很大的優(yōu)點是能保持生成源與生成目標(biāo)的同步,即模型和代碼能同步更新,非常好的保持系統(tǒng)的一致性。
針對不同的硬件平臺,SmartOSEK IDE提供了配置工具在自動生成代碼之前進(jìn)行配置和選擇,配置后,能自動生成適應(yīng)不同平臺上運行的代碼。自動生成的代碼框架是提前針對不同平臺預(yù)制好的,已經(jīng)作過相應(yīng)的優(yōu)化。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論