硬汉嵌入式论坛

 找回密码
 立即注册
查看: 829|回复: 6
收起左侧

[STM32H7] 关于MCO输出频率精度的问题

[复制链接]

2

主题

9

回帖

15

积分

新手上路

积分
15
发表于 2024-9-26 16:07:03 | 显示全部楼层 |阅读模式
在基于STM32H743的项目开发中需要使用一个26.2144MHz的时钟信号。
发现H7系列的PLL支持小数模式,在MCU使用8MHz有源晶振的情况下,可以通过选择合适的PLL参数来产生一个尽量接近26.2144MHz的频率。
我尝试了MCO和定时器PWM输出两种方法:
1)MCO输出——系统工作主频配置为480MHz,MCO输出频率是由PLL2P直接分频输出,理论计算值为26.214401MHz;
2)定时器PWM输出——为了使PWM输出频率尽量精准达到26.2144MHz的数值,将系统工作主频配置在419.430419MHz,定时器PWM输出频率的理论计算值为26.21440125MHz。

从理论值上看两种方式输出频率值差别不大,但该信号作为时钟引入AD采集后,对采集数据做频谱分析发现,同样采集10KHz的信号,使用PWM输出频率时,频谱分析结果为10KHz,而使用MCO输出频率时,频谱分析结果为10.010KHz,有一定误差。

有人遇到过类似的情况吗?MCO管脚速率已经配置为VeryHigh了,MCO的输出频率精度会有什么说法吗?




回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115488
QQ
发表于 2024-9-26 17:22:10 | 显示全部楼层
高精度频率计测试过MCO和PWM的实际频率是多少,这个测试没,估计确实有区别。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2024-9-27 09:31:39 | 显示全部楼层
就是手边没有高精度频率计
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115488
QQ
发表于 2024-9-27 10:48:27 | 显示全部楼层
lorelia 发表于 2024-9-27 09:31
就是手边没有高精度频率计

那不太方便了,其实能测试原始的频率输出,可以很好的锁定问题。

至少楼主的这个测试说明,两个输出可能有一个误差是略大于另一个的。
回复

使用道具 举报

2

主题

9

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2024-12-3 10:06:35 | 显示全部楼层
感谢群主回复。
后续实测时,发现MCO频率不准的原因可能是与该端口默认没有驱动能力有关。
最终选择了有源晶振作为HSE,通过PLL后给LPTIM分频出合适的频率信号,实现了特定频率信号的产生。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115488
QQ
发表于 2024-12-4 08:30:04 | 显示全部楼层
lorelia 发表于 2024-12-3 10:06
感谢群主回复。
后续实测时,发现MCO频率不准的原因可能是与该端口默认没有驱动能力有关。
最终选择了有 ...

谢谢分享最终测试。
回复

使用道具 举报

6

主题

234

回帖

252

积分

高级会员

积分
252
发表于 2024-12-4 08:42:14 | 显示全部楼层
stm32的晶振 可以选择驱动能力的,将驱动能力调整为最大试试
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-28 16:21 , Processed in 0.308777 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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