在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于UDS的CAN節(jié)點(diǎn)軟件升級設(shè)計(jì)

      基于UDS的CAN節(jié)點(diǎn)軟件升級設(shè)計(jì)

      作者:馬建輝 慕永云 侯冬冬 胡代榮 朱亮 時(shí)間:2019-03-29 來源:電子產(chǎn)品世界 收藏

      Design of CAN node software ypdate based on UDS

      本文引用地址:http://www.biyoush.com/article/201903/399039.htm

      馬建輝 123 ,慕永云 123 ,侯冬冬 123 ,胡代榮 123 ,朱亮 1
      (1.齊魯工業(yè)大學(xué)(山東省科學(xué)院),山東 濟(jì)南,250353;
      2.山東省科學(xué)院自動化研究所,山東 濟(jì)南,250014;
      3.山東省汽車電子技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 濟(jì)南,250014)

             摘要:汽車過程中大量頻繁的CAN通信造成網(wǎng)絡(luò)負(fù)載率升高,可能導(dǎo)致大部分節(jié)點(diǎn)功能降級或者失敗,時(shí)間過長也會給其它節(jié)點(diǎn)的功能安全帶來隱患?;?a class="contentlabel" href="http://www.biyoush.com/news/listbylabel/label/UDS on CAN">UDS on CAN協(xié)議設(shè)計(jì)了一種,在軟件升級過程中通過特定的UDS服務(wù)禁止CAN網(wǎng)絡(luò)節(jié)點(diǎn)的應(yīng)用報(bào)文和網(wǎng)絡(luò)管理報(bào)文發(fā)送,升級完成后恢復(fù)CAN網(wǎng)絡(luò)節(jié)點(diǎn)的應(yīng)用報(bào)文和網(wǎng)絡(luò)管理報(bào)文發(fā)送,保證了軟件升級過程中的CAN網(wǎng)絡(luò)帶寬。同時(shí)結(jié)合節(jié)點(diǎn)CAN報(bào)文接收服務(wù)程序設(shè)計(jì)、緩沖區(qū)設(shè)置以及對參數(shù)的調(diào)整,降低了程序升級時(shí)間。
             關(guān)鍵詞:;軟件升級;;;

        0 引言

             汽車電子零部件產(chǎn)品的生命周期一般多達(dá)10年以上,使用過程中可能會暴露一些產(chǎn)品部署初期未能測試出來的bug,導(dǎo)致產(chǎn)品存在被修復(fù)的需要,此外,新技術(shù)的出現(xiàn)也可能導(dǎo)致產(chǎn)品的功能升級。由于汽車電子零部件安裝空間受限,通過拆卸并更換新的電子零部件的方式進(jìn)行功能升級或者bug修復(fù),不僅操作復(fù)雜,而且成本高昂。因此,在實(shí)施了CAN總線系統(tǒng)的汽車中,一般是設(shè)計(jì)一種,通過CAN總線進(jìn)行汽車電子零部件功能的升級,部署實(shí)施新技術(shù),或修復(fù)產(chǎn)品bug。
        在汽車CAN網(wǎng)絡(luò)中進(jìn)行程序升級時(shí),其它的應(yīng)用報(bào)文和網(wǎng)絡(luò)管理報(bào)文會占用大量的CAN網(wǎng)絡(luò)帶寬資源,延緩整個(gè)升級過程,而且,程序升級過程中大量頻繁的CAN總線通信會造成大部分節(jié)點(diǎn)功能的降級,因此,有必要控制并盡可能降低軟件升級時(shí)間。
        通過CAN總線升級CAN節(jié)點(diǎn)程序的方法 [1] ,提出在進(jìn)行節(jié)點(diǎn)程序更新之前,禁止CAN網(wǎng)絡(luò)節(jié)點(diǎn)報(bào)文發(fā)送和故障碼設(shè)置,避免了程序升級過程中網(wǎng)絡(luò)負(fù)載率過高的問題,但沒有針對性地提出降低升級時(shí)間的解決方案。
        本文設(shè)計(jì)了一種基于UDS協(xié)議的Booloader,在下載應(yīng)用程序的Flash數(shù)據(jù)之前,通過UDS服務(wù)禁止CAN網(wǎng)絡(luò)節(jié)點(diǎn)報(bào)文發(fā)送和故障碼設(shè)置,通過設(shè)定多幀接收緩沖區(qū)大小以及中的STmin和BS參數(shù),最大程度上降低了升級時(shí)間。
        1 基于CAN的UDS協(xié)議

      1554700425247784.png

             定義了UDS [2] (表1 UDS報(bào)文格式services,統(tǒng)一診斷服務(wù)),側(cè)重于描述診斷服務(wù)部分,是全球通用的汽車診斷技術(shù)標(biāo)準(zhǔn)。ISO 15765-3以定義的服務(wù)為基礎(chǔ),規(guī)范了基于CAN總線的診斷服務(wù) [3] (),既給出了底層軟硬件要求,包含網(wǎng)絡(luò)定時(shí)、應(yīng)用層定時(shí)等詳細(xì)內(nèi)容,又給出了汽車CAN節(jié)點(diǎn)程序升級和通信的主體流程。
        基于客戶端-服務(wù)器的請求-響應(yīng)式系統(tǒng)架構(gòu) [4] ,在汽車CAN網(wǎng)絡(luò)中,診斷儀為發(fā)起請求的客戶端,CAN節(jié)點(diǎn)為返回響應(yīng)的服務(wù)器,UDS報(bào)文格式如表1所示。
        2 Bootloader設(shè)計(jì)

             2.1 升級過程設(shè)計(jì)

             在汽車CAN網(wǎng)絡(luò)中通過Bootloader進(jìn)行CAN節(jié)點(diǎn)的軟件升級,其它節(jié)點(diǎn)的應(yīng)用報(bào)文和網(wǎng)絡(luò)管理報(bào)文會占用大量的網(wǎng)絡(luò)帶寬,為了給升級過程創(chuàng)造一個(gè)良好的網(wǎng)絡(luò)環(huán)境,將軟件升級步驟分成編程前-編程-編程后三個(gè)階段,如圖2所示。
        在“編程前”階段,首先進(jìn)入擴(kuò)展會話模式,然后通過功能尋址的UDS服務(wù)禁止各個(gè)節(jié)點(diǎn)的應(yīng)用報(bào)文發(fā)送、網(wǎng)絡(luò)管理報(bào)文發(fā)送,同時(shí),由于很多節(jié)點(diǎn)收不到其它節(jié)點(diǎn)的報(bào)文后會記錄DTC故障,因此,首先禁止各個(gè)節(jié)點(diǎn)的DTC檢測,再禁止各個(gè)節(jié)點(diǎn)的報(bào)文發(fā)送 [5] 。
        在“編程”階段,首先進(jìn)入編程會話模式,然后進(jìn)行安全訪問,下載應(yīng)用程序?qū)?yīng)的指令數(shù)據(jù)。
        通過執(zhí)行被復(fù)制到指定RAM空間中的Flash驅(qū)動程序,擦除并燒寫應(yīng)用程序Flash數(shù)據(jù)。應(yīng)用程序數(shù)據(jù)下載并燒寫完成后,對數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)通過后,在數(shù)據(jù)Flash中存儲“應(yīng)用程序有效標(biāo)志”。
        在“編程后”階段,首先進(jìn)入擴(kuò)展會話模式,然后通過功能尋址的UDS服務(wù)恢復(fù)各個(gè)節(jié)點(diǎn)的應(yīng)用報(bào)文發(fā)送、網(wǎng)絡(luò)管理報(bào)文發(fā)送,然后恢復(fù)各個(gè)節(jié)點(diǎn)的DTC檢測。
        2.2 UDS服務(wù)

             軟件升級使用的UDS服務(wù)如表2所示。其中,“編程前”和“編程后”階段使用到的診斷服務(wù)包括“診斷會話控制”、“通信控制”、“控制DTC設(shè)置”,“編程”階段使用到的診斷服務(wù)有“診斷會話控制”、“安全訪問”、“請求下載”、“數(shù)據(jù)傳輸”、“請求退出傳輸”、“ECU復(fù)位”。

      1554700454305125.png

      1554700529252579.png

        2.3 指令數(shù)據(jù)下載

           “編程”階段的“下載應(yīng)用程序”采用“請求下載”、“數(shù)據(jù)傳輸”和“請求退出傳輸”服務(wù)下載應(yīng)用程序的指令數(shù)據(jù),流程如圖3所示。
        首先通過“請求下載”服務(wù)設(shè)定“數(shù)據(jù)傳輸”服務(wù)的多幀報(bào)文數(shù)據(jù)長度,然后以多幀通信方式實(shí)現(xiàn)“數(shù)據(jù)傳輸”服務(wù),完成“請求下載”服務(wù)指定長度的多幀報(bào)文數(shù)據(jù)的傳輸后,通過“請求退出傳輸”服務(wù)退出數(shù)據(jù)傳輸。
        2.4 軟件升級時(shí)間

           “編程前”階段、“編程后”階段以及“編程”階段的進(jìn)入擴(kuò)展會話模式、禁止DTC檢測、禁止應(yīng)用報(bào)文和網(wǎng)絡(luò)管理報(bào)文發(fā)送、進(jìn)入編程會話模式、安全訪問、數(shù)據(jù)校驗(yàn)、復(fù)位、恢復(fù)應(yīng)用報(bào)文和網(wǎng)絡(luò)管理報(bào)文發(fā)送、恢復(fù)DTC檢測等UDS服務(wù)均采用單幀通信,執(zhí)行時(shí)間固定,升級時(shí)間主要取決于“編程”階段的“下載應(yīng)用程序”。
        “數(shù)據(jù)傳輸”服務(wù)采用多幀通信方式,通信速度由和BS的設(shè)置決定,此外,“請求下載”服務(wù)設(shè)定的多幀報(bào)文長度不同,升級時(shí)間也不同。
        3 軟件升級測試

             筆者為某車廠開發(fā)了一款帶有軟件升級功能的車身控制器,MCU為恩智浦中端16位單片機(jī),升級文件采用S19格式,文件大小為左右,采用canoe設(shè)計(jì)了上位機(jī)升級軟件,選擇升級文件后進(jìn)行一鍵式下載,自動完成上述“編程前”-“編程”-“編程后”三個(gè)步驟。軟件升級數(shù)據(jù)流如圖4所示。
        、BS、多幀報(bào)文長度的設(shè)置取決于報(bào)文接收緩沖區(qū)容量和接收端數(shù)據(jù)幀處理速度,為了提高接收端數(shù)據(jù)幀處理速度,將CAN報(bào)文接收中斷服務(wù)程序放入RAM中執(zhí)行。同時(shí)考慮到功能安全、MCU RAM容量和運(yùn)行主頻,將多幀報(bào)文長度設(shè)定為512字節(jié),STmin設(shè)置為1 ms,BS設(shè)置為0,在這種設(shè)置下,軟件升級時(shí)間可以控制在30秒以內(nèi),改善了開發(fā)人員和4S店服務(wù)人員現(xiàn)場升級的體驗(yàn)。
        4 結(jié)論

             本文對在CAN總線上通過UDS服務(wù)進(jìn)行節(jié)點(diǎn)軟件升級的過程進(jìn)行了研究,在下載程序指令數(shù)據(jù)前,禁止CAN網(wǎng)絡(luò)中所有節(jié)點(diǎn)的報(bào)文發(fā)送,降低了CAN節(jié)點(diǎn)的應(yīng)用報(bào)文和網(wǎng)絡(luò)管理報(bào)文對CAN總線帶寬資源的消耗,避免了因網(wǎng)絡(luò)負(fù)載率過高導(dǎo)致升級失敗的問題;同時(shí),根據(jù)對UDS數(shù)據(jù)傳輸服務(wù)的分析,設(shè)置合理的多幀報(bào)文長度和STmin參數(shù),在保證功能安全的前提下,盡可能降低了軟件升級時(shí)間。

             參考文獻(xiàn):
      [1] 比亞迪股份有限公司.車輛程序更新系統(tǒng)及車輛程序更新方法:中國, 201510510468.X[P].2015-8-19.
      [2] Road vehicles–Unified diagnostic services (UDS) –Specification and Requirement ISO14229[S].2006(E).
      [3] Road vehicles-Diagnostics on Controller Area Net works( CAN )-Part 3: Implementation of unified diagnostic services (UDS on CAN) ISO15765-3[S].2004(E).
      [4] 陳姿霖 宋磊鋒 張龍崗 董海.基于UDS的整車診斷系統(tǒng)設(shè)計(jì)方法[J].汽車電器,2017,(4):14-17.
      [5] 李娟娟 劉孔祥 李濟(jì)林.智能前照燈的CAN刷新軟件的設(shè)計(jì)[J].汽車電器,2012,(9):1-4.

      作者簡介
      馬建輝(1983),男,碩士,工程師,主要研究方向:汽車電子、嵌入式。

      本文來源于科技期刊《電子產(chǎn)品世界》2019年第4期第66頁,歡迎您寫論文時(shí)引用,并注明出處



      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉