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

基于CAPL的CAN控制器Bootloader上位機系統設計

2017-04-01 05:12:56王永峰范志容岳意娥楊麗莎蘇芮琦
汽車電器 2017年3期
關鍵詞:程序

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

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

基于CAPL的CAN控制器Bootloader上位機系統設計

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

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

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

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

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

1 CANoe軟件及CAPL語言簡介

1.1 CANoe 軟件簡介

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

1.2 CAPL 簡介

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

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

表1 CAPL 所支持的事件類型

2 CAN控制器數據刷寫BootLoader流程介紹

2.1 BootLoader數據刷寫定義

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

2.2 CAN 控制器Bootloader 數據刷寫流程

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

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

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

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

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

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

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

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

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

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

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

3 基于CAPL的CAN控制器Bootloader上位機系統設計

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

3.1 S19文件

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

3.2 CAN控制器Bootloader上位機系統功能及軟件實現

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

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

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

圖1 CAN 控制器Bootloader數據刷寫流程及診斷服務

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

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

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

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

4 CAN控制器Bootloader上位機系統測試驗證

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

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

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

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

5 總結

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

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

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

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

(編輯 凌 波)

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

CAI Ying,WANG Yong-feng,FAN 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網絡架構設計及測試。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 啊嗯不日本网站| 中文字幕免费播放| 99在线观看国产| 成人看片欧美一区二区| 亚洲中文字幕日产无码2021| 91香蕉视频下载网站| 午夜爽爽视频| 国产精品男人的天堂| 亚洲色图欧美一区| 欧美亚洲欧美区| 亚洲成人手机在线| 六月婷婷精品视频在线观看| 亚洲va欧美ⅴa国产va影院| 制服丝袜无码每日更新| 成人免费视频一区二区三区 | 91在线无码精品秘九色APP| 欧美无遮挡国产欧美另类| 欧美在线黄| 又污又黄又无遮挡网站| 精品欧美视频| 丝袜美女被出水视频一区| 在线精品欧美日韩| 中文精品久久久久国产网址| 不卡网亚洲无码| 欧美日韩中文国产| 国产尤物jk自慰制服喷水| 亚洲AV无码不卡无码| 亚洲色图另类| 日韩精品无码不卡无码| 91亚洲免费视频| 波多野结衣视频网站| 精品免费在线视频| 在线欧美一区| 成人福利在线视频免费观看| 天天综合色天天综合网| 中文字幕首页系列人妻| 亚洲国产一成久久精品国产成人综合| 国产激情无码一区二区APP| 小说 亚洲 无码 精品| 国产理论最新国产精品视频| 九九九久久国产精品| 国产一级做美女做受视频| 在线a视频免费观看| 免费人成网站在线高清| 亚洲熟妇AV日韩熟妇在线| 992tv国产人成在线观看| 欧美精品v| 67194在线午夜亚洲| 国产97区一区二区三区无码| 无码中字出轨中文人妻中文中| 亚洲无码视频图片| 国产成人1024精品下载| 一级毛片免费的| 欧美成人精品欧美一级乱黄| 国产乱人免费视频| 国产美女主播一级成人毛片| 午夜视频www| 激情国产精品一区| 野花国产精品入口| 19国产精品麻豆免费观看| 伊人成色综合网| 精品福利视频导航| 日本一区二区三区精品国产| 成人福利免费在线观看| 欧美成人A视频| 久久亚洲国产最新网站| 欧美一区二区自偷自拍视频| 亚洲另类第一页| 亚洲无线国产观看| 欧美在线天堂| 亚洲国产精品一区二区高清无码久久| 这里只有精品在线播放| 伊人国产无码高清视频| 日本色综合网| 亚洲中文在线视频| 一区二区自拍| 精品国产www| 99热国产在线精品99| 亚洲成人在线网| 小说 亚洲 无码 精品| 国产亚洲精久久久久久久91| 狼友av永久网站免费观看|