电子技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1507|回复: 0

调试记录:时钟总线配置问题

[复制链接]

624

主题

627

帖子

416

积分

专栏作家

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
416
发表于 2015-4-15 11:11:18 | 显示全部楼层 |阅读模式
调试记录:时钟总线配置问题
    有两台设备,主芯片都是用的STM32。都使用了TIM2进行数据通讯,其中一台设备的PCLK1配置为HCLK,另一台设备的配置为1/2HCLK。在测试过程中发现通讯不稳定,总会丢数据。于是查了一下数据手册,发现是总线时钟配置引起的。

    解决方法如下:
图1:STM32F101xx medium-density access line block diagram
图1中可以看到TIM2挂载到APB1总线上。

STM32F101xx medium-density access line block diagram

STM32F101xx medium-density access line block diagram


图2 Clock tree
图2中可以看到TIM2并没有直接使用PCLK1作为实际时钟,而是根据APB1的分频系数时钟进行了调整。

Clock tree

Clock tree


      当设备的PCLK1设置为1/2HCLK时,APB1时钟也是1/2HCLK。由于APB1的分频系数不为1,TIM2的时钟进行了2倍频,实际运行的频率也就是HCLK了。先进行2分频再2倍频理论上运行频率和HCLK一致,但由于硬件时钟结构将这样得到的结果和直接以HCLK频率运行不完全一致,最终导致设备间通讯不稳定。确定原因后,将两台设备的PCLK1都设置为1/2HCLK,可以正常通信。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|电子技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2019-2-20 06:17 , Processed in 0.057933 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2018 Comsenz Inc.

快速回复 返回顶部 返回列表