亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2017-04-01 05:12:56王永峰范志容岳意娥楊麗莎蘇芮琦
        汽車電器 2017年3期
        關(guān)鍵詞:機系統(tǒng)上位整車

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

        (東風(fēng)汽車公司技術(shù)中心,湖北 武漢 430058)

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

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

        (東風(fēng)汽車公司技術(shù)中心,湖北 武漢 430058)

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

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

        在車載CAN控制器開發(fā)的過程中,需要多次向ECU中燒錄更新程序。傳統(tǒng)軟件的更新方法是通過BDM調(diào)試接口進行程序下載,該方法的數(shù)據(jù)下載速度慢,并且在控制器已安裝到整車上后,拆解控制器非常不便利,增加了系統(tǒng)維護成本。為了更快、更便捷地完成各控制器的軟件升級,在整車網(wǎng)絡(luò)設(shè)計時,要求所有的控制器具備在線數(shù)據(jù)刷寫能力,在不需要拆解控制器的情況下,通過整車診斷口完成程序升級。Bootloader是在主程序運行前的一段小程序,主要完成應(yīng)用數(shù)據(jù)下載和更新任務(wù)。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)的設(shè)計、建模、仿真、開發(fā)、測試及驗證當(dāng)中有著廣泛應(yīng)用,能夠為客戶提供強大且完整的CAN總線網(wǎng)絡(luò)開發(fā)仿真分析解決方案。目前,CANoe在全球各汽車整車廠及零部件廠中使用廣泛。CANoe具有開放式的架構(gòu),能解決復(fù)雜的任務(wù),并適用于特殊的應(yīng)用。它為整個分布式網(wǎng)絡(luò)的仿真和分析,提供了基于圖像和文本的建模和評估窗口(evaluation windows)。針對監(jiān)控和控制任務(wù),以及生產(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)絡(luò)上的數(shù)據(jù)通信進行分析優(yōu)化,實現(xiàn)用1個網(wǎng)關(guān)程序來連接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é)點的仿真很重要之處就是準(zhǔn)確地描述節(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為引導(dǎo)加載程序,是嵌入式系統(tǒng)在上電后運行的第1段代碼[1]。當(dāng)CAN 控制器進行上電復(fù)位后,會立刻執(zhí)行Bootloader代碼,完成CPU硬件設(shè)備的初始化以及系統(tǒng)所需的環(huán)境變量設(shè)置,啟動控制器內(nèi)核。上位機Bootloader主要用于為CAN控制器讀取并下載升級程序代碼,該代碼一般以hex或S19文件格式存儲。上位機Bootloader數(shù)據(jù)刷寫的前提是控制器已實現(xiàn)下位機在線數(shù)據(jù)刷寫功能。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        上位機讀取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ù)傳輸、校驗以及模式控制等功能。整個通信過程應(yīng)該遵守控制器在線數(shù)據(jù)刷寫流程。部分實行代碼如下所示。

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

        為了驗證CAN控制器Bootloader上位機系統(tǒng)的可靠性,本文將設(shè)計好的程序以及用于更新程序的S19文件,在整車上通過診斷口對控制器進行在線程序升級及測試驗證。測試設(shè)備包括:帶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升級后的版本確認(rèn)和性能核查。

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

        5 總結(jié)

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

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

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

        [3]樂志國,金啟前.電動汽車整車控制器Bootloader功能開發(fā)[J].佳木斯大學(xué)學(xué)報(自然科學(xué)版),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)絡(luò)架構(gòu)設(shè)計及測試。

        猜你喜歡
        機系統(tǒng)上位整車
        基于六自由度解耦分析的整車懸置設(shè)計
        手持式觸摸測試機對閘機系統(tǒng)的維護研究
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
        經(jīng)濟、可靠的自動開關(guān)機系統(tǒng)
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        京石高速公路自助發(fā)卡機系統(tǒng)的設(shè)計與應(yīng)用
        整車低頻加速噪聲研究及改進
        后置式自動發(fā)卡機系統(tǒng)應(yīng)用
        成人无码一区二区三区| 无码国产精品一区二区免费式芒果| 国产av一区仑乱久久精品| 国产精品午夜夜伦鲁鲁| 乱子伦在线观看| 亚洲另类国产综合第一| 亚洲性色ai无码| 日韩美女av一区二区| 又色又爽又黄高潮的免费视频 | 中国内射xxxx6981少妇| 人妻丰满熟妇AV无码片| 精品国产污黄网站在线观看 | 91亚洲精品久久久中文字幕| 国产精品蝌蚪九色av综合网| 国产精品久久久久久婷婷| 无码片久久久天堂中文字幕| 日本在线观看一区二区三区视频 | 中文字幕一区二区三区亚洲| 青青草视频在线免费观看91| 精品日韩av专区一区二区| 国产成人一区二区三区高清| 一本色道久久综合亚洲精品不| 国产精品无码dvd在线观看| 亚洲综合久久成人a片| 无码久久精品蜜桃| 精品国产一区二区三区性色 | 国产精品久久久久久久| 国偷自产av一区二区三区| 久久婷婷国产五月综合色| 日本免费在线不卡一区二区| 亚洲第一se情网站| 岛国大片在线免费观看 | 真人做爰片免费观看播放| 图图国产亚洲综合网站| 久久精品国产福利亚洲av| 欧美嫩交一区二区三区| 久久这里只精品国产免费10| 国产一区二区三区杨幂| 视频在线观看免费一区二区| 又粗又粗又黄又硬又深色的| av少妇偷窃癖在线观看|