CAN总线采样点

一:在CAN总线通信中,采样点的设置对通信质量和可靠性有着重要的影响。采样点是用来判断CAN总线上的信号电平的时间窗口,它决定了在每个位的传输过程中,CAN控制器进行采样的时机。

不同的采样点设置可能会导致以下影响:

  1. 误码率:采样点的位置如果不准确,可能导致信号采样错误,从而导致误码率的增加。如果采样点太早或太晚,可能无法正确地采样到信号的边沿,从而导致数据错误。

  2. 抗干扰能力:适当的采样点设置可以提高CAN总线的抗干扰能力。在CAN总线上,可能会存在噪声和电磁干扰,并且传输线路的质量也可能存在差异。正确设置采样点可以减少这些干扰对信号采样的影响,提高通信的可靠性。

  3. 波特率容差:采样点的位置对于波特率容差也有一定影响。在CAN通信中,发送端和接收端的波特率必须相匹配。如果采样点设置不准确,可能导致波特率偏移,使得接收端无法正确解析数据。

        在CAN通信中,正确设置采样点非常重要。一般来说,建议使用自动采样点配置功能(如果芯片支持),或者遵循CAN协议规范和芯片手册中给出的采样点设置建议。如果有特殊需求或问题,可以通过实际测试和调整来确定最佳的采样点设置。总线不同节点之间最好使用相同采样点。

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

三:例子

 CAN波特率= APB1(60MHz)/(SYNC_SEG+BS1+BS2)/prescaler

 采样点=(1+BS1)/(SYNC_SEG+BS1+BS2)

备注:SYNC_SEG 长度总是为1,公式中直接用1代替。

比如要实现500K的速率,90%采样点,对应的参数如下:SYNC_SEG=1, BS1=8,BS2=1,Prescaler=12;

相关请参考:CAN通信采样点(Sample Point Position)及采样点测试_can采样点测试-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值