采样点的计算:
sample = ( 1 + CAN_BS1) / (1 + CAN_BS1 + CAN_BS2)
CAN_BS1 = TSEG1+1
CAN_BS2 = TSEG2+1
根据BTR1寄存器来计算即可。
![](https://img.haomeiwen.com/i12639854/13e86f5aee8d7c68.png)
采样点的设置:
(1)一般配置在75-80%的位置
(2)选择采样点位置在85%左右为佳
(3)75% when 波特率 > 800K
80% when 波特率 > 500K
87.5% when 波特率 <= 500K
采样点的意义:
为了保证有效的通信,对于一个只有两个节点的CAN网络,其两边距离不超过最大的传输延迟和每个节点的时钟容差能够正确地接收和解码每个传输的消息,这需要每个节点都能对每个位正确采样。
CAN总线的每一帧可以看作一连串的电平信号。大多数设备使用单点采样,也就是在一个位时间内从采样点的位置读取一个电平信号,以此确定这个“位”的显隐性。在CAN网络中,当每个节点的采样点位置不一样时,由于总线过长引起的通信延迟或现场对总线的干扰,就容易发生读取的电平不一致现象,产生CRC错误报文。为了提高CAN网络的通信成功率,各节点的采样点应设置一致。
网友评论