打印
[STM32H7]

STM32H750如何设置480M主频

[复制链接]
2047|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM32H750系列MCU的部分型号支持最高主频480MHz,要配置STM32H750达到480MHz系统时钟频率,通常需要以下步骤:
  • 外部晶振设置:
    • 使用一个高精度的外部晶振(如25MHz或更高)作为高频振荡器(HSE),连接到芯片的相应引脚。
  • PLL配置:
    • STM32H750内部有一个或多个PLL(锁相环路)模块,你需要配置PLL以倍增HSE的频率。
    • 根据STM32H750的数据手册,设置相应的PLL倍频系数、分频器值和其他参数来实现480MHz的目标频率。
  • RCC配置:
    • 在代码中通过STM32 HAL库或者直接操作寄存器的方式配置RCC(Reset and Clock Control)模块。
    • 配置步骤通常包括:
      • 启用HSE并等待其稳定。
      • 设置PLL的输入源为HSE,并配置PLL的N、M、P等系数以获得480MHz的输出。
      • 关闭CPU和AHB/APB总线的时钟,然后启用新的PLL输出作为系统时钟源。
      • 根据需要调整AHB、APB1和APB2总线预分频器以匹配新系统时钟。

  • 验证与测试:
    • 配置完成后,可以通过读取SYSCLK相关的系统时钟状态寄存器来验证是否成功达到480MHz。
    • 注意:并非所有STM32H750子型号都能稳定工作在480MHz下,有些可能由于批次、散热设计或电路布局等因素限制,只能工作在较低频率。因此,在实际应用中务必参考具体型号的数据手册进行配置,并进行充分的稳定性测试。

下面是一个简化版的伪代码示例:
// 假设使用HAL库
// 初始化HSE
__HAL_RCC_HSE_CONFIG(RCC_HSE_ON);
while (!__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY)) {}

// PLL配置
RCC_PLLConfigTypeDef pllConf;
pllConf.PLLSource = RCC_PLLSOURCE_HSE;
pllConf.PLLM = ...; // 设置PLL的M分频系数
pllConf.PLLN = ...; // 设置PLL的N倍频系数
pllConf.PLLP = ...; // 设置PLL的P分频系数用于系统时钟
pllConf.PLLQ = ...; // 如果适用,设置PLL的Q分频系数用于其他外设
__HAL_RCC_PLL_CONFIG(&pllConf);

// 启动PLL并等待稳定
__HAL_RCC_PLL_ENABLE();
while (!__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY)) {}

// 设置系统时钟源为PLL
__HAL_RCC_SYSCLK_CONFIG(RCC_SYSCLKSOURCE_PLLCLK);

// 设置AHB/APB各总线预分频
__HAL_RCC_SetSysClock();

// 验证系统时钟频率
uint32_t sysclk_freq = HAL_RCC_GetSysClockFreq();
assert(sysclk_freq == 480000000); // 确保系统时钟频率正确
请根据具体的STM32H750型号及官方提供的数据手册中的时钟树图和PLL配置章节详细信息来进行准确配置。

使用特权

评论回复
沙发
菜鸟的第一步| | 2024-3-21 13:27 | 只看该作者
在CUBE里面有个电源的等级吧,那个需要设置一下,不然主频上不去

使用特权

评论回复
板凳
probedog| | 2024-3-21 16:33 | 只看该作者
选择正确的晶振频率-配置时钟系统-检查电压和散热-优化代码和性能等等

使用特权

评论回复
地板
Stahan| | 2024-3-21 16:41 | 只看该作者
还可以设置电压等级吗

使用特权

评论回复
5
AIsignel| | 2024-3-21 18:40 | 只看该作者
直接用CubeMX就可以配置480MHz了。

使用特权

评论回复
6
daichaodai| | 2024-3-22 08:39 | 只看该作者
不用这么麻烦,用STCUbeMX简单配置就完了。

使用特权

评论回复
7
szt1993| | 2024-3-25 14:44 | 只看该作者
ST的CUbeMX简单配置就可以了

使用特权

评论回复
8
我想看大海| | 2024-3-26 13:49 | 只看该作者
使用CUBE要注意调整低功耗等级,都则调整不上去

使用特权

评论回复
9
miaoguoqiang| | 2024-10-11 11:04 | 只看该作者
我想看大海 发表于 2024-3-26 13:49
使用CUBE要注意调整低功耗等级,都则调整不上去

新版本自动调整等级

使用特权

评论回复
10
cemaj| | 2024-10-11 19:34 | 只看该作者
STM32H750xB 器件基于工作频率可达480 MHz的高性能Arm®Cortex®-M7 32位RISC内核。

使用特权

评论回复
11
Stahan| | 2024-10-13 22:33 | 只看该作者
电压等级还要设置吗

使用特权

评论回复
12
kkzz| | 2024-10-15 11:34 | 只看该作者
STM32CubeMX工具              

使用特权

评论回复
13
maqianqu| | 2024-10-16 17:34 | 只看该作者
在设置480MHz主频之前,请确保您的STM32H750型号支持这一频率

使用特权

评论回复
14
suncat0504| | 2024-10-16 19:01 | 只看该作者
试验成功了吗?480MHz能稳定运行?功耗也会提高吧。

使用特权

评论回复
15
everyrobin| | 2024-10-17 09:20 | 只看该作者
STM32H750是ST基于Cortex-M7内核,主频高达400M的高性能MCU

使用特权

评论回复
16
alvpeg| | 2024-10-18 09:25 | 只看该作者
并非所有STM32H750子型号都能稳定工作在480MHz

使用特权

评论回复
17
alvpeg| | 2024-10-18 14:11 | 只看该作者
STM32H750的时钟树配置相对复杂,需要设置多个时钟源和分频器。

使用特权

评论回复
18
ulystronglll| | 2024-10-18 19:37 | 只看该作者
注意调整相关的时钟设置和电压等级

使用特权

评论回复
19
lzmm| | 2024-10-19 11:07 | 只看该作者
使用 STM32CubeMX 生成初始化代码,该代码会包含时钟配置的相关函数。

使用特权

评论回复
20
10299823| | 2024-10-19 15:45 | 只看该作者
有些可能由于批次、散热设计或电路布局等因素限制,只能工作在较低频率。

使用特权

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

本版积分规则

99

主题

742

帖子

0

粉丝