
一、RCC系统概述 本文涉及的内容主要包含在以下几个文档中,文档可从ST官方网站与意法半导体stm32中国下载。 序号 文档名称 AN2867(Application note)-oscillator-design-guide-for-stm8afals-stm32-mcus-and-mpus-stmicroelectronics AN5031(Application note)-Getting started with STM32MP151, STM32MP153 and STM32MP157 line hardware development RM0436-Reference manual STM32MP157advanced Arm-based 32-bit MPUs Datasheet - production data -STM32MP157A&D RCC(Reset and Clock Control)复位与时钟控制系统用于STM32MP1处理器系统与外设的时钟产生与控制,在时钟源选择上具备很高的灵活性。通过不同时钟比率,改进功率消耗。RCC时钟输入部分包含2个外部振荡器(HSE、LSE)、3个内部振荡器(HSI, CSI and LSI): 外部振荡器: 64MHz HSI(High Speed Internal高速内部时钟,精准度1%)。 4MHz CSI RC(Low-power internal oscillator内部的低速振荡器,频率4MHz)。 32kHz LSI (Low Speed Internal低速内部时钟)。 内部振荡器: 8-48MHz HSE(High Speed External高速外部时钟,可接石英/陶瓷谐振器,或接外部时钟源)。 32.768kHz LSE(Low Speed External低速外部时钟,接频率为32.768kHz的石英晶体)。 RCC提供4个PLL(Phase Locked Loop锁相环倍频分频输出): PLL1是专用于MPU时钟 PLL2主要用于: AXI-SS(Sub-System)总线时钟(包含APB4, APB5, AHB5 and AHB6总线时钟)。 DDR时钟 GPU时钟 PLL3主要用于: MCU时钟以及它们的总线时钟(APB1, APB2, APB3, AHB1, AHB2, AHB3 and AHB4总线时钟)。注意在MCU时钟部分保留了时钟安全系统CSS(Clock Security System)。 外围设备的内核时钟 PLL4主要用于各种外围设备的内核时钟 系统在HIS时钟启动后,用户可通过应用程序进行时钟选择。 通过RCC时钟框图可以进一步了解这些时钟,如下图所示: ![]() ![]() 《RM0436-Reference manual STM32MP157advanced Arm-based 32-bit MPUs》10.2章节 二、RCC管脚概述 ![]() 三、HSE与LSE时钟 高速外部时钟信号(HSE)可以由两种可能的时钟源产生: HSE外部时钟(参见图10) HSE外部晶体/陶瓷谐振器(参见图11) ![]() 官方推荐的HSE时钟设计参考与取值: ![]() ![]() FS-MP1A开发板的HSE时钟配置(采用外部有源时钟,HSE旁路模式): ![]() 外部时钟源(HSE旁路): 在这个模式中,必须为OSC_IN引脚提供外部时钟,它的频率范围为8 MHz ~50MHz(需要参考STM32MP15x数据手册的真实值),外部数字(VIL/VIH)或模拟(振幅为200 mV pk-pk最小)时钟信号占空比约为50%。 为了允许USB引导启动,启动阶段BootROM通过检查OSC_OUT连接自动选择HSE模式(位于NRST上升沿): OSC_OUT连接GND (max 1 Kohm): HSE数字旁路(FS-MP1A开发板的模式) OSC_OUT连接VDD (max 1 Kohm): HSE模拟旁路 OSC_OUT高阻抗或连接到晶体/陶瓷谐振器:HSE晶体/陶瓷谐振器模式。 ![]() 当使用旁路时,可以通过PWR_ON启用外部时钟发生器以节省电能(待机状态下禁用)。在这种情况下,在PWR_ON上升沿出现后,OSC_IN时钟输入应该在10毫秒内稳定。 低速外部时钟信号(LSE)可以由两种可能的时钟源产生: LSE外部时钟(参见图12) LSE外部晶体/陶瓷谐振器(参见图13) ![]() FS-MP1A开发板的LSE时钟配置(采用外部晶体振荡器): ![]() 外部时钟源(LSE旁路):在这个模式中,必须为OSC32_IN引脚提供外部时钟,它的频率可到1MHz,外部数字(VIL/VIH)或模拟(振幅为200 mV pk-pk最小)时钟信号占空比约为50%。而OSC32_OUT引脚必须保持高阻抗(参见图12)。旁路模式的配置以及数字和模拟之间的选择是在RCC寄存器内完成。 LSE晶体是一个32.768 kHz低速外置晶体或陶瓷谐振器。它的优点是为实时时钟外设(RTC)提供低功耗,但高度精确的时钟源,用于时钟/日历或其他计时功能。 谐振器和负载电容器必须连接到尽可能接近的振荡器引脚,以减少输出失真和启动稳定时间。负载电容值CL1和CL2必须根据所选振荡器进行调整。 请参阅ST微控制器专用应用说明(AN2867)中的振荡器设计指南和产品数据表中的电气特性章节了解更多细节,有关于晶振部分的PCB Layout指导说明。 时钟设计方面的知识点相对较多,单纯的电路设计按照相关ST参考设计指导就可以完成,需要对时钟部分相关知识点深入了解的工程师可以详细阅读相关英文手册,本篇的讲解就到此为止了,文中若有不准确的地方,请以ST官方文档为主。 ———————————————— 版权声明:左月先生 |
基于STM32MP1和STM32MP2在嵌入式Linux平台上部署有效的安全保护机制
利用STM32MP1和STM32MP2为嵌入式Linux提供有效的安全措施:供当今决策者参考的3条宝贵经验
STM32MP1 WiFi连接
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【STM32MPU 安全启动】 TF-A BL2 TrustedBoot原理学习
《STM32MPU安全启动》学**结
《STM32MPU安全启动》学习笔记之optee 如何加载CORTEX-M核和使能校验
《STM32MPU安全启动》学习笔记之TF-A BL2校验optee和uboot的流程以及如何使能
《STM32MPU 安全启动》课程学习心得+开启一扇通往嵌入式系统安全领域深处的大门。
《STM32MPU安全启动》 课程学习心得