超低功耗研发-STM32L151C8T6芯片(一)时钟系统概述

简介: 超低功耗研发-STM32L151C8T6芯片(一)时钟系统概述

前言:

   由于之前对STM32Fxx系列相对熟悉,所以涉及到超低功耗设备时,自然就选用STM32家族的STM32Lxx系列产品。

STM32L151C8T6 功能特点:

(1)Flash:64k

(2)RAM:10k

(3)EEPROM:4k

(4)USART:3

(5)SPI:2。

了解一个CPU,时钟也是非常重要的,如下图所示:

   

   从图中可知:共有5 种时钟源,分别为

    HSE:外部8M晶振)、

    HSI: 内部高速晶振16MHz

    LSI:内部低速晶振37khz

    LSE: 外部低速晶振 32.768khz

    MSI: 内部多速度段晶振,65.536khz、131.072khz、262.144khz、524.288khz、1.048MHz、2.097MHz、4.194MHz,默认                 2.097MHz

一、MSI 介绍    

   MSI的使用机会比较多,分别为:reset后、stop模式下的wake-up、 待机模式。

   MSI RC振荡器,具有超低功耗的优势(没有外部器件),用于低功耗模式时钟源,它被用于在超低功耗模式下的唤醒时钟。

   如果HSE时钟源有故障,MSI也是作为备用时钟源。

二、HSE 介绍

   HSE 就是外部时钟源,一般使用8M或12M,这个也是CPU在进入应用程序后,主要使用的时钟,CPU上电后,运行的第一个函数SystemInit就是针对HSE的配置,当然,如果HSE有故障,会切换使用MSI。HSE可以通过HSEON寄存器配置,实现使用/禁止功能。

三、HSI时钟

   HSI是CPU的一个内部16MHz RC振荡器,是可以直接用于系统 时钟或PLL输入的,HSI的 优点是功耗低,因为不需要外围器件,而且启动时间比HSE快, 缺点是HSI的精度没有HSE的精度高,精度低就意味着涉及到精确延时时,不好 控制,比如18B20等传感器的时序经常都需要微秒级的计时。

四、PLL锁相环

   这个锁相环的作用就是对时钟源频率 进行升频和分频,通过组合实现想要的时钟频率。内核工作电压不同,最大升频值也不同,最大可以到96MHz,但是CPU的最大频率只有32MHz。

五、LSE 时钟

   外部低速时钟源,就是常见的32.768khz时钟,优点是,低功耗,高精度,所以一般用于RTC,LSE的启动和停止开关,通过LSEON位(RCC_CSR寄存器中)

六、LSI时钟

   内部低速时钟,是一种低功耗时钟源,在stop模式、待机模式、独立看门狗下,使用该 时钟源,该时钟频率在37khz左右。

 

系统时钟SYSCLK源的选择有4种,分别为:

① HSI

② HSE (说明可以直接使用外部8M晶振,不经过PLL)

③ PLL  

④ MSI(复位后的默认时钟源)

时钟源切换  

   一旦一个时钟源启用后,是不能直接stop它的。不过从一个时钟源 是可以切换到另一个时钟源的(这里应该就应用在低功耗模式与正常模式之间切换)。不过切换需要先让要换的时钟ready, 所以要通过对应的寄存器查询时钟是否ready,然后再进行切换。

  时钟频率的改变,是要遵循规定的,如果改变频率超过4倍,则需要分次改变,而且 之间的时间间隔要大于5us,比如:

   我们想将系统时钟从4.2MHz提升到32MHz,那么我们就要先将4.2MHz升频道16MHz,然后等待5us,再从16MHz升到32MHz。

系统时钟频率上限与内核工作电压范围对比

低功耗模式下,对应的时钟源

相关文章
|
1月前
|
传感器 监控 物联网
基于STM32+微波雷达设计的非接触式睡眠监控系统
本项目开发一种非接触式的睡眠监控系统,该系统利用先进的60GHz毫米波雷达技术和STM32微控制器,实现了对人体在睡眠过程中的存在感知、运动感知以及生理指标如呼吸频率、心率的实时监测。系统能够自动评估睡眠质量,并在用户睡眠周期结束时提供睡眠评分。为了确保用户能够在任何地点了解自己的睡眠状况,系统集成了Wi-Fi模块,可以将收集到的数据上传至华为云物联网平台,并通过专门设计的移动应用程序供用户远程访问。此外,系统还具备超阈值报警功能,当检测到异常的生理指标时会发出警报提醒。本地1.44寸TFT LCD显示屏用于实时显示监测到的信息,包括生理指标和环境数据。为了全面监测用户的健康状况,系统还加入了
171 0
基于STM32+微波雷达设计的非接触式睡眠监控系统
|
1月前
|
存储 机器学习/深度学习 编解码
基于STM32的车牌识别系统
基于STM32的车牌识别系统
71 0
|
1月前
|
传感器 网络协议 物联网
基于STM32的环境监测系统 (esp8267)(下)
基于STM32的环境监测系统 (esp8267)(下)
86 0
|
1月前
|
传感器 测试技术 芯片
基于STM32的环境监测系统 (esp8266)(上)
基于STM32的环境监测系统 (esp8266)(上)
254 0
|
2月前
|
存储 传感器 Linux
STM32微控制器为何不适合运行Linux系统的分析
总的来说,虽然技术上可能存在某些特殊情况下将Linux移植到高端STM32微控制器上的可能性,但从资源、性能、成本和应用场景等多个方面考虑,STM32微控制器不适合运行Linux系统。对于需要运行Linux的应用,更适合选择ARM Cortex-A系列处理器的开发平台。
232 0
|
6月前
|
内存技术 存储 Android开发
MCU最小系统电路设计(以STM32F103C8T6为例)-3
MCU最小系统电路设计(以STM32F103C8T6为例)
MCU最小系统电路设计(以STM32F103C8T6为例)-3
|
4月前
|
前端开发 安全
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
152 0
|
4月前
stm32f407探索者开发板(十)——时钟系统精讲
stm32f407探索者开发板(十)——时钟系统精讲
148 0
|
5月前
|
芯片
【STM32】详解RTC实时时钟的概念和配置&示例代码
【STM32】详解RTC实时时钟的概念和配置&示例代码