历史上的今天
今天是:2025年03月14日(星期五)
2019年03月14日 | 技术文章—CAN总线同步跳转宽度的作用
2019-03-14
CAN总线一直以来以稳定、容错性高而著称。要想达到这样的效果,其独特的同步机制是非常重要的一点,本文将为大家讲解一下CAN总线的同步机制以及SJW 的作用所在。
CAN总线的同步共有两种方式:硬同步和重同步。
硬同步
在总线刚刚从空闲状态中走出来的时候,在帧头的位置都会进行一次同步。此时所有的节点位时间重新开始,就像所有的运动员都再一次回到了起跑线上。这种同步方式被称作硬同步。

重同步
硬同步时只是在有帧起始信号时起作用,无法确保后续一连串的位时序都是同步的,这个时候重同步就到了发挥作用的时候。具体来说,CAN总线的一个位时间中包含两个缓冲段BS1和BS2:

在两个缓冲段中间的位置,即是读取总线电平的采样点位置,当检测到总线上存在相位差的时候,通过延长BS1段或缩短BS2段来获得同步,这样的方式称为重新同步。这两个相位缓冲段的延长时间或缩短时间上限由再同步跳转宽度(SJW)给定。采样点是接收节点判断信号逻辑的位置,CAN通讯属于异步通讯,需要通过不断的重新同步才能保证收发节点的采样准确,所以SJW(同步跳转宽度)决定了接收节点是否能有比较好的兼容性。如下图,即是某CAN总线中利用致远电子CANscope进行的采样点与位宽度容忍的快速测试结果:

因此,使用CAN总线的时候,发现位宽度有偏差,则需要对其程序中的位定时寄存器或者晶振进行修正。比如不要使用带小数点的晶振,如11.0592HZ。这样算出来的波特率肯定不准。不要使用陶瓷晶振,会有偏差超过1%的概率,即使重同步也会失败。

波特率计算时,提高适应范围,需要保证12-20(特征16)个的位时间因子,然后通过提高正常节点波特率寄存器中的同步跳转宽度SJW值(加大到2-3个单位时间)来实现。比如使用广州致远电子两款波特率计算工具,可以计算出良好的波特率寄存器值。

史海拾趣
|
这是一个分辩率达1Hz的2G频率计,大家在自作过程中,有什么不懂的地方,我们可以相互交流 [ 本帖最后由 liuyan_12 于 2009-7-7 09:33 编辑 ]… 查看全部问答> |
|
正在链接... imaging.lib(dllentry.obj) : error LNK2019: unresolved external symbol GpMalloc referenced in function \"void * __cdecl operator new(unsigned int)\" (??2@YAPAXI@Z) imaging.lib(dllentry.obj) : error LNK2019: unresolved ...… 查看全部问答> |
|
本人因项目原因要第一次自己绘制PCB,到底能不能用自动布线呢? 我在为学校制作赛普林斯PSOC 3的一款开发板,原理图设计好了,使用的软件是ALTIUM DESIGNER 6.9,在这里要向有经验的大虾请教了,到底要不要使用自动布线这个功能呢,有的说布局好的情况下可以使用,有的说不能用,我尝试使用了下,感 ...… 查看全部问答> |
|
我们是这样一个群体,由上世纪60年代各名牌大学毕业的、有着几十年丰富工作经验的专业人仕组成,目前都已退休,分布在全国各地,我们不想再出山打工,但我们也不想把几十年研究的成果和经验都随我们的年龄增大而消失,而且为了自己晚年生活得充实一 ...… 查看全部问答> |
|
在一个网站看到一个不错的三角波发生电路,需要的看看吧 原文地址 http://pcbheaven.com/circuitpages/Triangle_Wave_Generator/ It is designed to operate under 5 Volts, but different voltages can be applied as well ...… 查看全部问答> |
|
STM32F107VCT6 107USB例程USB DEVICE例程 1、DEVICE_HID例程说明 1.1、HID简介HID(Human Interface Device)人机接口设备类别是Windows最早支持的USB类别。由其名称可以了解HID设备是计算机直接与人交互的设备,例如键盘、鼠标和游戏杆等。不过HID设备不一定要有人机接口,只要符合HI ...… 查看全部问答> |




