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

基于CAPL的CAN控制器Bootloader上位機系統(tǒng)設計

2017-06-05 15:00:38王永峰范志容岳意娥楊麗莎蘇芮琦
汽車電器 2017年3期
關鍵詞:程序

蔡 營,王永峰,范志容,岳意娥,楊麗莎,蘇芮琦

(東風汽車公司技術中心,湖北 武漢 430058)

基于CAPL的CAN控制器Bootloader上位機系統(tǒng)設計

蔡 營,王永峰,范志容,岳意娥,楊麗莎,蘇芮琦

(東風汽車公司技術中心,湖北 武漢 430058)

為了減少因拆卸控制器而導致的維護成本增加,方便車載CAN控制器進行在線程序升級,在整車網(wǎng)絡設計時,要求所有的CAN控制器能夠支持Bootloader程序刷寫功能,通過診斷口即能完成程序刷寫;Bootloader上位機軟件能夠集成數(shù)據(jù)刷寫過程中的所有診斷服務請求,通過直接導入要刷寫到控制器內(nèi)部的數(shù)據(jù)流文件,完成程序數(shù)據(jù)在線更新功能。通過CANoe軟件自帶的CAPL語言實現(xiàn)刷機刷寫上位機程序設計,提供簡單明了的用戶操作界面,能夠很好地完成控制器程序的刷寫任務。實際測試結(jié)果表明,應用CAN網(wǎng)絡測試工具及該上位機軟件,能夠成功刷寫程序,具有較高的有效性和可靠性。

CAPL語言;Bootloader;上位機;測試驗證

在車載CAN控制器開發(fā)的過程中,需要多次向ECU中燒錄更新程序。傳統(tǒng)軟件的更新方法是通過BDM調(diào)試接口進行程序下載,該方法的數(shù)據(jù)下載速度慢,并且在控制器已安裝到整車上后,拆解控制器非常不便利,增加了系統(tǒng)維護成本。為了更快、更便捷地完成各控制器的軟件升級,在整車網(wǎng)絡設計時,要求所有的控制器具備在線數(shù)據(jù)刷寫能力,在不需要拆解控制器的情況下,通過整車診斷口完成程序升級。Bootloader是在主程序運行前的一段小程序,主要完成應用數(shù)據(jù)下載和更新任務。Bootlaoder上位機程序為軟件升級提供一個簡單的操作窗,即數(shù)據(jù)監(jiān)控窗口。本文根據(jù)控制器的Bootloader數(shù)據(jù)刷寫流程,利用CANoe帶CAPL編程語言,完成控制器Bootloader數(shù)據(jù)刷寫上位機程序,實現(xiàn)車載控制器軟件在線刷寫功能。

1 CANoe軟件及CAPL語言簡介

1.1 CANoe 軟件簡介

CANoe是由德國Vector Informatik公司推出的一款總線開發(fā)專業(yè)工具,在CAN總線系統(tǒng)的設計、建模、仿真、開發(fā)、測試及驗證當中有著廣泛應用,能夠為客戶提供強大且完整的CAN總線網(wǎng)絡開發(fā)仿真分析解決方案。目前,CANoe在全球各汽車整車廠及零部件廠中使用廣泛。CANoe具有開放式的架構(gòu),能解決復雜的任務,并適用于特殊的應用。它為整個分布式網(wǎng)絡的仿真和分析,提供了基于圖像和文本的建模和評估窗口(evaluation windows)。針對監(jiān)控和控制任務,以及生產(chǎn)裝配過程,創(chuàng)建直觀的用戶控制平臺。同時,還集成了用于測試的“Test Feature Set”和用于診斷的“Diagnostic Feature Set”。CANoe提供針對生產(chǎn)周期中所有階段的專業(yè)功能,包括模型創(chuàng)建、仿真、功能測試、診斷和分析。

1.2 CAPL 簡介

CAPL全稱為Communication Access Program ming L anguage,即CAN總線訪問編程語言,是一種面向事件的編程語言,它的語法與C語言基本類似。在CANoe軟件中,集成了CAPL編程環(huán)境,通過CAPL編程能夠?qū)ο到y(tǒng)環(huán)境進行仿真和添加模擬節(jié)點,實現(xiàn)模擬節(jié)點與實際節(jié)點間通信,測試新節(jié)點的功能性和可靠性;另一方面,通過CAPL對網(wǎng)絡上的數(shù)據(jù)通信進行分析優(yōu)化,實現(xiàn)用1個網(wǎng)關程序來連接2種不同的總線,保證不同類型總線之間的數(shù)據(jù)通信。CAPL程序與數(shù)據(jù)庫結(jié)合起來,通過調(diào)用數(shù)據(jù)庫中的信號、消息、環(huán)境變量和實際測試環(huán)境聯(lián)系起來,從而能夠?qū)崟r監(jiān)測總線上的數(shù)據(jù)通信、接受總線上的控制信息,使得模擬面板上的控件進行動作;也能夠通過總線發(fā)出控制信息,控制外部環(huán)境動作,從而支持開發(fā)全仿真、半實物仿真、測試分析全實物系統(tǒng)3個仿真階段,對節(jié)點的仿真很重要之處就是準確地描述節(jié)點在總線上的動作。

CAPL是一種基于事件建模的語言,所支持的事件包括:總線事件、屬性事件和時間事件3大類。CAPL所支持的所有事件類型、程序執(zhí)行條件、語法結(jié)構(gòu)等,如表1所示。

表1 CAPL 所支持的事件類型

2 CAN控制器數(shù)據(jù)刷寫B(tài)ootLoader流程介紹

2.1 BootLoader數(shù)據(jù)刷寫定義

Bootloader為引導加載程序,是嵌入式系統(tǒng)在上電后運行的第1段代碼[1]。當CAN 控制器進行上電復位后,會立刻執(zhí)行Bootloader代碼,完成CPU硬件設備的初始化以及系統(tǒng)所需的環(huán)境變量設置,啟動控制器內(nèi)核。上位機Bootloader主要用于為CAN控制器讀取并下載升級程序代碼,該代碼一般以hex或S19文件格式存儲。上位機Bootloader數(shù)據(jù)刷寫的前提是控制器已實現(xiàn)下位機在線數(shù)據(jù)刷寫功能。

2.2 CAN 控制器Bootloader 數(shù)據(jù)刷寫流程

在整車網(wǎng)絡開發(fā)過程中,為了方便控制器在線更新程序,減少人工維護成本,要求所有CAN控制器必須支持Bootloader數(shù)據(jù)刷寫功能。在ISO15765-3標準中,已對Bootloader數(shù)據(jù)刷寫流程進行規(guī)范化要求,在此基礎上對流程進一步進行細化,對所支持的診斷服務、診斷先后順序進行了規(guī)定。Bootloader數(shù)據(jù)刷寫詳細流程及涉及的診斷服務,如圖1所示。

流程中所涉及的診斷服務依次如下。

1)0x10 DiagnosticSessionControl(診斷模式控制):客戶端通過該診斷服務切換CAN控制器的診斷會話模式,控制器一般支持的診斷會話模式包括默認模式、編程模式、擴展模式和下線檢測模式。

2)0x85 ControlDTCSeting(控制DTC設置):客戶端通過該服務來開啟或關閉CAN控制器故障碼記錄功能。

3)0x28 CommunicationControl(通信控制):客戶端通過該服務來開啟或者關閉CAN控制器報文發(fā)送、停發(fā)功能。

4)0x27 SecurityAccess(安全訪問):通過該服務,獲取CAN控制器的訪問權(quán)利;只有通過安全訪問后,才能對控制器進行數(shù)據(jù)寫入等操作。

5)0x31 RoutineControl(例程控制):客戶端通過該服務控制CAN控制器的例程、啟動例程、停止例程以及請求例程結(jié)果。

6)0x34 RequestDownload(請求下載):客戶端使用該服務初始化從客戶端到CAN控制器的數(shù)據(jù)發(fā)送,接收到請求后,控制器會有數(shù)據(jù)接收的響應。

7)0x35 RequesUpload(請求上傳):客戶端使用該診斷服務初始化從CAN控制器到客戶端的數(shù)據(jù)發(fā)送,接收到該診斷服務后,CAN控制器有數(shù)據(jù)上傳的響應。

8)0x36 TransferData(數(shù)據(jù)傳輸):客戶端使用該診斷服務來請求CAN控制器上傳/下載數(shù)據(jù)。

9)0x37 RequestTransferExit(請求退出傳輸):客戶端通過該診斷服務停止與CAN控制器之間的數(shù)據(jù)傳輸。

3 基于CAPL的CAN控制器Bootloader上位機系統(tǒng)設計

上位機的Bootloader程序主要用于CAN控制器讀取并下載用于控制器數(shù)據(jù)更新代碼的S19文件。本文中設計的CAN控制器Bootloader上位機系統(tǒng)采用CAPL語言,使用Vector的CANcardXL(045128)和CANcab251 opto作為CAN硬件接口,用于與下位機CAN控制器進行握手、應答、數(shù)據(jù)等[2]。

3.1 S19文件

S-record格式文件是Freescale CodeWarrior編譯器生成的后綴名為.S19的程序文件,是一段直接燒寫進MCU的ASCII碼,英文全稱為Motorola format for EEPROM progra m ming。S-record每行最大是78個字節(jié),156個字符,包括數(shù)據(jù)、地址、計數(shù)、類型及校驗和等信息[3]。

3.2 CAN控制器Bootloader上位機系統(tǒng)功能及軟件實現(xiàn)

本文中所設計的CAN控制器Bootloader上位機系統(tǒng)采用CAPL語言開發(fā),提供S19文件讀取控制界面,S19文件解析和CAN 通信功能。

1) S19文件讀取控制界面:通過該界面,選擇CAN控制器升級程序的S19文件,其代碼設計如下。

//程序執(zhí)行時,彈出S19文件讀取圖形界面

圖1 CAN 控制器Bootloader數(shù)據(jù)刷寫流程及診斷服務

上位機讀取S19文件的圖形界面,如圖2所示。

圖2 Bootloader上位機軟件讀取S19文件圖形界面

2)S19文件解析功能:CAN控制器Bootloader上位機S19文件解析模塊,包含了S19文件讀取、文件內(nèi)容解析、報文發(fā)送和 通信程序。

3)CAN通信:上位機的Bootloader程序加載S19數(shù)據(jù)文件,并通過CANcard和CANcab251作為硬件接口和傳輸介質(zhì),通過整車診斷口與下位機的CAN控制器建立通信連接,完成刷寫數(shù)據(jù)傳輸、校驗以及模式控制等功能。整個通信過程應該遵守控制器在線數(shù)據(jù)刷寫流程。部分實行代碼如下所示。

4 CAN控制器Bootloader上位機系統(tǒng)測試驗證

為了驗證CAN控制器Bootloader上位機系統(tǒng)的可靠性,本文將設計好的程序以及用于更新程序的S19文件,在整車上通過診斷口對控制器進行在線程序升級及測試驗證。測試設備包括:帶CANoe軟件計算機,整車診斷口連接線束,CANoe工具(CANCase、CANCard)??刂破鰾ootloader程序刷寫測試電路圖,如圖3所示。

圖3 CAN控制器Bootloader程序刷寫測試電路圖

測試方法及步驟如下:①將電腦通過CANcard和CANcab 線連接到整車的診斷接口(OBD);②整車上電到ON擋,啟動CANoe ,調(diào)用CAN控制器Bootloader刷寫程序;③通過面板打開S19文件讀取界面,選擇要升級的S19文件,點擊“Start”按鈕,開始升級程序;④記錄整個刷寫過程中的CAN數(shù)據(jù)文件,用于數(shù)據(jù)回放及測試問題分析;⑤整車下電到OFF擋后,重新上電到ON擋,進行ECU升級后的版本確認和性能核查。

測試結(jié)果表明,基于CAPL實現(xiàn)的CAN控制器Bootloader上位機系統(tǒng)在控制器在線升級測試過程中,操作簡便、高效,能很好地滿足控制器在線程序刷寫需求。

5 總結(jié)

CAN控制器Bootloader在線程序刷寫功能,能夠有效降低因控制器軟件維護、更新所帶來的拆解成本,完成實時在線程序升級。本文設計的基于CAPL編程的CAN控制器Bootloader刷寫程序,能夠很好地完成該項功能,但限于CAPL語言在圖形界面上的短板,整個上位機軟件系統(tǒng)界面不夠美觀。如果能夠利用C++或C#語言對CANoe接口的支持,采用多線程編程方式,可以對界面進一步優(yōu)化和美觀,開發(fā)更多過程監(jiān)控窗口以及故障在線分析功能,將會進一步提高該Bootloader上位機軟件的實用性,這將努力在下一版軟件中實現(xiàn)。

[1]羅勝耘,陸安江. 串行Flash啟動Bootloader的設計與實現(xiàn)[J].化工自動化及儀表,2010,37(8):90-93.

[2]鄒東升,余龍華.一種基于CAN總線程序調(diào)試技術研究[J].電子技術應用,2008,34(5):116-117.

[3]樂志國,金啟前.電動汽車整車控制器Bootloader功能開發(fā)[J].佳木斯大學學報(自然科學版),2014,32(2)237-241.

(編輯 凌 波)

The Design of CAN Controller's Bootloader PC System Based on CAPL

CAI Ying,WANG Yong-feng,F(xiàn)AN Zhi-rong,YUE Yi-e,YANG Li-sha,SU Rui-qi
(Dongfeng Motor Corporation Technical Centre,Wuhan 430058,China)

In order to reduce the extra maintenance costs due to the controller removal,and provide convenience for online program upgrade on-board of CAN controllers,it is required that all the CAN controller should support Bootloader flashing function,which could finish flash through the diagnostic port. Bootloader host computer software is capable of integrating all diagnostic data flashing process service requests,which can complete the online data update through direct importing controllers’data streams file. Through the design of host computer data update using CAPL programming language from CANoe,it provides a simple user interface and does well in CAN controller data writing task. Test results show that,the CAN Bootloader system can update data frame successfully with high validity and reliability.

CAPL language; Bootloader; host computer; test verification

U463.6

A

1003-8639(2017)03-0068-05

2016-09-07

蔡營(1987-),男,湖北黃岡人,工程師,碩士,主要研究方向為整車CAN網(wǎng)絡架構(gòu)設計及測試。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構(gòu)建
創(chuàng)衛(wèi)暗訪程序有待改進
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 国产尤物在线播放| 欧美视频二区| 国产成人精品一区二区| 亚洲系列无码专区偷窥无码| 青青操视频在线| 青青热久免费精品视频6| 91精品国产91久无码网站| 亚洲欧美精品在线| 欧美三级不卡在线观看视频| 999国产精品永久免费视频精品久久| 被公侵犯人妻少妇一区二区三区| 亚洲精品无码不卡在线播放| 国产成人精品2021欧美日韩| 国产综合日韩另类一区二区| 伊伊人成亚洲综合人网7777| 四虎在线观看视频高清无码| 9啪在线视频| 亚洲欧美人成人让影院| 噜噜噜久久| 一区二区日韩国产精久久| aa级毛片毛片免费观看久| 国产9191精品免费观看| 在线观看国产黄色| 成人福利免费在线观看| 国产成+人+综合+亚洲欧美 | 国产人人射| 欧美第二区| 国产特一级毛片| 国产a v无码专区亚洲av| 日本精品视频一区二区| 国产91无码福利在线| 五月激情综合网| 免费高清a毛片| 久久夜色精品| 亚洲色婷婷一区二区| 色亚洲成人| 国产中文一区a级毛片视频| 久久精品人人做人人爽电影蜜月| 成人av专区精品无码国产| 国产成人久久777777| 人人91人人澡人人妻人人爽| 免费在线一区| 成人永久免费A∨一级在线播放| 国产永久免费视频m3u8| 婷婷色在线视频| 欧美日本在线观看| 青青草原国产一区二区| 亚洲男人天堂2018| 国产玖玖视频| 欧美黄网在线| 99ri精品视频在线观看播放| 亚洲无码不卡网| 天堂成人av| 国产成人做受免费视频| 免费观看男人免费桶女人视频| 午夜影院a级片| 国产人人干| 天堂va亚洲va欧美va国产| 国产99在线| 91精品小视频| 亚洲精品免费网站| 久久综合色视频| 中文字幕久久波多野结衣| 久久精品国产国语对白| 久久久久亚洲av成人网人人软件| 毛片一级在线| 欧美专区在线观看| 91年精品国产福利线观看久久| 午夜电影在线观看国产1区| 国产亚洲欧美在线专区| 亚洲a免费| 无码高潮喷水专区久久| 欧美成人精品一级在线观看| 2018日日摸夜夜添狠狠躁| 亚洲国产综合自在线另类| 欧美一区二区精品久久久| 无码免费视频| 91亚洲国产视频| 国产性精品| 一级做a爰片久久免费| 成人噜噜噜视频在线观看| 五月婷婷亚洲综合|