CAN in Automation
国际用户与制造商联合组织
CAN 词典
第 7 版,2013 年
- 4 -
前言
本词典简要介绍 CAN 技术中使用的词汇和缩
写。它并非用于代替任何标准或规范。借助
CAN 词典,CAN 新用户可不必查阅标准和规
范就能很方便地了解技术文章、手册等。
CAN 词典涵盖了 CAN 数据链路层、CAN 物
理层以及多种基于 CAN 的高层协议。编撰者
已经尽力收入所有相关信息。尽管如此,用
户 想 要 查 找 的 某 些 条 目 可 是 编 撰 者 未 曾 虑
及,或者某些条目的说明不够具体充分。
为了使 CAN 词典的后续版本更加全面完美,
编 撰 者 十 分 乐 意 收 到 您 的 评 论 和 建 议
(headquarters@can-cia.org)。
编撰者
- 5 -
引言
控制器局域网 (CAN) 是一种国际标准化的串行总线系统,
最 初 是 为 车 载 网 络 制 定 的 。1986 年 , 在 底 特 律 召 开 的
SAE 大会引入了 CAN 数据链路层协议。1993 年,CAN
协议和高速物理层成为国际标准 ISO 11898 的组成内容。
今天,该 ISO 标准包括以下组成部分:
•
•
•
•
•
•
ISO 11898-1:数据链路层
ISO 11898-2: 高速收发器
ISO 11898-3: 容错收发器
ISO 11898-4: 时间触发 CAN
ISO 11898-5: 低功率模式高速收发器
ISO 11898-6: 带选择性唤醒能力的高速收发器 (正在
制定中)
在传统的 CAN 数据链路层协议中,整个帧使用一种比特
率。最新引入的改进型 CAN 数据链路层协议 (也称为
CAN FD) 为数据阶段使用更高的第二比特率,从而加速数
据传送。此外,改进型 CAN 协议支持长数据字段 (最多达
64 个字节)。改进型 CAN 数据链路层协议不支持 CAN 远
程帧。
CAN 数据链路层是不同标准化高层协议的基础。在上个世
纪九十年代中期,针对商业车辆柴油发动机动力系统应
用 , 引 入 了 SAE J1939 系 列 。 而 用 于 工 厂 自 动 化 的
DeviceNet (IEC 62026-3) 以 及 用 于 嵌 入 式 控 制 系 统 的
CANopen (EN 50325-4) 也在此时制定出来。其它标准化
高层协议还有用于车辆诊断的 ISO 传输层 (ISO 15765-2)
和统一诊断服务 (ISO 15765-3),用于农林机械的 ISO
11783 系列 (也被称为 Isobus) 以及用于卡车与拖车通信的
ISO 11992 系列。用于船载导航设备的 NMEA 2000 应用
层已被标准化为国际标准 IEC 61162-3。
- 6 -
CAN 网络的应用范围十分广泛。各种运输系统 (汽车、
卡车、机车、轮船和飞机) 中的车载网络是其中最主要的
一个应用领域。其它应用包括工业设备控制、工厂自动
化、医疗设备、实验室自动化、升降机和门控制、发电与
配电以及许多其它嵌入式控制系统。
CAN 物 理 层 使 用 不 同 的 电 压 , 具 有 很 强 的 抗 扰 性 , 而
CAN 数据链路层协议具有可靠的通信能力,汉明距离达到
6 (改进型CAN 数据帧同样如此)。也就是说,可检测五个
随机分布的位错误以及一个 15 位长的突发性错误。高层
协议和子协议支持最高为现货即插即用层级设备的互操
作性。
- 7 -
A
acceptance
filter
验收滤波器
acknowledge
(ACK) delimit-
er
确认 (ACK) 分
隔符
acknowledge
error
确认错误
acknowledge
(ACK) field
确认 (ACK)
字段
acknowledge
(ACK) slot
确认 (ACK) 槽
CAN 控制器芯片中的验收滤波器用于根
据所分配的标识符选择接收报文。大多
数 CAN 控制器芯片都提供硬件验收滤波
器,可根据所分配的特定标识符或标识
符范围过滤 CAN 报文。这些滤波器可由
用户设置,它们承担验收滤波任务,减
轻微控制器的负担。
确认字段的第二位。根据它的定义,它
具有隐性状态。该位的显性状态被认为
是一种错误,将导致传输一个错误帧。
如果报文发送节点在确认槽中检测到隐
性状态,便认为出现确认错误状态。确
认错误不会导致总线关闭状态。通常,
当网络只含有一个节点而该节点开始传
输 CAN 报文时将出现此错误。
确 认 字 段 由 两 个 位 组 成 : 确 认 槽 和 分
隔符。
确认字段的第一个位。它由报文发送节
点 隐 性 发 送 , 而 由 成 功 执 行 CRC (循
环冗余检查) 的所有接收器显性发送。如
果生成报文的节点检测到该位为显性,
便 知 道 至 少 有 一 个 节 点 已 正 确 接 收 到
报文。
- 8 -
active error
flag
主动错误标记
application
layer
应用层
application
objects
应用对象
application
profile
应用子协议
arbitration field
仲裁字段
arbitration
phase
仲裁阶段
主动错误标记是由六个连续显性位组成
的主动错误帧的第一部分。
应用层是 OSI (开放系统互连) 参考模
型的通信实体。它为应用程序提供通信
服务。
应用对象是应用层 API (应用程序接口)
可见的应用程序的信号和参数。
应用子协议定义网络中所有设备的所有
通信对象和应用对象。
仲裁字段由 11 位或 29 位标识符、RTR
(远程传输请求) 位组成,如果是 29 位格
式,还包括 IDE (标识符扩展) 位和 SRR
(替代远程请求) 位。
仲裁阶段指的是改进型 CAN 数据帧中
以传统 CAN 的指定方式利用位定时的
那些部分。仲裁阶段从 SOF 开始,到
BRS 位 的 采 样 点 结 束 。 此 外 ,改进型
CAN 数据帧的最终部分,即从 CRC 分
隔符的采样点开始到 EOF 结束,完成
仲裁阶段。帧间空间同样以仲裁位时间
发送。
- 9 -