在STM32F407中,两个CAN控制器在APB1总线上,CAN控制器有预分频器,APB1总线的时钟信号PCLK1经分频后得到fcan。 位段1(Bit Segment 1,BS1):定义了采样点的位置。在BS1结束的时间点对总线采样,得到的电平就是这个位的电平。BS1的初始长度是1到16个tq,但它的长度可以在再同步(resynchronization)的时候被自动加...
所以 STM32 的 CAN 一个位只有 3 段:同步段(SYNC_SEG)、时间段 1(BS1)和时间段 2(BS2)。STM32 的 BS1 段可以设置为 1 ~ 16 个时间单元,刚好等于我们上面介绍的传播时间段和相位缓冲段 1 之和。 波特率=11tq+tq∗(TS1[3:0]+1)+tq∗[TS2[2:0]+1]波特率=11tq+tq∗(TS1[3:0]+1)...
TS2[2:0] 寄存器位设定 BS1 及 BS2 段的长度后,我们就可以确定每个 CAN 数据位的时间: BS1 段时间:TS1=Tq x (TS1[3:0] + 1), BS2 段时间:TS2= Tq x (TS2[2:0] + 1), 一个数据位的时间:T1bit =1Tq+TS1+TS2=1+ (TS1[3:0] + 1)+ (TS2[2:0] + 1)= N Tq 其中单个时间...
所以CKS32F4xx系列的CAN一个位只有3段:同步段(SYNC_SEG)、时间段1(BS1)和时间段2(BS2)。CKS32F4xx系列的BS1段可以设置为1~16个时间单元,刚好等于传播时间段和相位缓冲段1之和。CKS32F4xx系列的CAN位时序如图5所示:
• 位段1(Bit segment 1),记为BS1。该段占用1到16个Tq(由位时序寄存器配置)。相对于CAN协议而言, BS1相当于传播时间段(Propagation delay segment)和相位缓冲段1(Phase buffer segment 1)。• 位段2(Bit segment 2),记为BS2。该段占用1到8个Tq(由位时序寄存器配置)。相对于CAN协议而言, ...
SJW为同步跳转宽度,范围从1到4 BS1为位时间段1的长度,范围从1到16 BS2为位时间段2的长度,范围从2到8 TQ为一个时间量化单位,由CAN控制器提供。 一般来说,TQ是由CAN控制器的内部振荡器的频率除以预设的位频率来得到。例如,在CAN控制器的内部振荡器频率为16MHz的情况下,要设置一个1Mbps的位率,TQ就是16MHz...
• 位段2(Bit segment 2),记为BS2。该段占用1到8个Tq(由位时序寄存器配置)。相对于CAN协议而言, BS2相当于相位缓冲段2(Phase buffer segment 2)。 位时序图: 这里提到的BS1(即位段1)和CAN时序寄存器中的BS1[3:0]位域不是一个概念,位段1=BS1[3:0]+1 ...
上面的这些段由称为Time Quantum(Tq)的最小时间单位组成。1个位分成4个段,一个段又分成若干个Tq,这成为位时序。 位构成 采样点是读取总线电平,并将读到的电平作为位值的点。 1.6 CAN的仲裁功能 在总线空闲态,最先开始发送消息的单元获得发送权。当多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行...
• 位段 1(BS1) :定义采样点的位置。其持续长度可以在 1 到 16 个时间片之间调整 • 位段 2(BS2) :定义发送点的位置。其持续长度可以在 1 到 8 个时间片之间调整 • 同步跳转宽度( SJW ):定义位段加长或缩短的上限。它可以在 1 到 4 个时间片之间调整 CAN 总线波特率和 tq (Time Quantum),...
上面的这些段由称为Time Quantum(Tq)的最小时间单位组成。1个位分成4个段,一个段又分成若干个Tq,这成为位时序。 位构成 采样点是读取总线电平,并将读到的电平作为位值的点。 1.6 CAN的仲裁功能 在总线空闲态,最先开始发送消息的单元获得发送权。当多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行...