本文共 736 个字数,平均阅读时长 ≈ 2分钟
实验目的
1、了解CAN总线信号矩阵的概念,学会使用CANdb Editor编辑器软件。
2、了解汽车故障诊断协议UDS的协议结构,掌握UDS协议的基本使用方法。
实验性质
验证性实验。
实验要求
1、CANdb Editor软件
2、统一诊断服务协议UDS
实验内容
1、学习CANdb Editor软件的使用方法,创建、编辑CAN数据库文件。
2、了解UDS协议结构和通讯流程,进行简单的汽车故障诊断操作。
实验步骤
CAN信号矩阵与CANdb Editor的使用
CAN总线实际应用中经常使用通信信号矩阵(Excel表格形式)来描述车辆网络中节点、消息与信号,可以直观地查看CAN网络数据通讯情况,各节点ECU必须遵循该通讯矩阵才能完成信息的交互和共享。
(1). CAN网络的基本概念:
- 节点: 一个汽车控制器作为一个网络节点
- 消息: 一个控制器会发出多种不同ID的报文,每个帧报文称为消息
- 信号: 一帧报文长度1-8 byte,大多为8byte,即64bit,规定不同bit位代表不同信号,那么一帧报文可包含多个信号
(2). 通信矩阵基本内容包括
信号名称 信号长度 精度/偏移量 物理值范围 起始字节 起始位 信号类型
(3). 报文基本信息由: 报文名称 、 ID 、 报文类型 、 报文周期 、 长度 组成。
(4). DBC(Database Can)是vector公司制定的用于描述CAN网络中节点间数据通讯的一种文件,即根据CAN通讯协议制作的一份用于解析CAN报文数据的文件。DBC文件描述的信息包含:
- 版本与新符号
- 波特率定义
- 网络节点的定义
- 报文帧的定义
- 信号的定义
- 注解部分
- 特征部分
- 数值表部分。
报文信息、信号信息、路由信息
(5). 每个信号去填充64位bit时,两种填充方式:
- Intel格式(低字节在前):以起始位为原点,自下而上填充
- Motorola格式(高字节在前):以起始位为原点,自上而下填充
指出下图分别属于何种填充方式:
图2 Intel 格式 | 图3 Motorola 格式 |
---|
(6). 从你所制作DBC文件中选取一个消息(报文)并截取其信号布局图(layout)放在下面空白处。
图5 DBC报文: 0x0 (填写ID)
UDS协议及其使用
UDS(Unified Diagnostic Services)协议即统一诊断服务,是ISO-14229定义的基于OSI模型中应用层的协议,是诊断服务的规范化标准,属于应用层协议,可在不同的汽车总线(如CAN, LIN, FlexRay, Ethernet和K-line等)上实现。
UDS诊断通信的过程:(在表格空白处书写)
0x0
Diagnostic request的格式可以分为两类:一类是拥有sub-function,另一类是没有sub-function,如图所示:(在表格空白处绘制)
带sub-function的请求报文 | 不带sub-function的请求报文 |
两种诊断请求报文格式
参照UDS协议,完成TesterPresent请求、应答报文:
TesterPresent请求: req:10 01
TesterPresent应答: rep:50 01
TesterPresent请求: req:22 F020
TesterPresent应答: rep:62 F0 20 00 11 22 33 44 55 66
原文链接:https://blog.csdn.net/m0_59054762/article/details/129723969
评论 (0)