Mic_chen

It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1.1 CAN比特率计算 

采样点计算公式为:Sample Point = (1+TSEG1) / (1+TSEG1+TSEG2)

在组网的时候,多个节点尽量保持同一个采样点,且最好在但不超过7/8位时间点上;当波特率大于800kbps时,推荐采样率为75%;当波特率为500k-800kbps时,推荐采样率80%左右;当波特率不大于500kbps时,推荐采样率为87.5%。采样点如果偏离这个标准过多,可能会导致一致性问题。因此经验配置如下:

tBS1>=tBS2 

tBS2>=1CAN时钟周期

tBS2>=2tSJW

1.2 CAN总线的同步

CAN总线的同步共有两种方式:硬同步和重同步。

1)硬同步:在总线刚刚从空闲状态中走出来的时候,在帧头的位置都会进行一次同步。此时所有的节点位时间重新开始,就像所有的运动员都再一次回到了起跑线上。这种同步方式被称作硬同步。

2) 重同步:硬同步时只是在有帧起始信号时起作用,无法确保后续一连串的位时序都是同步的,这个时候重同步就到了发挥作用的时候。具体来说,CAN总线的一个位时间中包含两个缓冲段BS1BS2, 在两个缓冲段中间的位置,即是读取总线电平的采样点位置,当检测到总线上存在相位差的时候,通过延长BS1段或缩短BS2来获得同步,这样的方式称为重新同步。这两个相位缓冲段的延长时间或缩短时间上限由再同步跳转宽度(SJW)给定。采样点是接收节点判断信号逻辑的位置,CAN通讯属于异步通讯,需要通过不断的重新同步才能保证收发节点的采样准确,所以SJW(同步跳转宽度)决定了接收节点是否能有比较好的兼容性

对于CAN总线的每个数据位的持续时间(位时间),可以分成4部分,同步段、传播段、相位缓冲段12。当电平发生变化时,CAN控制器可以根据同步段进行同步,从而减少因波特率误差带来的通信错误,所以CAN总线的误差只会累计在两个跳变沿之间。当数据全为0或全为1时,CAN总线规定,每连续5个相同位后会插入一个相反位,产生跳变沿,用于同步,从而解决波特率误差导致的通讯错误。因此累计误差的最长时间是5bit

 

参考: https://www.elecfans.com/d/885248.html

https://blog.csdn.net/m0_38012497/article/details/121923813

https://blog.csdn.net/qq_43620805/article/details/125815343

posted on 2023-01-06 18:26  Mic_chen  阅读(1672)  评论(0编辑  收藏  举报