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

        ?

        基于UDSonCAN的Bootloader設(shè)計(jì)

        2022-09-30 01:58:54陳祖銳廖振偉谷城劉志軍劉虎山
        汽車零部件 2022年9期
        關(guān)鍵詞:電控內(nèi)存總線

        陳祖銳,廖振偉,谷城,劉志軍,劉虎山

        柳州賽克科技發(fā)展有限公司,廣西柳州 545005

        0 引言

        由于TCU在汽車中的安裝環(huán)境復(fù)雜,拆卸TCU硬件十分困難,再加上利用串口、JTAG等交互手段均需要給TCU增加額外的硬件電路,增加開發(fā)成本。所以本文參照ISO14229標(biāo)準(zhǔn)的UDS(unified diagnostic services)診斷規(guī)范,結(jié)合整車廠的診斷規(guī)范和軟件升級規(guī)范需求。設(shè)計(jì)一套UDSonCAN為基礎(chǔ)的TCU軟件升級方案,即TCU的Bootloader方案設(shè)計(jì)。該方案以CAN(controller area network)網(wǎng)絡(luò)通信為基礎(chǔ),基于UDS診斷服務(wù)規(guī)范,實(shí)現(xiàn)對TCU特定的Flash地址區(qū)域進(jìn)行程序刷新。此方案的實(shí)現(xiàn),在不需要對TCU進(jìn)行硬件拆卸就可以快速、可靠、穩(wěn)定地進(jìn)行TCU軟件更新,大大縮短軟件開發(fā)周期,減少開發(fā)成本,提高軟件程序的交付質(zhì)量。

        1 Bootloader的介紹

        1.1 Bootloader應(yīng)用UDS服務(wù)

        ISO 14229標(biāo)準(zhǔn)中準(zhǔn)確定義了UDSonCAN的全部診斷服務(wù),包括數(shù)據(jù)傳輸服務(wù)、通信管理服務(wù)、上傳下載服務(wù)、例程控制模式,且每個(gè)服務(wù)都有特定的SID(service identify)。

        此方案是基于UDSonCAN的Bootloader設(shè)計(jì)方案,主要用到的UDS服務(wù)及其功能概述如下:

        (1)診斷會話控制:控制電控單元處于不同的診斷會話模式中。

        (2)通過標(biāo)識符讀數(shù)據(jù):向電控單元讀取特定的信息。

        (3)通過標(biāo)識符寫數(shù)據(jù):向電控單元寫入特定的信息。

        (4)例程控制:啟動或停止特定的程序。

        似乎所有津津樂道的故事都有類似這樣一個(gè)“風(fēng)騷”的開始:初識只作乍見之歡。我們似乎都是習(xí)慣了喜新厭舊的人,喜歡去新的城市,喜歡探索新的事物,喜歡更換新的物品,喜歡接觸新的人……世間的美好,多數(shù)在于初見,初見你初妝、初見你笑顏……然而好的事物容易有一個(gè)通病,那就是都不長遠(yuǎn)。越是璀璨,就越是脆弱。花前月下,塵夢如煙,似曾相識,曇花一現(xiàn)!其實(shí),人生難得的是日后久處不厭,如果是,那么,有生之年,有幸遇見。

        (5)安全訪問:向電控單元請求種子和發(fā)送秘鑰。

        (6)通信控制:開啟或關(guān)閉電控單元特定報(bào)文的接收或發(fā)送。

        (7)DTC設(shè)置控制:停止或恢復(fù)電控單元的故障診斷功能。

        (8)請求下載:向電控單元請求進(jìn)行下載服務(wù)。

        (9)傳輸數(shù)據(jù):向電控單元傳輸數(shù)據(jù)。

        (10)請求退出傳輸:向電控單元請求退出數(shù)據(jù)傳輸。

        (11)ECU復(fù)位:向電控單元請求復(fù)位操作。

        UDS服務(wù)對應(yīng)的SID見表1。

        表1 UDS服務(wù)對應(yīng)的SID

        1.2 Bootloader應(yīng)用CAN總線

        CAN是基于開放式系統(tǒng)互聯(lián)通信參考模型(OSI)設(shè)計(jì)的一種通信協(xié)議。CAN協(xié)議采用CRC檢驗(yàn)和相應(yīng)的錯(cuò)誤處理功能,保證數(shù)據(jù)傳輸?shù)目煽啃?。CAN的通信介質(zhì)為雙絞線、同軸電纜或光導(dǎo)纖維,速率可達(dá)1 MB/S,性價(jià)比極高。所以CAN總線是當(dāng)前汽車領(lǐng)域廣泛使用的一種通信方式,實(shí)現(xiàn)了整車電控單元之間的信息交互,以及電控單元和上位機(jī)之間的數(shù)據(jù)傳輸和命令交互。其中UDSonCAN在OSI模型中的分層結(jié)構(gòu)見表2。

        表2 UDSonCAN在OSI模型中的分層結(jié)構(gòu)

        1.3 Bootloader和APP框架設(shè)計(jì)

        Bootloader是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,所以也稱為引導(dǎo)程序,主要用于軟件刷新。在一個(gè)成熟的嵌入式系統(tǒng)方案中,Bootloader和APP(應(yīng)用層程序)是分開的,分別存放于不同的內(nèi)存區(qū)域中。

        此方案設(shè)計(jì)了多級Bootloader,如圖1所示。上電之后默認(rèn)進(jìn)入Boot1,逐級跳轉(zhuǎn)至APP,各級Bootloader和APP互不干擾。

        圖1 多級Bootloader的設(shè)計(jì)

        FlashDriver是一段具備擦除內(nèi)存數(shù)據(jù)功能的程序,出于功能安全考慮,Bootloader中不能包含F(xiàn)lashDriver(刷新驅(qū)動),避免程序跑飛運(yùn)行至FlashDriver中,對TCU程序造成不可逆的破壞。為了避免上述情況,F(xiàn)lashDriver一般存放于上位機(jī)中,在編程過程中才將FlashDriver下載至特定的內(nèi)存區(qū)域中,通過Bootloader調(diào)用FlashDriver程序,實(shí)現(xiàn)內(nèi)存擦除功能。

        2 Bootloader的設(shè)計(jì)

        2.1 預(yù)編程設(shè)計(jì)

        在程序刷新之前,需要通知整車其他的電控單元TCU即將進(jìn)行程序刷新,所以功能尋址需要進(jìn)入擴(kuò)展會話模式;利用UDS的28服務(wù),通過功能尋址禁止其他節(jié)點(diǎn)的報(bào)文發(fā)送,使整個(gè)CAN總線處于安靜的狀態(tài),降低總線的負(fù)載率,提高程序刷寫速度;利用UDS的85服務(wù),禁止整車其他電控單元的故障診斷,防止程序刷新過程中其他電控單元誤觸發(fā)故障碼;利用UDS的22服務(wù),讀取當(dāng)前TCU的特定信息(如標(biāo)定數(shù)據(jù)版本、軟件版本、硬件版本)保證軟件版本的匹配性。預(yù)編程設(shè)計(jì)流程如圖2所示。

        圖2 預(yù)編程設(shè)計(jì)流程

        2.2 編程設(shè)計(jì)

        在預(yù)編程結(jié)束之后,進(jìn)入編程階段。首先進(jìn)入編程會話模式,然后通過安全訪問。

        由于FlashDriver是不存儲于TCU內(nèi)部中的,所以第一步是將FlashDriver下載至指定內(nèi)存區(qū)域中。下載完畢利用UDS的31服務(wù)進(jìn)行數(shù)據(jù)校驗(yàn),校驗(yàn)無誤之后通過Bootloader開始調(diào)用FlashDriver程序。

        接下來是根據(jù)需求擦除特定的內(nèi)存區(qū)域并傳輸新的數(shù)據(jù)。傳輸完畢利用UDS的31服務(wù)進(jìn)行數(shù)據(jù)校驗(yàn),校驗(yàn)無誤TCU才保存至特定的內(nèi)存區(qū)域中。編程設(shè)計(jì)流程如圖3所示。

        圖3 編程設(shè)計(jì)流程

        該方案可對各級Bootloader進(jìn)行更新,在擦除Bootloader內(nèi)存前會對最基礎(chǔ)的Bootloader做備份,防止下載過程中出錯(cuò)導(dǎo)致最基礎(chǔ)的Bootloader丟失。

        2.3 后編程設(shè)計(jì)

        在預(yù)編程和編程結(jié)束之后,功能尋址進(jìn)入擴(kuò)展會話模式,利用UDS中的28服務(wù),恢復(fù)其他節(jié)點(diǎn)的報(bào)文發(fā)送;利用UDS中的85服務(wù),恢復(fù)其他電控單元的故障診斷。

        根據(jù)整車廠的刷新規(guī)范,還要利用UDS中的2E服務(wù),寫入一些特定的信息(如軟件版本號、供應(yīng)商號等),便于保持軟件刷新的可追溯性。后編程設(shè)計(jì)流程如圖4所示。

        圖4 后編程設(shè)計(jì)流程

        3 Bootloader測試驗(yàn)證

        為了驗(yàn)證此方案的可行性和可靠性,利用了INCA軟件和ETAS582硬件工具進(jìn)行測試。根據(jù)設(shè)計(jì)的刷新流程,編寫INCA軟件的Prof(INCA軟件的刷新流程)文件,Prof界面如圖5所示。通過Prof界面選擇要刷新的區(qū)域,對整個(gè)Bootloader方案進(jìn)行多次測試和驗(yàn)證,INCA刷新界面如圖6所示。

        圖5 Prof界面

        圖6 INCA刷新界面

        測試結(jié)果表明,該方案能滿足對TCU的程序刷新,并且整個(gè)過程方便、快速、穩(wěn)定。即使人為操作導(dǎo)致刷新過程失敗,也可以通過上位機(jī)界面或CAN總線數(shù)據(jù)中判斷出失敗的原因所在。

        4 結(jié)論

        基于UDSonCAN服務(wù)的Bootloader的設(shè)計(jì),實(shí)現(xiàn)了只需要與TCU進(jìn)行CAN總線連接,不需要對TCU硬件拆卸,就可以隨時(shí)隨地進(jìn)行軟件刷新。在前期的開發(fā)設(shè)計(jì)中,節(jié)約了開發(fā)人員的時(shí)間成本;在后期的功能升級中,提高了售后服務(wù)的工作效率。該方案在整個(gè)刷新過程中穩(wěn)定、防錯(cuò)能力強(qiáng)、可靠性極高,并且嚴(yán)格遵循整車廠的診斷規(guī)范和刷新流程,可拓展于OTA軟件升級流程中。

        猜你喜歡
        電控內(nèi)存總線
        上海電控所: 三心同繪創(chuàng)新景 電控電抗競爭輝
        “春夏秋冬”的內(nèi)存
        基于PCI Express總線的xHC與FPGA的直接通信
        機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
        電控發(fā)動機(jī)點(diǎn)火控制系統(tǒng)的原理與診斷
        多通道ARINC429總線檢查儀
        電控氣動步進(jìn)系統(tǒng)的PLC實(shí)現(xiàn)
        基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
        河南科技(2014年16期)2014-02-27 14:13:22
        空分設(shè)備電控回路的改良
        河南科技(2014年11期)2014-02-27 14:09:54
        基于內(nèi)存的地理信息訪問技術(shù)
        午夜视频福利一区二区三区| 天堂中文在线资源| 国产福利午夜波多野结衣| 97久久成人国产精品免费| 中文资源在线一区二区三区av| 又大又长粗又爽又黄少妇视频| 国产亚洲日韩在线三区| 亚洲av影院一区二区三区四区| 午夜视频在线观看日本| 男人添女人囗交做爰视频| 无遮挡边摸边吃奶边做视频免费 | 少妇高潮流白浆在线观看| 国产精品亚洲综合久久婷婷| 极品美女销魂一区二区三| 日本熟女精品一区二区三区| 欧美黑人群一交| 久精品国产欧美亚洲色aⅴ大片| 国产精品不卡免费版在线观看| 好大好爽我要高潮在线观看| 美女视频黄的全免费视频网站| 色伊人国产高清在线| 日本一区二三区在线中文| 色欲av永久无码精品无码蜜桃| 四川老熟女下面又黑又肥| 手机色在线| 久久午夜av一区二区| 蜜臀av无码人妻精品| 亚洲成av人最新无码| 日韩精品中文字幕人妻中出| 99e99精选视频在线观看| 日日澡夜夜澡人人高潮| 神马不卡一区二区三级| 国产毛片视频一区二区三区在线| 正在播放老肥熟妇露脸| 亚洲男人的天堂网站| 久久精品亚洲国产成人av| 狠狠躁夜夜躁人人爽超碰97香蕉| 麻豆亚洲av永久无码精品久久| 视频二区精品中文字幕| 亚洲毛片在线观看免费| 狠狠色噜噜狠狠狠狠米奇777|