汽车通信CAN线详解Word文档格式.docx
《汽车通信CAN线详解Word文档格式.docx》由会员分享,可在线阅读,更多相关《汽车通信CAN线详解Word文档格式.docx(31页珍藏版)》请在冰点文库上搜索。
DLC为数据长度码n,它为0-80
•数据场允许的数据字节长度为0—8,由n决定。
•应答场包括应答位和应答分隔符。
发送站发岀的这两位均为隐性电平。
而正确地接收到有
效报文的接收站,在应答位期间应传送主控电平给发送站。
应答分隔符为隐性电平。
•帧结束由7位隐性电平组成。
标准格式
S
O
F
仲裁场►
—控制场数据场
I
11位标识符
RTR
D
E
rO
DLC
图3.11仲裁场扩展格式
R
18位标识符
rl
屮一控制场卜数据场
图3.12仲裁场扩展格式
仲裁场辛制场屮_数据场或CRC场
DLC3
DLC2
DLC1
DLCO
卜保留位屮数据氏度码——►{
图3.13控制场
以上为标准格式的数据帧,除此之外,在CAN规范2.0B中,还左义了扩展格式的数据帧.它的标识符扩展为29位。
它的前11位标识符后的两位为SRR和ME,它们均为隐性电平,后面为新增的18位标识符,其余与标准格式相同。
表3.2数据长度码中数据字节数目编码
数据字节数目
数据长度码
d
1
r
2
3
4
5
6
7
cl
2)远程帧
-
远程帧
帧结束
▲
图3.14远程帧
3)出错帧
数据帧
4出错桢
•帧间空间
•一错误标志一►!
卜错误标志叠力——错误界定符一►
图3.15出错帧
1)超载帧
帧结束或
超载帧
4■帧间空间
超载界定符
错误界定符
"
—超载标志一►
超载标志叠加
图3・16超载帧
(4)CAN通信接口
图3.17是CAN通信部分电路,SJA1000是一种独立用于移动目标和一般工业环境中的区域网络控制。
它是Philips半导体公司PCA82C200CAN控制器(BasicCAN)的替代品,而且它增加了一种新的操作模式一PeliCAN,这种模式支持具有很多新特性的CAN2.0B的协议,独立的CAN控制器有2个不同的操作模式:
BasicCAN模式和PeliCAN模式英中BasicCAN模式可和PCA82c250相兼容BasicCAN模式是上电后默认的操作模式,因此用PCA82C250(是协议控制器和物理传输线路之间收发器)开发的已有硬件和软件可以直接在SJA1000上使用而不用作任何修改:
PeliCAN模式是新的操作模式它能够处理所有CAN2.0B规范的帧类型而且它还提供一些增强功能和SJA1000能应用于更宽的领域。
P1.0
卩CC
PI.I
PO.O
P1.2
P01
P1.3
P0.2
P1.4
P0.3
P1.5
P0.4
P1.6
P0.5
P1.7
P06
RST/VPD
P0.7
P3.ll/RxD
EAJVpp
PB.I/TmD
ALE)PROG
P3.2/INT0
P3EN
P3.3/1NT1
P2.?
P3.4/TO
P2.6
P3.5/T1
P2.5
P3.6/WR
P2.4
P3.7/RD
P2.3
XTAL2
P2.2
XTAL1
P21
GtTD
P2.0
£
10
12
TT
II
I?
17
K
20
89S52
40
39
38
37
36
35
34
33
32
3T
30
29
28
27
26
25
24
23
22
2?
10K
MR
EESET
VCC
RESET
708
GND
NC
PFI
PFO
ALO
TXO
ADI
TX1
AD2
R>:
AEG
RX1
AE4
CLJ2OUT
ADJ
AE6
MODE
&
D7
VDD1
CS
VDD2
RD
VDD3
WR
7SS1
ALE
VSS2
IWT
7SS3
EST
13?
477
45】1■'
21[怡[】2:
口
PCA82C250
6【颌o
22P-22P
120
CANBUS
图3・17CAN通信部分电路
1)SJA1000的特征能分成3组:
1已建立的PCA82C200功能这组的功能已经在PCA82C200里实现。
2改良的PCA82C200功能这组功能的部份已经在PCA82C200里实现但是在SJA1000里这些功能在速度大小和性能方而得到了改良。
©
PeliCAN模式的增强功能在PeliCAN模式里SJA1000支持一些错误分析功能支持系统诊断系统维护系统优化而且这个模式里也加入了对一般CPU的支持和系统自身测试的功能。
SJA1000管脚:
ADO—一AD7:
地址/数据复用信号
ALE/AS:
ALE输入信号(Intel模式),AS输入信号(Motorola模式)
/CS:
片选信号,低电平有效
/RD:
微控制器的/RD信号(Intel模式),或E使能信号(Motorola模式)
/WR:
微控制器的/WR信号(Intel模式),或R/W使能信号(Motorola模式)
CLKOUT:
提供给微控制器的时钟输岀信号,通过可编程分频器由内部晶振产生;
时钟分频寄存器的时钟关闭位可禁止该引脚。
vSSi:
接地端,VSS5:
输入比较器接地端,VSS3:
输出驱动器接地端。
VMl:
逻辑电路的5V电源,咯输入比较器5V电源,、缶输出驱动器5\'
电源。
XTAL1,2:
分别位振荡器放大电路输入输出。
MODE:
模式选择输入,1=Intel模式,0二Motorola模式。
TXO,TX1:
由输出驱动器0、1到物理线路的输岀端。
/INT:
中断输岀,开漏输岀。
/RST:
复位输入。
RX0.RX1:
由物理总线到SJA1000输入比较器的输入端,显性电平将会唤醒SJA1000的睡眠模式;
如果RX1>
RXO的电平高,读岀为显性电平,反之读出的隐性电平:
如果时钟分频寄存器的CBP位被置位,就忽略CAN输入比较器以减少内延时(此时连有外部收发电路):
这种情况下只有RX0是激活的;
隐性电平被认为是髙,而显性电平被认为是低。
PCA82C250/251收发器是协议控制器和物理传输线路之间的接口,对总线提供差动发送能力,对CAN控制器提供差动接收能力,可连接110个节点。
PCA82C250/251管脚:
TXD:
发送数据输入
GND:
地
Vcc:
电源4.5——5.5V
RXD:
接收数据输出
Vref:
参考电压输出
CANH:
低电平CAN电压输入/输岀
高电平CAN电压输入/输出
Rs:
斜率电阻输入,接地选择高速工作模式
2)SJA1000的基本功能和寄存器:
①BasicCAN功能说明
表3.3为SJA1000寄存器说明。
表3.3SJA1OOO寄存器说明
段能功
夂
读
写
IX
H吓
FFH
_
□类控制器
吓
断
屮
FF
8
H
9
发送缓冲器
只-3
示O
识-3标10-
1X
窗!
倔
HF
-8IXMtJ
HH
FF
•
--
接受缓冲器
Hz八-3示O
识-3
和10-
只3軌0-•»
・IX
11y八-3菇10
21
M!
険
LC
W和
ulfORT域
标2-位
-81H-卩节新字据擀数数一
18H-卩II-卩字字据据数数
丄
时器
[1]控制寄存器(CR):
如表3・4所示。
表3.4控制寄存器
位
符号
名称
值
功能
CR.7
CR.6
CR.5
CR.4
OIE
超载中断使能
使能:
如果数拯超载位置位,微控制器接收一个超载中断信号
禁止:
微控制器不从SJA1000接收超载中断信号
CR.3
EIE
错误中断使能
如果岀错或总线状态改变,微控制器接收一个错误中断信号
微控制器不从SJA1000接收错误中断信号
CR.2
TIE
发送中断使能
当报文被成功或发送缓冲器可再次被访问时,
SJA1000向微控制器发出一次发送中断信号
SJA1000不向微控制器发送中断信号
CR.1
RIE
接收中断使能
报文被无错误接收时,SJA1000向微控制器发岀一次中断信号
SJA1000不向微控制器发送接收中断信号
CR.0
RR
复位请求
常态:
SJA1000检测到复位请求后,忽略当前发送/接收的报文,进入复位模式
非常态:
复位请求位接收到一个下降沿后,SJA1000回到工作模式
[2]命令寄存器(CMR):
如表3・5所示。
表3.5命令寄存器
CMR.7
CMR.6
CMR.5
CMR.4
CTS
睡眠
睡眠:
如果没有CAN中断等待和总线活动,SJA1000进入睡眠模式
唤醒:
SJA10001E常工作模式
CMR.3
CDO
淸除超载状态
淸除:
淸除数据超载状态位
无作用
CMR.2
RRB
释放接收缓冲器
释放:
接收缓冲器中存放报文的内存空间将被释放
CMR.1
AT
夭折发送
如果不是在处理过程中,等待处理的发送请求将忽略
CMR.0
TR
发送请求
报文被发送
[3]状态寄存器(SR):
如表3・6所示。
表3.6状态寄存器
SR.7
BS
总线状态
总线关闭:
SJA1000退出总线活动
总线开启:
SJA1000进入总线活动
SR.6
ES
出错状态
岀错:
至少出现一个错误计数器满或超过CPU报警机制
正常:
两个错误计数器都在报警限制以下
SR.5
TS
发送状态
发送:
SJA1OOO正在发送报文
空闲:
没有要发送的报文
SR.4
RS
接收状态
接收:
SJA1OOO正在接收
没有要接收的报文
SR.3
TCS
发送完毕状态
完成:
最近一次发送请求被成功处理
未完成:
当前发送请求未处理完毕
SR.2
TBS
发送缓冲器状态
CPU可以向发送缓冲器写报文
锁泄:
CPU不能访问发送缓冲器,有报文正在等待发送或正在发送
SR.1
DOS
数据超载状态
超载:
报文丢失,因为RXFIFO中没有足够的空间来存储它
未超载:
自从最后一次淸除数据超载命令执行,无数据超载发生
SR.0
RBS
接收缓冲状态
满:
RXFIFO中有可用报文
空:
无可用报文
[4]中断寄存器(IR):
如表3.7所示。
表3.7中断寄存器
IR.7
IR.6
IR.5
IR.4
WUI
唤醒中断
宜位:
退出睡眠模式时此位被宜位
复位:
微控制器的任何读访问将淸除此位
IR.3
D0I
数据超载中断
当数据超载中断使能位被置为1时,数据超载状态位由低到髙的跳变,将英宜位。
IR.2
EI
错误中断
错误中断使能时,错误状态位或总线状态位的变化会置位此位
IR.1
TI
发送中断
发送缓冲器状态由低到高的跳变(释放)和发送中断使能时,置位此位
IR.0
RI
接收中断
置位:
当接收FIFO不空和接收中断使能时置位此位
[5]验收代码寄存器(ACR):
如表3・8所示。
表3.8验收代码寄存器
BIT7
BIT6
BITS
BIT4
BIT3
BIT2
BIT1
BITO
AC.7
AC.6
AC.5
AC.4
AC.3
AC.2
AC.1
AC.0
复位请求位被置髙(当前)时,该寄存器可以访问。
如果一条报文通过了接收滤波藩的测试而且接收缓冲器有空间,描述符和数据将被分别顺次写入RXFIFO,当报文被正确的接收完毕,则有:
接收状态位置髙(满);
接收中断使能位置髙(使能),接收中断宜髙(产生中断)。
验收代码(AC•厂AC.O)和报文标识符的髙8位(ID.10^ID.3)必须相等,或验收屏蔽位(AM.7~AM.O)的所有位为1。
即如果满足以下方程的描述,则予以接收。
[(ID・10~ID・3)三(AC•厂AC.O)]V(AM・7、AM・0)三11111111
[6]验收屏蔽寄存器(AMR):
如表3.9所示。
表3.9验收屏蔽寄存器
AM.7
AM.6
AM.5
AM.4
AM.3
AM.2
AM.1
AM.0
验收屏蔽寄存器立义验收代码寄存器的哪些位对接收过滤器是“相关的”或“无关的”(即可为任意值)
当AM.i=0时,是“相关的”
当AM.i=l时,是"
无关的”(i二0~7)
[7]发送缓冲区:
如表3・10所示。
表3.10验收屏蔽寄存器
区
CAN地址
L
□
描述符
标识符字
V/1
ID.10
ID.9
ID.8
ID.7
ID.6
ID.5
ID.4
ID.3
11
标识符?
节2
ID.2
ID.1
ID.O
DLC.3
DLC.2
DLC.1
DLC.O
TX数据1
发送数据字节1
13
TX数据2
发送数据字节2
14
TX数据3
发送数据字节3
15
TX数据4
发送数据字节4
16
TX数据5
发送数据字节5
TX数据6
发送数据字节6
18
TX数据7
发送数据字节7
19
TX数据8
发送数据字节8
标识符(ID):
11位,就像报文的名字,值越低,优先级越髙。
远程发送请求(RTR):
当RTR二1,总线以远程帧发送数据。
如果RTR没有被宜位,数据将以
数据长度码规定的长度来传送数据帧。
数据长度码(DLC):
数据字节数=8XDLC.3+4XDLC.2+2XDLC.1+DLC.0
报文数据区的字节数根据数据长度码编制。
在远程帧传送中,因为RTR被置位,数据长度码是不被考虑的。
这就迫使发送/接收数据字节数为0o然而,数据长度码必须正确设垃,以避免两个CAN控制器用同样的识別机制启动远程帧传送而发生总线错误。
数据字节数是0-8。
数据区:
传送的数据字节数由数据长度码决左。
发送的第一位是地址12单元的数据字节1的最高位。
③BasicCAN和PeliCAN公用寄存器
[1]总线时序寄存器0(BTRO):
如表3.11所示。
表3.11总线时序單存器0
BH7BIT6BITSBIT4BIT3BIT2BIT1BITO
SJW.1SJW.0BRP.5BRP.4BRP.3BRP.2BRP.1BRP.0波特率预置器位域
位域BRP使得CAN系统的时钟的周期时Sa是可编程的:
tscl=2咕*x(32xBRP5+16xBRP.4+8xBRP.3+4xBRP2+2xBRP.I+BRP.O+1)
(clk=X7AL=
同步跳转宽度位域
为了补偿在不同总线控制器的时钟振荡器之间的相位漂移,任何总线控制器必须在当前传送的任一相关信号边沿重新同步。
同步跳转宽度5*泄义了一个位周期可以被一次重新同步缩短或延长的时钟周期的最大数目。
S=fscLX(2XSJW」+SJW.O+1)
[2]总线时序寄存器1(BTR1):
如表3.12、13所示。
总线时序寄存器1泄义了一个位周期的长度、采样点的位置和在每个采样点的采样数目。
在复位模式中,这个寄存器可以被读/写访问。
在PeliCAN模式的操作模式中,该寄存器是只读的,在BasicCAN模式的操作模式中总是“FFH”
表3.12总线时序寄存器1
BIT5
SAM
TSEG2.2
TSEG2.1
TSEG2.0
TSEG1.3
TSEG1.2
TSEG1.1
TSEG1.0
采样位(SAM)
表3.13采样位
3次:
总线采样3次,建议在低/中速总线上使用,这对过滤总线上的毛刺是有效的