打印

GD32时钟为什么与STM32不一样

[复制链接]
3528|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ziranren|  楼主 | 2016-7-1 23:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    外部6MHz晶体,经过12倍频后,然后配置SYSTICK为7200的重装值,产生100uS中断,原来的代码是在STM32上调试OK的,将芯片换成GD32F101R8T6后,实测中断时间变成了142.5uS,折算出来的时钟频率大约是50.5M。
    不知道是PLL倍频有问题还是SYSTICK有问题?
    有朋友碰到过么?
沙发
ziranren|  楼主 | 2016-7-1 23:53 | 只看该作者
     改用TIM2作为系统Tick时钟后,配置预分频值为71,重载值为99,发现Tick中断还是142.5uS。由此看还是PLL哪里出了问题。
     看来一开始发的贴关于串口波特率的问题也是由于PLL后的时钟频率不是72M造成的。
     https://bbs.21ic.com/icview-1608746-1-1.html
     及求解,产品下周要上线贴片了。

使用特权

评论回复
板凳
xyz549040622| | 2016-7-2 17:01 | 只看该作者
时钟不能直接移植,需要进行修改。

使用特权

评论回复
地板
ziranren|  楼主 | 2016-7-4 10:59 | 只看该作者
对比了一下GD和ST的手册,RCC->CR,和RCC-CFG两个寄存器基本一样。CFG中,GD的芯片有一个PLLMF[4]的位,与ST是不一样的。但是该为默认为0,所以对6M晶体进行12倍频,寄存器操作应该是一样的。

使用特权

评论回复
5
wzw2134| | 2016-7-4 11:11 | 只看该作者
仔细看一下手册,GD32F101系列最大主频是56Mhz

使用特权

评论回复
6
ziranren|  楼主 | 2016-7-4 22:31 | 只看该作者
wzw2134 发表于 2016-7-4 11:11
仔细看一下手册,GD32F101系列最大主频是56Mhz

是的。好像和这个是有关系的。换用GD32F103R8T6就OK了

使用特权

评论回复
7
ziranren|  楼主 | 2016-7-4 22:32 | 只看该作者
今天换了GD32F103R8T6,解决了上诉问题。如wzw2134所说,极有可能是GD32F101R8T6的主频不能超过54M。
原来用STM32F101R8T6,直接超频到72M用的。

使用特权

评论回复
8
shenmu2012| | 2016-7-5 11:17 | 只看该作者
这个看你的时钟设置的是否一样的。

使用特权

评论回复
9
firstblood| | 2016-7-5 13:55 | 只看该作者
这个跟个人的设计有关系的。

使用特权

评论回复
10
comeon201208| | 2016-7-6 11:02 | 只看该作者
这个能不一样么?基本是一脉相承的啦

使用特权

评论回复
11
ziranren|  楼主 | 2016-7-6 21:09 | 只看该作者
实践证明,GD32F101在6M晶体条件下,不能运行到72M。
供应商反馈说是芯片对PLL进行了限制,只能到9倍,如果要用72M,貌似8M晶振可以。可惜手上没有8M的晶体,木有验证一下。

使用特权

评论回复
12
182317716| | 2016-7-7 09:03 | 只看该作者
GD代理商QQ:182317716 更多样品,中文手册.开发工具支持!
---13686827076-王生

使用特权

评论回复
13
baimiaocun2015| | 2016-7-13 20:52 | 只看该作者
ziranren 发表于 2016-7-4 10:59
对比了一下GD和ST的手册,RCC->CR,和RCC-CFG两个寄存器基本一样。CFG中,GD的芯片有一个PLLMF[4]的位,与ST ...

这个细节的楼上把我的很好。

使用特权

评论回复
14
zhangbo1985| | 2016-7-13 21:47 | 只看该作者
这个在晶圆最初的设计封装阶段就决定了的啦。。不知道这样说正确不

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

181

帖子

0

粉丝