STM32 CAN 参数设置

STM32 CAN 参数设置

这里以STM32F103为例

已知:

1. CAN1挂载在APB1时钟线上,查看时钟配置得到APB1的外设时钟为36M

2. 目标波特率为 125k

3. 采样率设置在80%-90%为佳,最佳为87.5%

计算公式

波特率 = (APB1时钟频率)/(Prescaler *( SW1+BS1+BS2))

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

可以看出最佳采样点设置规律BS1=7 BS2=1,这样采样点刚好为87.5%,但是往往事与愿违,这个时候得到的波特率不尽如意,这里就要根据目标波特率,修改BS1和BS2使其采样点为80% - 90%为佳;

另外再多说一下,这里CAN的分频系数设置不用减1,也就是分频系数为1 则不进行分频,分频系数为2 则进行2分频,这里与定时器的分频设置有区别,定时器设置分频系数为0则不进行分频,分频系数为1则为2分频

简单的说:can分频 = 分频系数 timer分频 = 分频系数+1

查看源码可以看到区别

/* CAN分频源码 */

MX_CAN_Init()

HAL_CAN_Init(&hcan)

WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode |

hcan->Init.SJW |

hcan->Init.BS1 |

hcan->Init.BS2 |

(hcan->Init.Prescaler - 1U)));

/* Timer分频源码 */

MX_TIM4_Init()

HAL_TIM_Base_Init(&htim4)

TIM_Base_SetConfig(htim->Instance, &htim->Init)

TIMx->PSC = (uint32_t)Structure->Prescaler;

相关画作

办公室 需要会哪些软件
如何下载365app软件

办公室 需要会哪些软件

📅 07-15 👁️ 800
《生活大爆炸》共有几季?
如何下载365app软件

《生活大爆炸》共有几季?

📅 08-13 👁️ 6536
夏季防晒出门必备?because晴雨伞怎么样?