日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

隨著特斯拉將OTA的功能引入到汽車中,汽車行業(yè)發(fā)生了新的范式革命,智能汽車相比傳統(tǒng)汽車成為新物種的存在,OTA不僅是汽車不斷成長(zhǎng)的“生命通道”,更是成為了車企新商業(yè)模式的“黃金通道”。

 

OTA到底對(duì)控制器做了什么?

 

現(xiàn)如今整車OTA是一個(gè)非常熱門的話題,無論是新勢(shì)力還是傳統(tǒng)主機(jī)廠都極力宣傳自己的OTA能力,但目前市面上所有的OTA都是不夠徹底的OTA,我們稱之為半OTA。

當(dāng)廠家說OTA時(shí),他在說什么?

 

OTA:空中升級(jí)(ON THE AIR)是通過無線通訊網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)汽車控制器MCU里的軟件進(jìn)行更新。

 

這里面有一個(gè)許多人搞混淆的問題,OTA更新MCU哪一部分的軟件?要想回答這個(gè)問題需要我們首先得知道汽車控制器是什么?

 

汽車控制器本質(zhì)上就是一個(gè)嵌入式系統(tǒng)的單片機(jī)MCU,可以完整實(shí)現(xiàn)特定的功能。

 

嵌入式單片機(jī)MCU的最大特點(diǎn)是,它的硬件結(jié)構(gòu)會(huì)根據(jù)實(shí)現(xiàn)功能的差異而進(jìn)行裁剪。

 

與強(qiáng)大的個(gè)人計(jì)算機(jī)(PC)不同的是,結(jié)構(gòu)簡(jiǎn)單功能單一的控制器單片機(jī)的內(nèi)部軟件代碼有兩大類,一部分是操作系統(tǒng)、用戶數(shù)據(jù)、標(biāo)定數(shù)據(jù)等代碼,統(tǒng)稱為應(yīng)用程序(App),另一部分則是運(yùn)行引導(dǎo)程序(Bootloader)。

 

Bootloader是一段獨(dú)立的代碼(這段Boot代碼一般是出廠預(yù)置,或使用編程器燒錄的,通常只有1k或4k,占用一塊獨(dú)立的Block,當(dāng)系統(tǒng)上電之后,Bootloader可以進(jìn)行關(guān)閉WATCHDOG、改變系統(tǒng)時(shí)鐘、初始化存儲(chǔ)控制器、將更多的代碼復(fù)制到內(nèi)存中等一系列初始化動(dòng)作,然后再將操作系統(tǒng)內(nèi)核復(fù)制到內(nèi)存中運(yùn)行。

 

簡(jiǎn)單地說,Bootloader就是一小段程序,它在系統(tǒng)上電時(shí)開始執(zhí)行,初始化硬件設(shè)備、準(zhǔn)備好軟件環(huán)境,最后調(diào)用操作系統(tǒng)內(nèi)核進(jìn)入工作。與之對(duì)應(yīng)的是PC中的BIOS。

 

由于Bootloader保存在Flash的首地址,MCU上電后,默認(rèn)從Flash開始的第一個(gè)讀取棧指針,第二個(gè)字就是復(fù)位中斷的入口,并根據(jù)該指針進(jìn)度復(fù)位處理函數(shù)中執(zhí)行相應(yīng)的函數(shù),由于中斷向量表1尋找復(fù)位中斷處理函數(shù)指向Bootloader,所以必然首先進(jìn)入Bootloader程序中執(zhí)行,進(jìn)行初始化設(shè)置,然后再進(jìn)入下一個(gè)中斷向量表2中執(zhí)行APP程序的復(fù)位中斷處理函數(shù)。

Bootloader和APP應(yīng)用程序在嵌入式存儲(chǔ)器中的位置如下:

OTA到底對(duì)控制器做了什么?

 

由于我們所有的操作系統(tǒng)和用戶數(shù)據(jù)都放在APP程序中,通過更改這部分?jǐn)?shù)據(jù)可以優(yōu)化控制器的使用體驗(yàn),所以許多汽車廠家所謂對(duì)MCU進(jìn)行固件更新(FOTA)實(shí)際上就是對(duì)MCU內(nèi)存中的APP存儲(chǔ)區(qū)域進(jìn)行刷寫。

 

如何對(duì)存儲(chǔ)區(qū)進(jìn)行刷寫?

 

刷寫(在線編程)目前有兩種實(shí)現(xiàn)方法:在系統(tǒng)編程(ISP)和在應(yīng)用編程(IAP)

 

ISP一般是通過單片機(jī)專用的串行編程接口對(duì)單片機(jī)內(nèi)部的Flash存儲(chǔ)器進(jìn)行編程,而IAP技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),可對(duì)另一個(gè)存儲(chǔ)體重新編程,之后將控制從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)。ISP和IAP很相似,都是不需要把芯片從板子上拔出來,就達(dá)到了用PC-MCU的編程接口(JTAG、串口、雙絞線、SPI等)搞定新版本的升級(jí)目的,但是又有著很大不同。

 

IAP技術(shù)從結(jié)構(gòu)上將Flash存儲(chǔ)器中APP程序運(yùn)行區(qū)映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),可對(duì)另一個(gè)存儲(chǔ)體重新編程,之后將控制從一個(gè)存儲(chǔ)體轉(zhuǎn)向另一個(gè)。支持在應(yīng)用編程(IAP)的芯片會(huì)將內(nèi)存分3個(gè)程序區(qū):1、引導(dǎo)程序區(qū)Bootloader,2、APP程序運(yùn)行區(qū),3、下載區(qū)。芯片通過串口接收到下載命令,進(jìn)入引導(dǎo)區(qū)運(yùn)行引導(dǎo)程序,在引導(dǎo)程序下將new code內(nèi)容下載到下載區(qū),下載完畢并校驗(yàn)通過后,Bootloader控制擦除原程序并將下載區(qū)內(nèi)容復(fù)制到2區(qū),運(yùn)行復(fù)位程序,則IAP完成。

 

IAP優(yōu)勢(shì):在不改變引導(dǎo)程序區(qū)的前提下,對(duì)APP程序運(yùn)行區(qū)進(jìn)行編程,從而優(yōu)化應(yīng)用層的軟件體驗(yàn)。

OTA到底對(duì)控制器做了什么?

 

為了方便實(shí)現(xiàn)IAP刷寫,ISO發(fā)布了統(tǒng)一診斷標(biāo)準(zhǔn)UDS(ISO14229),用于診斷儀(客戶端)和MCU(服務(wù)器)之間的會(huì)話控制、安全訪問、例程控制、DTC讀取,MCU軟件刷寫(軟件下載)等服務(wù)。

 

其中在編程會(huì)話模式下(Programming Session),先通過$31 01 FF 00指令將Flash中的APP數(shù)據(jù)擦除,再通過$34+$36服務(wù)指令可將軟件數(shù)據(jù)寫入到單片機(jī)的RAM中,再通過$31 01 02服務(wù)指令對(duì)內(nèi)存進(jìn)行確認(rèn),最后重新啟動(dòng)MCU就完成了刷寫。

 

需要指出的是在數(shù)據(jù)傳輸層面,根據(jù)傳輸協(xié)議的不同分為基于控制局域網(wǎng)的診斷DoCAN(ISO15765)或者基于以太網(wǎng)的診斷DoIP(ISO13400)。

OTA到底對(duì)控制器做了什么?

 

目前車輛的OTA的大致流程是:

 

1、云端服務(wù)器TSP通過無線通訊協(xié)議(DDS/MQTT)將要刷新的軟件發(fā)送給車輛網(wǎng)聯(lián)模塊T-BOX;

 

2、車輛網(wǎng)聯(lián)模塊T-BOX通過CAN或者Ehernet傳輸協(xié)議發(fā)給車輛網(wǎng)關(guān)GATEWAY;

 

3、將車輛網(wǎng)關(guān)GATEWAY作為上位機(jī),通過UDS診斷服務(wù)對(duì)MCU進(jìn)行IAP刷寫;

 

4、刷寫完成后,重新啟動(dòng),MCU運(yùn)行新的APP軟件。

 

OTA到底對(duì)控制器做了什么?

 

而ISP一般是通過單片機(jī)專用的串行編程接口直接對(duì)單片機(jī)內(nèi)部的Flash存儲(chǔ)器進(jìn)行編程。也就是將PC編譯完成的MCU可運(yùn)行的二進(jìn)制代碼文件通過尋址直接編程入MCU內(nèi)相應(yīng)的程序存儲(chǔ)器中。ISP刷寫不僅可以對(duì)APP程序進(jìn)行在線編程,還可以對(duì)引導(dǎo)程序區(qū)Bootloader進(jìn)行在線編程。

OTA到底對(duì)控制器做了什么?

 

ISP刷寫的硬線連接框圖

 

由于不同MCU的Bootloader支持的刷寫方式以及MCU支持的通訊協(xié)議不同,導(dǎo)致ISP刷寫工具千花百樣。比如飛思卡爾嵌入式單片機(jī)常用P&E的Multilink刷寫工具,一端通過USB串口與上位機(jī)連接,一端通過SWD串口與單片機(jī)通訊,進(jìn)入BDM模式刷寫。

OTA到底對(duì)控制器做了什么?

 

P&G Mutilink刷寫工具

 

OTA的短板是無法對(duì)控制器的Bootloader進(jìn)行刷寫

 

嵌入式單片機(jī)的最大特點(diǎn)是,它的硬件結(jié)構(gòu)會(huì)根據(jù)實(shí)現(xiàn)功能的差異而進(jìn)行裁剪。

 

Bootloader的實(shí)現(xiàn)嚴(yán)重依賴于具體硬件,在嵌入式系統(tǒng)中硬件配置千差萬別,即使是相同的CPU,它的外設(shè)(比如Flash)也可能不同,所以不可能有一個(gè)Bootloader支持所有的CPU、所有的電路板。即使是支持CPU架構(gòu)比較多的U-Boot,也不是直接可以使用的,需要進(jìn)行移植。

 

目前整車上的控制器是由不同的供應(yīng)商來提供,每個(gè)供應(yīng)商都會(huì)根據(jù)自己控制器的功能特點(diǎn),選擇最合適的嵌入式系統(tǒng)硬件。在產(chǎn)品的開發(fā)階段,工程師使用專用燒錄工具對(duì)MCU的程序進(jìn)行燒錄;然而到了產(chǎn)品的生產(chǎn)階段或者售后階段,進(jìn)行應(yīng)用程序燒錄或升級(jí)操作的往往是生產(chǎn)線上的工人,他們不易掌握程序燒錄器的使用方法,貿(mào)然對(duì)Bootloader刷寫可能會(huì)造成MCU程序崩潰。因此,在控制器開發(fā)完成以后,往往會(huì)把控制器的JTAG調(diào)試口封住以防軟件被窺視。

 

在OTA中,由于每個(gè)控制器的Bootloader不同,上位機(jī)(一般是網(wǎng)關(guān))是不支持對(duì)所有控制器的Bootloader進(jìn)行刷新的,只能基于CAN或者Ethernet通訊,使用UDS協(xié)議對(duì)MCU中的APP軟件進(jìn)行刷寫。

OTA到底對(duì)控制器做了什么?

 

例如在Bootloader程序中,要求在編程模式下支持UDS的$14清除故障碼的服務(wù),就必須修改Bootloader程序,通過OTA就無法實(shí)現(xiàn)此功能。

 

未來,隨著域控制器或者中央控制器的發(fā)展,汽車控制器數(shù)量會(huì)減少,硬件配置則向個(gè)人電腦PC看齊,如果整車MCU能像PC那樣使用一套標(biāo)準(zhǔn)的配置主板,那么通過OTA對(duì)Bootloader進(jìn)行刷寫有望成為現(xiàn)實(shí)!

分享到:
標(biāo)簽:OTA
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定