徽州骆驼 · 7月9日

国产车规MCU OTA方案总结

目录

  1. 旗芯微FC4150 OTA
  2. 云途YTM32B1MD OTA
  3. 小结

今天没有废话,啪一下很快,把目前接触到的国内带eFlash的车规MCU硬件OTA方案做一个梳理。

1. 旗芯微FC4150 OTA

旗芯微FC4150是基于ARM Cortex(快去审核下官网介绍,少了个T)-M4F内核的车规MCU,ASIL-B功能安全等级,内置HSM,支持国际、国家密码标准,基本框架如下:

image.png

注意这个96 KB Rom,这大小很有意思,它把Flash Driver存放到里面,天然就具备了RWW属性,针对单bank来说,当我们要擦PFlash时,省却了copy driver到ram这一步,这也看到了他们对于自己芯片和代码非常自信。

由于其主频、Memory容量、功能安全等级的限制,主要面向车身相关应用,例如车窗、座椅、车门等等。

image.png

该产品系列支持P-Flash分别为2M、1M、1Msuperfit、512K,有意思的是仅1Msuperfit、512K支持OTA功能,容量高一点如2M反而还不支持OTA,不知道是不是和最初flash ip选型有关。

FC4150F512 支持双bank swap功能,当开启该功能后,硬件OTA控制器支持 2x256KB Flash,每个Bank包含256个Sector。

相较于英飞凌整个Bank的A\B切换,FC4150的OTA Flash地址是可以进行配置,颗粒度为8K,与之相关的配置项为:OTA_EN, OTA_START_ADDR, OTA_END_ADDR, OTA_VER_LOC。

当然,配置方法和大厂车规MCU的UCB、OptionByte、DCM差不多,只是换了个说法叫NVR。

image.png

上电后,FMC会把上述配置信息读取到内部对应寄存器里,总结如下:

image.png

在使用上有个点需要注意在OTA_CTRL里面,需要设置OTA Active Bank,它是依据OTA_VER_LOC里定义地址存放的版本信息来进行对比,

  • 当OTA_CTRL.OTA_ACTIVE = 0,PFlash0 为Active Bank;

  • 当OTA_CTRL.OTA_ACTIVE = 1,PFlash1为Active Bank。

示意如下:

image.png

OTA的区域是根据OTA_Start address、End Address进行配置,那这是否可以认为假设PF0只配置128K用于OTA,那么PFlash0、1后面的128KB是可以使用的,这就变成了局部OTA,示意如下:

image.png

这么一看,确实吸纳了很多前人的经验。

2. 云途YTM32B1MD OTA

YTM32B1MD是一款功能安全ASIL B的车规MCU,使用ARM Cortex-M33内核,最高主频120MHz,PFlash 共512KB,分为2*256KB两个Bank,支持RWW属性,因此也支持OTA。

在该片子里使用EFM(Embedded Flash Module)来管理A\B SWAP,通过设置EFM CMD寄存器中 指令Boot Swap来进行切换;切换后需要进行系统复位后才有效,可以用过EFM STS.BOOT_INFO状态来进行判断当前处于哪个Bank,逻辑如下:

image.png

3.小结

目前看起来,最近几年新出的国产MCU普遍都会把A\B Swap硬件特性作为一个需求进行实现,为汽车ECU软件升级和回滚机制做准备,从原理上看起来是比较清晰的,设计和使用起来也比较方便,就是不确定容不容易锁板子。

不过在这种A\B Swap在功能安全和信息安全上的设计,我并没有看到国产MCU在这方面的考虑,从0到1的过程非常艰辛,也非常需要理论基础和经验。

就这样!今天很快!

作者:快乐的肌肉
来源:汽车MCU软件设计

推荐阅读:

更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
5658
内容数
379
汽车电子与软件行业的相关技术报道及解读。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息