STM32CubeMX如何确定时钟树中显示的外围设备的最大频率范围?

介绍

STM32CubeMX中包含的众多功能之一是允许用户通过GUI(图形用户界面)选择和配置MCU或MPU的时钟。

 

在时钟配置选项卡中,用户可以:

  • 从各种时钟源中进行选择
  • 应用不同的预缩放器来调整各种外围设备和总线的时钟源
  • 点击按钮配置单个外围频率

时钟树配置功能是“智能”的,因为它可以检测时钟配置中的错误,突出显示并向用户报告这些错误,并自动运行其解析器来帮助解决配置问题。
例如,在这个.ioc文件(STM32CubeMX的文件扩展名)中,我们看到几个外围设备的时钟配置以粉红色突出显示。此外,我们还可以在时钟配置选项卡旁边的圆圈中看到一个“x”。这是STM32CubeMX让我们知道它检测到时钟配置问题的方法。

要接收有关配置错误的其他信息,只需将鼠标悬停在突出显示的粉红色框上即可。STM32CubeMX随后将报告有关检测到的错误的更多信息。

我们已经弄清楚了时钟配置的确切问题,但现在的问题是:STM32CubeMX如何确定SAI2和SAI3的时钟源频率必须=<75MHZ?
在每个设备的参考手册中,根据所选的附加STM32配置,用户可以找到外围设备及其最大频率的列表。
在上面的示例中,我们选择了配置STM32H753IIKx设备。这意味着我们需要参考其相应的参考手册RM0433”STM32H742、STM32H743/753和STM32H750价值线高级基于Arm的32位MCU“以获取设备的外围设备列表和允许的最大频率列表。
在RM0433中,表59。内核时钟分布概述提供了我们正在寻找的确切信息:

在表59中,我们看到SAI2和SAI3的最大频率可以达到150MHz,但前提是设备的VOS(运行模式电压缩放)配置为VOS0。如果设备的VOS配置为VOS3,则允许75MHz的最大频率。
早些时候,我们没有确认设备的VOS配置,所以让我们现在就这样做。要配置设备的VOS或检查当前的VOS配置,请执行以下步骤:
 

步骤1。在STM32CubeMX中,首先导航到引脚输出和配置选项卡。

 

步骤2.在屏幕的最左侧导航到“类别”选项卡,单击以展开系统核心部分,然后选择“RCC”。

 

步骤3。现在,在屏幕的中间,查看配置部分,特别是电源参数部分。

步骤4。从该配置窗口中,您现在可以根据需要选择和配置设备的功率调节器电压范围。


在查看示例.ioc文件和设备配置的功率调节器电压标度为VOS3后,现在可以理解为什么STM32CubeMX在我们试图将SAI2和SAI3的外围设备配置为100MHZ时显示错误消息。
为了解决时钟配置错误,我们可以简单地将功率调节器电压标度配置调整到VOS2及以上,或者将时钟配置树中的SAI2和SAI3的外围设备电压降低到75MHz或以下。

相关文档和链接

  • STM32管MX
  • RM0433(STM32H742、STM32H743/753和STM32H750价值线高级基于Arm的32位MCU)

STM32CubeMX是一种图形工具,允许用户快速简单地配置STM32 MCU(微控制器)和MPU(微处理器)。此外,该工具还帮助生成Arm Cortex-M内核的相应初始化C代码或Arm Cortex-A内核的部分Linux设备树。