羅朗,王志強,于闊,朱聯(lián)邦,許寬林,尹愛霞
摘 要:日趨復雜的汽車電子系統(tǒng)所帶來的開發(fā)和維護成本,成為眾多汽車電子企業(yè)面臨的難題,AUTOSAR技術成為這一難題最有效的解決方案,其目的是建立標準的軟件架構,并定義統(tǒng)一的標準接口,實現(xiàn)軟硬件的分離。文章按照AUTOSAR基礎軟件的開發(fā)規(guī)范和開發(fā)要求,開發(fā)了基于MSCAN硬件模塊的驅(qū)動層和接口層。文章介紹了符合AUTOSAR規(guī)范的通信模塊開發(fā)技術,然后結合整車VPC(真空泵控制器)CAN通訊程序?qū)︱?qū)動層和接口層進行進一步闡述。通過實車驗證測試,結合通信程序應用層應用實例,更直觀的領悟到軟硬件分離的益處。
關鍵詞:AUTOSAR;硬件;軟件;CAN
中圖分類號:U463.6 ?文獻標識碼:A ?文章編號:1671-7988(2019)23-114-04
Application of VPC controller CAN communication program based on
AUTOSAR specification in the whole vehicle
Luo Lang, Wang Zhiqiang, Yu Kuo, Zhu Lianbang, Xu Kuanlin, Yin Aixia
( Technology Center, Anhui Jianghuai Automobile Co., Ltd., Anhui Hefei 230601 )
Abstract: The development and maintenance cost of the increasingly complex automotive electronic system, Become a problem faced by many automotive electronic enterprises, AUTOSAR technology is the most effective solution to the problem, Its purpose is to establish a standard software architecture, And define unified standards, Separation of hardware and software. According to the development specifications and requirements of AUTOSAR basic software, the driver kayer and interface layer based on MSCAN hardware module are developed. This paper introduces the development technology of communication module in accordance with AUTOSAR specification. Then combining with the can communication program of the vacuum pump controller, the driving layer and the interface layer are further elaborated. Pass the real vehicle verication test, combined with the application layer instance of communication program, the benefits of hardware and software seperation can be realized more intuitively.
Keywords: AUTOSAR; Hardware; Software; CAN
CLC NO.: U463.6 ?Document Code: A ?Article ID: 1671-7988(2019)23-114-04
引言
電子技術在汽車上的應用幾乎無處不在,電子設備的增多使汽車電子的復雜度呈指數(shù)增長,為減少軟件的重復開發(fā),降低維護成本,AUTOSAR規(guī)范應運而生。
CAN模塊是汽車應用的多節(jié)點通訊總線,具有傳輸速率高、抗干擾能力強、實時性好等優(yōu)點,是當前汽車最常用的通訊方式.但其具有軟件復雜性較高的特點。
1 AUTOSAR模塊介紹
AUTOSAR架構由應用軟件組件(SW-Cs)、虛擬功能總線(VFB)、運行實時環(huán)境(RTE)和電控單元基礎軟件(BSW)棧構成的分層結構,如下圖所示:
圖1 ?AUTOSAR框架結構圖
AUTOSAR的基本設計概念是實現(xiàn)應用軟件組件(SW-Cs)與基礎軟件(BSW)的隔離,頂層為應用層,是相互交互的應用/應用軟件組件的集合;底層為微控制器硬件;中間層由AUTOSAR運行時環(huán)境(RTE)和一套完整的被稱為AUTOSAR BSW的基礎軟件棧組成,作為獨立于硬件的應用軟件集成平臺。
1.1 AUTOSAR應用層
AUTOSAR應用層是相互交互的應用/功能軟件組件的集合,應用層是通過多個不可分割的SWC組成的,SWC通過AUTOSAR規(guī)范的端口連接到RTE(運行實時環(huán)境)上,完成信號和數(shù)據(jù)的傳輸。SWC將系統(tǒng)模塊化,減少模塊間的耦合,并且抽象出系統(tǒng)各模塊間的數(shù)據(jù)流和服務調(diào)用關系。AUTOSAR支持多ECU系統(tǒng),設計時需要將SWC映射到合適的ECU上。
圖2 ?多ECU的應用層及SWC結構
1.2 AUTOSAR運行實時環(huán)境(RTE)
RTE層作為ECU內(nèi)外部信息交換的中心,通過提供一致的接口服務實現(xiàn)通信。其功能包含:內(nèi)部/外部通信,客戶端與服務器之間的通信,顯性和隱形數(shù)據(jù)訪問等。
RTE為每個ECU實現(xiàn)VFB的標準接口,提供組件間通信的基礎服務,使組件訪問BSW資源更加容易。下圖為RTE與其上層應用軟件和下層BSW之間的連接關系。
圖3 ?RTE連接關系結構圖
1.3 AUTOSAR基礎軟件層(BSW)
BSW位于RTE以下,由標準組件及ECU特定組件組成,BSW的棧設計采用了逐層抽象的策略,從上到下可分為服務、ECU抽象和微控制器抽象三個層次,每一層均向其上層組件屏蔽了下層的實現(xiàn)細節(jié),以提高BSW組件的可重用性。BSW采用的是模塊化設計方法,模塊化設計可以很方便的根據(jù)不同的要求,對模塊進行選擇和組合,以構成不同功能、或功能相同但性能不同、規(guī)格不同的產(chǎn)品。BSW定義了所用RTE調(diào)用的相關接口,因為這些接口都是AUTUSAR的標準接口,所以開發(fā)人員可以對硬件一無所知的情況下進行應用組件的開發(fā),并將這個組件應用在任何符合AUTOSAR標準的ECU中,從而實現(xiàn)應用組件的配置開發(fā)與底層硬件平臺相互獨立,BSW將硬件資源進行抽象和封裝,通過標準的接口提供給RTE層,給應用層使用。
2 AUTOSAR標準的CAN通信模塊結構
飛思卡爾公司為主流汽車控制芯片供應商,為降低CAN模塊的使用難度,飛思卡爾公司將CAN控制器模塊集成到控制器內(nèi)部,可應用于整車的車身控制單元、電動助力轉向控制單元、剎車控制單元及電子駐車控制等模塊有著廣泛應用。
2.1 CAN驅(qū)動層功能及結構
CAN通訊層處于AUTOSAR通信協(xié)議棧的微控制器抽象層,為基礎軟件的最低一層,它與硬件直接交互,CAN驅(qū)動層向接口層提供規(guī)范的API(Application interface),同時還根據(jù)自身的硬件特征,向CAN接口層報告硬件事件和當前控制器的狀態(tài),實現(xiàn)上層對硬件資源的無差別管理和控制。
2.2 CAN接口層功能及結構
CAN接口層位于CAN驅(qū)動層之上,它調(diào)用CAN驅(qū)動層的API實現(xiàn)硬件資源的控制和使用,同時CAN接口層向上對應用層提供了相應的訪問接口,應用層通過接口層訪問和接收發(fā)送的數(shù)據(jù),查詢接口層所管理的硬件資源,方便應用層軟件的移植。
3 VPC控制器CAN模塊結構
VPC控制器應用飛思卡MC9S08DZ60芯片。
3.1 驅(qū)動層結構參考AUTOSAR規(guī)范進行開發(fā),其應用函數(shù)名稱如下
圖4 ?驅(qū)動層基礎函數(shù)
3.2 接口層結構參考AUTOSAR規(guī)范進行開發(fā),其應用函數(shù)名稱如下
圖5 ?接口層基礎函數(shù)
3.3 由于CAN驅(qū)動層及接口層函數(shù)結合芯片及AUTOSAR規(guī)范統(tǒng)一開發(fā)
并且其函數(shù)運行過程中不存在實參,因此在實踐應用中無需對其進行修改,只需對相應的應用層進行修改即可實現(xiàn)CAN模塊程序的應用。
3.4 VPC控制器CAN數(shù)據(jù)接收應用實例
CAN模塊的驅(qū)動層通過濾波,過濾掉不需要的ID部分,若ID匹配,則將數(shù)據(jù)傳輸?shù)浇涌趯?,接口層將上述信息傳輸?shù)綉脤樱瑧脤又邢鄳慕邮蘸瘮?shù)對應唯一的ID值,使用過程中只需根據(jù)ID數(shù)量及接收函數(shù)名稱對接收函數(shù)進行擴展,即可實現(xiàn)總線上不同節(jié)點ID的接收。
圖6 ?接口層ID擴展函數(shù)
CAN模塊應用層每增加一組ID,接收函數(shù)則需要增加下述的應用層擴展函數(shù),下述應用層擴展函數(shù)對應CAN矩陣的排布方式,同樣CAN矩陣的DBC需要同步更改。
圖7 ?應用層擴展函數(shù)1
圖8 ?應用層擴展函數(shù)2
圖9 ?DBC排列方式
3.5 VPC控制器CAN數(shù)據(jù)發(fā)送應用實例
CAN控制器發(fā)送程序可發(fā)送實時實參,寫入相應的CAN矩陣即可。無需其他操作。
3.6 對上述更改后的CAN接收及CAN發(fā)送程序進行修改
用FreescaleCodewarriorV6.3版本軟件進行編譯,生成S19文件后刷寫入整車程序,可實現(xiàn)擴展ID信息的接收和讀取。
4 結論
通過上述基于AUTOSAR架構的VPC軟件驗證可發(fā)現(xiàn),對CAN模塊應用軟件實現(xiàn)驅(qū)動層、接口層及應用層的分層設計,應用過程中只需要根據(jù)DBC修改其接口層及應用層擴展函數(shù),而無需對其驅(qū)動底層函數(shù)進行修改,即可實現(xiàn)既定的功能。軟硬件分層設計,不但降低了軟件的開發(fā)和維護成本,而且實現(xiàn)了軟件的集成度及平臺化,對電子電器行業(yè)的發(fā)展具有重大意義。
參考文獻
[1] 徐欽鵬.基于AUTOSAR車載以太網(wǎng)通信的實現(xiàn)[J]機電一體化2018,(10).
[2] 羅茂元.電子機械式制動系統(tǒng)電子通訊網(wǎng)絡CAN總線物理層設計[J]汽車世界2019,(3).
[3] 李威.基于CAN總線下串口通訊在車載監(jiān)測中的應用[J].工業(yè)控制計算機2019,(2).
[4] 袁偉杰.長城C50轎車加裝導致CAN網(wǎng)絡通訊故障的排除[J].汽車與駕駛維修2019,(3).
[5] 喬美昀,韋天文,基于AUTOSAR架構的汽車診斷通信協(xié)議棧的開發(fā)[J].企業(yè)科技與發(fā)展2018,(7).