×
单片机 > 单片机程序设计 > 详情

STM32 APB1总线时钟配置问题

发布时间:2020-08-27 发布时间:
|
调试载波通信系统的时候遇到这样一个问题:两台设备分别为A何B,他们都使用了定时器2~4来进行通讯,A设备的PCLK1配置为HCLK,而B设备的PCLK1配置为1/2HCLK,通讯过程发现A,B两个设备偶尔能通讯偶尔不能通讯,表现出通讯部稳定。理论上应该完全不能通讯才是,深入研究STM32F101C8T6的数据手册发现问题所在,截图如下:
图1  STM32功能框图

图2 STM32 时钟系统

从图1可以看到APB1总线挂接了TIM2~4,UART2~2...WWD等设备。然后从图2中可以看到只有外设直接使用了APB1的时钟作为实际时钟,而TIM2~4根据APB1的时钟进行了调整。因此当设备B的PCLK1配置为1/2HCLK时实际上就是将APB1配置为了1/2HCLK,此时因为APB1的分频系数不为1,因此TIM2~4使用的时钟自动2倍频,实际频率就是HCLK了。由于先2分频再2倍频理论上是和HCLK一致,但电路结构等因素将导致得到的结果和直接赋予HCLK不完全一致,导致通讯不稳定。最终通过调整A设备的PCLK1也为1/2HCLK,可以稳定通信。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何为单片机选择合适的负载电容