打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CAN(Controller Area Network)总线常用两种帧解析
userphoto

2024.05.05 安徽

关注

CAN(Controller Area Network)总线是一种广泛应用于汽车电子、工业控制等领域的串行通信协议。CAN通信帧主要分为两大类:诊断帧和通信帧。

1. 帧格式

CAN诊断帧和通信帧在帧格式上存在一些差异:

字段诊断帧通信帧
标识符11位或29位11位
数据类型诊断服务标识符CAN数据
数据长度可变,1至8字节1至8字节
错误校验CRCCRC

2. 功能

CAN诊断帧主要用于诊断电子控制单元(ECU)的运行状态,包括读取故障码、清除故障码、执行诊断测试等。通信帧则用于传输传感器数据、控制命令等一般通信数据。

3. 应用

CAN诊断帧通常由诊断仪发送,ECU接收并做出响应。通信帧则可以由任意节点发送,其他节点接收。

4. 举例

以下是一些具体的CAN诊断帧和通信帧示例:

诊断帧示例:

    标识符:0x180,数据类型:0x2E,数据长度:4字节,数据内容:读取故障码

    标识符:0x500,数据类型:0x27,数据长度:0字节,数据内容:清除故障码

    通信帧示例:

    标识符:0x123,数据类型:发动机转速,数据长度:2字节,数据内容:0x03E8(1000 rpm)

    标识符:0x456,数据类型:车速,数据长度:1字节,数据内容:0x64(100 km/h)

单帧和多帧功能

CAN单帧和多帧用于传输不同长度的数据。

1. 单帧

CAN单帧用于传输长度不超过8字节的数据。如果数据长度超过8字节,则需要使用多帧进行传输。

2. 多帧

CAN多帧将长数据分割成多个短帧进行传输。每个多帧都包含一个标识符、数据类型、数据长度和数据内容。第一个多帧的标识符中应置位RTR(Remote Transmission Request)位,指示这是一个多帧的第一个帧。后续多帧的标识符中应置位IDE(Identifier Extension)位,并包含帧序号。

3. 物理寻址

CAN总线使用位仲裁机制来解决节点竞争总线使用权的问题。每个节点的发送器都具有一个唯一的仲裁优先级。仲裁优先级高的节点更容易获得总线使用权。

CAN单帧和多帧在物理寻址方面没有区别。每个帧都包含一个标识符,用于唯一标识该帧。节点根据标识符的仲裁优先级进行竞争总线使用权。

具体数据

以下是一些具体的CAN诊断帧和通信帧数据示例:

1. 诊断帧数据示例

读取故障码:

    标识符:0x180

    数据类型:0x2E

    数据长度:4字节

    数据内容:0x00 00 00 00(请求读取所有故障码)

    清除故障码:

    标识符:0x500

    数据类型:0x27

    数据长度:0字节

    数据内容:(无)

2. 通信帧数据示例

发动机转速:

    标识符:0x123

    数据类型:发动机转速

    数据长度:2字节

    数据内容:0x03E8(1000 rpm)

    车速:

    标识符:0x456

    数据类型:车速

    数据长度:1字节

    数据内容:0x64(100 km/h)

CAN诊断帧和通信帧是CAN总线通信的重要组成部分。它们在帧格式、功能、应用等方面存在一些差异。单帧和多帧用于传输不同长度的数据。物理寻址机制用于解决节点竞争总线使用权的问题。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
从应用角度了解下LIN总线
N总线和基于CAN总线的高层协议CANopen
DeviceNet总线技术综述--中国自动化网文库中心
CAN总线的前世今生
细说汽车电子通信总线之CAN 2.0 总线协议详解
门控系统LIN总线通信模块设计与实现
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服