2.6 bootloaer中刷新通信主要流程
刷新的主要流程如图5所示。 本流程图中, 用开始诊断会话服务切换到刷新模式, 也即从appli-cation软件跳入bootloader软件 ; 用安全加密及算法服务来进行控制器的解密; 用软件控制服务对待更新软件进行存储区域擦除, 之后进入刷新的数据传递过程。 数据传递采用块、 包的形式, 对数据进行整体打包发送, 当本包完成时继续进行下一个包的传递。 主要用请求下载服务, 服务中含有待更新软件的首地址和传输字节数; 传递数据服务含有控制器和诊断设备之间的数据传递; 请求传递数据退出服务, 本服务用于对每块进行效验和的效验, 检查通过后才可以进行下一个数据包的传递。 这3个服务不断地循环进行, 把各个数据块给刷入。 全部数据刷入后, 用软件控制服务对所有的软件区进行CRC_16效验。
2.7 刷新后的处理工作
最简单直接的方法为控制器复位。 对于非动力方面的控制器, 在不需要进行写数据如VIN等信息的时候, 可以直接复位, 并建议钥匙断电并重新打到IGN ON , 恢复CAN网络上所有控制器模块的网络管理信息和数据通信功能, 及各控制器故障码设置功能。
3 刷新测试数据流
根据ISO 14229的刷新规定及本文刷新系统的设计, 其部分测试数据流如图6所示。 本测试结果含有标准的ISO 14229服务, 其中左图测试数据含有刷新准备工作和部分数据流传输部分, 右图含有最后数据传输及最终复位诊断服务部分。 试验证明, 智能前照灯的刷新系统不论是控制器台架测试还是整车测试, 以及EMC测试, 都可以顺利完成,并且控制器功能性能稳定, 利用CAN进行刷新,其刷新速率要比UART快很多, 并且性能比较稳定, 受干扰性较小, 便于售后软件更新和在线配置使用。
4 结束语
本文以XC878芯片为智能前照灯主控芯片, 设计了基于ISO 14229标准的智能前照灯的刷新系统。本刷新系统的设计已应用于奇瑞某款微车上。 使用国际通用诊断协议来开发中小控制器的刷新, 与国际接轨, 进行车内网通信及刷新, 不但可以缩短软件开发周期, 而且便于建立软件平台, 以便更好地对相关软件进行移植。