✅ 操作成功!

can网络

发布时间:2023-06-12 作者:admin 来源:文学

can网络

can网络

文献-简历格式模板

2023年3月16日发(作者:温州大学信息门户)

1

CAN规范2.0B

2

1介绍

控制器区域网络(CAN)是一种串行通信协议,支持高级安全的

分布式实时控制。应用领域范围从高速网络到低成本多线路系统。在

汽车电子、发动机控制单元、传感器、防滑系统等用位速率达1M位

/s的CAN连接起来。同时以低成本建立车体电子,如使用灯簇、电

子窗代替线束等其它需要。

本规范的目的是在2种CAN实现间实现兼容性。兼容性包括电

器特性和所传输数据的解释等方面。为取得设计的透明性和实现灵活

性,CAN按ISO/OSI参考模型细分成不同层:

·数据链路层

-逻辑链路控制子层(LLC);

-介质访问控制子层(MAC)

·物理层

注意在以前的CAN规范版本中,LLC和MAC子层的服务和功

能在对象层和传输层中描述。

LLC子层:

·提供数据传输和远程数据请求;

·确定LLC子层收到的消息实际应接受哪些;

·提供恢复管理和过载通信手段。

在对象处理定义中,可能会更自由。

MAC子层:主要是传输协议,即帧控制,仲裁执行,错误检查,

错误信号和故障限制。在MAC子层中,它确定新的传送开始时总线

3

是否空闲,以及是否接收刚刚开始。还有一些位定时等通用特性也在

MAC子层中。MAC的特点是不能自由修改。

物理层的范围是位在不同节点间实际传输的所有电器特性。在一

个网络中,所有节点物理层必须相同,但物理层的选择更加自由。

本规范定义MAC子层和一小部分LLC子层,并描述CAN协议

对周围层的作用结果。

2基本概念

CAN包含如下属性:

·消息优先权;

·延迟时间保证;

·配置灵活性;

·带时间同步的多播接收;

·系统范围的数据一致性;

·多播;

·错误检测和错误信号;

·只要总线再次空闲,损坏消息就自动重传;

·节点的临时错误和永远故障辨别,缺陷节点的自主关闭。

按OSI参考模块的CAN分层结构

·物理层定义了信号实际上如何传播,以及因此需要处理的位定

时描述、位编码和同步。本规范并没有定义驱动器/接收器物理层特

性,因此允许为应用对传输介质和信号电平的实现进行优化。

4

·MAC子层给出CAN协议的核心。它提交从LLC子层接收来

的消息,并将接受的消息传送给LLC子层。MAC子层负责消息组帧、

仲裁、确认、错误检测和发送信号。MAC子层由称为故障禁闭的管

理实体监控,该实体通过自检区分小扰动和永久故障。

·LLC子层负责消息过滤、过载通知和恢复管理。

本规范定义数据链路层和周边层的CAN协议。

1.消息

总线上的信息以不同的固定格式但长度有限的消息发送(见第3

5

部分:消息传送)。当总线空闲时,任何已连接的单元都可以启动新

消息的传输。

(1)信息路由:在CAN系统中,一个CAN节点不使用任何关

于系统配置的信息(如站地址)。这带来了几个重要后果。

(2)系统灵活性:节点加入CAN网络时不需要任何节点的软件

和硬件,以及应用层的改变。

(3)消息路由:消息内容由标识符命名。标识符并不指示消息

的目地,但描述了数据的含义,因此网络中的所有节点都能通过消息

过滤来决定数据对它们是否起作用。

(4)多播:作为消息过滤概念的结果,任何数量节点都能接收

并对同一消息同时产生行为。

(5)数据一致性:在CAN网络中,要保证一个消息要么同时被

所有节点接收,要么无节点接收。因此一个系统的数据一致性通过多

播和错误处理的概念来取得。

2.位率

CAN速度在不同的系统中可以是不同的,但在给定的系统中,

位速率必须一致且固定。

3.优先权

标识符在总线访问期间定义了静态消息优先权。

4.远程数据请求

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

发送相应的数据帧来获得。数据帧和相应的远程帧使用相同标识符。

6

5.多播

当总线空闲时,任何单元都可以启动消息的传输。带最高优先权

消息的单元赢得总线访问。

6.仲裁

只要总线空闲,任何单元都可以启动消息传输。如果2个或更多

单元同时启动消息传输,总线访问冲突通过对所用的标识符进行按位

仲裁来解决。仲裁机制保证了信息和时间均不损失。如果有相同标识

符的数据帧和远程帧同时发起,数据帧会优先于远程帧。在仲裁期间,

每个传送器都将传送的位电平与总线上监视的位电平进行比较。如果

电平相等,单元可以连续发送。当一个单元发送隐性电平时监视到显

性电平,该单元会丢失仲裁,必须后退不再发送位。

7.安全性

为了取得数据传送的最大安全性,每个CAN节点内都实现了强

大的错误检测措施、发送信号和自检查。

(1)错误检测:为了检测错误采取如下措施。1)监视(传送器

将传送位的电平与总线上检测到的位电平进行对比);2)循环冗余校

验码;3)位填充;4)消息帧检查。

(2)错误检测的执行:错误检测机制有以下属性。1)能检测全

局错误;2)传送器能检测本地错误;3)能检测多达5个随机分布的

错误;4)能检测消息中长度小于15的突发错误;5)能检测消息中

任意奇数个错误。

未检测到损坏消息的总漏检错误概率:小于“消息错误率*4.7*

7

10-11”。

(3)错误信号和恢复时间:损坏的消息被检测到的节点做上标

记。这样消息终止并自动重传。如果没有其它错误,从检测到错误至

下一个消息启动的恢复时间最多为31个位时间。

(4)故障禁闭:CAN节点能分辨出短期扰动和永远故障。有缺

陷节点被关闭。

(5)连接:CAN串行通信连接是用一条可连接多个单元的总线。

连接单元数理论上无限制。实际上单元最大数受限于延迟时间和/或

电器负载。

(6)单通道:总线由单个双向通道组成,从通道带的位中,可

分离出数据再同步信息。本规范没有固定以该方式实现这种通道的方

法。如单次写(正地)、2种不同的接线、光纤等。

(7)总线值:总线可以是两种互补的逻辑值之一:“显性”或“隐

性”。在同时传送“显性”和“隐性”期间,总线值的最终结果将是

“显性”。例如,如果总线按“线与”实现,显性电平表示为逻辑0,

隐性电平为逻辑1。表示逻辑电平的物理状态(如电学电压、光照度)

在本规范中没有给出。

(8)确认:所有接收器检查所收消息的一致性,对一致的消息

进行确认,为不一致的消息做出标记。

(9)睡眠模式/唤醒:为减少系统的能量消耗,CAN设备可以设

置成睡眠模式,该模式下没有任何内部活动,并断开与总线驱动器的

连接。睡眠模式通过任何总线活动或系统内部连接来唤醒。唤醒时,

8

内部活动被重启,但MAC子层还将等待系统的振荡器稳定,然后在

总线驱动器被再次设置成“在线”之前,要一直等待到它与总线活动

的同步(通过检查11个“隐性位”)。

(10)振荡器容差:在传输率达125kb/s的应用中,位定时允许使

用陶瓷共振器(规则要求);更精确的赋值参考Dais,S;Chapman,M:

“传输能力对位表示的影响和串行数据流中的时钟精确性,SAE

TechnicalPaperSeries890532,MultiplexinginAutomobilSP-773,

March1989.”,对于CAN协议的整个总线速度范围,需要使用时英振

荡器。

3消息传输

3.1帧格式

有两种不同格式,它们的标识符场长度不同。带11位标识符的

帧是标准帧,带29位标识符的帧是扩展帧。

3.2帧类型

消息传输由四种不同帧类型显示和控制:

数据帧:携带数据从发送器至接收器;

远程帧:由总线单元发送,请求使用相同的标识符传输数据帧;

错误帧:当检测到总线错误时,可由任意单元传送;

过载帧:用来在前后两个数据或远程帧之间,提供一个额外延迟。

数据帧和远程帧即可使用标准帧格式,也可使用扩展帧格式。它

们通过帧间距与前趋帧分隔开。

9

3.2.1数据帧

由7种不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC

场、确认场、帧结束。数据场长度可以为0。

帧起始(SOF,标准格式及扩展格式):1个显性位,标记数据

帧和远程帧的开始。仅当总线空闲时才允许站开始传输(见帧间距)。

所有站必须与第一个开始传输站的SOF前沿同步(见硬同步)。

仲裁场:标准格式与扩展格式不同。标准格式由11位标识符和

RTR位组成,标识符位置标识为ID18~ID28;扩展格式由29位标识

符和SRR位、IDE位和RTR位组成,标识符位置标识为ID0~ID28。

为区分这两种格式,在以前CAN规范(V1.0~V1.2)中保留的r1位,

现在用作IDE位。

10

标识符(标准格式):长11位,与扩展格式的基本ID一致。这

些位的传输顺序为由ID28到ID18,最低位是ID18。最高的7位

(ID22~ID28)一定不能均为隐性位。

标识符(扩展格式):长29位,由两部分组成,基本ID为11

位,扩展ID为18位。基本ID与标准格式的ID一致,它定义了扩

展帧的基本优先权。扩展ID传输顺序为ID17~ID0。

RTR位(标准格式和扩展格式):远程传输请求位,数据帧中

RTR位必须是显性位。远程帧中必须为隐性位。

SRR位(扩展格式):代替远程请求,隐性位。它代替了标准帧

中的RTR位。有相同基本ID的标准帧和扩展帧,在该位上产生冲突,

这种冲突按标准帧优先于扩展帧传输的方式解决。

11

IDE位(扩展格式):扩展位标识符,在扩展格式中它属于促裁

场;在标准格式中,它属于控制场。标准格式中,IDE位以显性位传

输,扩展格式中以隐性位传输。

控制场(标准格式和扩展格式):由6位组成,标准格式与扩展

格式不同。标准格式中包括数据长度码、IDE位(显性)和保留位r0;

扩展格式中包括数据长度码、保留位r1、r0。保留位必须为显性位,

但接收器能接收显性和隐性位的所有组合。

数据长度码(标准格式和扩展格式):4位,在控制场中,指示

数据域的字节长度。数据字节长度编码见下表,d表示显性,r表示

隐性。

12

数据帧允许的数据字节数为0~8,其它值不能使用。

数据场(标准格式和扩展格式):由数据帧中要传输的数据组成,

可包含0~8个字节,每个8位均从最高位开始传输。

CRC场(标准格式和扩展格式):包括CRC序列和CRC分界符。

·CRC序列(标准格式和扩展格式):

帧校验序列来源自于最适合位数少于127位(BCH码)的帧的

循环冗余码。为了完成CRC计算,被除多项式定义为多项式,多项

式的系数由去掉填充位的位流给出,位流由帧起始、仲裁场、控制场、

数据场(如果有)组成。最低的15个系统为0。多项式被生成多项

式除(其系数用模2计算),生成多项式如下:

X15+X14+X10+X8+X7+X4+X3+1。

该多项式除的剩余部分是通过总线传输的CRC序列。

为了实现这个功能,用一个15位的移位寄存器CRC_RG。如果

NXTBIT表示位流的下一位,由帧起始至数据场结束的去填充位的位

流序列给出,则CRC序列按如下方法计算:

13

CRC_RG=0;//初始化移位寄存器

REPEAT

CRCNXT=NXTBITEXORCRC_RG(14);

CRC_RG(14:1)=CRC_RG(13:0);//左移1位

CRC_RG(0)=0;

IFCRCNXTTHEN

CRC_RG(14:0)=CRC_RG(14:0)EXOR(0x4599);

ENDIF

UNTIL(CRC序列开始或有错误条件)

在发送/接收完数据场的最后一位后,CRC_RG中包含的是CRC

序列。

CRC分界符(标准格式和扩展格式):1个隐性位。

确认场(标准格式和扩展格式):2位长,1位是确认槽,另1位

是确认分界符。在确认场中,发送站发送2个隐性位,在确认槽传送

期间,收到消息的接收站如果认为消息正确,通过将1个显性位放到

该确认槽中(发送确认),以向发送者报告。

14

确认槽:所有已收到与CRC序列匹配的站均在确认槽中做出报

告,试图将发送者发送的隐性位改成显性位。

确认分界符:必须为隐性位。从整个序列来讲,确认槽由两个隐

性位包围(CRC分界符和确认分界符)。

帧结束(标准格式和扩展格式):每个数据帧和远程帧均由一个

由7个隐性位组成的标志序列分界。

3.2.2远程帧

扮演接收器角色的站为某个数据可以发起针对相应源节点的数

据的传输,方法是发送远程帧。标准格式和扩展格式均有远程帧,两

格式下该帧均由6个不同位场组成:帧起始、仲裁场、控制场、CRC

场、确认场、帧结束。与数据帧相比远程帧的RTR位是隐性位,没

有数据场,数据长度码可以是0~8中的任意值。

RTR位的极性指示了所传输的帧是数据帧(显性位)还是远程

15

帧(隐性位)。

3.2.3错误帧

由两个不同域组成,第一个域是错误标志的重叠位,它由不同的

站赋值;第二个域是错误分界符。

为正确结束错误帧,错误被动节点可能需要总线成为空闲至少3

个位时间(如果在错误被动节点接收器上有本地错误)。因此总线负

载不能为100%。

错误标志:有2种错误标志—主动错误标志和被动错误标志。

1.主动错误标志由6个显性位组成;

2.被动错误标志由6个隐性位组成,除非它被其它节点的显性

位覆盖。错误主动站检测错误条件,通过传送主动错误标志发出信号。

错误标志形式违反了应用于从帧志始至CRC分界符所有场的位填充

规则(见编码),或是破坏了确认场或帧线束的固定格式。因此所有

其它站均能检测到错误条件,并各自开始传送错误标志。因此实际能

够在总线上监视到的显示位序列,是各个独立站发送不同错误标志的

叠加结果。该序列的整个长度最小为6位,最大为12位。错误被动

站检测错误条件并试着发被动错误标志。错误被动站从被动标志开始

16

等待6个连续相同的极性位。当检测到6个相同位时,隐性错误标志

完成。

错误分界符:由8个隐性位组成,在传输一个错误标志后,每个

站都发送隐性位并监控总线,直到检测到一个隐性位。然后开始再传

送7个隐性位。

3.2.4过载帧

由2位的过载标志域和过载分界符组成。有2种过载条件:

1.接收器的内部条件,它需要下一数据帧或远程帧的延迟;

2.在间歇域(帧间距中)的第1和第2位上检测到显性位;

3.如一个CAN节点在错误分界符或过载分界符的最近8位采样

到一个显性位,它就开始传输过载帧(非错误帧)。错误计数不增加。

由于过载条件1引发的过载帧仅允许在预期的间歇域中的第1位

处开始,而过载条件2和3引发的过载帧在检测到显性位的后一位处

开始。

一次最多可产生2个过载帧,以延迟下一数据或远程帧。

过载标志:由6个显性位组成,与主动错误标志形式一致。过载

标志的形式破坏了间歇域的固定形式,因此所有站都能检测到过载

17

帧,并各大自开始传递过载标志。如果在间歇域的第3位检测到显性

位,则该位解释成帧起始。

注意:基于CAN规范V1.0和V1.1的控制器对间歇域的第3位

解释为,如果某个节点检测到显性位,其它节点将不能正确解释过载

标志,而是将6个显性位中的第1个解释成帧起始;第6个显性位违

反了位填充规则,从而导致错误条件。

过载分界符:由8个隐性位组成,与错误分界符形式相同。过载

标志传送后,站监视总线直到检测到一个由显性位到隐性位的转换为

止。此刻每个总线上的站都发送完了过载标志,所有站均开始传输7

个或更多的隐性位。

3.2.5帧间距

数据帧和远程帧通过叫帧间距的位域将它与前面的帧(数据帧、

远程帧、错误帧、过载帧)分隔开,过载帧和数据帧不需要这种分隔。

帧间距包含间歇域和总线空闲域,对于作为先前消息发送者的错误被

动站,它还包括挂起传输域。

对于非错误被动站,或作为先前消息接收者的站,其形式为:

对作为先前消息发送者的错误被动站,其形式为:

18

间歇域:由3个隐性位组成,在间歇域期间唯一能采取的行为是

发过载条件信号,不允许站主动开始传输数据帧或远程帧。

注意:如果一个CAN节点有个消息等待传输,它在间歇域的第

3位采样到显性位,则解释其为帧起始位,它的下一位解释为开始传

输的第i条消息标识符的第一位,该节点既不能用此位传输帧起始,

也不能成为接收者。

总线空闲域:总线空闲期可以任意长,总线被认为是空闲时,任

何站都可以访问总线进行传输。在另一消息传输期间,消息传输开始

于间歇域之后的第1位,总线上检测到显性位,被解释成帧起始。

挂起传输域:错误被动站传输完一条消息后,它在间歇域后,开

始传输其它消息前或认为总线空闲前,发送8个隐性位。如果同时又

开始一个传输(另一个站引起),该站将变为该消息的接收者。

3.3帧格式的一致性

标准格式的数据/远程帧模式与CAN规范1.2的相同。扩展格式

为协议新特征。满足CAN规范的控制器至少要满足以下两条:

1.支持标准格式;

2.能接收扩展格式,这需要它不破坏扩展帧格式,但并不需要

一定要完全支持扩展格式。

19

3.4发送者/接收者的定义

发送者:产生消息的单元叫消息发送者,该单元停留在发送者状

态,直到总线空闲或该单元失去仲裁。

接收者:如果一个单元不是发送者,或总线不空闲,该单元是消

息的接收者。

4消息过滤

消息过滤基于整个符识进行,可选择的屏蔽寄存器能将任何标识

符位设置成不关心,这可用来选择映射到附属的接收缓冲的标识符

组。如果屏蔽寄存器的每位都实现为可编程的,这些位可以使能或禁

止对消息的过滤。屏蔽寄存器的长度可以是整个标识符,也可以是其

中的一部分。

5消息有效性

对消息的发送者和接收者来讲,它们的消息生效的时间点不同。

发送者:直到帧结束,如果没有错误则消息有效。如果消息被破

坏,将按优先权自动重传。为了其它消息能完成总线访问,重传必须

在总线空闲时开始。

接收者:除帧结束的最后一位外,如果消息没有错误则消息有效。

帧结束的最后一位值按不关心处理,显性位值不会导致模式错误。

6编码

20

位流编码:帧起始、仲裁场、控制场、数据场和CRC序列,这

些帧段,通过位填充的方法编码。只要发送者检测到发送的位流中有

5个连续相同的位值,它就自动在位流中插入一个相反位值。数据帧

或远程帧的其它位域(CRC分界符、确认域和帧结束)是固定形式,

不填充。错误帧和过载帧也是固定形式,亦不填充。消息中的位流按

不返回0(NRZ)的方法进行编码,即整个位时间中产生的位电平要

么为显性,要么为隐性。

7错误处理

7.1错误检测

有5种错误类型(不是互斥排他的错误):

·位错误:单元在总线上发送一个位的同时,也监视总线,当监

视到的位值与发送的值不同时,在该位时间内必须检测到这样的位错

误。但在对仲裁场位流的填充期间或确认槽期间发送的是隐性位,检

测到显性位时不是位错误。发送者发送被动错误标志,并检测到显性

位时,并不将其解释成位错误。

·填充错误:在需要按位填充编码的消息域中,第6个连续相同

位电平的位时间内必须检测到填充错误。

·CRC错误:CRC序列由发送者计算的CRC结果组成,接收者以

相同的方法计算CRC。如果计算的结果与所接收的CRC序列不同,则

发生CRC错误。

·格式错误:当固定格式的位域包含一个或多个非法位时,发生

21

格式错误。(注意,对接收者,在帧结束的最后一位期间,检测到显

性位不按格式错误处理)

·确认错误:在确认槽期间,只要发送者没有监视到显性位,则

发生确认错误。

7.2错误信号

检测到错误条件的站通过传输错误标志发送信号。对于错误主动

节点,信号为主动错误标志,对错误被动节点信号是被动错误标志。

只要检测到位错误、填充错误、格式错误、确认错误,各站就在下一

位开始错误标志传输。除非因其它错误条件已经开始传输错误标志

外,只要检测到CRC错误,错误标志就在确认边界符的下一位开始传

输。

8故障禁闭

一个单元可以处于以下三种状态之一:

·错误主动:错误主动单元通常参与总线通信,当已经检测到错

误时,发送主动错误标志。

·错误被动:错误被动单元不能发送主动错误标志,它参与总线

通信,但当检测到错误时仅发送被动错误标志。仅当一个传输完成后,

错误被动单元将在发起更多传输之前等待(见挂起传输)。

·离线:离线单元不允许对总线有任何影响(如输出驱动器关闭)。

对于故障禁闭,每个总线单元都要实现2个计数:

22

1)发送错误计数;

2)接收错误计数。

这些计数按如下规则修改:

1.当接收者检测到错误,接收错误计数加1,但在发送主动错误

标志或过载标志期间检测到位错误不增加计数值。

2.当接收者在发送错误标志后在第一位上检测到显性位,则接

收错误计数加8。

3.当发送者发送错误标志时,发送错误计数加8。

例外1:如果发送者是错误被动,因没有发现显性确认而检测到

的确认错误,以及在发送它的被动错误标志期间没有检测到显示性

位;

例外2:如果发送者在仲裁场期间因填充错误发送错误标志,以

及应该发送隐性位,且已经发送了隐性位,但监视到了显示性位。

在例外1和2中,发送错误计数不变。

4.如果发送者在发送主动错误标志或过载标志期间,检测到位

错误,发送错误计数加8。

5.如果接收者在发送主动错误标志或过载标志期间,检测到位

错误,接收错误计数加8。

6.在发送主动错误标志、被动错误标志、过载标志后,任何节

点能容忍7个连续显性位。在检测到第14个连续显性位(如主动错

误标志或过载标志)之后,或是在被动错误标志后面检测到第8个连

续显性位之后,或是在8个连续显性位的每个附加序列之后,每个发

23

送者的发送错误计数加8,每个接收者的接收计数加8。

7.在成功发送消息(得到确认且直到帧结束无错误完成)之后,

除非发送错误计数已经为0,否则减1。

8.在成功收到消息(确认槽上无错误,并成功将确认发送到确

认位上)之后,如果值在1至127之间,接收错误计数减1。如果接

收错误计数是0,保持不变。如果值大于127,则将错误计数恢复到

119和127之间。

9.当发送错误计数等于或超过128时,或接收错误计数等于或

超过128时,节点成为错误被动。使节点进入错误被动状态的错误条

件,引发节点发送主动错误标志。

10.当发送错误计数大于等于256时,节点处于离线状态。

11.当发送错误计数和接收错误计数都小于等于127时,错误被

动节点再次变为错误主动节点。

12.总线上监视到11个连续隐性位,处于离线的节点允许变为

错误主动节点,两个错误计数均被设为0至128。

注意:错误计数值大于96表示严重干扰总线,这可能为测试这

种条件提供的较好方法。

注意:启动/唤醒时,如果系统启动期间仅有一个节点在线,且

该节点发送了某消息,它不会得到确认,节点分检测到错误并重发消

息。这可能仅该节点进入错误被动状态,但不会变为离线状态。

9振荡器容差

24

最大振荡器容差是1.58%,因此总线上使用陶瓷共振器时,最大

速度为125Kb/s;更精确的估值可参考相关资料。对于CAN协议的

全部总线速度范围,需要使用时英振荡器。对振荡器精度有最高要求

的CAN网络芯片,决定了振荡器的精度,所有其它节点也需要具有

同样精度的振荡器。

注意:满足此CAN规范和以前版本V1.0、V1.1的CAN控制器,

用在一个网络中,所有控制器必须均使用石英振荡器。这意味着陶瓷

共振器只能用于所有节点均满足CAN协议规范V1.2或以后版本的网

络中。

10位定时要求

名义位速率:是使用一个理想发送器,在没有再同步的情况下,

每秒传输的位数。

名义位时间=1/名义位速率

名义位时间可被分成独立且不互相重叠的时间段,这些段是:

-同步段(SYNC_SEG);

-传播时间段(PROP_SEG);

-缓冲时期段1(PHASE_SEG1);

-缓冲时期段2(PHASE_SEG2)。

25

同步段(SYNC_SEG):该时间段用于与总线上的不同节点同步,

期望在此段内出现一个边沿;

传播时间段(PROP_SEG):该时间段用于补偿网络内的物理延

迟时间,它是总线的线上信号传播时间总和的2倍,包括输入延迟和

输出驱动延迟;

缓冲相位段1(PHASE_SEG1)和缓冲相位段2(PHASE_SEG2):

这些缓冲期段用于补偿边沿的相位误差。这些段能够通过再同步被拉

长或缩短。

采样点:总线上电平被读的时间点,读出的电平被解释成位值,

其位置在缓冲相位段1的结束处。

信息处理时间:是从采样点开始,为计算随后的位电平而预留出

来的时间段。

时间定额:是来自于振荡器周期的固定时间单位。有一个范围至

少在1到32的整数值的可编程预定标器,用最小时间定额启动它时,

时间定额长度为:

时间定额=m·最小时间定额,m是预定标器的值。

时间段长度:

26

·SYNC_SEG:1个时间定额长;

·PROP_SEG:可编程为1、2、…、8个时间定额长;

·PHASE_SEG1:可编程为1、2、…、8个时间定额长;

·PHASE_SEG2:是PHASE_SEG1和信息处理时间的最大值;

·信息处理时间:少于或等于2个时间定额长。

一个位时间中的时间定额的总数必须是可编程的,最小的可编程

范围为8至25。

注意:通常本地CPU和它的通信设备并不使用不同的振荡器。

因此CAN设备的振荡器频率趋向于本地CPU的,并由控制单元的需

求决定。为了得到期望的位速率,位定时的可编程性是必须的。如果

CAN实现被设计为没有本地CPU,位定时就不是可编程的。另一方

面,这些设备允许选择外部振荡器,这种方式下设备被调整到合适的

位速率,因此可编程性是非必须的。不管怎样,采样点的位置应该是

所有节点的共有选择。因此无本地CPU的CAN设备的位定时应该与

以下位时间定义相兼容。

硬同步:硬同步之后,内部位时间用在SYNC_SEG内重启,这

样硬同步强制引起硬同步的边沿位于重启位时间的同步段内。

再同步跳宽:作为再同步的结果,PHASE_SEG1可以被拉长或

PHASE_SEG2被缩短,拉长或缩短的缓冲相位段量上界由再同步跳

27

宽给出。再同步跳宽在1至min(4,PHASE_SEG1)之间可编程。时钟

信息可以从一个位值到另一个位值的变迁中分离出来。这个属性仅是

一个有相同值的后继位的固定最大数,它提供了在一个帧期间将一个

总线单元与位流再同步的概率。可用于再同步的两个变迁之间的最大

长度是29个位时间。

边沿的相位错误:相对于SYNC_SEG的边沿位置(用时间定额

来测量)给出边沿的相位错误。相位错误的符号定义如下:

·如果边沿位于SYNC_SEG内,则e=0;

·如果边沿在采样点之前,则e>0;

·如果边沿在以前位的采样点之后,则e<0。

再同步:当引发再同步边沿的相位错误幅度小于等于被编程的再

同步跳宽值时,再同步的影响与硬同步相同;当相位错误的幅度大于

再同步跳宽时,

·且如果相位错误是正值时,那么PHASE_SEG1拉长到等于再

同步跳宽;

·且如果相位错误是负值时,那么PHASE_SEG2缩短到等于再

同步跳宽。

同步规则:硬同步和再同步是同步的两种形式,他们遵循以下规

则:

1.在一个位时间里仅允许有一个同步;

2.仅当在前一个采样点(以前读的总线值)检测的值与边沿后

面的总线值不同时,该边沿才会用于同步;

28

3.总线空闲期间只要有隐性到显性边沿出现,就执行硬同步。

所有其它满足规则1和2的隐性到显性边沿将用于再同步,例外

是当隐性到显性边沿是正相位错误时,此时节点传输显性位时不执行

再同步。

👁️ 阅读量:0