因仑“3+1”工程特种兵精英论坛
标题:
调试记录:时钟总线配置问题
[打印本页]
作者:
XJzy
时间:
2015-9-28 00:06
标题:
调试记录:时钟总线配置问题
调试记录:时钟总线配置问题
有两台设备,主芯片都是用的STM32。都使用了TIM2进行数据通讯,其中一台设备的PCLK1配置为HCLK,另一台设备的配置为1/2HCLK。在测试过程中发现通讯不稳定,总会丢数据。于是查了一下数据手册,发现是总线时钟配置引起的。
解决方法如下:
图1:STM32F101xx medium-density access line block diagram
图1中可以看到TIM2挂载到APB1总线上。
STM32F101xx medium-density access line block diagram.jpg
(22.08 KB, 下载次数: 0)
下载附件
保存到相册
STM32F101xx medium-density access line block diagram
2015-4-15 11:10 上传
图2 Clock tree
图2中可以看到TIM2并没有直接使用PCLK1作为实际时钟,而是根据APB1的分频系数时钟进行了调整。
Clock tree.jpg
(26.95 KB, 下载次数: 0)
下载附件
保存到相册
Clock tree
2015-4-15 11:10 上传
当设备的PCLK1设置为1/2HCLK时,APB1时钟也是1/2HCLK。由于APB1的分频系数不为1,TIM2的时钟进行了2倍频,实际运行的频率也就是HCLK了。先进行2分频再2倍频理论上运行频率和HCLK一致,但由于硬件时钟结构将这样得到的结果和直接以HCLK频率运行不完全一致,最终导致设备间通讯不稳定。确定原因后,将两台设备的PCLK1都设置为1/2HCLK,可以正常通信。
欢迎光临 因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/)
Powered by Discuz! X3.4