[STM32H7] STM32H750如何设置480M主频

[复制链接]
5036|33
 楼主| 可怜的小弗朗士 发表于 2024-3-21 11:53 | 显示全部楼层 |阅读模式
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下,有些可能由于批次、散热设计或电路布局等因素限制,只能工作在较低频率。因此,在实际应用中务必参考具体型号的数据手册进行配置,并进行充分的稳定性测试。

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

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

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

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

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

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

菜鸟的第一步 发表于 2024-3-21 13:27 | 显示全部楼层
在CUBE里面有个电源的等级吧,那个需要设置一下,不然主频上不去
probedog 发表于 2024-3-21 16:33 | 显示全部楼层
选择正确的晶振频率-配置时钟系统-检查电压和散热-优化代码和性能等等
Stahan 发表于 2024-3-21 16:41 来自手机 | 显示全部楼层
还可以设置电压等级吗
AIsignel 发表于 2024-3-21 18:40 | 显示全部楼层
直接用CubeMX就可以配置480MHz了。
daichaodai 发表于 2024-3-22 08:39 来自手机 | 显示全部楼层
不用这么麻烦,用STCUbeMX简单配置就完了。
szt1993 发表于 2024-3-25 14:44 | 显示全部楼层
ST的CUbeMX简单配置就可以了
我想看大海 发表于 2024-3-26 13:49 | 显示全部楼层
使用CUBE要注意调整低功耗等级,都则调整不上去
miaoguoqiang 发表于 2024-10-11 11:04 | 显示全部楼层
我想看大海 发表于 2024-3-26 13:49
使用CUBE要注意调整低功耗等级,都则调整不上去

新版本自动调整等级
cemaj 发表于 2024-10-11 19:34 | 显示全部楼层
STM32H750xB 器件基于工作频率可达480 MHz的高性能Arm®Cortex®-M7 32位RISC内核。
Stahan 发表于 2024-10-13 22:33 | 显示全部楼层
电压等级还要设置吗
kkzz 发表于 2024-10-15 11:34 | 显示全部楼层
STM32CubeMX工具              
maqianqu 发表于 2024-10-16 17:34 | 显示全部楼层
在设置480MHz主频之前,请确保您的STM32H750型号支持这一频率
suncat0504 发表于 2024-10-16 19:01 | 显示全部楼层
试验成功了吗?480MHz能稳定运行?功耗也会提高吧。
everyrobin 发表于 2024-10-17 09:20 | 显示全部楼层
STM32H750是ST基于Cortex-M7内核,主频高达400M的高性能MCU
alvpeg 发表于 2024-10-18 09:25 | 显示全部楼层
并非所有STM32H750子型号都能稳定工作在480MHz
alvpeg 发表于 2024-10-18 14:11 | 显示全部楼层
STM32H750的时钟树配置相对复杂,需要设置多个时钟源和分频器。
ulystronglll 发表于 2024-10-18 19:37 | 显示全部楼层
注意调整相关的时钟设置和电压等级
lzmm 发表于 2024-10-19 11:07 | 显示全部楼层
使用 STM32CubeMX 生成初始化代码,该代码会包含时钟配置的相关函数。
10299823 发表于 2024-10-19 15:45 | 显示全部楼层
有些可能由于批次、散热设计或电路布局等因素限制,只能工作在较低频率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

763

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部