OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8382|回复: 12

STM32F446 主频180M 怎么配置出USB时钟 48M?

[复制链接]

15

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-9-9
在线时间
36 小时
发表于 2017-10-30 14:22:10 | 显示全部楼层 |阅读模式
2金钱
如题,选F446就是看它的主频180M,比F405/407的168M要高,但是现在在配置USB时钟时出现问题,180M主频通过PLL_Q无法分频出48M的USB时钟,
例程也没有可参考的,难道要降频到168M吗?在这里请教大神们帮忙指点一下。

最佳答案

查看完整内容[请看2#楼]

180M主频是无法生成 48M USB时钟的,要么降频到 168M 要么超频到 192M,我都是降到 168M使用的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
发表于 2017-10-30 14:22:11 | 显示全部楼层
180M主频是无法生成 48M USB时钟的,要么降频到 168M 要么超频到 192M,我都是降到 168M使用的。
回复

使用道具 举报

15

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-9-9
在线时间
36 小时
 楼主| 发表于 2017-10-30 14:42:49 | 显示全部楼层
kokoromi 发表于 2017-10-30 14:31
180M主频是无法生成 48M USB时钟的,要么降频到 168M 要么超频到 192M,我都是降到 168M使用的。

额  那这芯片有鸡肋啊    做产品还是降频吧  
另外内部16M  HSI时钟,作为系统时钟最大能配置成多少啊  ,我看datasheet上也没特殊说明。
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
发表于 2017-10-30 14:50:59 | 显示全部楼层
miraclexue 发表于 2017-10-30 14:42
额  那这芯片有鸡肋啊    做产品还是降频吧  
另外内部16M  HSI时钟,作为系统时钟最大能配置成多少啊   ...

作为系统时钟可以配置到最大值 180M,同样的,USB时钟要想48M 系统时钟需要降频

SYSCLK = 180M
M = 8;
N = 180;
P = 2;

SYSCLK = 168M
M = 8;
N = 168;
P = 2;
Q = 7;
回复

使用道具 举报

15

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-9-9
在线时间
36 小时
 楼主| 发表于 2017-10-30 14:56:31 | 显示全部楼层
kokoromi 发表于 2017-10-30 14:50
作为系统时钟可以配置到最大值 180M,同样的,USB时钟要想48M 系统时钟需要降频

SYSCLK = 180M

嗯嗯  受教   还有疑问就是
1、为什么STM32F103用内部时钟作为系统时钟的话,网上说是不能配置成最大72Mhz的?
2、作为产品的话,F446用内部时钟HSI配置成180M或168M有没有问题呢,和用外部晶振一样效果吗?
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
发表于 2017-10-30 15:06:32 | 显示全部楼层
miraclexue 发表于 2017-10-30 14:56
嗯嗯  受教   还有疑问就是
1、为什么STM32F103用内部时钟作为系统时钟的话,网上说是不能配置成最大72M ...

1、STM32F103用内部时钟作为系统时钟的话最大频率只能到 64M,具体可以看文档,里面有说明。

2、效果一样,不过精度不如外部晶振。对成本和空间敏感的应用可以使用内部振荡器。
回复

使用道具 举报

15

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-9-9
在线时间
36 小时
 楼主| 发表于 2017-11-16 22:55:39 | 显示全部楼层
kokoromi 发表于 2017-10-30 14:50
作为系统时钟可以配置到最大值 180M,同样的,USB时钟要想48M 系统时钟需要降频

SYSCLK = 180M

最近看资料,发现在180M时钟配置下,可以实现USB48M的时钟,时钟源使用的是USB SAI ,可以看时钟树图,USB时钟源有两个:
1、从系统时钟分频
2、USB SAI时钟
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-4-26
在线时间
1 小时
发表于 2018-2-7 17:00:18 | 显示全部楼层
miraclexue 发表于 2017-11-16 22:55
最近看资料,发现在180M时钟配置下,可以实现USB48M的时钟,时钟源使用的是USB SAI , ...

USB选择SAI作为时钟源的方法,实现没有?
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-2-7 18:17:01 | 显示全部楼层
TIM截图20180207181620.png

很容易实现。代码就不贴了,大致就是这样设置。
回复

使用道具 举报

15

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-9-9
在线时间
36 小时
 楼主| 发表于 2018-2-22 10:20:58 | 显示全部楼层
a496298685 发表于 2018-2-7 18:17
很容易实现。代码就不贴了,大致就是这样设置。

en ,就用的PLL_SAI时钟,不过你这时钟配置图是哪里截图的,手册里面不是这种啊
回复

使用道具 举报

15

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-9-9
在线时间
36 小时
 楼主| 发表于 2018-2-22 10:21:22 | 显示全部楼层
zhangyan8600 发表于 2018-2-7 17:00
USB选择SAI作为时钟源的方法,实现没有?

实现了,库例程都有的
回复

使用道具 举报

12

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2018-2-28
在线时间
23 小时
发表于 2018-8-29 11:12:53 | 显示全部楼层
kokoromi 发表于 2017-10-30 14:50
作为系统时钟可以配置到最大值 180M,同样的,USB时钟要想48M 系统时钟需要降频

SYSCLK = 180M

纠正一下,N是360和336不是180和168
回复

使用道具 举报

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
358
金钱
358
注册时间
2018-8-6
在线时间
17 小时
发表于 2018-11-12 15:36:41 | 显示全部楼层
a496298685 发表于 2018-2-7 18:17
很容易实现。代码就不贴了,大致就是这样设置。

能不能给个代码,我cube有问题。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 17:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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