.
在汽车智能化发展过程中,尽管软件的重要性及占比不断提升,但整车研发周期却在无形中缩短,因此由于软件漏洞引发汽车召回的风险持续攀升。目前高端汽车的整车代码量已经突破1亿行,即使按照CMMI(Capability Maturity Model Integration,能力成熟度集成模型)5级的最高软件标准进行控制,代码缺陷率仍为0.32‰,潜在问题的规模不容小觑。而召回事件,需要整车厂付出巨大的直接和间接成本。
对于处在发展中的行业而言,面对智能汽车行业发展大趋势,类似于特斯拉一样的系统更新功能必将成为行业可持续发展的前提和基础,FOTA(Firmware Over-The-Air,移动终端空中下载软件升级)也就成为解决软件漏洞、进行智能汽车配件升级的最佳解决方案之一。
FOTA无线升级,是指通过云端为具有连网功能的终端设备提供固件升级服务,用户使用网络以按需、易扩展的方式获取智能终端系统升级包,并通过FOTA进行云端升级,完成系统修复和优化。汽车制造商和供应商通过FOTA专业的升级方案,能方便快捷地实现汽车ECU、系统版本等迭代,保证系统安全、快速升级,让用户在不更换硬件设备的前提下,体验新功能。
目前,FOTA已逐渐被认可,并发展成为影响OEM(Original Equipment Manufacturer,原始设备制造商)和TSP(Telematics Service Provider,汽车远程服务提供商)决策的车联网新趋势,也是汽车厂商提升用户体验的创新尝试和趋势之一。
目前整车OTA刷写方案较为统一,主要是通过云端使用以太网将更新数据发送给车端,整车端接收数据后按照OTA信息进行数据更新。以下为整车OTA执行的主要步骤:
1. 需要执行OTA时,OEM OTA云端通过以太网将待更新的数据发送给整车端。
2. 整车端的T-Box识别接收以太网传输的OTA数据后透传给网关。
3. 网关作为升级主节点来管理控制车内所有的ECU升级:
a) 对于具备自更新能力的ECU,它可以直接将数据发送至目标ECU,只需要负责收集反馈更新结果
b) 对于不具备更新能力的ECU,网关还需要充当升级Master阶段,待升级ECU作为Slave,双方通过UDS完成升级。
图 2 - 1 知从青龙OTA系统架构
随着芯片技术和OEM OTA规范的不断升级,OTA的使用场景也在不断扩大,根据实际使用场景, OTA实现方案可以分为以下几类:
表2 - 1 OTA解决方案
图 3 - 1 TC3xx AB 分区分配
为了适配OTA功能以及其他使用场景需求,大部分芯片添加支持地址映射功能。除 TC33x 和 TC33xED 外,所有 TC3xx 芯片都具备将PFLASH 分为 A 和 B 两组存储库的功能。在标准地址映射中处于活动状态的组称为 “A”,在备用地址映射中处于活动状态的组称为 “B”。一组 PFLASH 存储体将映射到 CPU 可执行地址空间(定义为 “活动 ”存储体),另一组将映射到一组允许读写的地址(定义为 “非活动 ”存储体)。当 OTA 更新完成后,库被交换时,只有地址映射会发生变化,即无需复制数据,执行时的地址范围也始终保持不变。
图 3 - 2 TC3xx AB SwaP启动判断流程图
TC3xx的AB Swap功能通过UCB寄存器组OTPx_ORIG、OTPx_COPY、SWAP_ORIG和SWAP_COPY进行控制。若UCB相关寄存器的使能标志位未置起,或者CONFIRMATIONLx和CONFIRMATIONHx寄存器位数据不为有效状态,则AB Swap功能不会启用。上图为AB Swap启动判断的流程图。
TC3xx通过UCB寄存器组SWAP_ORIG和SWAP_COPY判断执行AB区切换,在进行判断时,TC3xx优先按照上图逻辑进行判断,若有多组符合判断标准的寄存器配置,则会按照最新一组的寄存器配置进行判断。
UCB寄存器组SWAP_ORIG和SWAP_COPY中一共包含16组寄存器配置,各寄存器功能如下表所示:
表3 - 1 SWAP_ORIG和SWAP_COPY寄存器组介绍
在实际使用过程中,FOTA软件需要在每次完成软件更新后,判断AB Swap功能是否启用以及AB Swap功能是否执行AB 区交换,并根据实际情况开启AB Swap功能并切换分区,使ECU在复位后从更新程序的分区进行启动。以下为FOTA执行过程中,UCB寄存器组SWAP_ORIG和SWAP_COPY的参考配置情况:
表3 - 2 SWAP_ORIG寄存器组参考配置
表3 - 3 SWAP_COPY寄存器组参考
知从青龙FOTA通过与应用程序集成,实现无等待OTA功能。车辆应用软件通过版本对比、获取升级任务、并自动完成下载,在应用软件运行的过程中下载最新软件数据。应用软件在完成下载后,将最新软件数据安装到B系统。整个下载安装过程都是在车辆运行时执行完成的。最后,车辆重新上电时,设备执行AB区切换,这一过程是激活过程,这一过程是能感知到的过程。对具备无等待OTA的设备升流程而言,用户能感知到的过程,仅为新软件系统“激活”的过程。耗时可能达数十分钟的B系统切换,在无等待OTA情况下,可以大大缩短集成了复杂功能的域控设备的车辆用户可感知的升级时间,减小了驻车升级时对车辆电量的消耗、缩短了客户的车辆不可用时间,也保证了系统本身始终的可用性。
下图为知从青龙FOTA基于TC397执行刷写和AB切换的刷写流程图:
图 4- 1 知从青龙FOTA Ab swap刷写流程