999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AUTOSAR架構的XCP標定系統開發

2017-05-30 03:55:20謝江浩彭憶強朱麗羅青松
中國測試 2017年12期

謝江浩 彭憶強 朱麗 羅青松

摘 要:針對汽車總線多樣化以及汽車ECU之間數據交互量大的問題,設計一款以32位微處理器為硬件內核、以AUTOSAR為軟件架構,符合MISRA-C嵌入式編程規范,適用于多種通信總線的XCP標定系統。在該標定系統數據交互中,為增加標定系統通用性和代碼可重用性,采用符合AUTOSAR通信協議棧的標準接口,實現與AUTOSAR其他協議棧的無縫連接。同時對XCP代碼進行QAC檢測,提高標定系統代碼閱讀性。編寫Vector CANoe的CAPL腳本程序,進行自動功能測試,檢測標定系統功能的完整性。測試結果表明:所設計的標定系統數據交互實時性高、可靠性強。

關鍵詞:XCP;AUTOSAR;標定系統;QAC

文獻標志碼:A 文章編號:1674-5124(2017)12-0113-06

Abstract: With regard to the diversified automobile bus and the amount of data exchange between ECU, a XCP calibration system that takes 32-bit microprocessor as the core of hardware and AUTOSAR as the software architecture, complies with MISRA-C standard and applicable to various communication buses is designed. In the data exchange of the calibration system, this system uses a standard port suitable for AUTOSAR protocol stack to improve the universality of the system and the reusability of the code, and realizes the seamless connection with other AUTOSAR protocol stacks. Meanwhile, the XCP systems code is detected with QAC method to improve the code readability of the calibration system. A CAPL script program is written based on Vector CANoe, and the automate testing of functional integrity of calibration system is carried out. The test results show that the designed calibration system has high real-time data and strong reliability.

Keywords: XCP; AUTOSAR; calibration system; QAC

0 引 言

標定系統在汽車發動機控制系統、變速器控制系統、底盤控制系統、剎車防抱死系統、車身電子控制系統等電子模塊的開發中都具有重要作用,可以通過修改ECU控制軟件參數來提高車輛安全和舒適性能[1-2]。目前,隨著汽車智能化程度越來越高,汽車電子控制單元的數目越來越多,各電控單元之間的通信速度越來越快,通信采用的總線形式也趨于多樣化。但是,國外開發的XCP標定軟件不僅價格昂貴,而且不提供原代碼,而國內大部分汽車廠商的標定軟件都是基于CAN總線的CCP(CAN calibration protocol)標定協議[3-4],所以開發一款可以兼容不同通信總線的XCP標定系統勢在必行。但是,由于汽車電子控制單元的多樣性,使得對不同的汽車電子控制單元,代碼都需重新開發,代碼重用性低、開發成本高。為解決上述問題,縮短研發周期,需開發一款可重用的標定軟件。

為此,本文開發了一款基于AUTOSAR架構的XCP標定系統。該系統融入AUTOSAR軟件架構,使用通信標準接口進行數據交互,實現XCP協議的模塊化開發,同時XCP協議可以實現不同總線上的數據傳輸,適用于不同硬件平臺,提高通信能力,解決了使用其他汽車總線實現標定的難題。最后,通過對所開發的標定系統進行代碼QAC檢測及功能測試,結果顯示該標定系統軟件功能完整、實時性高、性能穩定。

1 AUTOSAR架構簡介

隨著汽車電子控制系統復雜性的不斷增加,軟件代碼量急劇上升,且嵌入式系統不支持硬件抽象,導致處理器型號更換以后,代碼的重用性差,軟件往往需要重新編寫,這就使得軟件系統開發周期長、成本高,不能滿足汽車電子技術高速發展的要求。于是AUTOSAR(automotive open system architecture)架構應運而生[5],它是汽車制造商和供應商共同合作開發、建立的符合汽車電子開放式E/E架構行業標準。

AUTOSAR架構整體分為3層,分別是應用層、運行環境抽象層、基礎軟件層。應用層包括傳感器軟件組件、執行器軟件組件以及應用軟件組件。運行環境抽象層是應用軟件和基礎軟件層的通信橋梁,可以為應用層提供一個統一的通信環境。基礎軟件層是協議棧的實現,包括標準通信棧、網絡管理模塊、診斷協議棧、存儲棧、操作系統、微控制器抽象層MCAL(microcontroller abstraction layer)驅動軟件模塊。

本文所述標定系統屬于基礎軟件層,它提供了一種符合AUTOSAR標準通信接口的標定軟件模塊解決方案。

2 XCP標定系統設計方案

本系統以飛思卡爾32位MPC5644作為微處理器。該微處理器最高總線時鐘頻率可達到150 MHz,內部192 KB RAM,4 MB片內Flash,滿足多標定數據要求。其系統設計方案如圖1所示。

在此系統中,標定工具支持Vector公司的CANape軟件、ETAS公司的INCA軟件以及普華I-CAL軟件,PC端標定軟件與標定工具對應,通信驅動模塊可以是CAN總線、FlexRay總線、USB等,本系統使用CAN總線。

本系統的工作原理是:安裝于PC端的標定軟件,通過GUI界面發送指令,標定工具將命令轉換為通信數據,發送給微處理器MPC5644通信驅動模塊,XCP標定協議棧根據命令要求進行相應操作。其通信命令包括標準命令組、標定命令組、頁切換命令組、DAQ基本命令組、Flash刷寫組。XCP標定協議棧響應命令返回給PC標定軟件,確認操作是否成功。

3 符合AUTOSAR架構的XCP協議實現

在AUTOSAR軟件架構中,通信模塊通過Interface(接口)模塊與驅動模塊進行連接。本系統使用CAN總線傳輸標定數據,通過Can Interface模塊嵌入AUTOSAR軟件架構。符合AUTOSAR軟件架構要求,可以提高代碼重用性,更換處理器型號后,代碼不需要重新編寫,減少軟件系統研發成本、縮短開發周期。

AUTOSAR通信協議棧一般抽象為總線驅動模塊、總線接口模塊、網絡管理模塊、通信管理模塊、傳輸層模塊以及內部數據交互模塊等。其中,總線驅動模塊實現硬件通信驅動;總線接口模塊提供協議層數據路由;協議層數據路由,通過診斷協議與診斷模塊通信實現診斷功能;網絡管理模塊通過網絡管理協議實現其功能;內部數據交互模塊實現ECU之間數據交互。同時運行環境抽象層與通信管理模塊連接,實現與應用層之間的通信[6]。圖2顯示XCP協議在AUTOSAR軟件架構中的位置,可以基于CAN總線、FlexRay總線或以太網,通過總線接口接入AUTOSAR軟件架構。

XCP協議實現數據標定與測量,通過AUTOSAR軟件架構的總線接口實現數據發送與接收,嵌入式操作系統的任務調度實現不同通道DAQ周期上傳。

在圖2中,AUTOSAR XCP模塊在總線接口模塊上方,如FlexRay或CAN總線,并通過總線接口實現XCP協議獨立標定數據的傳輸。

3.1 XCP協議數據發送過程分析

XCP協議通過CAN接口模塊的CanIf_Transmit函數發送數據,發送成功后,調用CanIf_TxIndication回調函數確認數據發送成功,圖3詳細說明數據發送成功后的處理過程。

3.2 XCP協議數據接收響應過程分析

XCP協議通過CAN接口模塊的CanIf_RxIndication函數接收測量數據,并對其進行處理,圖4詳細說明數據接收成功后處理機制。具體實現了XCP獨有Block傳輸響應機制,包含DAQ和STIM處理流程以及事件錯誤與命令錯誤的處理機制。由于CAN報文每幀最多8Byte數據,未滿8Byte數據需用0xFF填充,所以完成數據接收后,需先對報文長度進行檢查,然后再判斷接收命令是否正確,再進行相關處理。在Block模式下,進行DOWNLOAD和PROGRAM命令處理,需先將命令數據包存入緩存池,判斷當前標定或刷寫命令的總字節長度是否大于6,如果否,則將狀態置為接收;如果大于6,則狀態置為模塊接收,并將緩存池ID設置為DNLOAD_NEXT或PROGRAM_NEXT命令,并結束接收過程。

3.3 XCP協議分析

XCP協議通過主從模式進行通信。其中主機一般指PC端標定軟件,從機一般指包含XCP協議的ECU模塊。主機通過標準命令組中的CONNECT命令進行與從機的連接;建立連接后,主機就可以發送標定命令組的DOWNLOAD與UPLOAD命令進行數據的標定與測定,發送頁切換組命令SET_CAL_PAGE,實現RAM與Flash不同區域切換,發送DAQ/STIM命令組的WRITE_DAQ等命令實現標定數據的實時上傳,同時也可以發送Flash刷寫命令組的PROGRAM命令實現數據儲存[7]。

XCP協議接受到命令后,首先判斷前期接收到的命令是否處理完成,是否處于空閑狀態,再判斷接收到的命令是否有效,如果是則進行相應的命令處理。以標準命令處理過程為例,進行說明。

3.4 標準命令分析

在XCP協議中,標準命令主要用于主機與從機建立連接,數據的上傳與下載以及數據解鎖等。其包含的部分命令見表1。

通過CONNECT命令主機與從機建立連接。如果上傳與下載數據需要解鎖,必須通過GET_SEED命令獲取密鑰,并使用UNLOCK命令進行解鎖;解鎖成功后,通過SET_MTA命令指定工作地址,之后才可以通過DOWNLOAD命令下載數據到該地址或通過UPLOAD命令上傳該地址對應的數據。當完成數據的傳輸后,可以通過DISCONNECT命令斷開主機與從機之間的連接。表中的DOWNLOAD_NEXT命令用于Block功能傳輸中。

4 XCP軟件測試

XCP軟件測試主要是針對代碼的QAC掃描和功能測試,其中QAC掃描用于檢測編程規范是否滿足MISRA-C規范,增強代碼閱讀性以及減少代碼存在的風險;功能測試用于檢測XCP軟件功能是否正確和完善。

4.1 QAC靜態掃描分析

代碼的QAC靜態掃描主要包括最大嵌套值STMIF、路徑復雜度STCYC、靜態路徑計數值STPTH、單一函數的行數STLIN、聲明靜態全局變量和函數STSCT、注釋密度STCDN。其中最大嵌套值需小于5,值過大會導致黑盒測試比較困難;路徑復雜度需小于15,值過大會增大代碼復雜度。另外,靜態路徑計數值需小于300,單一函數的行數需小于200,聲明靜態全局變量和函數需小于30,這3個數值均會影響代碼的可讀性及可靠性[9]。

本文以最大嵌套值舉例進行說明,如圖5所示。圖中有一個函數的最大嵌套值超過最大值,其原因是在實際代碼中,該函數需要支持多種刷寫方式,且檢查地址時需要對多種情況進行考慮,為了功能的完整性以及不影響代碼可讀性,可以接受。

4.2 功能測試分析

在進行功能測試之前,首先需要將XCP標定軟件集成到AUTOSAR軟件架構中,其中包括OSEK OS:實現周期性任務的調度; 通信模塊:由于該系統基于CAN總線實現數據的傳輸,所以主要包括CAN模塊相關的程序;存儲模塊:主要是Flash程序的刷寫,實現數據的保存與讀取。

本文中,XCP標定軟件的功能測試工具為Vector的CANoe。通過對其編寫CAPL腳本程序,可以模擬主機發送各種命令同時接受響應數據,將響應數據與期望數據進行比較,就可以自動實現標定軟件功能測試[10-11],圖6是功能測試過程中搭建的硬件環境。圖中左邊為MPC5644開發板,作為XCP標定系統的下位機;右上角為CANoe工具,實現數據的傳輸;右下角為PE下載器,實現對XCP系統程序刷寫及調試。

圖7顯示了測試腳本界面,通過添加TestCase與TestFunction完成XCP系統功能性測試。然后對連接命令的測試進行說明,圖8顯示了連接命令的3種不同測試用例。圖8(a)表示:發送正常連接命令,正常響應;圖8(b)表示:重復發送正常連接命令,第1次正常響應,第2次響應已連接錯誤;圖8(c)表示:第1次發送正常連接命令后,正常響應,再發送錯誤地址連接命令,響應超出范圍錯誤。圖9顯示測試結果,從圖中可以看出測試結果都通過,說明所研制的XCP系統標定、測量、存儲等功能都滿足要求。

5 結束語

基于飛思卡爾32位微處理器MPC5644,完成了所研制的XCP標定系統的功能測試。通過在該微處理器中刷寫基于AUTOSAR架構的XCP系統,并通過CANoe工具編寫CAPL腳本,實現XCP功能的自動測試。其中涉及嵌入到AUTOSAR架構,主要體現在通信模塊接口規范,用于實現數據的傳輸。由于該系統基于CAN總線通信,所以使用CAN 接口模塊嵌入AUTOSAR架構中。嵌入到AUTOSAR架構中,可以增強代碼的重用性,對于后期基于FlexRay與以太網通信,只需要修改與硬件相關的驅動模塊,就能夠完成XCP基于FlexRay或以太網通信的移植,減少軟件的開發周期,從而節約開發成本,提供汽車總線多樣化的解決方案。

參考文獻

[1] 蘇瑜,周文華,竺春狄. 一種適用不同通信方式基于XCP協議的ECU標定工具的開發[J]. 汽車工程,2010,32(1):81-85.

[2] HILTON J. New AUTOSAR adaptive platform on its way[J]. Automotive Industries,2015,194(3):52-53.

[3] 陰曉峰,劉武東.汽車電子系統軟件開發新標準AUTOSAR[J]. 西華大學學報(自然科學版),2010,29(2):102-106.

[4] 郭晞文. 參照AUTOSAR標準的汽車電子通信與應用[D].杭州:浙江大學,2008.

[5] 馮占軍,丁鋒,譚啟寅. 基于XCP協議的ECU控制器標定系統開發[J]. 上海汽車,2013(11):16-18.

[6] 程馳. FlexRay通訊網絡在新一代動力系統控制器上的應用研究[D]. 北京:清華大學,2013.

[7] 李巖. 基于XCP協議的標定系統設計與實現[D]. 長春:吉林大學,2012.

[8] 徐柯. 嵌入式軟件測試的研究[D]. 成都:電子科技大學,2006.

[9] 徐澤南. 軟件自動化測試框架的設計與應用[D]. 上海:復旦大學,2011.

[10] 劉正升,萬程亮,蔣志忠,等. 自動測試系統中新技術的發展及應用[J]. 中國測試,2009,35(4):58-61.

[11] 王安軍,蔣建春,陳培然. 符合AUTOSAR規范的底層驅動軟件開發[J]. 計算機工程,2011,37(9):62-64,67.

(編輯:商丹丹)

主站蜘蛛池模板: 一级毛片无毒不卡直接观看 | 内射人妻无码色AV天堂| 性做久久久久久久免费看| 综合久久久久久久综合网| 国产亚洲欧美日韩在线一区| 国产AV毛片| 亚洲成人一区在线| 欧美日韩国产精品va| 国产在线自乱拍播放| 男女精品视频| 最新加勒比隔壁人妻| 免费人成在线观看成人片| 97视频免费看| 国内丰满少妇猛烈精品播| 国产美女91呻吟求| 成年人午夜免费视频| 日本高清有码人妻| 国产在线精品香蕉麻豆| 欧美在线视频不卡第一页| 国产99在线| 任我操在线视频| 欧美一级99在线观看国产| 国产精品亚洲日韩AⅤ在线观看| 看看一级毛片| 中文字幕欧美成人免费| 97久久人人超碰国产精品| 毛片大全免费观看| 精品国产三级在线观看| 91av成人日本不卡三区| 最新国产精品第1页| 777午夜精品电影免费看| 美女被躁出白浆视频播放| 国产精品嫩草影院视频| 亚洲成人网在线播放| 2021亚洲精品不卡a| 欧美人与牲动交a欧美精品| 无码区日韩专区免费系列| 日韩不卡高清视频| 国产91精品久久| 国产自在自线午夜精品视频| 色妺妺在线视频喷水| 欧美特级AAAAAA视频免费观看| 亚洲a级毛片| 精品人妻一区无码视频| 日本精品视频| 久久精品亚洲中文字幕乱码| 婷婷色婷婷| 91亚洲影院| 女人18毛片久久| 日韩人妻精品一区| 国产女人综合久久精品视| 一区二区三区毛片无码| 国产精品九九视频| 香蕉久人久人青草青草| 亚洲综合色婷婷中文字幕| 一级毛片在线播放免费观看| 亚洲视频四区| 波多野结衣在线se| 亚洲日韩国产精品综合在线观看| 国产内射一区亚洲| 久草视频精品| 狠狠亚洲五月天| 国产人成午夜免费看| 日本午夜三级| 欧美亚洲另类在线观看| 国产精品永久在线| 亚洲成人一区在线| 综合色亚洲| 99视频在线免费观看| 蜜臀av性久久久久蜜臀aⅴ麻豆| 老司机午夜精品网站在线观看| 亚洲狼网站狼狼鲁亚洲下载| 国产麻豆精品久久一二三| 中文字幕亚洲电影| 婷婷综合亚洲| 网友自拍视频精品区| 国产视频大全| 999精品免费视频| 真人免费一级毛片一区二区| 亚洲精品福利视频| 狠狠干欧美| 亚洲欧美色中文字幕|