控制器局域网总线CAN协议规范.docx

上传人:b****5 文档编号:8198847 上传时间:2023-01-29 格式:DOCX 页数:16 大小:811.95KB
下载 相关 举报
控制器局域网总线CAN协议规范.docx_第1页
第1页 / 共16页
控制器局域网总线CAN协议规范.docx_第2页
第2页 / 共16页
控制器局域网总线CAN协议规范.docx_第3页
第3页 / 共16页
控制器局域网总线CAN协议规范.docx_第4页
第4页 / 共16页
控制器局域网总线CAN协议规范.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

控制器局域网总线CAN协议规范.docx

《控制器局域网总线CAN协议规范.docx》由会员分享,可在线阅读,更多相关《控制器局域网总线CAN协议规范.docx(16页珍藏版)》请在冰豆网上搜索。

控制器局域网总线CAN协议规范.docx

控制器局域网总线CAN协议规范

控制器局域网总线一CAN

•:

・CAN全称为ControllerAreaNetwork即控制器局域网,是国际上应用最广泛的现场总线之一;

・:

・最初CAN被设计作为汽车环境中的微控制器通讯在车載各电子控制装置ECU之间交换信息形成汽车电子控制网络比如发动机管理系统变速箱控制器仪表装备电子主干系统中均嵌入CAN控制装置;

・:

・一个由CAN总线构成的单一网络中理论上可以挂接无数个节点,实际应用中节点数目受网络硬件的电气特性所限制.例如当使用PhilipsP82C250作为CAN收发器时同一网络中允许挂接110个节点;

•:

-CAN可提供高达IMbit/s的数据传输速率这使实时控制变得非常容易,另外硬件的错误检定特性也增强了CAN的抗电磁干扰能力.

CAN是怎样发展起来的?

❖CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出.当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基

于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线.提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。

于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上.1993年,CAN

已成为国际标准ISO11898(高速应用)和ISO11519

(低速应用)・

•CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误.当信号传输距离达到lOKm时,CAN仍可提供高达50Kbit/s的数据传输速率.

・:

•由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。

•:

•它是一种多主总线.通信介质可以是双绞线、同轴电缆和光

纤,通信距离最远可达10km(5kb/s),最高速率可达IMb/s

(40m).

•:

-CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

❖CAN协议的一个最大特点是废除了传统的站地址编码、而代之以对通信数据块进行编码.采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,让各节点通过滤波的方法分别接收指定标识码的数据.这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用.

v•数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。

同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。

在每帧中都有CRC校验及其它检错措施,保证了数据通信的可靠性.

❖CAN总线釆用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点.CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在冬节点之间实现自由通信.

•:

•网络上的节点可以定义成不同的优先级,利用接口电路中线与功能,巧妙地实现无破坏性的尿于优先权的仲裁

・:

•网络上的节点在错误严重的情况下,具有自动关闭总线的功能

CAN芯片m

类别

甲号

CAN微挣制器

P87C591

件代P87C592

XAC37

16位MCI

CAN押和器

SJA1000

客代82C200

CAN收址器

PCA82C250

岛速3枚发劈

PCA82C251

佥速CAN收发器

PCAS2C252

容硏CAN收发器

TJA10I0

扁速CAN收发希

TJA1011

岛遽CAN枚发器

TJA1050

禺速CAN枚发签

TJA1053

容儘CAN收发需

TJA105I

容错CAN收发器

LD?

收妝灼

TJA1020

LIN牧发册

CAN是怎样工作的?

:

CAN通讯协议主要描述设备之间的信息传递方式、CAN层的定义与开放系统互连模型0S1—致。

每一层与另一设备上相同的那一层通讯实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。

❖CAN的规范定义了模型的最下面两层:

数据链路层和物理层。

应用层协议可以由CAN用户定义成适合特别工业领域的任何方案.已在工业控制和制造业领域得到广泛应用的标准是DeviceNet,这是为PLC和智能传感器设计的;在汽车工业许多制造商都应用他们自己的标准。

CAN的工作原理

当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点.对每个节点来说•无论数据是否是发给自己的■都对其进行接收.

每组报文开头的11位字符为标识符■屯义了报文的优先级•这种报文格式称为面向内容的編址方案“在同一系统中标识幷是唯一的.不可能有两个站发送具有相同标识符的报文二当几个站同时丸争总线读取时•这种配IL十分重要.

❖CAN总线的报文发送和接收.当一个站要向其它銘发送数据时■该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片•并处于准备状态;当它收到总线分配时,转为发送报文状态.CAN芯片将数据根据协议纽织成一定的报文格式发出,这时网上的其它站处于按收状态.每个处于接收状态的站对接收到的报文进行检测■判断这些报文是否足发给自己的■以确定是否接收它.

❖由千CAN总线是一种面向内容的编址方案、因此很容易建立高水准白勺控制系统并灵活地进行配我们可以很容易地在CAN总线中加进一些新站而无需在哽件或软件上进行修改.当所提供的新站是纯数据接收设备时,数据传榆协议不要求独立的部分冇物理目的地址它允许分布过程同步化.即总线上控制器需要测童软据时■可由网上获得■阳无须每个控制器都有

•:

•报文

总线上的信息以不同的固定报文格式发送,但长度受限。

当总线空闲时任何连接的单元都可以开始发送新•的报文。

卜信息路由

在CAN系统里,节点不使用任何关于系统配置的信息(比如站地址)。

以下是几个重要的概念:

O系统灵活性:

不需要改变任何节点的应用层及相关的软件或硬件,就可以在CAN网络中直接添加节点;o报文路由:

报文的内容由识别符命名。

识別符不指出报文的目的地,但解释数据的含义。

因此网络上所有节点都可以通过报文滤波确定是否应对该数据彼丛皮应。

|

O多播:

由于引入了报文滤波的概念,任何数目的节点都可以接受报文,并同时对此报文做出反应。

O数据连贯性:

在CAN网络内,可以确保报文同时被所有的节点接受(或同时不接受)。

因此系统的连贯性是通过多播和错误处理的原理实现的。

总线上的信息以不同的固定报文格式发送,但长度受限。

当总线空闲时任何连接的单元都可以开始发送新的报文。

•:

•位速率:

不同的系统,CAN的速度不同。

可是在一个给定系统中,位速率是唯一的,并且是固定的。

•:

•优先权:

在总线访问期间,识别符定义一个靜态的报文优先权。

•:

远程数据请求:

通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。

数据帧和相应的远程帧是由相同的标识符命名的。

多主机:

总线空闲时,任何单元都可以开始传送报文。

具有较高优先权报文的单元可以获得总线访问权。

仲裁:

只要总线空闲,任何单元都可以开始发送报文.如呆2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。

通过使用识别符的位形式仲裁就可以解决冲突。

仲裁的机制确保信息和时间均不会损失。

当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。

仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。

如果电平相同,则这个单元可以继续发送。

如果发送的是“隐性”电平而监控到“显性”电平(见总线值),那么该单元就失去了仲裁,必须退出发射状态。

o监视(发送器对发送位的电平与被监控的总线电平进行比较)

O循环冗余检查

O位填充

O报文格式检查

・:

・错误检测的执行:

错误检测的机制要具有以下的属性:

0检测到所有的全局错误

0检测到发送器所有的局部错误

O可以检测到报文里多达5个的任意分布借误

o检测到一个报文长度低于15位的突发性错误

O检测到一个报文里奇数个的错误

对于没有被检测到的错误报文,其残余错误可能性概率低于报文错误率4.7x10-11.

协错误标定和恢复时间:

(任何检测到错误的节点会标志出已损坏的报文。

此报文会失效并自动开始重新传输。

如果不再出现新错误的话,从检测到错误到下一报文的传送开始为止,恢复时间最多为29个位的时间。

故障界定:

CAN节点能够把永久故障和短暂扰动区分开,永久故障的节点会被关闭。

・:

・连接:

CAN串行通讯链路是可以连接许多单元的总线.理论上,可连接无数多的单元。

但由于实际上受延迟时间或总线线路上电气贪载的影响,连接单元的数量是有限的。

令单通道:

卜恵线尧由单一进行双向位信号传送的通道组成。

通过此通道可以获得数据的再同步信息。

要使此通道

j实现通讯,有许多方法可以釆用,如使用单芯线(加上接地)、2条差分线、光缆等。

这本技术规范不限制这些实现方法的使用,即未屯义物理层。

•••总线值:

总线可以具有两种互补的逻辑值之一:

“显性”位和“隐性”位同时传送时,总线的结果值为“显性”。

比如,在执行总线的“线与”时,逻辑0代表显性等级,逻辑1代表隐性等级。

本技术规范不给出这些逻辑电平的物理状态(如电压和光)。

❖应答:

所有的接收器检查报文的连贯性。

对于连贯的报文,连接器应答;对于不连贯的报文,接收器做出标志。

睡眠模式/唤醒:

为了减少系统电源的功率消耗。

可以将CAN器件设为睡眠模式以便停止内部活动及断开与总线驱动器的连接。

CAN器件可由总线激活,或系统内部状态而被唤醒。

唤醒时,虽然传输层要等待一段时间使系统振荡器稳定,然后还要等待一段时间直到与总线活动同步(通过检查11个连续的隐性的位),但在总线驱动器被重新设置为“总线在线"之前,内部运行已重新开始。

为了唤醒系统上正处于睡眠模式的其他节点,可以使一特殊的唤醒报文,此报文具有专门的、最低等级的识别符。

(rrrrrrdrrrr;尸“隐性”d』显性”)

・:

・报文的优先权

❖保证延迟时间

❖设置灵活

❖时间同步的多点接收

❖系统宽数据的连贯性

•多王机

❖错误检测和标定

•:

・只要总线一处于空闲就自动将破坏的报文重新传输

•:

-将节点的暂时性错误和永久性错误区分开来并且可以自动关闭错误的节点

CAN总线的网络结构

•:

.CAN总线也是建立在ISO券考模型基础上的,不过只采用了其中最关键的两层,即物理层和数据链路层.

•:

-数据链路层的主要功能是将要发送的数据进行包装,即加上差错校验位、数据链路协议的控制信息、头尾标记等附加信息组成数据帧,从物理信道上发送出去,在接I收道数据帧后,再把附加信息去掉,得到通信数据

—媒依访问控制子层MAC:

传输规则{

—逻辑控制子层LLC:

报文的滤波和报文的处理;

•:

・CAN总线的物理层和数据链路层的功能在CAN控制器中完]

❖CAN-bus规范(Version2.0)

CAN2.OA:

CAN标准报文格式

CAN2.OB:

CAN标准报文格式和扩展报文格式

❖CAN-bus技术规范技术规范的目的

定义数据链路层

定义CAN协议在周围各层中所发挥的

作用

帧格式

二同的CAN帧

•:

.CAN规范2・0B中引入第二种报文格式

•标准帧和扩展帧

具有11位标识符的CAN帧称为:

标准帧具有29位标识符的CAN帧称为:

扩展帧

・:

・规定CAN控制器必须有一个11位的标志符,同时在2.0B版本中规定CAN控制器的标志符长度可以是11位或29位.遵循CAN2.0B协议的CAN控制器可以发送和接收11位标识符的标准格式报文或29位标识符的扩展格式报文.如果禁止CAN2.0B,则CAN控制器只能发送和接收11位标识符的标准格式报文,而忽略扩展格式的报文结构但不会出现错误

报文传输由以下4个不同的帧类型所表示和控制:

・:

・远程帧:

总线单元发出远程帧,请求发送具有同一识别符的数据帧。

•:

•错误帧:

任何单元检测到一总线错误就发送错误帧。

•:

•过载帧:

过载帧用以在先行的和后续的数据帧(或

远程帧)之间提供一个附加的延时.

数据帧(或远程帧)通过帧间空间与前述各帧分开。

数据帧由7个不同的位场组成:

•:

・帧起始

•:

•仲裁场

•:

・控制场

•:

.CRC场

•:

-应答场

•:

•帧结尾

数据场的长度可以为0"

hterframeSpace.

DATAFRAME

Interffame

■Space

or

Overload

Frame

 

StartotFrame

ArbrtratranFidd

ControlFeld

DataF>eid

CRCFitid

ACKField

数据帧结构

CANDnhiFzme

 

扩展帧格式

 

•:

•标准帧格式:

具有11位标识符

•"扩展帧格式:

具有29位标识符

•:

•两种帧格式的区别通过“控制场”(Control

❖Field)中的“识别符扩展力位(IDEbit)来实现

❖两种帧格式可出现在同一总线上

的“显性"位组成。

•:

•只在总线空闲(参见“总线空闲”)时,才允许站开始发送信号。

所有的站必须同步于首先开始发送信息的站的帧起始前沿(参见“硬同步”)O

•:

•标准格式帧与扩展格式帧的仲裁场格式不同-标准格式里仲裁场由11位识别符和RTR位

组成识别符位由ID-28...ID-18

-扩展格式里仲裁场包括29位识别符SRR位

IDE位RTR位其识别符由ID-28..・ID-0

・:

・为了区别标准格式和扩展格式前版本CAN规范1.0-1.2的保留位rl现表示为IDEBit

IrterfraneStart*V

SpaceofFrame

ARBITRATIONFIELD►十Contro

Field

RTR8it

StandardFormat

Identifier

I识别符一标准格式

识别符的长度为11位,相当于扩展格式的基本ID(BaseID).这些位按ID-28到ID-18的顺序发送。

最低位是ID-18,7个最高位(ID-28-ID-22必须不能全是隐性。

•>识别符——扩展格式

和标准格式形成对比扩展格式,由29位组成。

其格式包含两个部分:

11位基本ID、18位扩展ID。

基本ID:

基本ID包括11位。

它按ID-28到ID-18的顺序发送。

它相当于标准识别符的格式。

基本1D定义扩展帧的基本优丸权

•:

•扩展ID:

扩展ID包括18位。

它按ID-17到ID-0顺序发送。

❖RTR位(标准格式以及扩展格式)

RTR的全称为远程发送请求位(RemoteTransmissionRequestBIT)

RTR位在数据帧里必须为“显性”,而在远程帧里必须为“隐性力•

・门扩展格式里,基本ID首先发送,其次是IDE位和SRR位.扩展ID的发送位于SRR位之后。

❖SRR位(扩展格式)

❖SRR的全称是“替代远程请求位力

(SubstituteRemoteRequestBIT)

❖SRR是一隐性位.它在扩展格式的标准帧RTR位位置,因此代替标准帧的RTR位.

•:

•因此,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的,扩展帧的基本ID如同标准帧的识别符。

J—

❖IDE的全称是“识别符扩展位力

(IdentifierExtensionBit)

❖IDE位属于

—扩展格式的仲裁场

标准格式的控制场

•:

•标准格式里的IDE位为“显性”,而扩展格式里的IDE位为“隐性力•

•:

•控制场由6个位组成。

标准格式的控制场格式和扩展格式的不同,标准格式里的帧包括数据长度代码.IDE位(为显性位)及保留位rO•扩展格式里的帧包括数据长度代码和两个保留位:

rl和rO,其保留位必须发送为显性,但是接收器认可“显性力和“隐性力位的组合.

 

Arbitration4V

Field

CONTROLFIELD

StandardFormatandExtencedFomat

►*DataField

IDEW

fO

DLC3

DLC2

D-CI

DLCO

or

CRC

F«W

reservedbus

DataLengthCbce

据长度代码(标准格式以及扩展格式)

•数据长度代码指示了数据场里的字节数量。

数据长度代码为4个位,它在控制场里发送。

❖数据长度代码中数据字节数的编码

•:

•缩写:

d显性;r隐性

 

NumberofDataBytes

DLC3

DataLengtrCooe

DLCO

DLC2

DLC1

0

d

d

d

d

1

d

d

d

r

2

d

d

r

d

3

d

d

r

r

4

d

r

d

d

5

d

r

d

r

6

d

r

r

d

7

d

r

r

r

8

r

d

d

d

数据帧允许的数据字节数{0」7,8}

其他的数值不允许便用

数据场(标准格式以及扩展格式)

❖CRC场包括CRC序列CRCSEQUENCE,其后是CRC界定符CRCDELIMITER.

Data—or

cicin—■

AckField

■ILLUP

Control

Field

CRCDftlimiter

CRCSequence

斗应答场长度为2个位,包含应答间隙的应答界定符。

在应答场里,发送站发送两个隐性位。

当接收器正确地接受到有效的报文,接收器就会在应答间隙期|间向发送器发送一显性的位以示应答。

I

•:

・应答间隙:

所有接受到匹配CRC序列的站会在应答间}隙期间用一个显性的位写入发送器的隐性位来做出)回答。

|

•:

-ACK界定符:

ACK界定符是ACK场的第二个位,并且是)一个必须为隐性的位。

因此,应答间隙被两个隐性的位所包围,也就是CRC界定符和ACK界定符/

•每一个数据帧和远程帧均由一个标志序列界定。

这个标志序列由7个隐性位组成。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1