中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 304查看
  • 0回复

[模块网络] CAN(Controller Area Network)总线常用两种帧解析

[复制链接]


该用户从未签到

发表于 13-5-2024 19:15:58 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


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

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 20-11-2024 17:21 , Processed in 0.230792 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.