当前位置:文档之家› CAN协议规范

CAN协议规范


三一智能
CAN-bus 相关概念
CAN数据帧,远程帧所占用的位长度为(含最短帧间隔3bits):
帧格式 数据位数
标准数据帧(8字节数据)
标准远程帧 扩展数据帧(8字节数据) 扩展远程帧
111
47 131 67
1M波特率时发送标准数据帧(8字节数据): 发送速度 1000000/111=9009帧
每帧带8字节数据即 9009*8=72072字节
三一智能
CAN-bus 相关概念
波特率和距离的关系
基本公式: Max Bit Rate [Mbps]×Max Bus Length[m]≤60 在使用过程中建议使用下表所列出来的波特率,它们都是CIA 协会公布的标准波特率。
位速率/kbps 1000 500 250 125 100 50 20 10 5 最大距离/m 40 130 270 530 620 1300 3300 6700 10000
7层模型包括:物理层,数据链路层,网络层,传输层, 会话层,表示层和应用层。
三一智能
ISO/OSI 7层模型
OSI 开放系统互连模型
7 6 5 4 3 2 1 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
最高层用户软件网络终端等之间用来进行信息交换如 DeviceNet
将两个应用不同数据格式的系统信息转化为能共同理解 的格式 依靠低层的通信功能来进行数据的有效传递 两通讯节点之间数据传输控制操作如数据重发数据错误 修复 规定了网络连接的建立维持和拆除的协议如路由和寻址 规定了在介质上传输的数据位的排列和组织如数据校验 和帧结构 规定通讯介质的物理特性如电气特性和信号交换的解释
三一智能
CAN-bus 相关概念
总线仲裁
总线上“显性”电平支配“隐性”电平;
逻辑“0” =“显性” 电平; 逻辑“1” =“隐性”电平。 总线空闲时,任何节点可以开始发送报文; 总线上每条报文都具有唯一的一个11位或29位标识符; 报文标识符的值越小,报文具有越高的优先权; 多个节点同时发送时,总线在“仲裁场”进行“逐位仲 裁” ; 传送高优先级报文的节点赢得仲裁,并继续传输报文; 失去仲裁的节点在总线空闲时重新传送。 三一智能
仲裁场:
标准格式里,仲裁场由11 位识别符和RTR 位组成,识别符位由 ID.28…18 构成;
11位标识符
RTR
DI.28
DI.18
扩展格式里,仲裁场包括29 位识别符、SRR 位、IDE 位与RTR 位,其 识别符由ID.28... 0;
11位基本ID 18位扩展ID
SRR
RTR
IDE
三一智能
CAN-bus 相关概念
应答场:应答场长度为2 个位,包含应答间隙(ACK SLOT)和 应答界定符(ACK DELIMITER)。在应答场里,发送站发送两个 “隐性”位。当接收器正确地接收到有效的报文,接收器就会在 应答间隙(ACK SLOT)期间(发送ACK 信号)向发送器发送一“ 显性”的位以示应答;
1991年9月,Philips半导体公司制定并发布CAN技术规范:
CAN-bus是唯一成为国际标准的现场总线,也是国际上应用最
广泛的现场总线之一。
三一智能
CAN-bus简介
CAN-bus的特性包括: 无破坏性的基于优先权的逐位仲裁 借助验收滤波器的多地址帧传递 远程数据请求 错误检测和出错信令 很远的数据传输距离(长达10Km) 高速的数据传输速率(高达1Mbps) 高度实时性:每帧报文允许传输最高8个字节的数据 发送期间丢失仲裁或出错而遭到破坏的帧可自动重发 暂时错误和永久性故障节点的判别以及故障节点的自动脱离 脱离总线的节点不影响总线的正常工作 三一智能
ISO/OSI 7层模型
三一智能
ISO/OSI 7层模型
ISO-International
Organization for Standardization(国际标准化组 织),1979年成立;
OSI-Open
ISO/OSI
Systems Interconnection(开放系统互连);
三一智能
CAN-bus 相关概念
控制场:控制场由6 个位组成,包括数据长度代码和两个将来 作为扩展用的保留位。所发送的保留位必须为“显性”。接收 器接收所有由“显性”和“隐性”组合在一起的位。数据长度 代码指示了数据场中字节数量。数据长度代码为4 个位,在控 制场里被发送。
三一智能
CAN-bus 相关概念
Control Field
Data Field
三一智能
CAN-bus 相关概念
位流编码(Bit Coding)
位流编码采用“不归零”(NRZ)方法编码; 在完整的位时间里,位电平要么为“显性”,要么为“隐 性”; 有足够的跳边沿利于总线各节点重新同步; 要求采取“位填充”(Bit Stuffing)。
对于没有被检测到的错误报文,其剩余的错误可能性概率低 于:报文错误率 4.7*10-11
三一智能
CAN-bus 相关概念
错误类型
位错误(Bit Error):发送的位值和总线监视的位值不相符合时, 检测到一个位错误(除仲裁场、应答场外); 填充错误(Stuff Error):如果在使用位填充编码的位流中,出现 了第六个连续相同的位电平,将检测到一个位填充错误; 形式错误 (Form Error):当一个固定形式的位场含有一个或多个 非法位时,将检测到一个形式错误; 应答错误 (Acknowledgment Error ):在应答间隙(ACK SLOT) 所监视的位不为“显性”,则会检测到一个应答错误; CRC 错误(CRC Error):如果接收器的CRC结果和发送器的CRC结果 不同,将检测到一个CRC错误。
DI.28
DI.18
DI.17
DI.0
三一智能
CAN-bus 相关概念
识别符:基本可以理解为CAN帧的ID号; RTR 位:该位在数据帧里必须为“显性”,而在远程帧里必须为“隐 性”; SRR 位(扩展格式):SRR 的全称是“替代远程请求位(Substitute Remote Request BIT)”。SRR 是一隐性位。它在扩展格式的标准帧 RTR 位位臵,因此代替标准帧的RTR 位。因此,标准帧与扩展帧的冲 突是通过标准帧优先于扩展帧这一途径得以解决的; IDE 位(扩展格式):IDE 的全称是“识别符扩展位(Identifier Extension Bit)”IDE 位属于: 扩展格式的仲裁场 标准格式的控制场 标准格式里的IDE 位为“显性”,而扩展格式里的IDE 位为“隐性”。
扩展帧 仲裁域 控制域 数据域
SOF
SRR
IDE
RTR
11位标识符
18位标识符
DLC
r0
r1
三一智能
CAN-bus 相关概念
帧类型
数据帧:携带数据从发送器至接收器;
帧间间隔 数据帧 帧间间隔 或过载帧 帧起始 仲裁场 控制场 数据场 CRC场 应答场 帧结束
三一智能
CAN-bus 相关概念
CAN-bus 相关概念 总线仲裁示意图
S O F 10 NODE1 Identifier 9 8 7 6 5 4 3 2 1 0 Control Field Data Field
NODE1 退出仲裁
NODE2
NODE2 退出仲裁
ห้องสมุดไป่ตู้NODE3 赢得仲裁,传送报文
NODE3
NODE1、 2、3 同时传送
S 21
22
三一智能
CAN-bus 相关概念
错误检测机制
进行检测错误,采取以下措施:
监视(对发送位的电平与被监控的总线电平进行比较)
循环冗余检查 位填充
报文格式检查
三一智能
CAN-bus 相关概念
错误检测的机制具有以下的属性:
检测到所有的全局错误 检测到发送器所有的局部错误 可以检测到报文里多达5 个任意分布的错误 检测到报文里长度低于15(位)的突发性错误 检测到报文里任一奇数个的错误
CANL
隐性(逻辑1) 8us
隐性(逻辑1)
隐隐显隐显显
“110100”
三一智能
CAN-bus 相关概念
帧格式
标准帧:具有11位标识符的CAN帧;
标准帧 仲裁域 控制域 数据域 DLC
SOF
RTR
IDE
11位标识符
r0
三一智能
CAN-bus 相关概念
扩展帧:具有29位标识符的CAN帧;
数据长度代码中数据字节数的编码(DATA LENGTH CODE): 缩写: d—“显性”,r—“隐性”
数据帧:允许的数据字节数:{0,1,....,7,8}。其他的数值 不允许使用。 三一智能
CAN-bus 相关概念
数据场:数据场由数据帧中的发送数据组成。它可以为0~8 个 字节,每字节包含了8 个位,首先发送MSB; CRC 场:CRC 场包括CRC 序列(CRC SEQUENCE),其后是CRC 界定符(CRC DELIMITER); 帧结尾:每一个数据帧和远程帧均由一标志序列界定。这个标 志序列由7 个“隐性”位组成。
三一智能
ISO/OSI 7层模型
应用层协议
表示层协议
会话层协议 传/运输层协议
网络层协议
数据链路层协议
物理层协议
三一智能
ISO/OSI 7层模型
逻辑链路控制 (LLC)
OSI Reference Layers
应用层
表示层 会话层 传输层 网络层 数据链路层 物理层
- 验收滤波 - 过载通知 - 恢复管理
三一智能
CAN-bus 相关概念
过载帧:过载帧用以在先行的和后续的数据帧(或远 程帧)之间提供一附加的延时;
相关主题