您的位置 首页 新能源

CAN规范中的时钟容差批改主张 – 电子发烧友网

CAN是事件触发的通信协议,它用标识符(ID)的无损仲裁方法调度不同消息的传送。仲裁依靠的是位值,因此位值采样准确性很重要。为在所有节…

 CAN是事情触发的通信协议,它用标识符(ID)的无损裁定方法调度不同音讯的传送。裁定依托的是位值,因而位值采样精确性很重要。为在一切节点得到相同的精确的采样,位时刻的同步便是要害。正常传送中也要战胜节点间时钟差形成的采样点改变,削减读出时的过错。可是位时刻能否完成同步,取决于时钟的误差。为此CAN规范规矩了时钟容差的计算方法。现在发现,规范规矩的计算公式不行用,它会影响运用的可靠性。特别是轿车工业常用的规范儿939是依据CAN 2.0B的,时钟容差对CAN 2.OB的影响较大,因而对此加以批改非常重要。关于规范的完好了解不只与运用有直接联系,对进一步进步CAN功用也会有新的启示。

  1 ISO 1 1898-1:2003关于时钟容差的规矩

  ISO 11898-1:2003第12.4.1.2款规矩位时刻单位为Tq,它是可组态的参数。1位共有NTQ(8~25)个Tq,Tq由振动器分频而得,受硬件的振动器与分频器资源所限,其挑选有限。每1位分红4段:同步段S(Tq)、传输段Pr(Tq~8Tq)、缓冲1段P1(Tq~8Tq)和缓冲2段 P2(Tq~8 Tq),它们都是可组态的参数。位值的采样在P1与P2的分界处。CAN将同步分为2种:硬同步和重同步。总线闲暇时开端新帧SOF的隐位到显位的跳变沿 (R/D跳变沿)引起硬同步,当即复位本位置时刻到S段。在帧传送中的R/D跳变沿引起重同步,跳变沿落在上一位采样后的P2段时将该P2缩短,跳变沿落在S后时加长本位P1的长度,此刻本位置时刻批改的最大肯定量不超越SJW(重同步跳转宽度)的值。SJW是1个组态参数,在Tq~4 Tq之间。关于CAN位时刻与同步的一些较为深化的评论可拜见参阅文献。

  在CAN规范中,选用振动器容差这一术语来代表时钟容差。实践完成时,有的完成计划用振动器加锁相环构成时钟,此刻CAN的时钟误差就由2部分构成。为了与规范文字共同,本文不把时钟容差与振动器容差严厉区别。将振动器的频率相对误差表明为△,时,按ISO11898-1的12.4.2.5款规矩,它的束缚有2条。

  ①正常传送时因为CAN填充位规矩,重同步的间隔最多为10位。为同步正确,有:

  (2×△f)×10×NBT

  其间,NBT为标称位时刻。

  ②犯错时,有错的节点要发报错帧。为了区别是本地错仍是大局错,要调查宣布自动报错标志后的第7位是否仍是显位。因为犯错前或许有6位显位,所以2个同步段S相隔13位。容许的差小于缓冲段长:

  (2×△f)×(13×NBT-P2)

  在2个不等式中选最小者为本运用的时钟容差。例如Tbit=1 000 ns,总线长20 m,收发器的推迟为150 ns时,整个传输推迟为Tprop=500 ns,取Tq=125 ns,算出Pr=4,P1=1,P2=2,SJW=1,NBT=8。由上述二式算出的△f分别为0.006 25和0.004 90,取其间小者0.004 90,即挨近0.5%。

  2 发送器时钟同步中发生的问题

  CAN总线具有显位优先于隐位的特性,即当总线上有多个节点一起发送时,只需有1个节点发的是显位,总线上终究的成果便是显位。所以当2个相距有必定间隔的节点一起发送显位时,因为传输需求时刻,在一个节点处看不到另一个节点的R/D跳变沿(如图1所示,e为同步的相位差),因为总线的电平早已被该节点置为显位。

  在这种状况下,节点A、B即便时钟有不同,也无法树立同步。设A比B快,仅当节点A的同步段S比节点B的同步段S越来越超前,且其超前量大于传输时刻时,节点B才干看见A的R/D跳变沿,B才会开端进行同步。

  现在剖析2个发送器在裁定区的同步问题。假定它们看到总线闲暇并一起开端发送,它们的ID仅仅最终1位不同。有文献介绍发送节点同步进程时,假定总线闲暇时有1个发送器抢先于其他发送器,且超越Pr/2段发送的状况。因为事情发生的随机性,这仅仅特例。关于守时音讯,它们由本节点的时钟触发。但本地时钟问并无同步,它们之间又存在频率差异,所以守时音讯规矩应宣布的时刻的相位差会周期性地改变。1个发送器抢先一切其他发送器的状况也仅仅特例。在本文假设下,因为在ID前各位呈现的R/D跳变沿均未被对方看见,它们之间没有同步联系。到最终1位,假守时钟慢的节点有显位而时钟快的节点有隐位,并假定ID前 1位是隐位,那么慢节点的R/D跳变沿将或许被快的节点看到。可是,它将有很大的相位差,或许现已超越了重同步跳转宽度SJW,然后无法使该快节点正确同步,便会导致采样在慢节点送来的电平没有安稳的当地发生位值读错。

在CAN 2.0B的29位ID的最终1位,即裁定域的第31位,因为或许还有7个填充位,即已有37位未进行同步。为了采样正确,未同步时快慢发送节点同步段的差应小于重同步跳转宽度SJW:

  (2×△f)×37×NBT≤SJW (3)

  曾经述比如的数据,NBT=8,SJW=1,得△f≤0.001 68,减小了许多。

  因为挨近快节点的接收器均能见到快节点的R/D跳变沿,它们已按快节点进行了同步。最终,它们要按未曾同步的慢节点进行同步,同样会遇到相位差很大时的同步问题。假如ID最终第2位已是显位,那么快节点将见不到慢节点的跳变沿,因为此刻并不存在可供同步的R/D跳变沿,在裁定域内快节点以及邻近已与它同步的接收器将彻底无法与慢节点同步。它们将按自己本来的相位及位时刻进行采样。最坏的状况下,要再通过7位能够见到慢节点的下一个R/D跳变沿,如图2所示。

  在裁定域内未能见到跳变沿的发送器此刻已变为接受器,尽管如此,若在后边的跳变沿能确保正确同步的话,那么在裁定域中采样点的偏移就更小,应该能确保采样的正确,即裁定的正确。此刻裁定域内未同步最多为40位(含或许的8位填充位),随后最近的跳变沿在6位后,所以为了能正确采样,应该有:

  (2×△f)×46×NBT≤SJW (4)

  仍以榜首部分中比如的数据,NBT=8,SJW=1,可得△f≤0.001 35,又小了一些。假如在某体系中有NBT=25,SJW=1,可得△f≤0.00043。这是适当小的值。

  依据上述剖析,最坏的状况是(4)式。关于CAN2.0 A,对应能够导出最坏状况为:

  (2×△f)×21×NBT≤SJW (5)

  假如传输时刻比较短,慢节点已按快节点推迟Pr/2后进行了同步,那么在慢节点最终胜出的那一位,快节点将见到e=Pr的来自慢节点的同步沿。为能确保同步,至少应有:

  Pr≤SJW (6)

  假如(6)式满意,就能够发生同步。例如在传输推迟占位时刻比例小的体系,用原ISO11898-1的算式。运用中,读取ACK位时,最坏的同步沿将相隔 11位(CRC分界符不在填充位规矩内),(1)式还应该批改。如不满意(6)式,例如高速体系,就应考虑(4)或(5)式。ISO11898-1应增加上述内容。一般地说,(4)、(5)式比(1)、(2)式要求严厉,如需求简化,用它们就足够了。例如关于CAN2.0A,用前面比如的数据,NBT=8,SJW=1,由(5)式可得△f≤0.002 97,也优于本来的0.004 90。

  3 ISO 16845:2004应增加的条款

  ISO16845关于发送器时刻同步相关功用的共同性测验条款共9项(8.7.1~8.7.9),其间用于有相位差的重同步仅2项:8.7.4款,当 e<0且|e|≤SJW时的同步;8.7.5款,当P<0且e>SJW时的同步。由第2部分的剖析可知,发送器在裁定中退出的最终一位是需求进行同步的,此刻它仍是发送器状况。只要同步今后,才干正确采样,决议是否退出并确保退出今后能正确盯梢胜出的发送器。因而,需求增加 e>O,且| e |≤SJW,以及e>0,且| e |>SJW时的测验条款。这些条款能够参阅接收器的相应条款(7.7.3和7.7.4)。

  ISO 16845中的低层测验设备LT是专用设备,它与被测的CAN(称为被测验的完成IUT)的Tx、Rx相连,LT发生必要的输入条件到Rx,然后从Tx测取IUT的反响是否合格。非测验输入时LT不该影响IUT。以e>O且|e|>SJW时的测验为例,组织IUT发1帧在ID域带填充位为显位的帧。当发到第5个隐位时,LT推迟e将Rx变为显位,然后在推迟后的新采样点(原P1+SJW)处为Rx建1个隐位值,此刻IUT的输出Tx将在LT供给的R/D跳变沿后一位按同步规矩供给显位,如图3所示。上述测验规划依据如下原理:假如IUT动作正常,它将同步于LT供给的R/D跳变沿,并采到LT 供给的隐位,这时宣布它的下一个填充位,填充位的R/D跳变沿已被IUT从前的同步所移动。假如同步不正常,或许跳转的量不对,IUT将采到显位,它会裁定失利而退出,不会再发送。测验的P的规模是(SJW+1)~(NBT-P2-1)。这个规划不同于规范的7.7.4款。笔者以为7.7.4款的方法是不能到达意图的,该问题的具体评论超出了本文的规模,不再赘述。

  需求指出的是,8.7.2款中的正在发送显位的发送器,将不对e>0的R/D跳变沿作同步。这个要求与本文所述e>0时的同步问题是不同的。本文讲的是发送器发隐位,它见到了其他发送器的R/D跳变沿;而8.7.2款仅仅描绘CAN芯片的Tx、Rx分开作输出、输入测验时的特性,实践运用时是分不开的,不会遇到这种景象。

 4 小 结

  CAN的一般技术资料均说到,高速时的可靠性要比低速时的差,运用中能用低速就用低速。从上述位同步时钟容差的剖析可知,高速时时钟容差小,所以一旦时钟有问题就会影响同步与采样。CAN规范ISO11898-1:2003仅考虑了部分场合的要求,对发送器裁定阶段未能同步的状况未作考虑,然后给出的容差成果偏宽,规划者有或许依此选用不合适的振动源,形成电子控制器(ECU)可靠性不行。例如,现在现已有一些精度挨近0.3%~2%的可批改的RC或 CMOS振动器,它们价格低,挨近原CAN规范规划的容差,有或许被不适当地选用。所以对规范加以弥补是十分必要的。跟着CAN运用的扩展,进步CAN作业频率的尽力也在持续。一方面,有些运用可缩短传送间隔以使传输时刻缩短,例如机器人、兵器等;另一方面,CAN的性价比高,对这类运用有吸引力,在传输时刻挨近临界状况的场合,更要留意时钟容差的问题。

  从另一个视点考虑解决问题的或许性是:将裁定域中及裁定后的第1个同步沿发送器与接收器的同步均设为硬同步。这种做法能够改进同步今后的采样,但对同步曾经的采样没有改进,它们依然要求较高精度的时钟来确保采样点在缓冲段P1、P2之内。并且,过多的硬同步增加了对搅扰进行不必要同步的时机,反而不是功德。因而这种计划是无价值的。

  从剖析可知,当重同步跳转宽度SJW可选得较大时,容许的时钟误差就较大。不受约束的SJW适当于随时履行硬同步,小于P1、P2的SJW就使采样点的改变较小。当总线上因为搅扰呈现假的R/D跳变沿,就会引起过错的重同步,小的SJW有助于下降读错概率。因而,统筹削减犯错率与下降时钟容错限的要求,要害是规划一种性价比好的滤除搅扰的方法。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/236710.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部