快捷导航
问题:MIIVII Apex的CANbus默认SJW(重新同步跳转宽度)为1,这样CANbus该节点的容错能力较小。
解决:MIIVII Apex的CANbus默认SJW(重新同步跳转宽度)更改为3-7,这样CANbus该节点的容错能力会有所改善。
举报 使用道具
| 回复

共 2 个关于本帖的回复 最后回复于 2021-3-1 11:19

文武 会员 发表于 2021-2-26 15:49 | 显示全部楼层
CAN总线一直以来以稳定、容错性高而著称。要想达到这样的效果,其独特的同步机制是非常重要的一点,CAN总线的同步共有两种方式:硬同步和重同步。
硬同步
在总线刚刚从空闲状态中走出来的时候,在帧头的位置都会进行一次同步。此时所有的节点位时间重新开始,就像所有的运动员都再一次回到了起跑线上。这种同步方式被称作硬同步。
重同步
硬同步时只是在有帧起始信号时起作用,无法确保后续一连串的位时序都是同步的,这个时候重同步就到了发挥作用的时候。具体来说,CAN总线的一个位时间中包含两个缓冲段BS1和BS2:
在两个缓冲段中间的位置,即是读取总线电平的采样点位置,当检测到总线上存在相位差的时候,通过延长BS1段或缩短BS2段来获得同步,这样的方式称为重新同步。这两个相位缓冲段的延长时间或缩短时间上限由再同步跳转宽度(SJW)给定。采样点是接收节点判断信号逻辑的位置,CAN通讯属于异步通讯,需要通过不断的重新同步才能保证收发节点的采样准确,所以SJW(同步跳转宽度)决定了接收节点是否能有比较好的兼容性。
因此,使用CAN总线的时候,发现位宽度有偏差,则需要对其程序中的位定时寄存器或者晶振进行修正。波特率计算时,提高适应范围,需要保证12-20(特征16)个的位时间因子,然后通过提高正常节点波特率寄存器中的同步跳转宽度SJW值(加大到2-3个单位时间)来实现。
gdwang 会员 发表于 2021-3-1 11:19 | 显示全部楼层
感谢提醒,后续我们会在产品说明文档中增加SJW配置的内容
您需要登录后才可以回帖 登录 | 点我注册

精彩推荐

  • canbus与vcu相连接,出现bus-off状态
  • 有线连接失败
  • Apex 串口通讯
  • 关于SPI通信问题咨询
  • MIIVII APEX DUAL ORIN米文域控制器产品合

明星用户