STM32L15x —— 电源管理PWR和低功耗模式
STM32L15x —— 概述
低功耗系列芯片STM32L15x 技术培训MCU 上海5-2011V0.1培训内容STM32L15x 超低功耗系列芯片概述 ST 超低功耗EnergyLite™平台STM32L15x EnergyLite™ 产品线 STM32L15x 框图存储器分配和启动模式系统架构STM32L15x 外设外设的基本功能和特色STM32L15x 的最小系统STM32L15x 和STM32F10x对比目标介绍STM32系列的全新成员:STM32L系列使用EnergyLite™ 超低功耗平台的STM32家族新产品,详细介绍STM32L系列芯片的性能和特性通过培训:了解STM32L15x系列芯片的主要特色和外设功能了解STM32L15x系列芯片的低功耗性能培训内容STM32L15x 超低功耗系列芯片概述 ST 超低功耗EnergyLite™平台STM32L15x EnergyLite™ 产品线 STM32L15x 框图存储器分配和启动模式系统架构STM32L15x 外设外设的基本功能和特色STM32L15x 的最小系统STM32L15x 和STM32F10x对比超低功耗EnergyLite™ 平台 意法半导体130纳米超低漏工艺技术共享技术,架构和外设STM32L ——STM32系列的扩展STM32L15x ——EnergyLite™ 产品线STM32L ——产品线供电:不带BOR功能的1.65V —3.6V带BOR功能:1.8V —3.6V和现有的STM32F1系列引脚兼容CORTEX TM -M3CPU 32 MHz With MPUUp to 16KB SRAM1 x 12-bit ADC 26 channels / 1Msps2 x I 2C2 x USART/LIN Smartcard / IrDa Modem ControlUp to 16 Ext. ITsTemp Sensor3 x 16-bit Timer JTAG/SW Debug Power SupplyReg 1.8V/1.5V/1.2V POR/PDR/PVD/BOR DMA7 Channels Nested vect IT Ctrl2 x 12-bit DAC1 x USART/LIN Smartcard/IrDa Modem-Control1 x SPI 1 x Systic Timer A R M ® L i t e H i -S p e e d B u s M a t r i x / A r b i t e r (m a x 32M H z )PLLReset Clock ControlRTC / AWU + 80B Backup Regs 64KB-128KB Flash Memory Data EEPROM 4KB USB 2.0 FS8x40Segment LCD2 x ComparatorsETMXTAL oscillators 32KHz + 1~24MHz Int. RC oscillators 38KHz + 16MHz Int. RC 64K..4MHzCRC 37/51/80 I/Os1 x SPI 3 x 16-bit Timer2 x 16-bit Basic Timer2 x Watchdog (ind & window)A R M P e r i p h e r a lB u s(m a x 32M H z )BridgeBridgeARM Peripheral Bus (max 32MHz)STM32L15x 框图ARM 32位Cortex-M3 内核工作电压: 使能BOR 时:VDD 为1.8 V (上电) 或1.65 V (断电) 到3.6 V 不使能BOR 时:VDD 为1.65 V 到3.6 V安全的复位系统(上电复位(POR) / 断电复位(PDR) + 欠压复位(BOR) + 可编程的电压检测器(PVD))内置存储器: FLASH: 高达128K 字节,并带ECC 校验 Data EEPROM: 高达4K 字节,并带ECC 校验 SRAM: 高达16K 字节 CRC 计算单元 7通道DMA由内置的,可由软件配置的变压器,和不同的低功耗模式来选择供电电压。
STM32 的待机唤醒功能
STM32 的待机唤醒功能
STM32待机模式简介很多单片机都有低功耗模式,STM32也不例外。
在
系统或电源复位以后,微控制器处于运行状态。
运行状态下的HCLK为CPU
提供时钟,内核执行程序代码。
当CPU不需继续运行时,可以利用多个低功
耗模式来节省功耗,例如等待某个外部事件时。
用户需要根据最低电源消耗,
最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
STM32 的3种低功耗模
STM32的低功耗模式有3种:
1)睡眠模式(CM3内核停止,外设仍然运行)
2)停止模式(所有时钟都停止)
3)待机模式(1.8V内核电源关闭)
在这三种低功耗模式中,最低功耗的是待机模式,在此模式下,最低只需要
2uA左右的电流。
停机模式是次低功耗的,其典型的电流消耗在20uA左右。
最后就是睡眠模式了。
用户可以根据自己的需求来决定使用哪种低功耗模式。
进入待机模式执行步骤
有4种方式可以退出待机模式,即当一个外部复位(NRST引脚)、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件发生时,微控制器从待机模式退出。
从待机唤醒后,除了电源控制/状态寄存器(PWR_CSR),所有寄存器被复位。
从待机模式唤醒后的代码执行等同于复位后的执行(采样启动模式引脚,读取复位向量等)。
电源控制/状态寄存器(PWR_CSR)将会指示内核由待机状态退出。
在进入待机模式后,除了复位引脚以及被设置为防侵入或校准输出时的。
STM32L15x —— Flash和EEPROM
Flash和数据EEPROM(存储器)
1
存储区—— 概述
存储区特性: 内置高达128K字节,支持ECC的Flash 内置高达 4K字节,支持ECC的数据EEPROM Flash擦除次数:10K次 存储区包括:主Flash / 数据EEPROM / 信息块 访问时间:62.5ns(Range1) / 125ns(Range2) / 500ns(Range3) 字(32位)/半页(128字节) 的编程时间:3.2ms(典型值) 页擦除:3.2ms(典型值) ,整片擦除:9.6ms(典型值)
ERRIE
其他标志位 READY BSY
Flash模块准备好(退出低功耗模式)
EOPIE ERRIE
66
存储区 —— 信息块
4K字节的系统存储区 —— 内置了Bootloader代码,通过 USART1或USART2更新固件。
16字节的SIF区 —— 保存用户设置的Option Byte
31
地址
0x1FF8 0008 0x1FF8 000C
[31:24]
nWRP1 nWRP3
[23:16]
nWRP0 nWRP2
[15:8]
WRP1 WRP3
[7:0]
WRP0 WRP2
当读保护的LEVEL1或LEVEL2使能时,从调试接口或者 SRAM写/擦除Flash或数据EEPROM都是被禁止的。但写 保护仅仅用于保护Flash。
Flash接口 (FLITF) 特性: 支持预取指缓冲的读操作 Option Bytes 的装载 多种保护机制: 读保护:Level 1 和 Level 2 (JTAG Fuse) 写保护
2 2
存储区—— 架构
STM32低功耗模式简介
STM32低功耗模式简介STM32F10xxx 有三中低功耗模式:●睡眠模式(Cortex?-M3 内核停止,外设仍在运行)●停止模式(所有的时钟都以停止)●待机模式(1.8V 电源关闭)时钟频率72MHz 时,从闪存执行代码,STM32 功耗36mA,是32 位市场上功耗最低的产品,相当于0.5mA/MHz。
上电,默认使用内部HSI 时钟8M,经测试10mA 左右。
待机模式可实现系统的最低功耗。
可将电流消耗降至两微安。
在待机模式下,所有的I/O 引脚处于高阻态,除了以下的引脚:●复位引脚(始终有效)●当被设置为防侵入或校准输出时的TAMPER 引脚●被使能的唤醒引脚/*按钮GPIOB9 进入睡眠,WKUP pin(GPIOA0)唤醒,GPIOD3-LED 200ms闪烁*/int main(void){ /* System Clocks Configuration**********************************************/ RCC_Configuration();GPIO_Configuration();/* Enable PWR and BKP clock */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);/* Enable WKUP pin */ PWR_WakeUpPinCmd(ENABLE);/* Allow access to BKP Domain */ PWR_BackupAccessCmd(ENABLE);//RTC_Configuration();EXTI_Configuration();NVIC_Configuration();SysTick_Config(SystemFrequency / 1000 *200 ); //200ms。
stm32 低功耗设计
stm32 低功耗设计最近使用STM32进行了一个低功耗应用设计,做一个小总结:1、SLEEP 模式:很容易实现,可以由中断唤醒,但省电较少。
这时候要配合时钟的关闭来节电:不需要用到的外设关闭时钟,要用到时才打开。
例如USART:要发送数据前,把USART 的时钟使能,数据包发送完成后,立即关闭时钟。
2、STOP 模式:需要外部中断唤醒。
RTC报警唤醒给该模式带来了更加灵活的应用。
但应用中有一个问题需要注意:在ADC数据采样的应用场合。
如果使用STOP模式,假设采样率为200HZ,5毫秒唤醒一次启动ADC 采样,通过测试STOP唤醒的周期并不是很固定(可能是唤醒后需要恢复时钟设置,唤醒后自动使用内部的HSI时钟做为系统时钟),造成采样周期不是很固定,对滤波不利,例如工频陷波。
以上一点总结,希望对大家有用。
低功耗设计参考在ST官方提供的AN2821 Clock/calendar functionality features应用笔记中关于控制器从Stop mode和Standby mode唤醒后的状态记录。
官方原文:Stop mode:After the microcontroller has exited the Stop mode, the basic reset and clock control circuitry (RCC)has to be reconfigured and access to the backup domain has to be re-enabled. Standby mode:The Standby mode is the lowest power consumption mode. After the microcontroller wakes up from the Standby mode, program execution restarts in the same way as after a system/power reset. 译文:Stop mode:当控制器从Stop mode中唤醒后,RCC必须重新配置并且需要再次使能对备份区的访问。
如何设置电脑电源管理降低功耗
如何设置电脑电源管理降低功耗随着科技的不断进步和普及,电脑已经成为我们日常生活中不可或缺的工具之一。
然而,随之而来的是电脑功耗的增加,给环境和能源资源带来不小的压力。
为了减少电脑功耗,我们可以采取一些有效的电源管理设置。
本文将介绍如何设置电脑电源管理以降低功耗,并提供一些实用的建议。
1. 优化电脑的休眠模式:休眠模式是电脑在闲置一段时间后自动进入的模式,能够大幅度降低功耗。
我们可以通过以下步骤来优化电脑的休眠模式:(1)打开“控制面板”;(2)选择“硬件和声音”;(3)点击“电源选项”;(4)在“更改计划设置”中,选择合适的休眠时间;(5)点击“更改高级电源设置”;(6)在弹出的对话框中,选择“休眠后”;(7)减少“休眠后”的等待时间,设置为较短的时间。
通过优化电脑的休眠模式设置,可以使电脑在闲置时尽快进入低功耗状态,从而降低功耗并延长电池寿命。
2. 调整屏幕亮度和超时时间:电脑屏幕的亮度和超时时间对功耗有着显著影响。
将屏幕亮度降低到合适的范围,并将超时时间设置得合理,可以显著减少功耗。
具体设置步骤如下:(1)点击电脑桌面空白处,选择“显示设置”;(2)在“亮度和颜色”选项中,将亮度调整到合适的水平;(3)在“屏幕保护程序”选项中,将超时时间设置为适当的数值。
此外,还可以考虑使用特殊的屏幕保护程序,如黑色屏幕保护程序,以进一步降低功耗。
3. 关闭不必要的后台程序和设备:许多后台程序和设备会持续消耗电脑的能源,导致功耗增加。
因此,在使用电脑时,我们应该及时关闭不必要的后台程序和设备。
具体操作如下:(1)右键点击任务栏,选择“任务管理器”;(2)在“进程”选项卡中,结束不需要的后台程序;(3)拔掉不必要的外部设备,如USB设备、外部硬盘等;(4)关闭不需要的网络连接。
通过及时关闭不必要的后台程序和设备,可以有效降低电脑功耗。
4. 定期清理电脑内部和外部的灰尘:电脑内部和外部的灰尘会导致散热不良,进而使电脑功耗增加。
STM32STM32的低功耗设计YunFeiRoboticsLaboratory云飞机器人实验室
STM32STM32的低功耗设计YunFeiRoboticsLaboratory云飞机器人实验室STM32 | STM32的低功耗设计Posted by automatic.dai on March 8, 2013 Leave a comment (0) Go to comments在谈到低功耗处理器时,我们第一个想到的总是MSP430,但其实STM32也能拥有不错的低功耗特性。
通过合理的进行软件设置,STM32在工作时的功耗可以降至数十mA,而待机功耗可以降到数uA。
总的来说,降低STM32功耗的方法主要有以下三种:1. 关闭不需要的外设时钟STM32的所有外设都可以独立开启和关断,通过将不需要的AHB/APB的时钟关闭,可以起到降低总待机功耗的作用。
各个模块的典型功耗如下所示:Figure 1. APB1外设的典型功耗Figure 2. APB2外设的典型功耗2. 降低主时钟的工作频率对数字电路而言,功耗是与主频呈正比的。
在进行一般任务时主动降低功耗,在需要高性能运算时再恢复到一般频率,通过这种方法可以显著降低设备运行期间的平均功耗,这也是目前很多电脑和手机的功耗优化方案之一。
Figure 3. CPU主频-功耗-温度的关系3. 进入休眠模式当设备不需要运行时,可将CPU切换至休眠状态。
STM32共有三种休眠状态,如下:Figure 4. STM32的休眠模式这三种模式下的典型功耗如下:Figure 5. Sleep模式下的典型功耗Figure 6. Stop和Standby模式下的典型功耗可见Standby模式功耗最低,在数个uA;其次是Stop模式,为数十uA;而Sleep模式的功耗最大,是其余两种模式的100倍。
那么既然Standby功耗最低,那么另外两种模式的意义又是什么呢?首先,这三种模式下的唤醒时间各不相同:Figure 7. 不同休眠模式下的启动时间其次,这三种模式的特性也不相同:·Sleep mode唤醒后程序继续运行CPU停止运行,但外设继续运行,IO状态保持不变唤醒时间最短,但功耗较大。
【STM32】电源控制、低功耗模式(实例:待机模式)
【STM32】电源控制、低功耗模式(实例:待机模式)STM32F1xx官⽅资料:《STM32中⽂参考⼿册V10》-第4章4.3⼩节低功耗模式STM32的电源控制STM32的电源框图STM32的⼯作电压(VDD)为2.0~3.6V。
通过内置的电压调节器提供所需的1.8V电源。
当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。
下⾯是STM32的电源框图:注意:框图中的VDDA和VSSA必须分别联到VDD和VSS。
独⽴的A/D转换器供电和参考电压为了提⾼转换的精确度,ADC使⽤⼀个独⽴的电源供电,过滤和屏蔽来⾃印刷电路板上的⽑刺⼲扰。
ADC的电源引脚为VDDA;独⽴的电源地VSSA。
如果有VREF-引脚(根据封装⽽定),它必须连接到VSSA。
同时,为了确保输⼊为低压时获得更好精度,⽤户可以连接⼀个独⽴的外部参考电压ADC到VREF+和VREF-脚上。
在VREF+的电压范围为2.4V~VDDA。
电池备份区域使⽤电池或其他电源连接到VBAT脚上,当VDD断电时,可以保存备份寄存器的内容和维持RTC的功能。
VBAT脚也为RTC、LSE振荡器和PC13⾄PC15供电,这保证当主要电源被切断时RTC能继续⼯作。
切换到VBAT供电由复位模块中的掉电复位功能控制。
如果应⽤中没有使⽤外部电池,VBAT必须连接到VDD引脚上。
电压调节器复位后调节器总是使能的。
根据应⽤⽅式它以3种不同的模式⼯作:运⾏模式:调节器以正常功耗模式提供1.8V电源(内核,内存和外设);停⽌模式:调节器以低功耗模式提供1.8V电源,以保存寄存器和SRAM的内容;待机模式:调节器停⽌供电。
除了备⽤电路和备份域外,寄存器和SRAM的内容全部丢失。
STM32的低功耗模式在系统或者电源复位后,微控制器出于运⾏状态之下,HCLK 很多单⽚机有低功耗模式,STM32也不例外。
在系统或者电源复位后,微控制器出于运⾏状态之下,提供时钟,内核执⾏代码。
STM32实现低功耗待机总结(电流低至5.7uA)
STM32实现低功耗待机总结(电流低至5.7uA)刚开始进入STOPMode后,整机功耗有300uA的,此时外围其他硬件电路电流已经可以肯定漏电流在nA级,因此调试方向在主芯片,经过实际测试,都是GPIO配置的问题,比如某个GPIO为中断输入,闲置为低电平,而我们配置成了IPU,因此内部的40K上拉就会在这里消耗3/40k =75uA,另外将N.C的GPIO配置成Floating Input,也会有一些漏电流,实际测试漏电流不大;另外将STM32F05x直接PIINtoPIN替代STM32100,所以Pin35,36的 PF6,PF7为之前的VCC,GND,因此要相应的配置为IPU,IPD,才不会有拉电流/灌电流;外部不使用晶振,因此必须将其配置为IPU/IPD 或者输出Low,如果配置成Floating,实测消耗200uA+的电流,这个特别注意。
另外不需要关闭不用的外设的CLK,因为STOPMODE会将内部1.8V的core 关闭,因此该步骤不影响功耗。
因此在进入STOPMODE之前,需要做:1、将N.C的GPIO统一配置为IPU/IPD;2、检查一些Signal的输入Active是High/Low,相应进行配置为IPD/IPU,即避免在内部上/下拉电阻上消耗电流,而且该电流理论值为VCC/R = 3/40 =75uA;3、如果外部晶振不使用,必须将GPIO配置为IPU/IPD/PPLow,不允许配置为floating,否则会消耗极大的电流 200uA+;4*、加入进入STOPMODE前,不允许将PWR的CLK关闭,这部分牵涉低功耗模式,实际测试关闭能用,也能唤醒,但是电流会增加10uA+;5、配置GPIO为输出时,根据输出的常态选择上拉/下拉,如闲置输出为0,则配置为下拉,输出闲置为1,则配置上拉;6、另外特别说明的是->从Stopmode唤醒后,系统会自动切换到HSI,如果进入前使用的是外部晶振/PLL(PLL的clksource = HSI/HSE)因此必须调用System_Init(),对RCC重新初始化,否则唤醒后主频发生改变,会影响系统;调试经验分享:经常在移植新的产品方案时,都会遇到待机电流不能一步到位,需要测试、调试的过程,在此分享一个土办法。
STM32L15x —— 电源管理PWR和低功耗模式
Reset信号
不支持BOR
不支持 BOR
支持BOR
在上电时,BOR LEV1 始终有效 ,即使 BOR功能在Option中被禁止
支持BOR 不支持BOR
在断电时,用户可以选择是否 使能BOR
Time
10
电源管理 —— 待机电路
待机电路包括
低功耗的日历RTC(警报,周期性的从停止或待机模式 唤醒)
16MHz (1ws) 8MHz (0ws)
VDD = 2.0 to 2.4V 转换时间为500Ksps 正常 VDD = 2.4 to 3.6V 转换时间为1Msps 正常
范围1 / 范围2 / 32MHz (1ws)
范围3
16MHz (0ws)
范围1 / 范围2 / 32MHz (1ws)
范围3
PVD Output
平时,会在EXTI Line16
产生一个外部中断
Î 保证MCU一直处于 安全的状态下
PVD Threshold
100mv hysteresis
9
电源管理 —— 监控和复位电路(五)
VDD
3.6V
VBOR
BOR 监控VDD所有的上升下降沿 = 对供电波形没有要求 BOR由用户通过Option Byte控制 在停止/待机模式下,可以禁止VREFINT来停止BOR
RTC_AF1 唤醒引脚 2
唤醒引脚 2
待机电路
RCC 控制寄存器
32KHz OSC (LSE)
唤醒单元
IWDG
RTC + 80 字节后备寄存器
11
系统外设
电源管理 (PWR) —— 低功耗模式
12
低功耗模式 —— 概述
stm32低功耗作用
stm32低功耗作用标题:STM32低功耗应用:延长电池寿命,提升设备续航概述:STM32系列微控制器以其低功耗特性在物联网、智能家居、传感器等领域得到广泛应用。
本文将介绍STM32低功耗的作用及其在延长电池寿命、提升设备续航方面的应用。
引言:在现代社会中,电池寿命成为了移动设备和物联网设备设计中的一个重要考虑因素。
而STM32微控制器的低功耗特性为解决这一问题提供了有效的解决方案,使得设备能够更长时间地运行,为用户提供更好的使用体验。
1. 低功耗模式的应用STM32微控制器具备多种低功耗模式,如待机模式、休眠模式和停机模式等。
这些模式能够有效降低设备的功耗,延长电池的使用寿命。
在设备不需要进行实时操作时,通过进入低功耗模式,可以使设备进入省电状态,减少功耗的消耗。
2. 优化电源管理STM32微控制器内置了电源管理单元,能够对电源进行有效管理。
通过合理配置电源管理单元的参数,可以根据设备的需求进行电源供应。
例如,可以选择在设备空闲时关闭不必要的电路模块,减少能量的消耗,从而延长电池的使用寿命。
3. 事件触发唤醒机制STM32微控制器支持事件触发唤醒机制,能够使设备在特定事件发生时自动从低功耗模式中唤醒。
这样一来,设备只有在需要执行任务时才会被唤醒,避免了频繁唤醒和功耗的浪费,从而提升了设备的续航能力。
4. 低功耗算法优化除了硬件层面的低功耗特性,STM32微控制器还提供了丰富的低功耗算法库。
开发人员可以使用这些算法库对设备进行功耗优化,例如采用低功耗通信协议、优化数据处理算法等,进一步降低设备的功耗,延长电池寿命。
5. 实际应用案例以智能家居系统为例,通过使用STM32微控制器的低功耗特性,智能家居设备可以在待机状态下降低功耗,只在用户需要时进行实时操作。
通过合理配置电源管理单元和使用低功耗算法优化,可以将设备的续航时间从几天延长到数周,提升用户体验。
结论:STM32微控制器的低功耗特性在延长电池寿命、提升设备续航方面发挥着重要作用。
STM32三种低功耗模式研究二
STM32三种低功耗模式研究二停机模式:任一外部中断可以唤醒,系统保存代码运行状态,唤醒前后要分别进行电源管理配置和时钟配置。
如果不配置时钟,它是自动切换到内部时钟的;当然,如果系统重启或重新上电,则系统会从头开始,当然包括从头配置时钟。
示例:停机模式进入之前:RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);printf(“进入停止模式“);PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);停机模式唤醒之后:void SYSCLKConfig_STOP(void){ErrorStatus HSEStartUpStatus;RCC_HSEConfig(RCC_HSE_ON);HSEStartUpStatus = RCC_WaitForHSEStartUp();if(HSEStartUpStatus == SUCCESS){RCC_PLLCmd(ENABLE);while(RCC_GetFlagStatus(RCC_FLAG_PL LRDY) == RESET){}RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);while(RCC_Get SYSCLKSource() != 0x08){}}}为了验证程序唤醒后是不是从进入停机模式那一条语句接着运行,我进行如下编程:int main(void){LED_GPIO_Config(); EXTI_Key_Config();SysTick_Init();RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//电源管理while(1) {LED1( ON );Delay_us(100000); // 10000 * 10us = 100msLED1( OFF ); // SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;PWR_EnterSTOPMode(PWR_Regulator_LowPow er,PWR_STOPEntry_WFI);LED2( ON ); Delay_us(100000); // 10000 * 10us = 100msLED2( OFF );LED3( ON ); Delay_us(100000); // 10000 * 10us = 100msLED3( OFF ); }}发现根本不进入停机模式,文档上写着:为了进入停止。
STM32L15x —— LCD控制器
LCD控制器 (LCD)
1
LCD控制器 —— 概述
高度灵活性的帧率
驱动高达320点(8x40)或176点(4x44)像素(pixels)
可编程的占空比和偏置
占空比:静态,1/2,1/3,1/4,和1/8
偏置:静态,1/2,1/3和1/4 低功耗的驱动波形,以降低耗电
偶数帧
奇数帧
COM0
V
LCD
2/3 V
LCD
1/3 V
LCD
V
SS
phase0 phase1 phase2 phase3 3 phase dead time
phase0 phase1 phase2 phase3
使用内部电源: 软件可以通过设置CC[2:0]寄存器位来调整VLCD的电压。从 2.6V到3.3V,有8种电压可以选择
Frame ~30 Hz to ~100 Hz
软件可选使用外部或内部的电压源
双缓冲存储器
LCD数据存储区包括16个32位寄存器,用于存储像素信息(有效/ 无效)
当更新LCD的数据存储区时,会产生帧首中断,以便软件同步
无论使用何种电源,都可以控制对比度
可对像素和频率进行编程的闪烁功能
,LCD_FCR
PS[3:0]
Clock MUX CK_PS
CK_PS由DIV[3:0]分频,CK_PS 除以16-31,产生CK_DIV。
DIV[3:0]
Divide by 16 to31 CK_DIV
f ck_div
=
f LCD
=
f LCDCLK 2PS (16 + DIV )
帧频率由CK_DIV频率与占空比相 乘所得。
STM32低功耗学习
STM32低功耗学习1)设置SLEEPDEEP位该位在系统控制寄存器(SCB_SCR)的第二位(详见《CM3权威指南》,第182页表13.1),我们通过设置该位,作为进入待机模式的第一步。
2)使能电源时钟,设置WK_UP引脚作为唤醒源因为要配置电源控制寄存器,所以必须先使能电源时钟。
然后再设置PWR_CSR 的EWUP位,使能WK_UP用于将CPU从待机模式唤醒。
3)设置PDDS位,执行WFI指令,进入待机模式接着我们通过PWR_CR设置PDDS位,使得CPU进入深度睡眠时进入待机模式,最后执行WFI指令开始进入待机模式,并等待WK_UP中断的到来。
4)最后编写WK_UP中断函数因为我们通过WK_UP中断(PA0中断)来唤醒CPU,所以我们有必要设置一下该中断函数,同时我们也通过该函数里面进入待机模式。
关于具体进入低功耗模式WFI命令的写法:下面是我写的进入Sleep模式的代码,你把它添加到软件库中stm32f10x_pwr.c中/******************************************************************************** Function Name : PWR_EnterSLEEPMode* Description : Enters SLEEP mode.* Input : - SysCtrl_Set: Select the Sleep mode entry mechanism,.* This parameter can be one of the following values:* - 0: MCU enters Sleep mode as soon as WFI or WFE instruction is executed.* - 1: MCU enters Sleep mode as soon as it exits the lowest priority ISR.** - PWR_STOPEntry: specifies if SLEEP mode in entered with WFI or WFE instruction.* This parameter can be one of the following values:* - PWR_SLEEPEntry_WFI: enter STOP mode with WFI instruction* - PWR_SLEEPEntry_WFE: enter ST OP mode with WFE instruction* Output : None* Return : None*******************************************************************************/void PWR_EnterSLEEPMode(u32 SysCtrl_Set, u8 PWR_SLEEPEntry){if (SysCtrl_Set)*(vu32 *) SCB_SysCtrl |= SysCtrl_SLEEPONEXIT_Set; // Set SLEEPONEXITelse*(vu32 *) SCB_SysCtrl &= ~SysCtrl_SLEEPONEXIT_Set;// Reset SLEEPONEXIT*(vu32 *) SCB_SysCtrl &= ~SysCtrl_SLEEPDEEP_Set; // Clear SLEEPDEEP bitif(PWR_SLEEPEntry == PWR_SLEEPEntry_WFI) // Select SLEEP mode entry__WFI(); // Request Wait For Interrupt else__WFE(); // Request Wait For Event}同时将下面的代码添加到stm32f10x_pwr.h中:/* SLEEP mode entry */#define PWR_SLEEPEntry_WFI ((u8)0x01)#define PWR_SLEEPEntry_WFE ((u8)0x02)其中进入低功耗模式使用__WFI(); 或者__WFE(); 命令就行,这个和__nop();等待命令一样。
STM32L系列低功耗
STM32L系列低功耗在stop模式下,所有Vcore(稳压器输出电压)域时钟停止,PLL、MSI、HSI、HSE都被停止。
RAM和寄存器中的值保留。
在stop模式下,稳压器为Vcore(稳压器输出电压)域提供低功耗电压,用来保持寄存器和内部RAM中的数据。
为了最大程度降低功耗,在进入stop模式之前,VREFINT、BOR、PVD、和温度传感器可以被关闭,退出stop模式后,可以用PWR_UltraLowPowerCmd()打开他们。
PWR_UltraLowPowerCmd(ENABLE);//使能超低功耗模式;内部参考电压的功耗也不是微不足道的,尤其在stop模式和standby模式。
为了减小功耗,用这个函数设置PWR_CR的ULP位来关闭内部参考电压,然而,在这种情况下从stop模式或standby模式退出时,在内部参考电压启动时间内(3ms),通过内部参考电压管理那些功能是不可靠的。
为了缩短唤醒时间,在进入stop模式或者standby模式之前,调用PWR_FastWakeUpCmd()函数(设置PWR_CR的FWU位),CPU就可以从stop模式或者standby模式唤醒而不用等待内部参考电压的启动。
if ULP=0(参考电压在低功耗模式下打开),FWU位被忽略。
if ULP=1(参考电压在低功耗模式下关闭),FWU=1:当从低功耗模式退出时,忽略参考电压的启动时间。
if ULP=1(参考电压在低功耗模式下关闭),FWU=0:CPU只有等到参考电压准备好才会从低功耗模式退出。
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STO PEntry_WFI);//进入stop模式;设置PWR_CR寄存器的PDDS和LPSDSR位。
PDDS:进入stop模式。
稳压器:一个嵌入式的、线性的稳压器给除了待机电路外的所有数字电路供电。
稳压器的输出电压在1.2~1.8V范围内,软件可配。
stm32-低功耗设计-总结
6.stm32 低功耗设计--总结一. 需求分析阶段1.1 引入随着近几年电子产品的高速发展,出现了各式各样的便携式产品,他们的发展趋势必将是更小、更轻,功能更强大。
那么在产品的开发过程中,需要在满足需求中性能指标后,尽可能的优化产品功耗。
我们做不到让马儿跑,又让马儿不吃草,但是可以合理的规划它跑的路线和时间段。
1.2 需求分析举例以某公司手环为例:(以下故事纯属瞎编)老板偶然看到别人带了个智能手环挺好,然后回来就决定自己也要做手环,吩咐产品经理去调研市面上的手环(竞品分析),产品经理通过调研发现小米的手环功能最多,待机最长,价格最便宜。
然后就开始根据市面总体情况编写需求文档啦,我要求成本200块以内,待机20天,有记步等功能,外形多高多宽。
然后交给工程师小李了。
小李一看,我擦,成本200,待机还要这么长,还要这么多功能,外形大小还限制了。
要求真多,但也没办法,接下来就要根据需求进行软硬件的设计,首先我们先分析下小米手环的设计。
小米手环的硬件设计方面:低功耗OLED显示屏(相对TFT LCD 数码管等功耗更低)快速稳定的蓝牙4.0主控芯片(低功耗主控)大电量,长续航(高能量高密度,锂聚合物电池)传感器,采用功耗低,精度高的传感器芯片硬件方面,器件的选型属于硬标准,为你低功耗的产品设计提供可能。
小米手环的软件设计方面:软件上主要在使用方式上进行优化,例如检测不到运动芯片进入低功耗,屏幕熄灭,当运动的时候才进行触发等。
通过上面的例子我们也都发现,低功耗产品设计=低功耗硬件设计+低功耗软件设计(策略,使用方式)二. 低功耗的硬件上设计一个产品的设计,在硬件方面我们主要考虑哪些方面?(1)说道主控芯片:我们以前接触过的MSP430,好多公司选它大都是因为它的低功耗特性。
但是仅几年stm32 L系列发展的势头更猛,我们下面说的低功耗都是基于stm32L系列进行讲解。
(2)电源管理:LDO(低静态电流,输出可关断)DC/DC(高转化率,输出可关断)注:静态电流就是不工作的时候不耗电,输出可关断就是可以cpu控制(用cpu管脚进行控制关掉)在我们选择电源管理芯片的时候一定要特别注意,有的芯片负载能力强,但是功耗高,有的功耗低,但是负载能力差,需要根据需求进行选定。
STM32低功耗
STM32低功耗模式一、低功耗注意事项:1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入;如果高阻状态是低电平,设成下拉输入;如果高阻是中间状态,设成模拟输入。
这个很多人都提到过,必须的。
作为输出口就免了,待机你想输出个什么东西,一定要输,硬件上加上下拉就可以了2、两个晶振输入脚要remap成普通IO,使用内部晶振。
3、pwr的时钟要使能,即RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要4、关闭jtag口,并设成普通IO。
5、注意助焊膏的质量。
6、功耗计算方式:功耗=工作电压*工作电流7、引脚电压的切换会对外部和内部电容负载产生动态损耗,其损耗与电压切换频率和负载电容有关。
8、在配置IO模拟输入之前,一定不要锁定IO口。
二、低功耗模式1、电源管理为了方便进行电源管理,STM32把它的外设、内核等模块根据功能划分了供电区域(备份域电路、调压器供电电路、 ADC电源及参考电压),其内部电源区域划分见图1。
图 1 STM32供电图①备份域电路STM32的LSE振荡器、RTC、备份寄存器及备份SRAM这些器件被包含进备份域电路中,这部分的电路可以通过STM32的VBAT引脚获取供电电源,在实际应用中一般会使用3V的钮扣电池对该引脚供电。
当VDD主电源存在时,由于VDD电压较高,备份域电路通过VDD供电,当VDD掉电时,备份域电路由钮扣电池通过VBAT供电,保证电路能持续运行,从而可利用它保留关键数据。
②调压器供电电路在STM32的电源系统中调压器供电的电路是最主要的部分,调压器为备份域及待机电路以外的所有数字电路供电,其中包括内核、数字外设以及RAM,调压器的输出电压约为 1.2V,因而使用调压器供电的这些电路区域被称为1.2V域。
调压器可以运行在"运行模式"、"停止模式"以及"待机模式"。
STM32开发新秘密这种方式让你的项目更省电
STM32开发新秘密这种方式让你的项目更省电STM32开发新秘密:这种方式让你的项目更省电近年来,随着物联网的快速发展,越来越多的电子设备需要长时间运行,而电池寿命成为了一个重要的考量因素。
在这样的背景下,如何提高项目的能效,使其更加省电,成为了开发者亟需解决的难题。
在STM32开发中,有一种新的方式被广泛使用,可以显著降低功耗,延长电池寿命,这就是低功耗模式。
本文将介绍如何使用低功耗模式来提高STM32项目的能效。
一、什么是低功耗模式低功耗模式是指通过优化和调整系统资源的使用,以减少电源消耗的一种技术。
在STM32开发中,主要利用以下几种低功耗模式:1.睡眠模式(Sleep Mode):关闭CPU内核,仅保留少量外设工作,以达到降低功耗的效果。
2.停止模式(Stop Mode):关闭内核和外设,并保持SRAM内容,只保留低功耗时钟,以实现最低功耗状态。
3.待机模式(Standby Mode):关闭内核、外设和低功耗时钟,唤醒需要通过外部事件触发。
二、如何使用低功耗模式在STM32开发中,使用低功耗模式并不复杂,下面将介绍具体操作步骤。
1. 选择适合的低功耗模式:根据项目需求和功耗要求选择合适的低功耗模式。
如果需要快速唤醒且需要保留当前状态,可以选择睡眠模式;如果需要进一步降低功耗且不需要快速唤醒,可以选择停止模式或待机模式。
2. 配置低功耗模式:针对所选择的低功耗模式,配置相关的寄存器和设置。
具体的配置方法可以参考相关的STM32开发手册或官方文档。
3. 优化设备资源:在低功耗模式下,关闭不必要的外设和时钟,以减少能量消耗。
同时,将需要快速唤醒的外设设置为唤醒源,当其产生唤醒事件时,系统可以快速恢复工作状态。
4. 基于事件唤醒系统:在待机模式下,系统处于低功耗状态,只有外部事件触发唤醒时才会恢复正常工作。
合理选择外部事件唤醒的源头,可以避免不必要的唤醒和能量浪费。
三、低功耗模式的优势1. 延长电池寿命:低功耗模式可以显著降低系统功耗,在保证正常功能的前提下,延长电池的使用寿命,减少更换电池的频率。
STM32L15x —— 系统配置管理(SYSCFG)和ROUTING INTERFACE(RI)
系统外设系统配置管理(SYSCFG) 和ROUTING INTERFACE (RI)系统配置寄存器SYSCFG_MEMRMP 用于设置映射到地址0x0000 0000的存储器SYSCFG 和RI ——SYSCFG 概述(一)保留312MEM_MODE 10MEM_MODE 00:主FLASH 01:系统存储区11:SRAM 系统配置寄存器SYSCFG_PMC 用于使能连接到USB DP 脚的上拉电阻保留31USB_PU 10USB_PU 0:取消USB DP 脚的上拉1:使能USB DP 脚的上拉SYSCFG 和RI ——SYSCFG 概述(二)系统配置寄存器SYSCFG_EXTICRx 用于设置映射到EXTIx 的GPIO 口PA[x]PB[x]PC[x]EXTI x PD[x]PE[x]PH[x]EXTIx[3:0]保留31EXTI030EXTI174EXTI2118EXTI3151216EXTIx[3:0]0000:PA[x]0001:PB[x]0010:PC[x]0011:PD[x]0100:PE[x]0101:PH[x]SYSCFG和RI——RI概述比较器COMP1和COMP2的输入信号路由选择TIM2,TIM3和TIM4的输入捕获通道1,2,3和4的输入I/O口路由选择映射到内部参考电压V REFINT的I/O口的路由选择 打开或关闭GPIO端口A,B,C,D,和E的I/O 口的迟滞COMP1的非反向输入可以从24个I/O 口里选择,包括6个组里的18个通道和6个独立的通道COMP1的非反向输入的24个I/O 口可以作为ADC 的通道,也可以作为普通I/O 口使用连接到COMP1的非反向输入CH25CH24CH23CH4ADCVCOMP CH5CH22Temp. SensorV REFINT *CH10CH11CH12CH13Group 8CH1CH2CH3Group 1CH0CH14CH15Group 9CH19CH20CH21Group 7CH9Group 3CH8CH6CH7Group 2CH18ADC Switch matrix Routing InterfacePC0PC1PC2PC3PA0PA1PA2PA3PA6PA7PC4PC5PB12PB13PB14PB15PB0PB1PA4PA5PE7PE8PE9PE10注意:内部电压参考VREFINT 和温度传感器不能映射到COMP1的非反向输入,他们只能映射到ADCCOMP2的非反向输入可以从2个I/O 口选择: PB4或PB5.-+PB4PB5Multiple sources COMP2Routing InterfaceCMP2OUT Group 6GR 6-1GR 6-2SYSCFG和RI——ADC输入捕获路由TIM2,TIM3和TIM4的输入捕获通道1, 2, 3和4可以选择I/O口在同一时间,只能为三个TIM中的一个设置输入捕获通道所使用的I/O口(RI_ICR寄存器的TIM[1:0])。
STM32的低功耗模式
STM32的低功耗模式⼀待机模式standby和STOP模式的区别:进⼊低功耗模式:都⼀样,都是先关闭相应时钟,关闭相应外设,配置相应所有IO⼝(浮动输⼊),然后配置相应的唤醒中断源,中断影响的O⼝,然后调⽤相应函数进⼊低功耗模式进⼊低功耗模式函数:打开电源管理时钟,使能唤醒引脚,PWR_EnterSTANDBYMode();//进⼊待机 //PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI|PWR_STOPEntry_WFE);//进⼊停机唤醒中断:清除所有中断标志(IO⼝中断标志,外设中断标志,系统唤醒标志),此时有所区别:STOP模式需要重新配置系统时钟和模块初始化。
退出中断后:STOP后从中断处开始执⾏,各种状态保存;但standby这是系统复位。
⼆串⼝唤醒中断:2.1RX外中断法:进⼊standby模式前先将RX配置成中断输⼊,然后进⼊低功耗模式,唤醒中断中将RX配置成串⼝接收状态,配置串⼝然后⼿动设置接收中断标志,退出唤醒中断后⽴马进⼊中断接收。
缺在接收中断中对开头引导做兼容处理。
2.2 其它的串⼝唤醒⽅法现象:第⼀次从stop模式唤醒时串⼝能正常通信,判断⼀段时间后⽆数据则再⼀次进⼊stop mode,然后再⼀次唤醒,此时串⼝⽆法输出。
最后发现原因是串⼝重新初始化时HAL_UART_Init()函数中会判断if(huart->State == HAL_UART_STATE_RESET),此时才会执⾏HAL_UART_MspInit(huart),配置串⼝IO⼝。
解决办法:每次将UART_HandleTypeDef结构体中的State成员初始化为HAL_UART_STATE_RESET。
或者再次初始化之前调⽤HAL_UART_DeInit()。
三Wakeup引脚的系统中断:专⽤的系统唤醒引脚设置成上升沿中断。
四RTC闹铃中断:在低功耗模式下的看门⼝处理:看门狗在STOP模式下还在⼯作,所以还需要不停喂狗,不然看门狗复位,低功耗模式也没有什么⽤了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Reset信号
不支持BOR
不支持 BOR
支持BOR
在上电时,BOR LEV1 始终有效 ,即使 BOR功能在Option中被禁止
支持BOR 不支持BOR
在断电时,用户可以选择是否 使能BOR
Time
10
电源管理 —— 待机电路
待机电路包括
低功耗的日历RTC(警报,周期性的从停止或待机模式 唤醒)
1.8 V (Range 1)
VDD
1.65V .. 3.6V
2.0V .. 3.6V
CPU 性能
高 中 低
功耗
高 中 低
供电 供电 范围 电压(V)
1
1.8
2
1.5
3
1.2
最大运行频率(MHz)
1等待(WS)
32 16 4
0等待(WS)
16 8 2
VDD(V)
2.0 – 3.6 1.65 – 3.6
RTC_AF1 唤醒引脚 2
唤醒引脚 2
待机电路
RCC 控制寄存器
32KHz OSC (LSE)
唤醒单元
IWDG
RTC + 80 字节后备寄存器
11
系统外设
电源管理 (PWR) —— 低功耗模式
12
低功耗模式 —— 概述
STM32L提供5种低功耗模式
低功耗运行模式 睡眠模式 低功耗睡眠模式 停止模式 待机模式
17
低功耗模式 —— 低功耗睡眠模式
低功耗睡眠模式:内核停止运行,外设保持运行
进入低功耗睡眠模式必须: 配置内部电源变换器工作在低功耗模式下(设置LPSDSR位),并执 行WFI或WFE指令 Flash模块进入低功耗模式(设置SLEEP_PD位),RAM内容保持 系统时钟必须设置在128KHz以下 内核供电VCORE必须选择供电范围2(1.5V) 选择进入低功耗睡眠模式的机制 (SLEEPONEXIT位),选择SLEEP NOW或者SLEEP ON EXIT
存在一个灰色地带,上电时的启动时间被控制在 1ms内。 BOR门限1: 芯片在1.8V上电,在1.65V断电。 BOR门限2: 芯片在2.1V上电,在2.0V断电。 BOR门限3: 芯片在2.4V上电,在2.3V断电。 BOR门限4: 芯片在2.7V上电,在2.6V断电。 BOR门限5: 芯片在2.9V上电,在2.8V断电。
80字节的RTC数据寄存器 单独的32KHz RTC晶振 (LSE) RCC CSR 寄存器: RTC时钟源的选择和使能,以及
LSE的配置 Î 仅由RTC域的RESET信号复位
3个唤醒引脚
RTC的其他功能
侵入检测: 复位所有的RTC后备寄存器 可配置边沿: 低电平 / 高电平 可配置产生中断
进入低功耗睡眠模式可选: 关闭不使用的外设和GPIO口的时钟(通过RCC_AHBLPENR和 RCC_APBxLPENR寄存器,可以选择在进入睡眠模式时自动关闭 相应外设的时钟) 关闭VREFINT
18
低功耗模式 —— 停止模式
停止模式:内核停止,VCORE范围内的时钟都停止,PLL, MSI, HSI和HSE都被禁止,SRAM和寄存器的内容保留
进入低功耗运行模式可选: 通过RCC_APBxENR和RCC_AHBENR关闭不使用的外设时钟 选择从SRAM执行代码,并配置Flash模块进入低功耗模式 关闭VREFINT
16
低功耗模式 —— 睡眠模式
睡眠模式(SLEEP):内核停止运行,外设保持运行
需要通过特殊的指令进入睡眠模式
Temporization tRSTTEMPO
Reset
8
电源管理 —— 监控和复位电路(四)
可编程电压监控(PVD)
由软件控制
实时的监控VDD的电平,
并和门限电平比较
VDD
门限电平可以设置在 1.9V到3.1V之间,以 100mV为间隔
如果使能了PVD,在
VDD小于或者大于门限电
时间戳检测: 日历可以保存在时间戳寄存器中 可配置边沿: 低电平 / 高电平 可配置产生中断
RTC报警输出: 在RTC_AF1引脚上输出警报A, 警报 B和RTC唤醒信号
RTC时钟校准输出: 当使用32.768Hz晶振时,在 RTC_AF1引脚上输出512Hz时钟
唤醒引脚 1
唤醒引脚 3
Sleep Now: SLEEPONEXIT=0:MCU在WFI或WFE指令后立即进入SLEEP模式。 Sleep on Exit: SLEEPONEXIT=1:MCU在退出某个低优先级的ISR之后进入
SLEEP模式
在SLEEP模式下,所有的I/O口和外设都保持和运行时一致的状态,因 此可以关闭不使用的外设的时钟,以降低功耗。
和STM32F1相比
STM32F1
低功耗模式
睡眠模式
停止模式 待机模式 VBAT模式
STM32L 低功耗运行模式 睡眠模式 低功耗睡眠模式 停止模式 待机模式
13
低功耗模式 —— 特色
STM32L在低功耗模式下提供多种功能选择以降 低功耗
动态电压调节 睡眠模式下自动关闭外设时钟 在睡眠模式,或低功耗运行模式(代码在RAM中运行)下
2.4V≤VREF+≤VDDA 当VDDA < 2.4V时 VREF+ = VDDA VREF+和VREF-仅在100脚的芯片封装
上引出,其他封装的芯片这两个脚都在内 部连接到VDDA和VSSA
VREFVREF+ VDDA VSSA
VSS VDD
VLCD
VDDA 电压区
A/D转换 D/A 转换 温度传感器 复位模块 PLL
16MHz (0ws)
5
电源管理 —— 监控和复位电路(一)
STM32L内置全面的电源监控和复位电路
上电复位(POR) / 掉电复位(PDR)
永远使能
欠压复位(BOR)
对于内置BOR的芯片,工作电压范围为1.8V(掉电时为1.65V) - 3.6V,可通过Option Byte来选择是否使能BOR。
VDDA=1.65V 到 3.6V
VDD的电源供给I/O和内部变压器
VDDA的电源供给ADC, DAC, 复位模块, 振荡器和锁相环
注意:ADC仅在VDDA≥1.8V时工作 VLCD = 2.5V 到 3.6V 如果不使用内部
内压转换器,可以通过外部电源给LCD控 制器供电。
VDD和VDDA必须来自同一电源 VSS,VSSA和VREF-必须接地 当VDDA ≥ 2.4V时
三种工作模式:
主电压调节器模式(MVR):用于运行和睡眠模式 超低功耗模式:用于低功耗运行,低功耗睡眠和停止模式 调节器关闭模式: 用于待机模式
3
电源管理 —— 动态电压调节
MHz
32
1WS
16
1WS
8
0WS
4
1WS
0WS
2
0WS
V
VCORE
1.2 V (Range 3)
1.5 V (Range 2)
PVD Output
平时,会在EXTI Line16
产生一个外部中断
Î 保证MCU一直处于 安全的状态下
PVD Threshold
100mv hysteresis
9
电源管理 —— 监控和复位电路(五)
VDD
3.6V
VBOR
BOR 监控VDD所有的上升下降沿 = 对供电波形没有要求 BOR由用户通过Option Byte控制 在停止/待机模式下,可以禁止VREFINT来停止BOR
16MHz (1ws) 8MHz (0ws)
VDD = 2.0 to 2.4V 转换时间为500Ksps 正常 VDD = 2.4 to 3.6V 转换时间为1Msps 正常
范围1 / 范围2 / 32MHz (1ws)
范围3
16MHz (0ws)
范围1 / 范围2 / 32MHz (1ws)
范围3
进入停止模式必须: 选择进入低功耗睡眠模式的机制 (SLEEPONEXIT位),设置 SLEEPDEEP位,清除PDDS位,执行WFI或WFE指令。 清除所有的EXTI,RTC警报,RTC唤醒,RTC侵入检测,RTC时间戳的 未处理标志位。 从停止模式唤醒时,MSI将自动作为系统时钟,唤醒所需时间的典 型值为7.9us。
4
电源管理 —— 不同供电范围的应用限制
不同供电范围的应用限制
供电范围
ADC
USB
)
VDD = 1.65 to 1.8V 不能工作
不能工作 范围2 / 范围3
16MHz (1ws) 8MHz (0ws)
VDD = 1.8 to 2.0V
转换时间为500Ksps 不能工作 范围2 / 范围3
VDD 电压区 Flash
I/O
VCore电压区
待机电路 (唤醒电路 /IWDG/RTC/ 32K LSE / RCC控制器 )
内核 存储区
数字 外设
电压调节器 动态电压调节
LCD 控制器
2
电源管理 —— 电压调节器
内置线性电压调节器
为除了待机电路以外的所有数字电路供电
动态电压调节
软件可动态调节电压调节器的输出(Vcore),输出范围: 1.2V – 1.8V 供电范围1: Vcore = 1.8V 供电范围2: Vcore = 1.5V 供电范围3: Vcore = 1.2V
系统外设
电源管理 (PWR)
1
电源管理 —— 供电方案
内置BOR芯片的:
VDD =1.8V(上电) 或 1.65V(断电) 到 3.6 V