2024年3月31日发(作者:)

2020.

11

网络信息工程

基于

CANoe

IS015765

ECU

在线升级设计

陈佳臻

(

浙江商业职业技术学院

浙江杭州

310053

)

摘要

针对常见的基于

CAN

总线的

ECU

在线升级方案的缺陷

,本文提出了基于

CANoe

软件

ISO

15765

统一诊断服务的

ECU

在线升级方案

在基于

STM8

单片机上的倒车雷达系统上实现了该在线升级方案

。基于

CANoe

的验证方案大大提高

PC

端程序开发效率

经过测试验证

证明了系统的正确性和可靠性

关键词

ECU

在线升级

CAN

总线;故障诊断

ECU

Online

Update

Based

on

CANoe

and

ISO

15765

Chen

Jiazhen

(Zhejiang

Business

College,

Hangzhou

Zhejiang,

310053)

Abstract

Aiming

at

the

shortcomings

of

common

ECU

online

upgrade

solutions

based

on

CAN

bus,

this

paper

proposes

an

ECU

online

upgrade

solution

based

on

CANoe

software

and

ISO

15765

unified

diagnostic

service,

and

an

online

upgrade

solution

based

on

IS015765

unified

diagnostic

service

on

STM8

microcontroller.

The

verification

scheme

based

on

CANoe

greatly

improves

the

efficiency

of

PC-side

program

development.

The

field

test

proves

the

correctness

and

reliability

of

the

system.

Keywords

:

ECU

online

upgrade

;

CAN

bus;

fault

diagnosis

1

背景与相关研究

CAN

总线应用早期阶段

各个汽车零部件厂商在设

计在线升级功能时

一般使用私有通信协议,这会导致升级

系统的可靠性和通用性的问题

m

図。

目前

CAN

总线以及基

CAN

总线的协议已经有多个国际标准

IS015765

以及

IS014229

是使用最为广泛的诊断协议⑻皿

本文诊断倒车雷

达系统

基于

ISO

15675

协议完成了故障诊断功能以及

ECU

在线升级功能

其中基于该协议的

ECU

在线升级功能是其中

的难点

本文重点围绕该部分功能的设计和测试验证过程

设计基于该协议的在线升级功能

会提高在线升级的可靠性

和通用性

。该解决方案克服了没有标准诊断协议之前的私有

协议造成的可靠性低

通用性差等缺点

本文后续总共分成

5

个部分进行说明

2

节介绍系统

1

系统硬件框图

ECU

的硬件架构

3

节说明

MCU

中的软件设计

4

节介绍

基于

CAN

总线的统一故障诊断服务以及在线升级所涉及到服

务以及流程

5

节介绍

PC

端基于

CANoe

需要完成的上位机

软件设计

3

MCU

软件设计

该倒车雷达系统通过

LIN

总线接口连接车辆前后共

8

个超声波传感器探头,控制各个探头的休眠

启动

距离测量

CAN

总线接入车内低速

CAN

网络,系统在正常工作时

通过

CAN

总线接收车速

档位等信息

控制倒车雷达系统的

2

倒车雷达硬件设计

倒车雷达系统

MCU

釆用意法半导体公司的

STM8A5189,

启动

距离探测,

并且将接收到的障碍物距离信息发送到

CAN

总线网络中

由车辆仪表显示以及通过蜂鸣器进行距离提

该芯片拥有

64KB

Flash

ROM,

4KB

RAM,

拥有

CAN/LIN

总线控

制器

满足倒车雷达系统对通信接口的硬件需求以及

CAN

议栈对

ROM

RAM

空间大小的需求

CAN

总线接口同时也是倒车雷达系统的故障诊断接口

当系统接收到特定的

CAN

总线诊断协议报文时,

系统进入故

障诊断模式

停止处理倒车雷达系统正常功能报文,只处理

CAN

总线驱动器使用

NXP

公司的

UJA1065

该芯片同时

集成了电源管理

硬件看门狗以及

LIN

总线驱动器

可以减少

系统外设

提高系统可靠性

配置

EEPR0M

芯片

BR24L04

芯片

诊断仪下发的报文并且反馈处理结果给诊断仪

在基于

CAN

总线的故障诊断功能中

提供在线升级功能

用于保存擦写比较频繁的配置信息

是其中的一个重点功能。

具有了在线升级功能之后

在系统

网络信患工程

商用之后可以通过诊断仪更新倒车雷达系统的功能固件

2020.

11

断服务

借助于

CAN

报文格式实现

其中包含了超出

CAN

报文

传输长度的数据块分帧方法

流控制方法和数据帧的重组以

及时序等处理方法

而完成系统的功能更新

对保存在

Flash

中的程序进行擦写时

由于

Flash

处于

编程状态时无法从中读取程序和指令,此时只能从添加了写

4.

1

在线更新涉及的诊断服务

保护的

Flash

部分读取程序执行

因此将

ECU

Flash

内保

存的程序分为两部分

Application

分区和

BootLoader

Application

分区保存倒车雷达

ECU

正常业务的代码

系统绝大部分时间运行该分区的程序

BootLoader

分区则

IS014229

协议将诊断仪与汽车

ECU

之间的数据交互定

义为请求和响应的方式。

客户端

诊断仪

发送一个请求

务器

ECU

针对该请求执行相关操作并且反馈一个响应

中,客户端的请求都包含一个带参数的服务码

其中涉及到

在线更新相关的诊断服务

ID

及功能如表

1

所示

是用于保存基于

CAN

网络的在线升级的程序

该分区的代码

设置写保护

只能通过专用编程工具写入

在对

Flash

进行

擦写编程时该部分不会受到影响

为了将不同功能的代码保

存在

Flash

不同区域

可以通过在

C

代码中对全局变量以及

函数设置

#pragma

section

属性

对代码进行分段,然后通

过配置连接文件

*•

lkf

分别指定这两段的起始地址

从而将

不同功能的代码分别存放

Flash

的不同位置

另外

由于在线升级过程中涉及到系统重启和跳转等,

为了保证系统可以在正确的在两个分区正确切换

在软件设

计过程中,通过在

EEPR0M

中设置/清除特定标志来控制

1

在线更新涉及到的诊断服务

服务功能

服务

ID

开始诊断会话服务,

切换不同诊断模式

0x10

0x11

系统复位

bootloader

和工作模式之间切换

故障码控制服务

0x85

通信控制服务

0x28

安全访问控制

0x27

例程控制

0x31

请求下载

0x34

传输数据

0x36

请求输出结束

0x37

其中

0x36

传输数据

服务由于需要传输的数据远远

超过了单个

CAN

报文可以容纳的长度

因此使用多帧形式传

系统的启动过程以及状态迁移过程如下

4

基于统一故障诊断的在线升级服务与流程

IS014229

定义故障诊断系统的通用需求

。该协议按照

ISO

0SI

分层模型建立

统一诊断服务

应用层

位于第

7

层,而通信服务则位于第

1-6

该协议为诊断系统定义了

诊断仪和

ECU,

对二者之间的通信以及诊断服务需求进行了

规范化的通用定义

该协议所定义的诊断服务和通信规范可

以在各种现场总线实现

IS01576

是基于

CAN

总线协议对

输,其余诊断服务釆用单帧形式传输

4.2

在线更新流程中的会话模式及诊断服务流程

IS014229

定义了

3

种会话模式,分别时

缺省会话

展会话模式和编程会话模式

在不同的会话模式

可以使用

的诊断协议有所不同

IS014229

中的一种实现

具体包括

网络层

会话层和应用

IS015765

协议将

IS014229

中定义的应用层所的故障诊

在基于诊断协议的在线更新过程中

系统首先从缺省会

话模式切换到扩展会话模式

完成故障码设置服务,停止故

障码更新

,然后通过通信控制服务

关闭诊断

业务报文的发送和接收,

然后切换到编程会

话模式

在编程会话模式,通过安全访问服务对

测试仪进行身份认证

认证通过之后,打开和

在线更新相关的服务权限。

为了保证可靠性,

在开始在线更新服务之前

首先通过程序控

制服务

发送擦除

Flash

数据服务

清除过去

的数据

。数据清除成功之后

,

通过请求下载服

务发送需要更新的数据地址和大小,

ECU

写入地址和大小进行校验

地址和写入数据

的大小在合法范围内通过数据传输服务和数

据传输结束服务服务完成

ECU

固件程序的下

Flash

写入和固化

最后使用

ECU

复位服

重新启动

ECU,

使其进入到正常应用当中

ECU

的会话模式切换以及各个会话模式下依

次执行的诊断服务如图

3

所示

5

PC

端设计与验证

为了在配套的诊断仪开发完成之前对

ECU

中的在线升级功能进行验证

PC

端验证

申耳测说

2020.

11

网络信息工程

软件基于

Vector

公司的

CANoe

软件以

及配套的

CAN

总线板块开发

[6][7][8]

»该软

件提供了

CAPL

编程语言以及配套的

CAN

总线诊断协议的接口

可以直接通过相

关的接口实现各种

CAN

诊断协议的报文

的发送

接收

分帧和时序控制等

从而

降低了

PC

端的验证程序开发工作量和

难度

为了验证

ECU

中代码的正确性

PC

上用

CANoe

软件作为诊断仪

通过

CANoe

自带的

CAPL

脚本语言完成两个任务

sl9

文件解析和

诊断请求命令下发

4

设计的诊断节点及对应的

CAPL

代码

过修改添加虚拟

CAN

节点使能相关功能

PC

CANoe

节点

设计

CAPL

脚本以及数据流程如图

4

所示

6

总结

本文介绍了基于

CANoe

ISO

15675

CAN

总线诊断协议

的倒车雷达

ECU

在线应用程序更新的整体端到端方案

并且

在汽车倒车雷达系统的诊断诊断以及在线升级中基于

STM8

单片机进行了具体实施

详细介绍了诊断服务在单片机内部

的程序分区以及处理流程

以及基于

CANoe

自带

CAPL

编程语

言的文件解析和诊断请求发送与响应流程

基于

ISO

15765

的在线升级方案便于和各类诊断仪适配

基于

CANoe

进行验

节省了上位机编程的工作

,

具有开发效率高的优势

参考文献

[1]

佟国祥

付礼

刘欢.基于

CAN

总线的

STM32

应用编

程及实现.信息技术

[J].2O15,

13(10)

:

49-52.

5.1

s19

文件解析

[2]

戚长城,

杨延相

张平

刘昌文.总线式

ECU

两级

stm8a5819

生成的二进制格式为

sl9

格式

PC

端测试

程序需要解析待烧写

S19

文件,

S19

文件从

S1

类型的记录

Bootlaoder

的设计与实现

[J].

计算机工程

2015,

41

⑺:

95-99.

⑶崔书超

柴智

南金瑞

.

基于

CAN

总线的纯电动汽车故

障诊断系统

[J].

车辆与动力技术

,2012,

2

:

44-47

中找到

Application

分区的起始地址和程序

将下载起始地址封装在请求下载

0x34

服务报文中

需要更新的程序封装在数据传输

0x36

服务中

在封装过程

优先将程序按照

Flash

的块编程大小封装传输

从而提高

⑷周涛

.ISO

15765

协议的研究与实现

[D],

合肥

合肥工业

大学

,2011.

编程效率

如果发现

S8

或者

S9

类型的记录,

则表示读取到了

文件结尾

S19

文件解析完毕

闫旭琴

王知学

李建新

.CANoe

软件在车载诊断中的应

[J].

应用科学

,

2009,

12

:

88-90.

⑹闫旭琴

王知学

李建新

,成巍.基于

CAN

总线的车载设

备软件升级系统

[J].

山东科学

,

2010,

23(3)

:

12-15.

5.

2

基于

CANoe

的诊断报文通信

第二个任务是按照在线更新下载流程发送相关诊断服

[7]

张丽

方成

李建秋

黄海燕.基于

ISO

15765

的柴油

机故障诊断接口开发

[J],

车用发动机

2009,

8(4)

:

务请求

并根据收到的反馈下发后续诊断服务请求

从而控

ECU

从正常工作模式进入到诊断模式

以及从诊断模式的

缺省会话模式进入到编程模式

,最后将解析好的

S19

二进制文

16-19.

胡建文

冒晓建

唐航波

祝柯卿

王俊席

卓斌.基于

件数据发送到

ECU,

控制

ECU

将二进制内容写入到

FLASH

当中

15765

协议的手持式发动机故障诊断一开发

[J],

机电

一体化

20

13.

5:50-55.

CANoe

诊断相关接口存在与

osek_tp.

dll

当中

可以通

(上接第

138

页)

136-141.

⑷祝殉

马文静.布卢姆教育目标分类理论对大学英语阅读

教学的启示

[J],

中国大学教育

2014

67-71.

⑸纪德奎

郭子超

.

学科核心素养培育中课堂教学目标转换

[2]

白雪峰.布卢姆教育目标分类理论与初中数学教学设计

[J].

课程与教学设计

32-34.

[3]

Lorin

W.

Anderson

等.布卢母教育目标分类学修订版

[M],

外语教学与研究出版社

,2018

50-68.

的困境与突破

[J],

中国教育学刊

2020

4-8.

甲耳测适


更多推荐

诊断,服务,系统,升级,功能,总线,协议,模式