h1_key

當(dāng)前位置:首頁(yè) >新聞資訊 > 技術(shù)文章>英飛凌>英飛凌AURIX? TC3xx系列以太網(wǎng)OTA技術(shù)
英飛凌AURIX? TC3xx系列以太網(wǎng)OTA技術(shù)
2022-11-25 2658次

  隨著自動(dòng)化、智能化、網(wǎng)絡(luò)化的發(fā)展及其在汽車中的廣泛應(yīng)用,行業(yè)對(duì)各汽車控制單元的安全高效數(shù)據(jù)更新提出了越來(lái)越高的要求。通過(guò)研究汽車領(lǐng)域?qū)CU更新需求和英飛凌AURIX? TC3xx系列A/B SWAP功能,以AURIX? TC3xx千兆以太網(wǎng)為媒介,TC387為載體研究如何實(shí)現(xiàn)OTA,并使用英飛凌AURIX? TC3xx HSM模塊有效提高OTA安全,驗(yàn)證了當(dāng)前熱門OTA技術(shù)。


  什么是OTA







  OTA:Over-the-Air Technology,即空中下載技術(shù)。

  OTA升級(jí):通過(guò)OTA方式實(shí)現(xiàn)固件或軟件的升級(jí)。通過(guò)無(wú)線通信方式實(shí)現(xiàn)軟件升級(jí),都可以叫OTA升級(jí),比如無(wú)線以太網(wǎng)/藍(lán)牙等。

  HSM:Hardware Security Module 模塊保證刷寫(xiě)的安全可靠。

  OTA 系統(tǒng)功能示意如圖1所示:



  圖1 系統(tǒng)功能示意圖


  幾種常見(jiàn)的OTA實(shí)現(xiàn)方式比較及優(yōu)勢(shì)分析

  在進(jìn)行SOTA更新時(shí),需要把舊的應(yīng)用程序擦除,把新的應(yīng)用程序?qū)懭?。常?guī)的實(shí)現(xiàn)方式需要分別開(kāi)發(fā)BootLoader程序和APP程序,MCU上電先運(yùn)行BootLoader,BootLoader根據(jù)情況選擇是否跳轉(zhuǎn)到APP和是否進(jìn)行程序更新。具體來(lái)說(shuō)有以下幾種方式:


  方案一

  BootLoader中內(nèi)置通訊協(xié)議棧,更新時(shí),先向MCU發(fā)送指令使其跳轉(zhuǎn)到BootLoader,之后先擦除舊APP,在接收新APP的同時(shí)直接將其寫(xiě)入Flash的APP運(yùn)行地址處。該方案的優(yōu)點(diǎn)是不需要額外的Flash暫存數(shù)據(jù),缺點(diǎn)是BootLoader代碼更復(fù)雜,且如果數(shù)據(jù)傳輸發(fā)生中斷,舊的APP將不能被恢復(fù)。該方案更適合Flash容量較小的MCU。


  方案二

  更新程序時(shí),由APP接收更新數(shù)據(jù)并暫存于Flash,再將APP更新標(biāo)志位置位;MCU重啟時(shí),BootLoader檢查更新標(biāo)志位,如有效,則擦除舊的APP,再將暫存于Flash的新APP數(shù)據(jù)寫(xiě)入APP運(yùn)行地址處。該方案的優(yōu)點(diǎn)是更新數(shù)據(jù)的接收由APP完成,BootLoader不需要通訊協(xié)議棧,代碼量更小,且數(shù)據(jù)傳輸中斷時(shí),原有APP不損壞。缺點(diǎn)是需要額外的Flash空間暫存更新數(shù)據(jù)。


 方案三

  在Flash中劃分出兩塊相同大小的區(qū)域,分為A區(qū)和B區(qū),都用來(lái)存放APP,但同一時(shí)間下只有一個(gè)區(qū)的APP是有效的,分別設(shè)置一個(gè)標(biāo)志位標(biāo)識(shí)其有效性。初始狀態(tài)下先將APP寫(xiě)入A區(qū),更新的時(shí)候,將新的APP寫(xiě)入B區(qū),再把A區(qū)的APP擦除,同時(shí)更新兩個(gè)區(qū)的有效性標(biāo)志位狀態(tài)。BootLoader中判斷哪個(gè)區(qū)的APP有效,就跳轉(zhuǎn)到哪個(gè)區(qū)運(yùn)行。這種方法不需要重復(fù)拷貝APP數(shù)據(jù),但最大的一個(gè)缺陷是AB區(qū)的APP程序運(yùn)行地址不同,需要分別編譯,從而使得可應(yīng)用性大大降低。

  注釋:同時(shí)也可以將方案一和方案二相結(jié)合,即先采用方案一在BootLoader程序中內(nèi)置通訊協(xié)議棧,更新時(shí),先向MCU發(fā)送指令使其跳轉(zhuǎn)到BootLoader。之后接收更新數(shù)據(jù)的時(shí)候,采用方案二的方法,先將數(shù)據(jù)暫存于Flash,待數(shù)據(jù)全部接收完成后再擦除舊的APP,寫(xiě)入新的APP。結(jié)合方案一和方案二的優(yōu)點(diǎn),且能在沒(méi)有APP或APP損壞的狀態(tài)下實(shí)現(xiàn)程序更新。缺點(diǎn)是BootLoader代碼量更大,F(xiàn)lash空間占用更大。

  英飛凌AURIX? TC3xx實(shí)現(xiàn)上述SOTA方案拓?fù)鋱D,如圖2 所示:



  圖2 TC3xx實(shí)現(xiàn)SOTA方案常見(jiàn)拓?fù)鋱D


  經(jīng)過(guò)上面的分析,可以看到幾種常見(jiàn)方案都有其優(yōu)缺點(diǎn)。但對(duì)于TC3xx這一類的MCU來(lái)說(shuō),F(xiàn)lash容量通常都很大,足夠用,所以通常可以先把APP暫存下來(lái)再進(jìn)行更新,防止數(shù)據(jù)傳輸中斷導(dǎo)致APP不可用。

  同時(shí)AURIX? TC3xx也支持AB SWAP功能。以方案三為例:TC3xx系列如果使能SOTA功能,它的AB Bank Flash物理地址支持兩種不同物理地址映射到同一個(gè)邏輯地址方式(MCU自動(dòng)從兩種物理地址映射一個(gè)虛擬地址),從而使得APP編譯時(shí)不需要區(qū)分AB區(qū),使用相同的邏輯地址即可,從而避免了方案三的硬傷,為我們提供了一種最佳的SOTA方案。接下來(lái),我們將以方案三作為基礎(chǔ),結(jié)合實(shí)例詳細(xì)講解使用英飛凌AURIX? TC3xx如何實(shí)現(xiàn)更優(yōu)的SOTA。


  推薦的OTA實(shí)現(xiàn)方式詳解

  TC3xx的Flash地址映射方式

  首先, TC33x和TC33xED不支持AB SWAP功能,其他TC3xx設(shè)備都能夠通過(guò)AB SWAP功能實(shí)現(xiàn)SOTA軟件更新。

  TC3xx 如果使能了AB SWAP功能,F(xiàn)lash大小實(shí)際能用的最少減半,TC3xx各系列AB SWAP能力如圖3所示。



  圖3 TC3xx支持AB SWAP功能芯片系列及映射關(guān)系


  啟用SOTA功能時(shí),通過(guò)將PFLASH拆分為兩A和B兩個(gè)Bank的能力,其中一組可以讀取和執(zhí)行BANK組,而另一組可以寫(xiě)入新代碼。因此雖然單個(gè)物理PFLASH Bank中不支持同時(shí)讀寫(xiě)(RWW)功能,但是通過(guò)AB分組支持未使用的BANK組提供安全可靠地對(duì)數(shù)據(jù)執(zhí)行寫(xiě)入和擦除操作的能力來(lái)實(shí)現(xiàn)SOTA功能。


  舉例TC387 AB SWAP特性

  為了方便理解英飛凌TC3xx SOTA 功能,我們以TC387為例進(jìn)行分析。TC387 PFLASH 10M空間映射關(guān)系,使能了AB SWAP后,實(shí)際使用大小為4M,如圖4所示:



  圖4 TC387 PFLASH 映射關(guān)系以及可用PFLASH大小


  TC387的4M PFlash地址空間無(wú)論是A Bank還是B Bank, 對(duì)于用戶來(lái)說(shuō),統(tǒng)一為虛擬地址0X80000000-0x803FFFFF 4M地址空間。但是刷寫(xiě)過(guò)程中, A bank實(shí)際操作物理地址0X80000000-0x803FFFFF 4M空間,B Bank 實(shí)際操作物理地址0X8060 0000-0x80AF FFFF 4M空間。

  注意,如果使能了AB SWAP功能,TC3xx PFLASH就沒(méi)有所謂Local PFLASH和Global PFLASH概念,統(tǒng)一理解為Global PFLASH。CPU訪問(wèn)PFLASH由之前的CPUx可以通過(guò)Local總線訪問(wèn)本PFLASHx提高訪問(wèn)速度,變?yōu)镃PUx訪問(wèn)PFLASH只能通過(guò)Global總線從而稍微增加了CPU訪問(wèn)PFLASH時(shí)間。具體參考圖5所示。



  圖5 SOTA功能使能后只能通過(guò)Global總線訪問(wèn)PFLASH


  TC3xx的SOTA功能描述

  當(dāng)TC387 SOTA功能激活時(shí),PFLash被劃分為兩部分A Bank和B Bank,一部分用來(lái)存儲(chǔ)讀取可執(zhí)行代碼(active bank),另一部分可用來(lái)寫(xiě)入(inactive bank)即刷寫(xiě)。當(dāng)APP更新完畢后,兩個(gè)部分互換,即切換上面兩種地址映射方式。在標(biāo)準(zhǔn)模式下使用PF0-1作為active bank,后文稱作組A,在Alternate模式下使用PF2-3作為active bank,后文稱作組B,就可以實(shí)現(xiàn)第二章節(jié)所述方案三,且能寫(xiě)入完全相同的APP程序,以相同的地址(邏輯地址)進(jìn)行運(yùn)行。

  需要注意的是,所有NVM操作都是通過(guò)DMU使用PFLASH的物理系統(tǒng)地址執(zhí)行的,也就是說(shuō),NVM操作總是使用標(biāo)準(zhǔn)的地址映射,而不管選擇使用哪種地址映射?!癗VM操作”是一個(gè)術(shù)語(yǔ),用于任何針對(duì)FLASH的命令,如程序、擦除等,但不包括讀取代碼。有關(guān)SOTA地址映射的參數(shù)在Flash中的UCB(User Configuration Block)中進(jìn)行配置,在UCB中配置后,只有當(dāng)下次MCU復(fù)位的時(shí)候才會(huì)更新配置,后文會(huì)有詳細(xì)解釋。

  TC3xx的SOTA功能實(shí)現(xiàn)詳解

  實(shí)現(xiàn)SOTA功能所需關(guān)注配置項(xiàng)

  英飛凌AURIX? TC3xx實(shí)現(xiàn)SOTA功能主要需要配置如圖6所示:



  圖6 SOTA功能所需關(guān)注配置項(xiàng)



  SOTA模式使能UCB_OTP.PROCONTP.SWAPEN,該參數(shù)決定是否開(kāi)啟SOTA模式,在寄存器Tuning Protection Configuration中的SWAPEN進(jìn)行配置,對(duì)應(yīng)UCB定義如下:

  使能AB SWAP功能的UCB定義(UCB32-39是ORIG, 40-47 COPY,建議全部都需要配置,內(nèi)容可以一樣。)如下:







  配置UCB_SWAP_ORIG/UCB_SWAP_COPY中的UCB_SWAP_ORIG_MARKERLx/UCB_SWAP_COPY_MARKERLx,激活下一次reset需要運(yùn)行的標(biāo)準(zhǔn)(0x00000055)還是備選(0x000000AA)地址。在寄存器SCU_SWAPCTRL中,可以查看當(dāng)前激活的是標(biāo)準(zhǔn)還是備選地址。


  我們參考下面關(guān)于SOTA功能實(shí)現(xiàn)的UCB,內(nèi)容定義:















  同1描述UCB塊,只要使能了SOTA就會(huì)自動(dòng)禁止CPU通過(guò)本地總線訪問(wèn)PFLASH功能,紅色方框中寄存器值自動(dòng)為1,即禁止。









  SOTA功能實(shí)現(xiàn)時(shí)SWAP配置及流程

  SOTA功能應(yīng)用時(shí):分系統(tǒng)剛啟動(dòng)時(shí)SWAP配置和系統(tǒng)運(yùn)行時(shí)SWAP配置。


  系統(tǒng)啟動(dòng)時(shí)SWAP配置:

  如果SOTA功能使能,那么代碼生成的文件至少需要刷進(jìn)Active Bank。為了信息安全,建議通過(guò)UCB_PFLASH設(shè)置相應(yīng)的sectors讀寫(xiě)保護(hù)。

  起始地址需要在UCB_BMHD配置好。

  如果當(dāng)前選擇的是標(biāo)準(zhǔn)地址,那么0x00000055H需要寫(xiě)入U(xiǎn)CB_SWAP的MARKERL0.SWAP這個(gè)域。然后通過(guò)把MARKERL0.SWAP的地址寫(xiě)入MARKERH0.ADDR予以確認(rèn);同時(shí),將CONFIRMATIONL0.CODE的地址寫(xiě)入CONFIRMATIONH0.ADDR;同時(shí),將57B5327FH寫(xiě)入57B5327FH予以確認(rèn)。

  UCB_ OTP一次性刷寫(xiě)保護(hù)以設(shè)置所需的OTP、WOP和標(biāo)定保護(hù)。請(qǐng)注意,任何受OTP或WOP保護(hù)的扇區(qū)都不能使用新映像重新編程。

  如果使能了HSM,主核代碼和HSM代碼需要同時(shí)刷入到AB bank的PFLASH S0-S39。

  任何受OTP保護(hù)的HSM扇區(qū)都不能使用新映像重新編程。

  最后,由于SWAPEN是在UCB_OTP里面設(shè)置的,所以要在下一個(gè)重啟后SOTA的使能才有效。具體流程,參考圖7所示:







  圖7 系統(tǒng)剛啟動(dòng)時(shí)SWAP配置及流程


  系統(tǒng)運(yùn)行時(shí)SWAP配置:

  下面是程序正在運(yùn)行時(shí),需要實(shí)現(xiàn)軟件SWAP到新程序的配置流程。

  為了可以正確切換到新程序中,首先新的程序需要刷到對(duì)應(yīng)的非激活的PFLASH Bank,如果非激活的BANK中對(duì)應(yīng)的sectors使能了讀寫(xiě)保護(hù),那么刷寫(xiě)之前要先解保護(hù)。

  切記:由于NVM特性,PFLASH 和DFLASH不能同時(shí)操作。因此,在應(yīng)用程序中運(yùn)行的EEPROM驅(qū)動(dòng)程序和執(zhí)行BOOT刷寫(xiě)之間需要進(jìn)行一些協(xié)調(diào)。確保要寫(xiě)入的新程序所用的的PFLASH正確無(wú)誤。例如:如果在PFLASH的SOTA重新編程/擦除期間出現(xiàn)硬故障,可以使用替換邏輯扇區(qū)功能(有關(guān)更多詳細(xì)信息,請(qǐng)參閱DMU章節(jié))。此功能允許用戶使用“替換邏輯扇區(qū)”命令序列將故障邏輯扇區(qū)映射到冗余扇區(qū)。

  由于UCB刷寫(xiě)次數(shù)的限制(100次),我們可以通過(guò)16 個(gè)SWAP配置依次使用來(lái)增加SWAP的次數(shù)(100*16=1600次)。方式流程如下圖8所示:

  注意:上一次用過(guò)的配置,CONFIRMATIONL(x-1) ) 和CONFIRMATIONH(x-1) 全寫(xiě)為1。

  增加SWAP次數(shù),可以通過(guò)UCB_SWAP_ORIG/UCB_SWAP_COPY配置如下寄存器:











  增加SWAP次數(shù)方法流程如圖8所示:


  圖8 增加SWAP次數(shù)方法流程


  新的配置寫(xiě)好后,選擇下一次要激活的程序,等下一次重啟即運(yùn)行新刷寫(xiě)的程序。詳細(xì)流程如圖9所示:


  圖9 系統(tǒng)運(yùn)行時(shí)SWAP配置


  總結(jié)

  TC3xx SWAP特性實(shí)現(xiàn)OTA功能后,特別注意以下五點(diǎn):

  ●Flash大小實(shí)際能用的最少減半,詳情參考圖3。

  ●CPU訪問(wèn)Flash只能通過(guò)Global總線從而稍微增加了訪問(wèn)時(shí)間,參考圖5。詳細(xì)參數(shù)請(qǐng)查相應(yīng)的數(shù)據(jù)手冊(cè)。

  ●PFLASH的prefetch功能被禁止,同樣會(huì)稍微影響整個(gè)系統(tǒng)的性能。

  ●功能安全方面:Active Bank 的safety_endinit保護(hù)依舊存在,但是Inactive Bank的safety_endinit保護(hù)無(wú)效。

  ●信息安全方面:Active Bank 和Inactive Bank同樣受信息安全相關(guān)寄存器的保護(hù)。

  • 英飛凌的EiceDRIVER?高低邊柵極驅(qū)動(dòng)器IR2181STRPBF
  • 其中,英飛凌的EiceDRIVER? 600 V 高低邊柵極驅(qū)動(dòng)器 IC(IR2181STRPBF),具有典型的 1.9 A 拉電流和 2.3 A 灌電流,具有更高的帶載能力,可驅(qū)動(dòng) MOSFET和IGBT,為產(chǎn)品從開(kāi)發(fā)設(shè)計(jì)到最終應(yīng)用全面保駕護(hù)航。
    2023-12-27 293次
  • 英飛凌門極驅(qū)動(dòng)正壓對(duì)功率半導(dǎo)體性能影響
  • 對(duì)于半導(dǎo)體功率器件來(lái)說(shuō),門極電壓的取值對(duì)器件特性影響很大。以前曾經(jīng)聊過(guò)門極負(fù)壓對(duì)器件開(kāi)關(guān)特性的影響,而今天我們來(lái)一起看看門極正電壓對(duì)器件的影響。文章將會(huì)從導(dǎo)通損耗,開(kāi)關(guān)損耗和短路性能來(lái)分別討論。
    2023-12-22 289次
  • 英飛凌160V MOTIX?三相柵極驅(qū)動(dòng)器IC
  • MOTIX?三相柵極驅(qū)動(dòng)器集成電路6ED2742S01Q是英飛凌MOTIX?品牌的新成員,該品牌通過(guò)可擴(kuò)展的產(chǎn)品組合提供低壓電機(jī)控制解決方案。它是一款160V絕緣體上硅(SOI)柵極驅(qū)動(dòng)器IC,采用5x5 mm2 QFN-32封裝,帶有熱效率高的裸露功率焊盤(pán),并集成了電源管理單元(PMU)。
    2023-07-21 352次
  • 英飛凌6.5A,2300V單通道隔離式柵極驅(qū)動(dòng)器評(píng)估板
  • 英飛凌6.5A,2300V單通道隔離式柵極驅(qū)動(dòng)器評(píng)估板(配SiC MOSFET)。EVAL-1ED3142MX12F-SIC采用半橋電路,用兩個(gè)柵極驅(qū)動(dòng)IC?1ED3142MU12F來(lái)驅(qū)動(dòng)IGBT、MOSFET和SiC MOSFET等功率開(kāi)關(guān)。
    2023-06-28 410次
  • 英飛凌的 CoolSiC? XHP? 2 高功率模塊
  • 英飛凌科技股份公司為了滿足上述需求,在其 CoolSiC?功率模塊產(chǎn)品組合中增加了兩款新產(chǎn)品:FF2000UXTR33T2M1和 FF2600UXTR33T2M1。這些功率模塊采用新開(kāi)發(fā)的3.3kV CoolSiC? MOSFET和英飛凌的.XT互連技術(shù),封裝為XHP? 2,專門針對(duì)牽引應(yīng)用量身定制。
    2023-06-28 385次

    萬(wàn)聯(lián)芯微信公眾號(hào)

    元器件現(xiàn)貨+BOM配單+PCBA制造平臺(tái)
    關(guān)注公眾號(hào),優(yōu)惠活動(dòng)早知道!
    10s
    溫馨提示:
    訂單商品問(wèn)題請(qǐng)移至我的售后服務(wù)提交售后申請(qǐng),其他需投訴問(wèn)題可移至我的投訴提交,我們將在第一時(shí)間給您答復(fù)
    返回頂部