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

基于LabVIEW實(shí)現(xiàn)Flash Bootloader刷寫方法的研究

2017-09-04 19:08:34曾宇文
科技視界 2017年9期

曾宇文

【摘 要】目前現(xiàn)有的ECU軟件刷寫方法有PE刷寫和Flash Bootloader刷寫兩種,且Flash Bootloader是主流的方法;本文從Flash Bootloader的角度闡述了利用普通USB CAN工具基于LabVIEW軟件如何實(shí)現(xiàn)ECU刷寫的方法,同時(shí)更好的熟悉Flash Bootloader的流程。

【關(guān)鍵詞】Flash Bootloader;車載電控單元

【Abstract】Currently existing ECU brush method have PE parts and Flash Bootloader, and Flash Bootloader is the mainstream method; This paper describes that how to realize the ECU brush method by using ordinary USB CAN Device based on LabVIEW software from the perspective of?Flash Bootloader, at the same time, be familiar with the process of Flash Bootloader better.

【Key words】Flash Bootloader; ECU

0 引言

隨著汽車市場(chǎng)新產(chǎn)品迭代更新速度的加快,ECU的開發(fā)周期也要跟隨著整車開發(fā)周期縮短。從而ECU的軟件更新也要越來越快,主機(jī)廠也漸漸的使用自身制定的Flash Bootloader規(guī)范要求供應(yīng)商或自主開發(fā)的電子零部件按照自己的規(guī)范編程軟件,以使主機(jī)廠自己也可對(duì)車輛ECU刷寫軟件,提高工作效率,減少供應(yīng)商的出差成本,縮短整車開發(fā)周期。

1 Flash Bootloader介紹

Flash Bootloader就是一種通過CAN總線診斷服務(wù)來實(shí)現(xiàn)刷寫ECU軟件的引導(dǎo)程序。主要應(yīng)用于研發(fā)、生產(chǎn)、以及售后服務(wù)當(dāng)中,由硬件設(shè)備相關(guān)的CAN驅(qū)動(dòng)層、實(shí)現(xiàn)ISO15765-2協(xié)議的傳輸層、實(shí)現(xiàn)所有下載相關(guān)的診斷服務(wù)層(符合ISO 14229協(xié)議)、Bootloader、用于安全訪問的模塊、Flash驅(qū)動(dòng)數(shù)據(jù)以及應(yīng)用下載數(shù)據(jù)組成。

2 USB CAN工具以及LabVIEW軟件的介紹

1)USB CAN工具成本低,體積小巧,即插即用,符合CAN2.0A/B 規(guī)范,支持 5Kbps~1Mbps 之間的任意波特率,并支持LabVIEW軟件進(jìn)行二次開發(fā),能夠滿足各種應(yīng)用開發(fā)需求,為工業(yè)通訊 CAN 網(wǎng)絡(luò)提供了可靠性、高效率的解決方案,被開發(fā)者廣泛使用。本文就是基于這些工具作為硬件接口進(jìn)行的開發(fā)。

2)LabVIEW軟件是一種程序開發(fā)環(huán)境,類似于C/C++和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是容易理解的框圖和流程圖的形式。

3 刷寫程序設(shè)計(jì)

設(shè)計(jì)開始之初,首先需要把整體的設(shè)計(jì)思路構(gòu)思出來,才能快速高效的把程序?qū)懗鰜怼?/p>

3.1 USB CAN設(shè)備驅(qū)動(dòng)集成

把各個(gè)USB CAN工具的動(dòng)態(tài)函數(shù)庫DLL按照Open Device.vi、Send CAN data.vi、Receive CAN data.vi、Close Device.vi封庫起來,保證LabVIEW軟件中CAN驅(qū)動(dòng)底層的可靠性,穩(wěn)定性。

1)Open Device.vi:用于初始化程序時(shí)打開對(duì)應(yīng)的USB CAN設(shè)備

2)Send CAN Data.vi:用于配置文件(Flash Drive,應(yīng)用數(shù)據(jù)APP)以及由診斷報(bào)文形成的FBL數(shù)據(jù)流發(fā)送給ECU,以達(dá)到刷寫目的

3)Receive CAN data.vi:用于接收ECU報(bào)文,用于判斷下一幀F(xiàn)BL數(shù)據(jù)流的發(fā)送和整體刷寫進(jìn)度條的確認(rèn)

4)Close Device.vi:用于關(guān)閉當(dāng)前使用的USB CAN設(shè)備,以便下次能正常打開運(yùn)行設(shè)備

3.2 FBL刷寫數(shù)據(jù)流

根據(jù)軟件刷寫的流程規(guī)范把FBL的數(shù)據(jù)按順序排列,形成FBL數(shù)據(jù)流,數(shù)據(jù)流就是一連串的CAN總線診斷報(bào)文。

3.3 FBL刷寫數(shù)據(jù)流入發(fā)送隊(duì)列

創(chuàng)建用于臨時(shí)存放的FBL數(shù)據(jù)流的隊(duì)列,利用LabVIEW隊(duì)列的生產(chǎn)者-消費(fèi)者模式,有時(shí)序的把需要發(fā)送的診斷服務(wù)報(bào)文、Flash驅(qū)動(dòng)文件和應(yīng)用數(shù)據(jù)文件按照規(guī)范處理成可CAN診斷報(bào)文,并按照FBL刷寫數(shù)據(jù)流的先后順序封裝入列到發(fā)送隊(duì)列中。

3.4 FBL刷寫數(shù)據(jù)流出發(fā)送隊(duì)列

把已經(jīng)入發(fā)送隊(duì)列的FBL刷寫數(shù)據(jù)流按時(shí)序出發(fā)送列到Send CAN Data.vi中,時(shí)序是根據(jù)Receive CAN data.vi發(fā)送出來的診斷響應(yīng)報(bào)文來判斷的,以防FBL刷寫數(shù)據(jù)流發(fā)送過快,被刷ECU來不及響應(yīng)造成刷寫失敗。

3.5 Flash驅(qū)動(dòng)文件與應(yīng)用數(shù)據(jù)文件解析

軟件刷寫最為關(guān)鍵的就是要把Flash驅(qū)動(dòng)文件與應(yīng)用數(shù)據(jù)文件寫入到ECU中去,而Flash文件與應(yīng)用文件都是十六進(jìn)制文本,同時(shí)經(jīng)過軟件組同事加密,使用文本打開是一連串長(zhǎng)長(zhǎng)的16進(jìn)制,同時(shí)只能以CAN總線診斷報(bào)文形式寫入ECU,所以需要按照規(guī)范解析,解析的過程就是用LabVIEW軟件把文本的16進(jìn)制進(jìn)行折分組合形成CAN報(bào)文的過程,同時(shí)需要校驗(yàn)提取數(shù)據(jù)的完整性和正確性。

3.6 安全算法DLL的制作

在下載Flash驅(qū)動(dòng)文件之前需要使ECU進(jìn)行安全訪問模式,因?yàn)楦鱾€(gè)ECU出于安全考慮都會(huì)設(shè)置安全訪問算法,以防被惡意程序篡改軟件,對(duì)車輛來說是非常致命的。考慮到本刷寫程序是支持多個(gè)ECU Flash Bootloader刷寫的工具,則制作了安全算法DLL接口,來對(duì)應(yīng)不同的ECU安全算法。

3.7 報(bào)文呈現(xiàn)

由于整車總線上的存在有多個(gè)ECU節(jié)點(diǎn),每個(gè)ECU節(jié)點(diǎn)都有很多CAN報(bào)文ID發(fā)出,為了防止程序處理時(shí)出現(xiàn)檢索不到正在進(jìn)行刷寫ECU的診斷響應(yīng)報(bào)文ID,需要在軟件里把其它報(bào)文ID過濾掉,只接收響應(yīng)ID。同時(shí)為了更好的界面顯示,把診斷請(qǐng)求ID與診斷響應(yīng)ID按照先后順序排列,相同ID只顯示最新狀態(tài),并統(tǒng)計(jì)ID的出現(xiàn)次數(shù)。

3.8 刷寫進(jìn)度顯示

刷寫進(jìn)度條非常直觀的體現(xiàn)了刷寫的速度與完成度,所以也是設(shè)計(jì)的重點(diǎn)之一,程序編序時(shí)的思路是把診斷服務(wù)的總數(shù)與診斷肯定響應(yīng)的總計(jì)數(shù)器相比得到刷寫進(jìn)度百分比,當(dāng)100%時(shí)結(jié)果指示燈亮綠燈,F(xiàn)lash Bootloader刷寫成功,當(dāng)刷寫過程中診斷響應(yīng)ID回復(fù)否定響應(yīng)或者超時(shí)不回復(fù),結(jié)果指示燈亮紅燈,F(xiàn)BL刷寫失敗。

4 驗(yàn)證總結(jié)

按照思路設(shè)計(jì),并經(jīng)過多次的調(diào)試優(yōu)化后,程序終于完成。同時(shí)在臺(tái)架與整車上對(duì)自主開發(fā)的不同ECU進(jìn)行多次實(shí)驗(yàn)驗(yàn)證,并在刷寫過程中故意制造干擾,經(jīng)過100多次不完全統(tǒng)計(jì),成功率高達(dá)98%。從而驗(yàn)證了基于LabVIEW設(shè)計(jì)刷寫程序的可行性與穩(wěn)定性。

【參考文獻(xiàn)】

[1]阮奇楨.我和LabVIEW:一個(gè)NI工程師的十年編程經(jīng)驗(yàn)[M].北京:北京航空航天大學(xué)出版社,2012.

[2]ISO 14229,統(tǒng)一診斷服務(wù)--規(guī)范和需求[S].

[3]ISO 15765-2,基于控制器局域網(wǎng)的診斷--第2部分:網(wǎng)絡(luò)層服務(wù)[S].

[4]ISO 15765-3,基于控制器局域網(wǎng)的診斷--第3部分:統(tǒng)一診斷服務(wù)的應(yīng)用[S].

[責(zé)任編輯:朱麗娜]endprint

主站蜘蛛池模板: 欧美精品啪啪| 新SSS无码手机在线观看| 亚洲无码高清一区二区| 国产一在线观看| 中国丰满人妻无码束缚啪啪| 永久免费av网站可以直接看的| 538国产在线| 99久久成人国产精品免费| 国产精品视频系列专区| 精品欧美一区二区三区久久久| 国产裸舞福利在线视频合集| 亚洲国产高清精品线久久| 亚洲第一页在线观看| 日韩精品一区二区三区大桥未久| 国产精品55夜色66夜色| 永久免费AⅤ无码网站在线观看| 国产中文一区a级毛片视频 | 在线观看国产网址你懂的| 国产91蝌蚪窝| 超碰91免费人妻| 国产视频 第一页| av一区二区无码在线| 无码丝袜人妻| 国产精品无码久久久久久| 国产一区二区三区在线观看免费| 国产成人做受免费视频| 国产欧美日韩专区发布| 一级毛片无毒不卡直接观看| 找国产毛片看| 日韩欧美色综合| 99尹人香蕉国产免费天天拍| 婷婷午夜影院| 成人国产精品2021| 福利国产微拍广场一区视频在线| 91成人试看福利体验区| 波多野结衣一区二区三区AV| 熟女成人国产精品视频| 国产女人综合久久精品视| 国产人免费人成免费视频| 欧美一级99在线观看国产| 亚洲性影院| 精品一区二区三区无码视频无码| 老司机午夜精品视频你懂的| 亚洲香蕉久久| 久无码久无码av无码| 亚洲精品久综合蜜| 亚洲第一视频区| 五月天香蕉视频国产亚| 中文字幕在线免费看| 色综合久久88色综合天天提莫| 精品福利视频网| 国产91在线免费视频| 久久国产精品电影| 视频一区视频二区日韩专区| 久草网视频在线| 国产91丝袜在线播放动漫| 精品在线免费播放| 人妻精品久久无码区| 免费无遮挡AV| 久久99国产视频| 国产v精品成人免费视频71pao | 久久久国产精品无码专区| 国产办公室秘书无码精品| 欧美色视频网站| 国产精品私拍在线爆乳| 啊嗯不日本网站| 三上悠亚在线精品二区| 亚洲成人精品| 亚洲丝袜中文字幕| 67194成是人免费无码| 麻豆国产在线观看一区二区| 亚洲欧美极品| 69综合网| 在线观看无码a∨| 日韩视频免费| 亚洲高清国产拍精品26u| 欧美成人精品一级在线观看| 国产成人区在线观看视频| 婷婷六月色| 国产乱人免费视频| 免费激情网址| 国产一区二区三区夜色|