熟悉CAN总线的朋友应该都知道,CAN通信中的每一位分为四个部分,在CAN中线的标准里都有明确描述,之前在CAN总线的相关推送里也讲过几次,尤其在配置CAN总线通信波特率的时候,这几个时间段都要在相关寄存器配置。具体如下图所示:
而单采样点一般位于相位缓冲段1之后,采样点顾名思义,从名字就可以看出,是读取总线电平,并解释各位的值的一个时间点,采样点对CAN总线来说也非常重要,尤其在组网的时候,多个节点尽量保持同一个采样点,且最好在但不超过7/8位时间点上。标准中也给了几个例子
而CAN组织CiA也对采样点进行了详细的描述。
虽然有时候,同一个波特率可以有几个对应的位时间段配置,但还是要选择一个符合最佳采样点的配置,在J1939标准中还给出了几个例子
关于采样点的计算,(1+TSEG1)/(1+TSEG1+TSEG2) 例如上面的计算举例:
晶振时钟频率11M, SJW为1个Tq, TSEG1 为18, TSEG2为3,则采样点计算带入上面的公式, (1+18)/(1+18+3) = 86.3636%约等于86%。其他计算类似。希望对你有所帮助,在自己动手写CAN通信配置CAN位速率的时候尽量使采样点靠近7/8位时间点。
————————————————
版权声明:本文为CSDN博主「木木总裁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ll148305879/article/details/99714061