2090922_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2090922_zh-CN

2090922_zh-CN

CAN总线/协议概述及特性(日语博客)

CAN概述

 

CAN是什么?


它代表的是控制器区域网络,而不是车辆区域网络。

它是一种简单且高度可靠的网络,广泛应用于汽车、工业设备等领域。

CAN的历史

历史
1986 博世是第一个正式发布CAN 协议的公司,不久之后,飞利浦(现为恩智浦半导体)成为首批发布集成 CAN 控制器的 MCU 的半导体制造商之一。
1993 国际标准化组织(ISO)将CAN标准化为ISO 11898。此后,它被拆分为三个标准:
ISO 11898-1 描述了该协议的数据链路层。
- ISO 11898-2 描述了高速 CAN 的物理层(最大波特率为 1Mbps)
ISO 11898-3 是后来发布的,涵盖了低速 CAN(最大波特率为 125kbps)的 CAN 物理层,也称为容错 CAN。
2012 博世发布了CAN FD 1.0(具有灵活数据速率的 CAN),这是一个支持更高数据速率的升级标准。
2018 CAN XL (加长型 CAN)问世,可实现更高的数据速率和数据长度。

与 CAN 类型的比较

物品 (经典)CAN CAN FD 加拿大 XL
出现年份 1986 2012 2018
最大数据长度 8 字节 64 字节 2048 字节
最大传动速度 1 Mbps 5-8 Mbps 10-20 Mbps
帧格式 标准帧:11 位 ID 标准帧:11 位 ID
扩展帧:29 位 ID
标准帧:11 位 ID
兼容性 - 向下兼容 CAN 向下兼容 CAN FD

*CAN XL的数据长度增加到2048字节,提高了与以太网(最大1500字节)的兼容性。例如,在进行以太网到CAN XLCAN XL到以太网的协议转换时,可以在一个帧内完成封装。
使用以太网到 CAN FD 时,需要将数据切成 64 字节的块来创建帧。


CAN帧格式比较


Keita_Nagashima_0-1746181380046.pngKeita_Nagashima_0-1746181380046.png


示例:CAN FD 标准数据帧格式

当数据大小不超过 16 字节时:

Keita_Nagashima_0-1747110508669.pngKeita_Nagashima_0-1747110508669.png


如果数据大小为 20 到 64 字节:

Keita_Nagashima_1-1747110532063.pngKeita_Nagashima_1-1747110532063.png


场地 解释
SOF(帧起始) 发送一个占主导地位的“0”来通知其他ECU即将收到消息。

仲裁 ID(基础 ID)

(以下简称“ID”)

识别消息和优先级。标准 CAN (CAN 2.0A) 帧具有 11 位 ID,而扩展 CAN (CAN 2.0B) 帧具有 29 位 ID。
RRS(远程发送请求)

作为远程请求替换,主导值固定为“0”。

集成开发环境

指示这是标准格式帧(11 位标识符)还是扩展格式帧(29 位标识符)。

联邦国防军

它被称为灵活数据格式 (FDF) 位,用于指示帧是经典 CAN 还是 CAN FD。

主导“0”:CAN

隐性“1”:CAN FD

保留位。固定为显性“0”。
布里斯托尔 比特率切换。在 BRS 比特采样点切换到更快的比特率。* 调整采样点时必须小心。
电离层 错误状态指示器。指示发送节点的错误状态。占主导地位的“0”表示错误激活。
DLC(数据长度代码) 以字节为单位存储数据长度(0 到 64 字节)
数据 包含实际数据值,其长度由 DLC 字段决定。
物品数量 CAN FD 中添加了一个 4 位区域。从 SOF 到数据字段包含的填充位总数除以 8 所得的余数存储为一个 3 位格雷码值。第 4 位存储偶校验位。

CRC(循环冗余校验)

用于检查数据完整性的错误检测代码。
CRC分隔符 必须是隐性“1”。
ACK(确认时隙) 验证 CRC 校验过程是否正确。
ACK 分隔符 必须是隐性“1”。
帧结束 (EOF) 7 位。帧结束用隐式“1”表示。


CAN 功能


以下CAN总线的五个典型特征。

特点 1:每个 ECU 共享同一总线


Keita_Nagashima_0-1746775179235.pngKeita_Nagashima_0-1746775179235.png


特点 2:简化的总线配置和差分信号提高了可靠性


・CAN总线发送和接收数字数据“0”和“1”。

“0”称为“显性”, “1”称为“隐性”

Keita_Nagashima_2-1746182323802.pngKeita_Nagashima_2-1746182323802.png


功能 3:优先级由较小的 ID 号决定!


多个节点可能同时开始传输,在这种情况下,优先级较高的消息会优先“赢得”总线访问权限。

・如果设备 A(ID = 110 0 1000111 (0x647))和设备 B(ID = 110 1 1111111 (0x6FF))同时发送消息(如下图所示),由于设备 A 的 ID 较小,因此它会继续发送消息。设备 B 将等待总线空闲后再重新发送。

Keita_Nagashima_0-1746688656240.pngKeita_Nagashima_0-1746688656240.png


功能 4:过滤并接收必要数据(CAN、CAN FD)


总线上的所有节点都可以发送和接收消息,并且始终监听待广播的消息。任何节点发送的消息都会被广播。

每个节点中的 CAN 控制器可以实现一个过滤器,该过滤器检查广播消息的 ID,如果 ID 在一定范围内则接受该消息,忽略超出该范围的消息。

在下面的示例中,节点 1 发送一条包含当前车辆速度的消息。该消息的ID0x121 ,因此

- 节点 2 接受ID 范围为 0x100 到 0x1FF 的数据

- 节点 3接受 ID 在 0x320 到 0x352 范围内的数据,但此消息的 ID 超出了此范围,因此它忽略了该数据


Keita_Nagashima_0-1746692882498.pngKeita_Nagashima_0-1746692882498.png


特性 5:通过错误检测功能提高可靠性


在汽车或工业系统等容不得故障的系统中,可靠性至关重要。为了提高可靠性,系统采用了广泛的错误检测技术,包括在消息级别和比特级别进行错误检查。如果在任一级别检测到错误,则消息不被接受,接收节点会生成一个错误帧。

在消息级别,有CRC 校验(当接收节点计算出的 CRC 值与发送帧中包含的 CRC 值不匹配时,就会发生 CRC 错误)和格式校验(由于 SOF、EOF、ACK 定界符和 CRC 定界符位的逻辑是固定的,如果检测到相反的逻辑,就会发生错误)。

在比特级别,发送节点接收自身发送的消息,并逐位监控(比特监控)。如果读取到的比特与总线上发送的数据比特相反,则会产生错误。

此外,还有一种称为“位填充规则”的机制,如果连续出现五个逻辑电平相同的位,则会插入一个填充位(一个与这五个连续位状态相反的位)。这确保了帧边缘保持网络同步。填充帧由接收节点进行解填充。位填充适用于帧中的所有字段,但 CRC 分隔符、ACK 字段和 EOF 除外。连续出现六个极性相同的位会违反位填充规则,因此被视为错误。


功能概述


综上所述,CAN 总线在汽车和工业应用中具有诸多优势。

成本更低——每个ECU节点都可以通过单个CAN接口进行通信,从而减少布线量、重量和成本。

坚固耐用——CAN高速总线具有很强的抗电磁干扰能力,其差分信号传输方式使其具有极强的抗噪声能力。部分CAN控制器和接收器提供工业级和扩展温度范围的产品。

优先级– 帧开头包含的仲裁 ID 决定了优先级,有助于避免消息之间的冲突。

过滤器——网络上的每个节点都可以接收和发送消息,并确定消息是否合适或应该忽略。

错误检测——CAN 规范包含内置的错误处理机制,每个节点都会检查传输错误,从而提高可靠性。


最后


・CAN 是一种已应用多年的网络,而恩智浦半导体是一家历史悠久的 CAN 公司。恩智浦半导体提供各种 CAN 解决方案,包括集成 CAN 控制器的微控制器和处理器CAN 收发器系统基础芯片,以及配套的开发工具、软件、各种文档和技术支持。

要开始使用 CAN,请使用S32 Design Studio IDEMCUXpresso IDE基于模型的设计工具箱 (MBDT)中包含的示例。

・点击此处查看有关实际运行 CAN 的文章。

1. 使用环回测试验证 CAN 总线功能。一块 FRDM 板即可满足测试需求。

2. 执行 CAN 通信,并获取和解析 CANFD 帧。*测试需要两块 FRDM 板。


=========================

我们目前无法回复此帖子“评论”部分的评论。
对于由此造成的不便,我们深表歉意。如有任何疑问,请参阅“ NXP技术问题-如何联系我们日语博客 ”。
(如果您已经是恩智浦的分销商或与恩智浦有合作关系,您可以直接询问负责人。)

本节介绍 CAN 总线/协议的概述和特点。

恩智浦半导体长期以来一直参与 CAN 总线技术,并提供各种 CAN 产品,包括微控制器、处理器和收发器。

界面技术聚焦日本博客
Tags (1)
No ratings
Version history
Last update:
‎03-23-2026 03:00 AM
Updated by: