在 CAN 控制器中,采样点的设置通常不是通过单独的寄存器来进行配置的,而是通过配置相位段(Phase Segments)来间接地控制的。
在 CAN 控制器中,相位段被分为了多个部分,其中包括相位段 1(PH1)、相位段 2(PH2)、传播段(Propagation Segment)以及采样点(Sample Point)。通过调整这些相位段的长度,可以间接地调整采样点的位置。
具体来说,采样点的位置通常由相位段 1 和相位段 2 的长度来确定。在典型的 CAN 控制器中,相位段 1 和相位段 2 的长度可以通过相应的寄存器来配置,通常称为相位段 1 寄存器和相位段 2 寄存器。
因此,要调整采样点的位置,你需要调整相位段 1 和相位段 2 的长度。具体的寄存器名称和配置方法可能因芯片型号而异,需要查阅相应的芯片手册或者数据表来获取详细信息。
如何知道采样点的精确比例?举例计算
要计算采样点的精确比例,需要考虑到 CAN 控制器的时钟频率、位时间和相位段的长度。一般情况下,采样点的精确比例可以通过以下公式计算:
采样点比例=相位段 1 长度+相位段 2 长度位时间采样点比例=位时间相位段 1 长度+相位段 2 长度
在 CAN 协议中,位时间(Bit Time)可以通过以下公式计算:
位时间=(传播段长度+相位段 1 长度+相位段 2 长度+1)×1CAN 控制器时钟频率位时间=(传播段长度+相位段 1 长度+相位段 2 长度+1)×1/CAN 控制器时钟频率1
下面以一个示例进行说明:
假设 CAN 控制器的时钟频率为 40 MHz,相位段 1 的长度为 8 个时间单元(Tq),相位段 2 的长度为 4 个时间单元,传播段的长度为 4 个时间单元。
首先,计算位时间:
位时间=(4+8+4+1)×1/40 MHz=17×25 ns=425 ns位时间=(4+8+4+1)×1/40 MHz=17×25 ns=425 ns
然后,计算采样点比例:
采样点比例=(8+4)×1/425≈0.034采样点比例=4258+4≈0.034
所以,这个示例中的采样点比例约为 3.4%。