????????????
www.hirain.com
2004©
1
CANCAN规范规范2.02.0
恒润科技
培训中心
010-64840606-858
www.hirain.com/training
2
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
培训日程
n CAN总线概述
l CAN总线起源
l CAN总线工作原理
l CAN总线基本概念和特点
n CAN规范-数据链路层
l 总线访问仲裁
l CAN报文格式
l CAN总线错误MATCH_
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
_1714058642288_0及错误处理机制
l 协议版本
3
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线概述
4
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
Controller Area Network
l CAN(Controller Area Network )是先进的串行总线网络,可以高效
地支持分布式的控制系统
l 它最初是由德国Bosch公司在80年代后期开发的
l CAN已由国际
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
化组织和其它标准化组织进行了标准化
(ISO11898)
5
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线的起源
6
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线的起源(续)
7
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线的起源(续)
8
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线的起源(续)
l OSI参考模型:CAN规范定义了物理层和数据链路层
l CAN在汽车和工业自动化领域应用非常广泛
9
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN工作原理
l在CAN总线上传输的数据报文不包含发送节点和接收节点的信息
l每个报文的内容通过标识符识别,标识符在网络中是唯一的
u 标识符描述了数据的含义
u 某些特定的应用对标识符功能分配进行了标准化
l报文可以被所有节点同时接收
l可以进行相关性报文过滤,如果相关,就进行报文处理
10
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点:标识符
n 标识符是唯一的,它描述了数据的特定含义,也决定了
报文的优先级:
标识符数值越小,优先级越高
n 最高优先级的报文获得总线访问权
n 低优先级报文在下一个总线周期自动重发。
n 标准帧:11位标识符 CAN2.0A
n 扩展帧:29位标识符 CAN2.0B
11
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点:隐性位、显性位
3.5 V
2.5 V
1.5 V
Recessive
Bit (1)
Recessive
Bit (1)
Dominant
Bit (0)
U_CAN_H
U_CAN_L
U_diff = 2V
Time
U_diff = 0V U_diff = 0V
12
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点:同步机制
l 硬同步(SOF)
l 重同步
13
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点: NRZ编码
l CAN总线采用不归零位编码,即NRZ 编码(带位填充)。NRZ编码确
保报文紧凑,脉冲跳变最少,对外界扰动的抵抗能力强
曼彻斯特编码
NRZ编码
14
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点:位填充
l NRZ编码不能保证足够的跳变延用于同步
l 每5个相同的位状态后插入一个相反的位
l 例外:CRC分隔符,ACK,EOF,错误帧,超载帧不可进行
位填充
15
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点:“线与”机制
16
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点:总线长度与波特率
17
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点:鲁棒性
l CAN可以工作在非常恶劣的环境下,它的强
大的错误检测机制可以保证检测到任何传输
错误
l ISO11898标准“建议”接口芯片应
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
成即使
在下述条件下仍然能够通讯:
u 两条线中的一条被切断
u 其中一条线对电源短路
u 其中一条线对地短路
18
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线基本概念和特点: CAN网络的灵活性
l 如果新节点接收数据且仅需要现存的数据,
那么它可以加入到网络而无需对现存网络系
统软/硬件作任何改变
l 涉及多个控制器的测量可以通过网络实现,
无需每个控制器都连接传感器
19
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN总线数据链路层
20
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
介质访问控制
l CAN使用载波侦听和带冲突检测协议的多路
访问(CSMA/CD)
l 与以太网不同,当多个数据帧同时在网络上
传输时采用非破坏性位序列仲裁,最高优先
级的报文获得总线访问权
21
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
非破坏性总线位序列仲裁
l CAN报文的优先级由标识符值决定,标识符数值越小,优先级
越高。
l 报文的标识符的数值在系统设计的初始阶段分配
l 总线冲突通过非破坏性位序列仲裁解决。位仲裁采用“线与”机
制,显性位(0)覆盖隐性位(1)
22
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式— —概述
现有的帧格式
23
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — — 数据帧
l 仲裁场(标识符+RTR)
l 控制场(r0、r1+数据长度DLC)
l 数据场(0-8 bytes)
l CRC场
l 应答场
l 帧结束
24
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — — 数据帧:CRC场
l CRC场为16位,其中15位CRC码用于错误检测,1个隐性位用
作分隔符
l G(x) = x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1
Identifier CRC Field
Start Of
Frame
RTR
Control
Field
Arbitration
Field Data Field
ACK
Slot
CRC
Delimiter
ACK
Delimiter
End Of
Frame
25
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — — 数据帧:应答场
l 任何正确收到报文的CAN控制器都会在报文
结束时发送应答位
u 发送节点在ack slot发送隐性位
u 任何正确接收到报文的节点在ack slot发送显性位
l 发送节点检测应答位是否为显性位,如果不
是,将会报告一个应答错误,并重发报文
Identifier CRC Field
Start Of
Frame
RTR
Control
Field
Arbitration
Field Data Field
ACK
Slot
CRC
Delimiter
ACK
Delimiter
End Of
Frame
26
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — — 数据帧:帧结束
Identifier CRC Field
Start Of
Frame
RTR
Control
Field
Arbitration
Field Data Field
ACK
Slot
CRC
Delimiter
ACK
Delimiter
End Of
Frame
l 7个连续隐性位表示数据帧的结束
27
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — — 远程帧
n 作用:数据请求— —请求某个节点发送具有相同ID的数据帧
n RTR=1时是远程帧,远程帧没有数据场
n ID相同时,数据帧优先级高于远程帧
28
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — — 错误帧
l 错误标志(6~12位)+错误分隔符(8个隐性位)
l 任何节点检测到帧格式错误、位填充错误等任何一
种错误时,立刻发送错误帧
l 引发产生错误帧的报文将被自动重发
29
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — —超载帧
l 超载帧用于在先前的和后续的数据帧(或远程帧)之间
提供一附加的延时
l 超载标识符(6个显性位)+超载分隔符(8个隐性位)
l 大部分高层协议不使用超载帧
30
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
帧格式 — — 帧间空间
n 帧间空间:作为任何消息帧与下一个数据帧或远程帧的
分隔。
3 0 …
In
te
rm
is
si
on
F
ie
ld
B
us
Id
le
CAN Frame Interframe Space CAN Frame
31
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误检测 — — 概述
n 可检测的错误
32
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误检测 — — 循环冗余码校验(CRC)
n 计算出的校验值与接收到的校验值必须一致…
33
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误检测 — — 循环冗余码校验(CRC)(续)
n …否则,消息帧没有被正确接收(CRC Error)
34
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误检测 — — 应答
n 一个帧必须被一个或几个节点应答,否则会出现应答错
误(Acknowledgement Error)。
35
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误检测 — — 帧检测
n 在CRC分隔符、ACK分隔符、帧结束、帧间隔中不允许
出现显性位。否则出现形式错误(Form Error)。
6W
DU
WR
I)
UD
P
H
,G
HQ
WLI
LH
U
)L
HO
G
57
5
%L
W
'
5
HV
HU
YH
G
'
'
DW
D
/H
QJ
WK
&
RG
H
,'
(
%L
W
'
'
DW
D
)L
HO
G
,Q
WH
UP
LV
VL
RQ
$&
.
'H
OLP
LWH
U
&5
&
'H
OLP
LWH
U
&5
&
6H
TX
HQ
FH
(Q
G
RI
)U
DP
H
%X
V
,G
OH
$
&.
6O
RW
36
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误检测 — — 位监测
n 所发送的位必须从总线上正确回读,否则检测到位错误
(Bit Error)
n 在仲裁域和应答间隙,隐性位可以被显性位重写
37
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误检测 — — 位填充检查
n 在帧起始位与CRC分隔符之间不允许存在6个连续的相
同的位出现。否则检测到填充错误(Stuff Error)。
n 不允许进行位填充的域: CRC分隔符,ACK,EOF,错误帧,
超载帧.
38
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误处理
39
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
错误处理:错误界定
l 节点处于下述3种状态之一
u Error Active— —错误活动状态:正常工作,出错时可发送
active error标志
u Error Passive— —错误被动状态:总线访问能力减弱,出
错时发送passive error标志
u Bus Off— —总线关闭状态:不能发送和接收任何报文
l 错误计数
u TEC— — Transmitter Error Counter
u REC— — Receiver Error Counter
u 任何一个错误计数>96表明总线受到严重干扰
40
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
检测不出的错误 — — 示例
n 2000小时/年
n 500kbps
n 25%的总线负载
n 每1000年才漏检一
个错误
41
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
CAN协议版本
n 具有两个适用的CAN协议版本
l V2.0A(标准)— — 11位消息ID— —最多2048种消息ID号
l V2.0B(扩展)— — 29位消息ID— —超过536x106种消息ID号
42
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
谢谢!
43
C
A
N
????????
培训中心 010-64840606-858 www.hirain.com/training
思考题:
1. 简单画出下面三个节点同时访问CAN总线时的位序列仲裁
过程:
Node1: ID=0x1829F3F5
Node2: ID=0xCFF98EB
Node3: ID=0xF013BCF
2. CAN控制器接收到位序列如下所示,请
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
该报文(扩展
帧)的ID、数据域长度、数据内容和CRC,并判断此时网络
上是否存在错误。已知CRC计算没有错误。
0 1 1000 00110 1001 11110 0011 11101 0101 1 0000 01000 00100 00011 11101 11
1111111