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

        ?

        基于CANFD的域控制器Bootloader系統(tǒng)設(shè)計(jì)

        2025-07-13 00:00:00于文函陳明銀林志方澤彬林宇宇黃勇波
        汽車電器 2025年6期
        關(guān)鍵詞:程序服務(wù)

        中圖分類號(hào):U463.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-8639(2025)06-0084-03 Design ofDomain ControllerBootloaderSystem Basedon CANFD YuWenhan,Chen Mingyin,Lin Zhi,F(xiàn)ang Zebin,Lin Yuyu,HuangYongbo (Guangzhou Automobile Group Co.,Ltd.,Automotive Engineering Institute,Guangzhou 510,China)

        【Abstract】This paper based on the UDS diagnostic protocol and the auto factory's write specification,aset of write upper computer and domain controller Bootloader upgrade scheme based on CANFD communication is designed. Theupper computer is independentlydeveloped byTsmaster.OnlyFlash DriverandApp filescanbeimported toachieve a complete brush and write process,which is efficient andpractical.In the domaincontrolerscheme,thedesign principleofBTprogramiscompletelyproposed,inwhichAppbackupcan ensure theintegrityofECU function,and the scheme of Flash Driver downloaded toRAMenhances therobustness androbustness of theprogram.Theexperiment shows that the upper computer schemecan realize the complete process of brushing andwriting,and the domain controller Bootloader program has high stability.

        【Keywords】 CANFD;ZCU;Bootloader;reprogramming

        0 引言

        2020年以前,汽車電子電氣架構(gòu)主要采用分布式架構(gòu),該架構(gòu)無法應(yīng)對功能快速迭代升級(jí)和定制化生產(chǎn)的需求,也無法滿足未來汽車龐大的算力和數(shù)據(jù)要求。2023年開始,主機(jī)廠開始選擇集中式域控架構(gòu)作為解決方案。集中式域控架構(gòu)包括中央域、智駕域、信息娛樂域和區(qū)域控制等關(guān)鍵控制器。這些域控制器集成了分布式架構(gòu)下控制器的眾多功能,由于軟件迭代頻繁,所以這些控制器的軟件升級(jí)就顯得格外重要。

        控制器供應(yīng)商排查整車問題時(shí)常用的是Bootloader刷新。CANFD通信可以增加通信速率1。本文依據(jù)ISO14229標(biāo)準(zhǔn)的UDS診斷協(xié)議,并結(jié)合整車廠的刷寫規(guī)范,設(shè)計(jì)一套基于CANFDUDS的BootLoader上下位機(jī)升級(jí)方案。

        1車載軟件總體論述

        一個(gè)可重編程的ECU包含Bootloader(BT)和App程序。Bootloader是MCU上電后運(yùn)行的第一段程序2,它可初始化硬件設(shè)備、建立內(nèi)存空間的映射,也可對Flash進(jìn)行擦除和編程,起到引導(dǎo)應(yīng)用程序和升級(jí)應(yīng)用程序的作用。簡而言之,F(xiàn)lashBootloader通過CAN總線升級(jí)App程序。一個(gè)ECU如果沒有BT,那么更新程序只能通過燒錄器,反之,則可以通過診斷接口進(jìn)行升級(jí),這在整車上是非常方便的,不用拆件[3]。僅當(dāng)應(yīng)用程序無效、上電之初和軟件升級(jí)時(shí)才會(huì)運(yùn)行Bootloader。ECU在多數(shù)時(shí)間執(zhí)行的是應(yīng)用程序。

        Bootloader在產(chǎn)品出廠時(shí)就會(huì)固定下來,當(dāng)需要更新程序時(shí),通過BT程序?qū)pp程序進(jìn)行擦除和重新寫人,即產(chǎn)品出廠后只更新App軟件。ECU正常上電走完初始化后,會(huì)判斷是否有升級(jí)請求,如果沒有則跳到App程序運(yùn)行;如果有升級(jí)請求,則運(yùn)行BT程序進(jìn)行升級(jí)4。BT程序一般放在Flash的最開始處,App程序在其后,這樣可以獨(dú)立配置兩個(gè)區(qū)域的內(nèi)存保護(hù)。如圖1所示,App程序和BT程序占用不同的Flash,App程序和BT程序的區(qū)別在于它通過控制驅(qū)動(dòng)芯片、功率芯片和通信芯片,從而具有了輸入輸出功能。

        1.1 Bootloader

        Bootloader是Boot加Loader,Boot是引導(dǎo),用于初始化硬件設(shè)備,是為Loader做準(zhǔn)備的。Loader是加載器,Boot準(zhǔn)備好環(huán)境后,Loader將要執(zhí)行的程序從非易失性存儲(chǔ)設(shè)備中加載到內(nèi)存中運(yùn)行。Bootloader通過調(diào)用特定IAP程序?qū)α硗庖欢蜦lash空間進(jìn)行讀與寫操作,從而實(shí)現(xiàn)對MCU程序的更新。ECU如果有BT程序,則可通過CAN刷寫進(jìn)行版本修改、升級(jí),不用拆件,極大地方便了開發(fā)者。

        圖1中,BT程序使用UDS的診斷服務(wù)作為通信協(xié)議,它具有CAN驅(qū)動(dòng)、傳輸層和UDS協(xié)議層的通信堆棧。由于BT程序的重要性,它應(yīng)該被存放在已進(jìn)行保護(hù)(軟件上鎖或硬件保護(hù))的存儲(chǔ)區(qū)域??紤]可能刷寫失敗導(dǎo)致丟失 App 程序,可以在Flash中增加App備份、BT備份程序。

        1.2 Flash Driver

        本文FlashDriver指MCU廠商提供的擦寫Flash的驅(qū)動(dòng)函數(shù),當(dāng)升級(jí)時(shí),F(xiàn)lashDriver會(huì)被臨時(shí)下載到RAM中,軟件升級(jí)完成后復(fù)位就會(huì)刪除。這樣可以避免程序正常運(yùn)行中誤調(diào)用FlashDriver導(dǎo)致Flash程序被改寫。

        ?
        圖1可編程ECU內(nèi)存映射

        FlashDriver至少包含四個(gè)Flash接口函數(shù):初始化、反初始化、擦除和寫入。初始化函數(shù),BT程序調(diào)用此函數(shù)為Flash編程執(zhí)行硬件特定的初始化;反初始化函數(shù),下載完成后,BT調(diào)用此函數(shù)執(zhí)行特定的硬件操作來完成Flash編程,擦除函數(shù),BT程序調(diào)用此函數(shù)擦除指定的內(nèi)存區(qū)域;寫入函數(shù),BT程序調(diào)用此函數(shù)把數(shù)據(jù)寫進(jìn)Flash。

        1.3 Flash Tool

        FlashTool可以使用 C++[6] 、C#等進(jìn)行開發(fā)。如圖2所示,刷寫上位機(jī)導(dǎo)入安全算法文件、FlashDriver、App文件后自動(dòng)解析出 bin 文件里的起始地址、長度等信息,通過CAN卡(CANoe、Vspy、Kvaser、同星等)發(fā)送診斷報(bào)文與下位機(jī)進(jìn)行交互9。下位機(jī)接收到診斷報(bào)文后調(diào)用FlashDriver里的擦寫函數(shù)進(jìn)行App程序升級(jí)。如果上位機(jī)發(fā)報(bào)文格式錯(cuò)誤或者下位機(jī)響應(yīng)錯(cuò)誤都將導(dǎo)致刷寫失敗。

        FlashTool下載流程如下。

        1)讀取編譯后的目標(biāo)文件(s19、hex)。

        2)控制下載流程。

        3)基于協(xié)議執(zhí)行數(shù)據(jù)傳輸。

        4)執(zhí)行驗(yàn)證。

        2 BT程序軟件設(shè)計(jì)

        復(fù)位后,ECU從BT程序開始運(yùn)行,確保BT程序不受特定應(yīng)用程序硬件設(shè)置的影響。為確保BT程序不被修改,有些MCU廠商還會(huì)給BT程序加鎖實(shí)現(xiàn)保護(hù)。

        2.1 Flash重編程規(guī)范

        如圖3所示,ECU啟動(dòng)完成初始化后判斷是否有外部升級(jí)請求,有則跳到BT程序;沒有則判斷App程序是否有效,有效則跳到 App 程序,無效則跳到BT程序。

        ?
        圖3ECU啟動(dòng)時(shí)序

        ISO14229系列標(biāo)準(zhǔn)定義的統(tǒng)一診斷服務(wù)(Uni-fiedDiagnosticServices,UDS)診斷協(xié)議是用于汽車行業(yè)診斷通信的需求規(guī)范。表1是刷寫常用的診斷服務(wù)[0]。基于UDS診斷協(xié)議和整車廠的刷寫規(guī)范,將刷寫分為三個(gè)步驟:預(yù)編程、服務(wù)器編程和后編程。

        2.2 預(yù)編程

        預(yù)編程通過物理尋址和功能尋址發(fā)送診斷報(bào)文為編程網(wǎng)絡(luò)準(zhǔn)備網(wǎng)絡(luò)。檢查編程條件是為了判斷當(dāng)前條件是否可以升級(jí)。當(dāng)條件不滿足時(shí)(高壓上電、低壓異常或車速不為0),刷新服務(wù)請求將被拒絕。關(guān)閉DTC記錄和所有非診斷報(bào)文傳輸是為了降低總線負(fù)載率,為接下來的服務(wù)器編程準(zhǔn)備網(wǎng)絡(luò)。預(yù)編程步驟如圖4所示。

        ?
        表1刷寫常用的診斷服務(wù)

        22服務(wù)讀取 擴(kuò)展模式 檢查編程條件 預(yù)編程 \22xx\yy10\0331\0102\01003 停發(fā)非診斷報(bào)文 關(guān)閉DTC檢測 \0028\0301 \8502

        2.3 服務(wù)器編程

        服務(wù)器編程是整個(gè)編程步驟的重點(diǎn),它包含了安全算法、寫指紋信息、下載FlashDriver、升級(jí)App程序、校驗(yàn)程序完整性一致性等關(guān)鍵步驟。

        ECU收到1002指令后將外部刷新請求標(biāo)志位設(shè)置為有效并執(zhí)行ECU重啟。解鎖ECU,F(xiàn)lashTool向ECU請求種子,F(xiàn)lashTool和ECU都計(jì)算出密鑰,F(xiàn)lashTool將密鑰發(fā)送給ECU。ECU將匹配自己算出的值和FlashTool收到的密鑰值,如果一致,則通過安全算法。寫指紋信息是將診斷儀完成的刷寫信息寫進(jìn)ECU,這樣可以追溯到對應(yīng)的診斷儀。

        因?yàn)镕lash中存儲(chǔ)FlashDriver有風(fēng)險(xiǎn),所以FlashDriver是通過34、36、37服務(wù)下載到RAM。如圖5所示,寫App程序需要參數(shù)為 31~\ S 01 FF" "00 的RoutineControl服務(wù)請求擦除請求的邏輯塊。邏輯塊的所有段都通過服務(wù)RequestDownload(參數(shù)為起始地址和段的長度)、TransferData和RequestTransfer-Exit的序列下載到ECU。在34服務(wù)之后,段的所有數(shù)據(jù)字節(jié)由36服務(wù)傳輸。傳輸完所有的段字節(jié)后,使用37服務(wù)結(jié)束下載。

        2.4 后編程

        如圖6所示,后編程步驟由2E服務(wù)和硬復(fù)位等步驟完成。寫編程日期將編程日期寫入Flash中,可以追溯到最近一次刷寫的時(shí)間。硬復(fù)位將重啟ECU并最終跳轉(zhuǎn)到App程序運(yùn)行。

        ?
        圖4預(yù)編程步驟
        ?
        圖5服務(wù)器編程步驟

        3試驗(yàn)

        本文基于域控制器進(jìn)行CANFD的刷寫試驗(yàn),采用同星TC1013為刷寫CAN卡,同星配套軟件Tsmas-ter為上位機(jī)。假如刷寫條件(供電電壓、車速等)不滿足,刷寫會(huì)失??;假如刷寫過程中斷電,由于有App備份,ECU依然具有備份的App程序。整個(gè)試驗(yàn)過程檢驗(yàn)了FlashTool上位機(jī)的功能,也檢驗(yàn)了域控制器的BT程序。整個(gè)刷寫流程滿足國標(biāo)和企標(biāo)要求,試驗(yàn)成功。如圖7所示。

        4結(jié)束語

        本文依據(jù)ISO14229標(biāo)準(zhǔn)的UDS診斷協(xié)議,并結(jié)合整車廠的刷寫規(guī)范,設(shè)計(jì)了一套基于CANFDUDS的Bootloader上位機(jī)和域控制器升級(jí)方案。上位機(jī)采用同星配套軟件Tsmaster,上位機(jī)方案自主開發(fā)出刷寫界面,只用導(dǎo)人FlashDriver和App文件即可,高效實(shí)用。上位機(jī)方案完整地提出了刷寫的流程。域控制器升級(jí)方案中完整地提出了BT程序的設(shè)計(jì)原理,其中App備份可以保證ECU功能的完整性。FlashDriver臨時(shí)下載到RAM中的方案增強(qiáng)了程序的魯棒性和健壯性。

        參考文獻(xiàn):

        [1]潘文卿,劉興義,王飛飛.CANFD協(xié)議在程序刷寫中的研究與應(yīng)用[J].汽車電器,2021(12):36-38,41.

        [2]凌露露,趙芬.車載毫米波雷達(dá)Bootloader的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2021(9):218-220.

        [3]陳睿智,石春,吳剛,等.面向OTA需求的汽車電控單元Bootloader設(shè)計(jì)[J].儀表技術(shù),2021(2):8-12,22.

        [4]李鑫,李艷明,王志遠(yuǎn),等.基于CAN總線電氣綜合控制盒Bootloader軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].車輛與動(dòng)力技術(shù),2021(1):39-42,54.

        [5]李興國,周榮,李旭.基于PowerPC系列處理器的Boot-loader設(shè)計(jì)與應(yīng)用[J].鐵路通信信號(hào)工程技術(shù),2020,17(1):34-37.

        [6]袁鋒,丁元章,張偉,等.基于S32K148的車輛網(wǎng)關(guān)CANBootloader開發(fā)與實(shí)現(xiàn)[J].汽車電器,2021(12):30-32,35.

        [7]唐恒飛,王效金.基于UDS協(xié)議的汽車控制器刷寫軟件設(shè)計(jì)[J].智能計(jì)算機(jī)與應(yīng)用,2021,11(1):102-105

        [8]么居標(biāo),宋建桐,呂江毅,等.基于CAN總線的電機(jī)控制器Bootloader開發(fā)[J].測控技術(shù),2018,37(10):124-126,131.

        [9]楊朝陽,黃凱旋,仝秀峰,等.基于UDS的Bootloader上下位機(jī)設(shè)計(jì)[J].軟件,2023,44(7):42-47.

        [10]趙鑫.基于CAN總線的多控制器軟件刷寫技術(shù)的研究與實(shí)現(xiàn)[D].武漢:武漢科技大學(xué),2022.

        (編輯楊凱麟)

        ?

        猜你喜歡
        程序服務(wù)
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        試論我國未決羈押程序的立法完善
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        服務(wù)在身邊 健康每一天
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
        商周刊(2017年9期)2017-08-22 02:57:56
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        精品亚洲国产成人| 丝袜美腿av免费在线观看| 熟妇人妻精品一区二区视频| 日日摸夜夜添夜夜添高潮喷水| 国产一极内射視颍一| 国产曰批免费视频播放免费s| 国产极品美女到高潮视频| 久久开心婷婷综合中文| 精品久久久久久综合日本| 免费国产裸体美女视频全黄| 亚洲AV成人无码久久精品四虎| 久久精品成人一区二区三区蜜臀| 中文字幕国产精品一二三四五区| 亚洲av男人的天堂在线| 久久精品成人一区二区三区| 亚洲精品无码久久久久av老牛| 五月天激情小说| 午夜一区二区三区av| 中文字幕视频一区二区| 日本一本免费一二区| 中文字幕一区二区三区精彩视频 | 无码高潮久久一级一级喷水| 成人av一区二区三区四区| 国产精品无码一区二区在线观一| 亚洲国产一区二区a毛片| 亚洲精品中国国产嫩草影院美女| 久久精品国产亚洲av一| 国产午夜片无码区在线播放| 又黄又爽又色又刺激的视频| 粉嫩极品国产在线观看| 女人被躁到高潮嗷嗷叫免费软| 深夜一区二区三区视频在线观看| 天堂中文最新版在线中文| 9191在线亚洲精品| 一区二区三区国产大片| 完整版免费av片| 亚洲有码转帖| 日本啪啪一区二区三区| 日本师生三片在线观看| 吃奶呻吟打开双腿做受视频| 日本中文字幕在线播放第1页|