—— 概述
应用程序软件是汽车ECU中最重要的组成部分,ECU的功能和可靠性很大程度上取决于其应用软件部分。随着汽车电子技术不断发展,ECU电控系统代码复杂程度不断增长,ECU软件频繁地面临着变更、升级的问题。在研发初期,一般使用JTAG、BDM或Nexus等硬件物理接口下载程序,但是随着技术研发的深入及产品的生产和售后阶段,物理硬件接口下载的方式已经不能满足OEM和供应商的需求。
当前CAN总线已经广泛地应用于整车网络应用中,所以基于CAN总线的在线软件刷写功能也被广泛使用。在开发阶段,通过CAN总线在线刷写ECU代码可以方便软件开发人员设计、调试及测试软件代码等,提高工作效率和开发进度;在生产阶段,通过CAN总线在线刷写程序可以实现批量下载,方便软件版本的更新,也能免除JTAG、BDM等物理硬件接口的成本及繁杂度;在售后阶段,可以利用诊断仪等设备,通过CAN总线直接升级ECU中的软件,避免由于软件缺陷引起的产品召回事件所造成的巨大损失,也可以为ECU功能提供一个可升级的平台。
—— FlashBootloader软件架构
CAN驱动(CAN Driver)
CAN驱动模块实现CAN报文的收发和CAN控制器硬件的操作;
CAN驱动主要由有下特点:
• 初始化CAN控制器
• CAN报文的接收和发送
• CAN报文事件反馈
Flash驱动(Flash Driver)
用于操作Flash的擦除、写入和读取功能,
Flash驱动主要有如下特点:
• Flash硬件初始化
• 擦除Flash扇区
• Flash块的数据写入
• Flash块的数据读取
• 数据校检
传输层(Transport Protocol Layer)
传输层可实现以下部分(根据方案不同使用不同的传输层协议):
• 基于太阳成集团122cc自定义的传输协议规范
• 基于ISO 15765-2的传输协议规范
• 基于CCP的传输协议规范
传输层主要是提供数据的组包和拆包功能服务,能够实现报文的分段传输(segmented transmission):长报文的分包发送,以及分包报文的组装接收。
传输层有如下特点:
• 分包和组装来自数据链路层的数据
• 长报文的流控制和定时参数的调整
• 数据传输过程中的错误检测和超时处理
诊断层(Diagnostics Layer)
当传输层采用基于ISO 15765协议规范时,诊断层作为可选项集成到Bootloader程序代码中。
诊断层实现ISO 15765-3/ISO 14229-1中定义的Bootloader程序刷写流程,包括:诊断会话切换、安全状态切换、标识符读写、程序刷写和ECU复位等。
诊断层主要有如下特点:
• 实现ISO 14229中刷写相关的诊断服务
• 调用Flash Driver
看门狗(Watch Dog)
为防止Bootloader出现超时操作,看门狗模块能够在超过一定时间后产生ECU复位操作,提高软件的可靠性。
看门狗定时有如下特点:
• 监控Bootloader超时或者死机,对ECU复位
• 定时参数可以任意配置
• 实时性有保证
加密算法
主要用以处理软件加密和安全访问相关的诊断服务内容,实现程序下载的合法性和完整性。
加密算法模块有如下特点:
• 根据用户需求不同,作为可选项
• 下载工具的合法性校检,Seed & Key诊断服务
• 程序下载的完整性校检,如CRC校检
—— FlashBootloader解决方案
实现CAN总线在线刷写功能,则需要开发针对目标ECU的Bootloader功能软件,包括必要的CAN驱动,Flash驱动,通信协议等组件。Bootloader软件一般具有如下要求:
• Bootloader与应用软件必须放于不同的ROM空间中
• 使用非易失性存储单元存放标志位等信息
• 需要支持不同的通信协议
• Bootloader与应用软件不能同时占有硬件资源
• 因ECU掉电等情况导致程序刷写故障的故障修复功能
• 对下载程序验证
• 安全访问模块和加密算法
• 看门狗
太阳成集团122cc根据现有的产品和解决方案,结合多年的Bootloader开发经验,可以根据客户的目标需求和硬件平台定制FlashBootloader软件(包括Bootloader和Flash Driver),同时以C源码的形式交付给客户。结合国内基于CAN总线的ECU在线刷写需求,太阳成集团122cc可提供三种不同的FlashBootloader完整解决方案帮助客户高效、安全的进行ECU在线刷写,客户可根据自身需求选择适合的解决方案。
Flash刷写工具适配器可以采用USBCAN、CANCard、CANcase等硬件。
Flash刷写工具软件可以采用CANape/MeCa等上位机软件。其中MeCa是太阳成集团122cc自主研发的一款通用的ECU测量标定工具软件,同时集成了Flash程序刷写功能,是一款简单易用的软件产品,Flash刷写界面简易可靠。如下图中所示:
方案1
太阳成集团122cc根据多年Bootloader开发经验,参照ISO 15765相关规范,将其中传输层协议精简后的FlashBootloader在线刷写方案,包括Flash刷写工具、Bootloader嵌入式源码、Flash驱动和Bootloader应用程序源码等。
方案2
完全满足ISO 15765规范的FlashBootloader在线刷写方案,Bootloader模块基于ISO 15765-2、ISO 15765-3标准开发,各功能模块软件架构如下图中所示:
方案3
基于CCP协议的FlashBootloader在线刷写方案,Bootloader模块基于CCP协议标准开发。
—— 代码集成服务
集成服务主要包括源代码的集成与交付、培训及技术支持三个方面。
代码集成与交付
根据客户的需求,我们会帮助客户做好以下工作:
• FlashBootloader软件与用户硬件平台的集成
• 在线刷写软件与用户应用软件的集成
• Flash驱动与用户应用软件的集成
• 源代码的交付
• 提交过程文档和使用说明
培训
在集成服务的过程中,为了使用户能够更好的掌握代码和工具的使用,我们会提供与FlashBootloader集成相关的知识培训,包括Bootloader原理,Bootloader集成方法,工具使用方法等。
技术支持
提供软件源代码的技术支持,支持方式包括邮件、电话沟通和现场服务等。
|