STM32时钟体系结构

STM32的时钟体系可以直接以图概括(摘自STM32F10X参考手册)
这里写图片描述
下面就此图做分析

1. STM32输入时钟源

1.1 时钟源的作用

无论是小型单片机还是像STM32这样高级单片机,它们工作的核心都是大规模的时序逻辑电路,而驱动时序逻辑电路的关键则是准确而又稳定的时钟源。它的作用就像小学在操场上做广播体操时候播放的背景音乐,用于协调和同步各单元运行,为时序电路提供基本的脉冲信号。

1.2 STM32时钟源的设计

在51单片机中,一般都外接一个11.0592MHz的晶振,注意,提供时钟的不是晶振,而是RC时钟电路,而晶振只是时钟电路的元件之一。同理,在STM32中,时钟源也是由RC时钟电路产生,与51单片机的区别是区别在于,RC电路的位置。根据RC电路的位置,可以将STM32的时钟源分为内部时钟电路和外部时钟、内外部时钟电路。

(1)内部时钟电路:
晶体振荡器和RC时钟电路都在STM32芯片内部,如图中标注1、标注4。
标注1处是产生8MHz的时钟源,称为HSI,高速内部时钟源(H意为高速,S意为源,I意为内部);
标注4处是产生32KHz的时钟源,称为LSI,低速内部时钟源;

(2)内外部时钟电路:
晶体振荡器在STM32芯片外部,RC时钟电路在STM32芯片内部,如图中标注2、标注3。
标注2处是产生4-16MHz的时钟源,称为HSE,高速外部时钟源;
标注3是产生32.768KHz的时钟源,称为LSE,低速外部时钟源; <

### STM32时钟体系结构详解 STM32微控制器系列采用了一种高度灵活且可配置的时钟系统架构,旨在满足不同应用场景的需求。这种设计允许开发者通过软件控制来调整系统的性能和功耗。 #### 1. 主要时钟 STM32支持多种内部和外部时钟: - **HSI (High Speed Internal)**:高速内置振荡器,默认频率为8 MHz,在上电复位后自动启动并提供初始时钟信号[^1]。 - **HSE (High Speed External)**:可通过连接晶体或陶瓷谐振器实现更高精度与时基稳定性,典型工作范围在4至26 MHz之间。 - **LSI (Low Speed Internal)**:低速内建RC振荡器,主要用于实时时钟(RTC),其默认频率约为32 kHz。 - **LSE (Low Speed External)**:同样用于RTC模块,一般选用32.768 kHz的标准晶振以获得更精确的时间基准。 #### 2. PLL (Phase-Locked Loop) 为了提高CPU的工作效率和支持更多周边设备的功能需求,STM32还配备了PLL锁相环电路。PLL可以从上述任一高频时钟获取输入,并经过倍频处理生成更高的核心操作频率。例如,当使用HSE作为PLL入口时,可以通过设置寄存器参数使最终输出达到72 MHz的最大值。 ```c RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; // HCLK = SYSCLK / 1 = 72MHz HAL_RCC_OscConfig(&RCC_OscInitStruct); ``` 此代码片段展示了如何初始化HSE并通过PLL将其乘以9得到72 MHz的核心时钟速度。 #### 3. AHB/APB 总线及时钟分配机制 除了中央处理器本身之外,外围接口也需要稳定的时钟供给才能正常运作。为此,STM32定义了几条主要的数据传输路径及其对应的时钟树形结构——AHB(Advanced High-performance Bus)、APB1/2(Advanced Peripheral Bus)。这些总线上挂载着各类硬件资,如DMA、定时器、ADC等,每一条都有独立于其他部分工作的能力,并能依据实际需要动态调节各自的运行速率。 #### 4. 时钟安全系统(CSS) 考虑到意外情况可能导致主时钟失效的风险,STM32特别加入了CSS特性。一旦检测到HSE停止振动,则会立即切换回更为可靠的HSI继续维持基本功能直至恢复正常供电状态或是触发相应的保护措施。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值