基于ISO 15765 协议的汽车控制器刷写系统的设计
2021-08-28唐恒飞王效金
唐恒飞,王效金
(1.201620 上海市 上海工程技术大学 机械与汽车工程学院;2.200120 上海市 上海银基信息安全技术股份有限公司)
0 引言
无人驾驶技术、车联网技术和新能源电动汽车的热潮席卷整个汽车行业,不仅导致装载在汽车上的控制器数量增加,也使得控制器的控制策略和功能复杂度提高,而传统的软件升级方式已无法满足。因此,国内外很多的学者和企业都在研究汽车控制器刷写。文献[1]提出了一种基于ISO 15765协议和BootLoadr的汽车ECU升级方案,详细介绍了汽车ECU 的BootLoader 刷写软件的实现原理;文献[2]利用CANoe,基于ISO 15765协议设计了ECU 刷写上位机软件;文献[3]基于ISO 15765 协议和XC2000 单片机,设计了汽车诊断系统软件。以上的文献都介绍了刷写软件的设计,本文则偏向于上位机刷写软件设计流程以及研究上下位机之间的信息交互,经过上下位机联调测试,体现设计软件的准确性和可靠性。
1 ISO 15765 协议
ISO 15765 协议是一种基于CAN 总线的诊断协议。其中ISO 15765-1 应用于物理层和数据链路层,ISO 15765-2 对网络层进行说明,ISO 15765-3 则是规定到应用层的具体服务,本文的设计研究主要是ISO 15765-2 和ISO 15765-3。
1.1 ISO 15765-3
ISO 15765-3 规定了诊断服务的具体命令,不同的服务命令都有自己独特的标识符。表1 是ISO 15765 协议用于刷写的命令[4]。

表1 ISO 15765-3 协议服务命令Tab.1 ISO 15765-3 protocol service command

(续表)
1.2 IS0 15765-2
ISO 15765-2是对汽车诊断中网络层的说明。它规定网络层在接收到应用层发过来的消息流后,根据定义中的分包、位填充和时间控制等步骤对消息流进行控制传输[5]。流控制传输依据数据长度是否超过8 个字节分为单帧传输和多帧传输两种类型,多帧传输又包含首帧、连续帧以及流控制帧,表2 是帧类型。……
