恒润科技公司 www.hirain.com Confidential
CAN基础
北京恒润科技有限公司
北京经纬恒润科技有限公司 http://www.hirain.com 2
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 3
概述
CAN的起源
CAN—Controller Area Network—是20世纪
80年代初德国Bosch公司为解决现代汽车中
众多控制单元、测试仪器之间的实时数据交
换而开发的一种串行通信
北京经纬恒润科技有限公司 http://www.hirain.com 4
概述
CAN的起源
传统的汽车线束连接
Powertrain Control
Engine
Control
Active
Suspension
ABS/ASR
Transmission
Control
Door
Control
Airbag
Air
Condition
Seat
Control Power
Locks
Light
Control
Body Control
Dash
board
北京经纬恒润科技有限公司 http://www.hirain.com 5
Powertrain Control
Engine
Control
Active
Suspension
ABS/ASR
Transmission
Control
Door
Control
Airbag
Air
Condition
Seat
Control Power
Locks
Light
Control
Body Control
Dash
board
概述
CAN的起源
汽车的CAN网络
Powertrain Control
Body Control
Dash
board
Door
Control
Airbag
Air
Condition
Seat
Control Power
Locks
Light
Control
Engine
Control
Active
Suspension
ABS/ASR
Transmission
Control
高速CAN 低速CAN
北京经纬恒润科技有限公司 http://www.hirain.com 6
概述
CAN的历史
1983年,Bosch开始研究车上网络技术
1986年,Bosch在SAE大会公布CAN协议
1987年,Intel和Philips先后推出CAN控制器
芯片
1991年,Bosch颁布CAN 2.0技术规范,
CAN2.0包括A和B两个部分
1991年,CAN总线最先在Benz S系列轿车上
实现
北京经纬恒润科技有限公司 http://www.hirain.com 7
概述
CAN的历史
1993年,ISO颁布CAN国际标准 ISO-11898
1994年,SAE颁布基于CAN的J1939标准
2003年,Maybach发布带76个ECU的新车型
(CAN,LIN,MOST)
2003年,VW发布带35个ECU的新型Golf
……
未来,CAN总线将部分被FlexRay所取代,
但CAN总线将仍会被持续应用相当长的时间
北京经纬恒润科技有限公司 http://www.hirain.com 8
概述
CAN的特性
采用双线差分信号
协议本身对节点的数量没有限制,总线上节
点的数量可以动态改变
广播发送报文,
报文可以被所有
节点同时接收
EMI
应用层
数据链路层
物理层
CAN_H
CAN_L
节点A
报文
报文
比特流
差分电压
节点n
…
40m@1Mbps
…
隐性 显性 隐性
CAN_H
CAN_L
Udiff
北京经纬恒润科技有限公司 http://www.hirain.com 9
概述
CAN的特性
多主站结构,各节点平等,优先权由报文ID
确定
每个报文的内容通过标识符识别,标识符在
网络中是唯一的
标识符描述了数据的含义
某些特定的应用对标识符的分配进行了标准化
根据需要可进行相
关性报文过滤
CAN节点
滤波器
CAN节点
滤波器
CAN节点
滤波器
CAN节点
滤波器
CAN节点
滤波器
ID Data
CAN
…
北京经纬恒润科技有限公司 http://www.hirain.com 10
概述
CAN的特性
保证系统数据一致性
CAN提供了一套复杂的错误检测与错误处理机制,
比如CRC检测、接口的抗电磁干扰能力、错误报
文的自动重发、临时错误的恢复以及永久错误的
关闭
EMI
应用层
数据链路层
物理层
CAN_H
CAN_L
节点A
报文
报文
比特流
差分电压
节点n
…
40m@1Mbps
…
错误检测
错误处理
北京经纬恒润科技有限公司 http://www.hirain.com 11
概述
CAN的特性
使用双绞线作为总线介质,传输速率可达
1Mbps,总线长度<=40米,
采用NRZ和位填充
的位编码方式
0 10 40 100 200 1000 10000
总线长度/m5
10
20
50
100
200
500
1000
位速率/kbps
隐性
显性
填充位
位速率与总线长度的关系
NRZ和位填充
北京经纬恒润科技有限公司 http://www.hirain.com 12
概述
CAN的特性
总线访问—非破坏性仲裁的载波侦听多路访
问/冲突避免CSMA/CA (Carrier Sense
Multiple Access/Collision Avoidance)
载波侦听,网络上各个节点在发送数据前都要检
测总线上是否有数据传输
网络上有数据不发送数据,等待网络空闲
网络上无数据立即发送已经准备好的数据
多路访问,网络上所有节点收发数据共同使用同
一条总线,且发送数据是广播式的
冲突避免,节点在发送数据过程中要不停地检测
发送的数据,确定是否与其它节点数据发生冲突
北京经纬恒润科技有限公司 http://www.hirain.com 13
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 14
CAN总线标准
OSI参考模型
底层标准
高层协议
3 网络层
7 应用层
6 表示层
5 会话层
4 传输层
OSI参考模型
2 数据链路层
1 物理层
CAN2.0
11898
CANopen
DeviceNet
J1939
……
CAN
NMEA 2000
北京经纬恒润科技有限公司 http://www.hirain.com 15
CAN总线标准
各层执行功能
Logic Link Control
Acceptance filtering
Overload notification
Recovery management
2 数据链路层
Medium Access Control
Data encapsulation / decapsulation
Frame coding
( stuffing, destuffing)
Medium access management
Error detection
Error signalling
Acknowledgement
Serialization /deserialization
1 物理层
Physical Signalling
Bit encoding / decoding
Bit timing
Synchronization
Physical Medium Attachment
Driver/ receiver characterics
Medium Dependent Interface
Connectors
2
数据
链路层
1
物理层
PLS
PMA
MDI
LLC
MAC
LLC, Logical Link Control 逻辑链路控制
MAC, Medium Access Control 媒介访问控制
PLS, Physical Signaling Sublayer 物理信令子层
PMA, Physical Medium Attachment 物理介质连接
MDI, Medium Dependent Interface 介质相关接口
北京经纬恒润科技有限公司 http://www.hirain.com 16
CAN总线标准
底层标准
ISO11898
2
数据
链路层
1
物理层
PLS
PMA
MDI
LLC
MAC
OSI参考模型
CAN2.0
CAN物理层
ISO11898-1
ISO11898-2
ISO11898-3
CAN控制器
CAN收发器
CAN ISO11898 CAN实现
Road vehicles -- Controller area network (CAN)
ISO 11898-1:2003 Part 1: Data link layer and physical signalling
ISO 11898-2:2003 Part 2: High-speed medium access unit
ISO 11898-3:2006 Part 3: Low-speed, fault-tolerant, medium-dependent interface
ISO 11898-4:2004 Part 4: Time-triggered communication
ISO 11898-5:2007 Part 5: High-speed medium access unit with low-power mode
北京经纬恒润科技有限公司 http://www.hirain.com 17
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 18
节点A
Controller
节点B
Controller
节点C
Controller
Transceiver Transceiver Transceiver
RxD TxD RxD TxD RxD TxD
CAN_L
CAN_H
通信机制
报文发送
节点发送报文时要检测总线状态
只有总线处于空闲,节点才能发送报文
在发送报文过程中进行“回读”,判断送出的位
与回读的位是否一致
北京经纬恒润科技有限公司 http://www.hirain.com 19
通信机制
报文发送
“线与”机制
通过ID进行仲裁
显性位能够覆盖隐性位ID值越小,报文优先级
越高
S
O
F
10 9 8 7 6 5 4 3 2 1 0
R
T
R
Control Data
隐性
显性
只听
只听
节点A
节点B
节点C
总线
北京经纬恒润科技有限公司 http://www.hirain.com 20
通信机制
报文发送
非破坏性仲裁
退出仲裁后进入“只听”状态
等待总线再次空闲时进行报文重发
ITMITM
节点A
ID=75 Data
节点B
ID=250 Data
节点C
ID=1000 Data
CAN
ID=75 Data节点A
节点C
节点B
CAN总线
ID=250
ID=1000
ID=75 Data
ID=250
ID=1000
Data
ID=250 Data
ID=1000
ID=1000 Data
Data
仲裁阶段 t仲裁阶段 仲裁阶段
北京经纬恒润科技有限公司 http://www.hirain.com 21
通信机制
如图所示,A、B、C、D四个节点在不同的时刻分别往总线上发送ID为5、
7、3、6的消息。请画出消息在总线上出现的顺序(假设每帧报文的传输
时间占3格)。
CAN node B
CAN node A
CAN node C
CAN bus
CAN node D
5
5 5
7
3
6
3
6
练习1:CAN总线访问仲裁机制
北京经纬恒润科技有限公司 http://www.hirain.com 22
通信机制
CAN node B
CAN node A
CAN node C
CAN bus
CAN node D
5
5
3 6 3 5 6 7
7
3
6
3
5
6
练习1答案:CAN总线访问仲裁机制
北京经纬恒润科技有限公司 http://www.hirain.com 23
M A S K 1 1 1 0 1 0 0 0 1 1 0
S E L E C T O R 0 1 0 1 1 1 1 1 0 0 1
I D E N T I F I E R 0 1 0 0 1 1 0 1 0 0 0
通信机制
报文接收过滤
通过滤波器,节点可以对接收的报文进行过滤
CAN节点
滤波器
CAN节点
滤波器
CAN节点
滤波器
CAN节点
滤波器
CAN节点
滤波器
ID Data
CAN
…
接收滤波器(Acceptance Filter) 报文的过滤过程
0 10
0 1 0 1 0 0
0 1 0 1 0 0 X X X X X
掩码(Mask)
选择器
(Selector or Code)
标识符(ID)
允许通过
的ID
接收规则:比较消息ID与选择器中和
接收过滤相关位是否相同
接收过滤相关位:由掩码定义
1 = 与消息过滤有关
0 = 与消息过滤无关
如果相关接收;如果不相关过滤
北京经纬恒润科技有限公司 http://www.hirain.com 24
通信机制
NRZ编码与位填充
NRZ(非归零)编码
NRZ编码确保报文紧凑在相同带宽情况下,
NRZ编码方式的信息量更大
NRZ不能保证有足够的跳变延用于同步,容易带
来节点间计时器误差的累积位填充保证有足
够的跳变沿用于同步
0 01011 0
NRZ编码
曼彻斯特
编码
NRZ编码与曼彻斯特编码比较
北京经纬恒润科技有限公司 http://www.hirain.com 25
通信机制
同步概述
节点A
(发)
节点B
(收)
北京经纬恒润科技有限公司 http://www.hirain.com 26
通信机制
NRZ编码与位填充
位填充
发送节点发送5个连续的相同极性位后,在位流
中自动插入一个极性相反的位位填充
接收节点对相同极性位的数量进行检测,从位流
中将填充位去掉清除填充
发送节点
位填充前的位流
CAN总线
位填充后的位流
接收节点
位填充清除后的位流
1 1 1 2 3 4 5 1 2 3 4 5 2 3 4 5 1
11 1
北京经纬恒润科技有限公司 http://www.hirain.com 27
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 28
数据帧
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLCr
I
D
E
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
3
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
SOF, Start of Frame 帧起始
ACK,
Acknowledgement
应答
RTR, Remote
Transmission Request
远程发送请求 EOF, End of Frame 帧结束
IDE, Identifier Extension 标识符扩展 ITM, Intermission 间歇场
DLC, Data Length Code 数据长度代码
SRR, Substitute
Remote Request
代替远程请求
标准帧
扩展帧
北京经纬恒润科技有限公司 http://www.hirain.com 29
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
数据帧
帧起始
标识一个数据帧的开始,用于同步
一个显性位
只有在总线空闲期间节点才能够发送SOF
北京经纬恒润科技有限公司 http://www.hirain.com 30
数据帧
ID
唯一确定一条报文
表明报文的含义,可以包含报文的源地址和目标
地址
确定报文的仲裁优先级,ID数值越小,优先级越
高
标准帧11位;扩展帧29位
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
北京经纬恒润科技有限公司 http://www.hirain.com 31
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
数据帧
DLC
包含4位,表示数据场包含数据的字节数
DLC=0-8
DLC=9-15DLC=8
北京经纬恒润科技有限公司 http://www.hirain.com 32
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
数据帧
数据场
具有0-8个字节长度,由DLC确定
包含CAN数据帧发送的内容
北京经纬恒润科技有限公司 http://www.hirain.com 33
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
数据帧
CRC
用于进行CRC校验
S
O
F
CRCData Field
发送节点
根据接收的序列,计算一个CRC 接收节点
根据发送的序列,计算一个CRC
接收到的CRC
判断数据帧是否有效
北京经纬恒润科技有限公司 http://www.hirain.com 34
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
数据帧
ACK
确定报文被至少一个节点正确接收
S
O
F
EOF
D
E
L
A
C
K
D
E
L
发送节点
在ACK发送隐性
接收节点
正确接收到报文用显性覆盖隐性
回读显性表示报文被正确接收
北京经纬恒润科技有限公司 http://www.hirain.com 35
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
数据帧
CRC界定符
界定CRC序列
固定格式,1个隐性位
CRC界定符之前进行位填充
S
O
F
D
E
L
CRC
位填充
北京经纬恒润科技有限公司 http://www.hirain.com 36
数据帧
RTR位
用于区分数据帧和远程帧
数据帧,RTR=0;
远程帧,RTR=1;
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
R
T
R
远程帧的帧格式
北京经纬恒润科技有限公司 http://www.hirain.com 37
数据帧
IDE位
用于区分标准帧和扩展帧
标准帧,IDE=0(11位ID)
扩展帧,IDE=1(29位ID)
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
标准数据帧的帧格式
I
D
E
北京经纬恒润科技有限公司 http://www.hirain.com 38
数据帧
SRR位
表明在改位代替了标准帧中的RTR
该位无实际意义
SRR永远置1
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
北京经纬恒润科技有限公司 http://www.hirain.com 39
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
数据帧
r0、r1位
两个保留位
当前置0
北京经纬恒润科技有限公司 http://www.hirain.com 40
数据帧
EOF
表示数据帧结束
固定格式,7个连续的隐性位
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
北京经纬恒润科技有限公司 http://www.hirain.com 41
数据帧
ITM
固定格式
3个连续的隐性位
ITM之后进入总线空闲状态,此时节点可以
发送报文
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
CAN帧CAN帧
I
T
M
Bus Idle
3 0-
帧间空间
EOF
I
T
M
D
E
L
总线空闲
11个连续的隐性位
节点检测到11个连续隐性位
认为总线进入空闲阶段
北京经纬恒润科技有限公司 http://www.hirain.com 42
位填充区域
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
1 11 1 1 1 4 15 1 1 1 70-64
仲裁场 控制场 帧结束ACK场CRC场数据场帧起始
31 1 18
位填充区域
SOF之前的总线空闲区域,不需要同步,
无需进行位填充
CRC之后的位域都是固定格式,不允许位
填充操作
北京经纬恒润科技有限公司 http://www.hirain.com 43
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 44
错误检测
可检测的错误
北京经纬恒润科技有限公司 http://www.hirain.com 45
错误检测
错误检测
位检测位错误
节点检测到的位与自身送出的位数值不同
仲裁或ACK位期间送出“隐性”位,而检测到
“显性”位不导致位错误
填充检测填充错误
在使用位填充编码的帧场(帧起始至CRC序列)
中,不允许出现六个连续相同的电平位
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
填充检测
位检测
北京经纬恒润科技有限公司 http://www.hirain.com 46
错误检测
错误检测
CRC检测CRC错误
节点计算的CRC序列与接收到的CRC序列不同
格式检测格式错误
固定格式位场(如CRC界定符、ACK界定符、帧
结束等)含有一个或更多非法位
ACK检测ACK错误
发送节点在ACK位期间未检测到“显性”位
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
CRC检测
填充检测
位检测
格式检测
ACK检测
北京经纬恒润科技有限公司 http://www.hirain.com 47
错误检测
错误检测
发送节点 位 错 误、格式错误、ACK错误
接收节点填充错误、格式错误、CRC错误
检测到错误后,发送错误标志
位错误、填充错误、格式错误或ACK错误产生后
错误标志在下一位发送
CRC错误错误标志在ACK界定符后发送
Extended ID
I
D
E
S
R
R
S
O
F
EOF
I
T
M
D
E
L
A
C
K
D
E
L
CRCData FieldDLC
r
0
r
1
R
T
R
IDBus Idle Bus Idle
CRC检测
填充检测
位检测
格式检测
ACK检测
2000小时/年,500kbps,
25%总线负载
每1000年才漏检一个错误
北京经纬恒润科技有限公司 http://www.hirain.com 48
错误检测
错误界定
每个节点都含有REC和TEC
当接收错误产生时,REC增加;
正确接收到数据帧,REC减少
TEC类似
REC、TEC的数值会引发节点状态改变
REC: Receive Error Counter 接收错误计数器
TEC: Transmit Error Counter 发送错误计数器
北京经纬恒润科技有限公司 http://www.hirain.com 49
错误检测
节点的三种状态
Error Active
正常的进行总线通信
错误产生时,发送主动错
误标志(6个连续显性位)
Error Passive
能够进行总线通信
限制(连续2次报文发送)
错误产生时,发送被动错
误标志(6个连续隐性位)
Bus Off
不能收发任何报文
主动错误
被动错误 总线关闭
REC>127
或TEC>127
REC<128
和TEC<128
TEC>255
用户请求或128次
11个连续的隐性位
初始化请求
或初始化
0
=2×tdelay
tCAN_Controller,1+tCAN_Transceiver,
1
tCAN_Controller,2+tCAN_Transceiver,2
北京经纬恒润科技有限公司 http://www.hirain.com 75
位定时与同步
位定时
位定时参数确定
T(Bit) = 1/Baudrate
T(tq) = T(Bit) / NBT
T(Prop_Seg)= 2*(DelayTransceiver+DelayBus)
Prop_Seg = T(Prop_Seg) / T(tq)
If (NBT-1-Prop_Seg) /2 为偶数
Phase_Seg1 = Phase_Seg2 = (NBT-1-Prop_Seg) / 2
else
Phase_Seg1 = (NBT-1-Prop_Seg)/2, Phase_Seg2 =
(Phase_Seg1)+1
SJW = min ( Phase_Seg1 , 4 )
北京经纬恒润科技有限公司 http://www.hirain.com 76
位定时与同步
位定时
位定时确定的用例 给定,MCU晶振
8MHz,位速率1Mbps,总线长度20m,单位
总线延迟5ns/m,物理接口的发送接收延迟
150ns@85C (From Freescale AN1798)
1) 总线的物理延迟= 20X5= 100ns
tProp = 2X (100+150) =500ns
2) 选择BRP = 1,tQ = 125ns,NBT = 8
3) PROP_SEG = 500/125=4
4) NBT - PROP_SEG - 1 = 3, PHASE_SEG1 =
1, PHASE_SEG2 = 2
北京经纬恒润科技有限公司 http://www.hirain.com 77
位定时与同步
位定时
位定时确定的用例
给定,MCU晶振8MHz,位速率1Mbps,总
线长度20m,单位总线延迟5ns/m,物理接口
的发送接收延迟150ns@85C
5) RJW= min { 4, PHASE_SEG1 }=1
北京经纬恒润科技有限公司 http://www.hirain.com 78
位定时与同步
同步
CAN的同步包括硬同步和重同步两种同步方
式
同步规则:
一个位时间内只允许一种同步方式
任何一个“隐性”到“显性”的跳变都可用于同
步
硬同步发生在SOF所有接收节点调整各自当前
位的同步段,使其位于发送的SOF位内
重同步发生在一个帧的其他位场内,当跳变沿落
在了同步段之外
在SOF到仲裁场有多个节点同时发送的情况下,
发送节点对跳变沿不进行重同步
北京经纬恒润科技有限公司 http://www.hirain.com 79
位定时与同步
同步
硬同步 发生在SOF位所有接收节点调整各自当
前位的同步段,调整宽度不限
PES2PTS PES1
PES2PTS PES1
S
S
S
S
R
R
D
D
PES2PTS PES1
S
S
R
D
PES2PTS PES1
S
S
R
D
北京经纬恒润科技有限公司 http://www.hirain.com 80
位定时与同步
同步
重同步
相位误差为正,跳变沿沿位于采样点之前相位
缓冲段1 增长
PES2PTS
S
S
PES1
PES2PTS
S
S
PES1
S
S
S
S
R
R
D
D
PES2PTS
S
S
PES1
S
S
R
D
PES2PTS PES1
S
S
R
D
S
S
采样点
Faster
Receiver
Slower
Transmitter
位延长
跳变沿误差
PES1
调节
北京经纬恒润科技有限公司 http://www.hirain.com 81
位定时与同步
同步
重同步
相位误差为负,跳变沿位于前一个位的采样
点之后相位缓冲段2缩短
PES2PTS
S
S
PES1
S
S
R
D
PES2PTS PES1
PES2PTS PES1
S
S
R
D
PTS PES1
S
S
R
D
PES2
S
S
PES2PTS PES1
采样点 采样点
Slower
Receiver
Faster
Transmitter
位缩短
跳变沿误差
调节
PES2
北京经纬恒润科技有限公司 http://www.hirain.com 82
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 83
Rt/2
Rt/2
CgCg
Rt/2
Rt/2
CAN_H
CAN_L
Rt/2=62Ω
Cg=10...100nF
物理层
应用领域
高速CAN: Powertrain, Chasis, Diagnositcs,
Infotainment
CPU
CAN
Controller
RxD
TxD
CAN_H
CAN_L
TxD
RxD
CAN_H
CAN_L
TxD
RxD
EMS
ABS
AT
…
Seat
Control
Door
Control
…
RTH
RTL
Rt=120Ω
Rt=120Ω
终端电阻
的
替代形式
高速
CAN
低速、容错
CAN
82C250
TJA1054
(低速)容错CAN:
Comfort,Diagnostics
北京经纬恒润科技有限公司 http://www.hirain.com 84
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 85
高速CAN
总线电压
0
1
0 0
1 1 1
0 0 0 00
隐性
显性
2.5
电压
V
1.5
3.5
显性隐性 隐性
时间
隐性表示1,显性表示0
北京经纬恒润科技有限公司 http://www.hirain.com 86
CAN_L
CAN_H
~ 2.5 V
~ 3.5 V
~ 1.5 V
电压(V)
CAN message
逻辑“0” (dominant)
逻辑“1” (recessive)
CAN标准
高速CAN报文波形
北京经纬恒润科技有限公司 http://www.hirain.com 87
高速CAN
拓扑结构
CAN线长度
终端电阻R
ECU
1
ECU
2
终端
电阻
ECU
n
终端
电阻
L
D
l
参数 符号 单位
数值
最小 名义 最大
总线长度 L m 0 40
支线长度 l m 0 0.3
节点距离 D m 0.1 40
终端电阻 RL m 100 120 130
北京经纬恒润科技有限公司 http://www.hirain.com 88
高速CAN
电路设计
MCU
CAN
Controller
CAN
Transceiver
SJA1000
PCA82C250
CAN_H
CAN_L
MCU
CAN
Controller
CAN
Transceiver
PCA82C250
CAN_H
CAN_L
北京经纬恒润科技有限公司 http://www.hirain.com 89
高速CAN
CAN
收发器MCU
TxDC
RxDC
CANH
CANL
CAN
控制器
ADD
DATA
ALE
EN
信号接入
EMC电路
CH
CL
差分信号电位信号
C51
S12
SJA1000
82C250
TJA1040
CAN
收发器
MCU内置
CAN控制器
物
理
总
线
TxDC
RxDC
CANH
CANL
光 耦
隔 离
TxD
RxD
信号接入
EMC电路
CH
CL
5V电源 DC-DC隔离
差分信号电位信号
6N137
北京经纬恒润科技有限公司 http://www.hirain.com 90
高速CAN
CAN线故障的容错性能
(1) CAN_H开路
(2) CAN_L开路
(3) CAN_H对VBAT短路
(4) CAN_L对GND短路
(5) CAN_H对GND短路
(6) CAN_L对VBAT短路
(7) CAN_H对CAN_L短路
(8) CAN_H和CAN_L开路
(9) 终端电阻开路
CAN
节点1
RL
RL
CAN
节点n-1
CAN
节点n
case8
case9
CAN_H CAN_L
case1 case2
Vbat
case3 case4
GND
case7
case5
GND
Vbat
case6
北京经纬恒润科技有限公司 http://www.hirain.com 91
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN
北京经纬恒润科技有限公司 http://www.hirain.com 92
低速容错CAN
总线电压
0
1
0 0
1 1 1
0 0 0 00
隐性
显性
2.5
电压
V
0
5
显性隐性 隐性
时间
3.5
1.5
隐性表示1,显性表示0
北京经纬恒润科技有限公司 http://www.hirain.com 93
[2] 低速容错CAN
拓扑结构
CAN线总长度<40m
ECU
1
ECU
2
终端
电阻
ECU
n
ECU
3
ECU
2
终端
电阻
ECU
n-1
ECU
1
ECU
n
总线型
星型
4.7K欧>R>500欧
Rall>100欧
可采用星型连接
北京经纬恒润科技有限公司 http://www.hirain.com 94
低速容错CAN
电路设计
MCU
CAN
Controller
CAN
Transceiver
SJA1000
TJA1054
CAN_H
CAN_L
MCU
CAN
Controller
CAN
Transceiver
TJA1054
CAN_H
CAN_L
北京经纬恒润科技有限公司 http://www.hirain.com 95
低速容错CAN
CAN
收发器MCU
TxDC
RxDC
CANH
CANL
CAN
控制器
ADD
DATA
ALE
EN
信号接入
EMC电路
CH
CL
差分信号电位信号
C51
S12
SJA1000 TJA1054
CAN
收发器
MCU内置
CAN控制器
物
理
总
线
TxDC
RxDC
CANH
CANL
光 耦
隔 离
TxD
RxD
信号接入
EMC电路
CH
CL
5V电源 DC-DC隔离
差分信号电位信号
6N137
北京经纬恒润科技有限公司 http://www.hirain.com 96
低速容错CAN
CAN线故障的容错性能
(1) CAN_H开路
(2) CAN_L开路
(3) CAN_H对VBAT短路
(4) CAN_L对GND短路
(5) CAN_H对GND短路
(6) CAN_L对VBAT短路
(7) CAN_H对CAN_L短路
(8) CAN_H和CAN_L开路
CAN
节点1
RL
RL
CAN
节点n-1
CAN
节点n
case8
CAN_H CAN_L
case1 case2
Vbat
case3 case4
GND
case7
case5
GND
Vbat
case6
北京经纬恒润科技有限公司 http://www.hirain.com 97
CAN总线连接器
北京经纬恒润科技有限公司 http://www.hirain.com 98
主要内容
概述
CAN总线标准
数据链路层
通信机制
数据帧
错误检测
帧格式
位定时与同步
物理层
高速CAN
低速容错CAN