• 电源控制和备份区域


    一、电源供给
    • 电源供给方案

    VDD = 2.0~3.6V:外部电源为I/O和内部电压调节器提供电源。 VDDA = 2.0~3.6V:外部模拟电源为ADC、复位模块、RC电路和PLL提供电源。
        >>只有当VDDA >= 2.4V时,ADC才能工作;
        >>只有当VDDA  >= 2.7V时,USB才能工作。
    VBAT = 1.8~3.6V:
        >>当VDD 断电时,VBAT 为备份区域提供电源。
    电源引脚的连接:
        >>
    VDD 和VDDA 必须连接到同一个电源;
        >>
    VSS 、VSSA VREF-  必须连接到地线;
        >>2.4V <= VREF+  <= VDDA 
        >>VREF+  和VREF-  仅在LQFP100封装上有,在其他封装上他们连接到内部对应的VDDA 和VSSA 。



    • 上电复位(POR)/掉电复位(PDR)
    内部包含有一个综合了POR/PDR电路,这保证当电源不处于产品正常运行的电压范围(2V~3.6V)时,该电路将产生一个适当的复位。
    无需外部复位电路
    在POR和PDR之间有40mV滞后。


    • 可编程电压检测器(PVD
    通过设置PWR_CR的PVDE位来使能;
    使用PWR_CR中的PLS[2:0]位来设定监控电压的门限,通过与设定门限电压比较来监控VDD 电源;
    门限值:2.2V~2.9V,步进值:0.1V;
    VDD 降到门限电压以下、或上电时VDD 上升到门限电压(PWR_CSR的PVD0位表明该状态),与此信号向量的外部中断线16(如果开启)将产生中断。
    >>可以用于长生警告信息、和/或将MCU运行安全状态。



    • 备份区域
    备份区域包含:
    RTC(计数器、分频器和报警机制)
    用于RTC的独立的32KHz的振荡器(LSE)
    10个16位的用户被封寄存器
    RCC的BDSR寄存器:RTC时钟源的选择和使能+LSE设置
    >>只有备份区域的复位信号才能复位该区域。
    VBAT 独立供电
    当系统VDD 低于PDR电压时,将自动切换到VBAT ;
    当时用VDD 时,VBAT 上无电流损失。
    防入侵检测:复位所有用户的备份寄存器
    可设置级别:低/高
    可设置产生中断


    • 低功耗模式
    STM32F10x低功耗模式:使用CortexM3的睡眠模式。 睡眠、停止和待机模式 在停止和待机模式下,复位电路、POR/PDR处于激活状态。 
    睡眠、停止和待机模式
    在停止和待机模式下,复位电路、POR/PDR处于激活状态。

    由于存在静态功耗(如电压调节器、振荡器、 Flash),在低频率下mA/MHz有点偏高。
    代码在SRAM里执行时的功耗比在Flash里低。
    • 低功耗模式 --- 睡眠模式
    内核停止、外设继续运行。
    通过执行特殊的指令(WFI/WFE)进入该模式;
    Cortex-M3控制寄存器的中SLEEPONEXIT位决定进入该模式的机制:
    Sleep-Now(SLEEPONEXIT为0):当执行WFI/WFE指令时,MCU立即进入睡眠模式。
    Sleep-on-Exit(SLEEPONEXIT为1):当从优先级最低的中断向量里退出时,MCU进入睡眠模式。
    退出睡眠模式:
    WFI(等待中断)
    任意可被可嵌套向量的中断控制器(NVIC)确认的外设中断。
    WFE(等待事件)
    在事件模式下,一个在外设控制寄存器中可设置为中断使能的事件,但是不未在NVIC中使能,或设为事件模式的外部中断线的事件。
    无时间损失在进入/退出上。

    为了降低功耗,用户可在进入睡眠模式前关闭不工作的外设时钟。
    • 低功耗模式 --- 停止模式
    在以下条件下执行WFI或WFE指令进入停止模式:
    1. 设置Cortex-M3系统控制寄存器中的SLEEPDEEP位;
    2. 清除电源控制寄存器(PWR_CR)中的PDDS位;
    3. 通过设置PWR_CR中LPDS位选择电压调节器的模式。
    所有外设时钟、PLL、HSI和HSE都被关闭,保留SRAM和寄存器内的内容。
    如果RTC和IWDG正在运行,进入停止模式时该外设不会停止(包括时钟)。
    可将电压调节器设置为低功耗模式,以降低功耗;
    退出停止模式:
    WFI指令进入时:任意设置为中断模式的外部中断线(相应的中断须在NVIC中使能)
    WFE指令进入时:任意设置为事件模式的外部中断线;
    从停止模式恢复后,时钟的配置返回到复位时的状态(系统时钟为HSI)。


    • 低功耗模式 --- 待机模式
    在以下条件下执行WFI指令:
    1. 设置Cortex-M3系统控制寄存器中的SLEEPDEEP位;
    2. 设置电源控制寄存器(PWR_CR)中的PDDS位;
    3. 清除电源控制/状态寄存器(PWR_CSR)中的WUF位。
    电压调节器关闭、整个1.8v区域断电。除了备份区域和待机电路的寄存器以外,SRAM和寄存器的内容全部丢失;
    在待机模式下,RTC和IWDG(如果开启)继续运行;
    除了以下情况,待机模式下所有IO口处于高阻状态:
    复位引脚(始终有效);
    防侵入引脚(若被置为检测侵入或校准);
    唤醒引脚,如果使能。
    唤醒源:
    唤醒引脚的上升沿
    RTC警告
    复位引脚外部复位信号
    IWDG复位


    无欲速,无见小利。欲速,则不达;见小利,则大事不成。
  • 相关阅读:
    比较.NET程序集(DLL或EXE)是否相同
    [转] JavaScript数组去重(12种方法)
    [转] js网络请求跨域问题汇总(携带cookie)
    [转] JS中arr.forEach()如何跳出循环
    [转] vue前端异常监控sentry实践
    [转] vue父组件触发子组件事件
    [转] vue 自定义组件使用v-model
    [转] Nginx配置性能优化
    [转] linux 查找文本过滤grep正则表达式命令详解用法
    [转] Nginx配置中的location、root、alias
  • 原文地址:https://www.cnblogs.com/ch122633/p/7363275.html
Copyright © 2020-2023  润新知