大家知道意法半导体STM32产品中有四个系列,其中一个很重要的系列是超低功耗系列,今天我们就来聊一下STM32超低功耗系列产品。

意法半导体的超低功耗系列有非常优秀的低功耗表现,在EEMBC(嵌入式微处理器基准测评协会)的一个测评排名中,STM32L4系列的功耗可谓首屈一指,那我们就来看一下STM32L系列为什么可以做到那么低的功耗以及是如何做到的。

这篇文章先来说一下STM32L低功耗系列有哪些产品以及不同产品中低功耗模式的对比,之后我们还会发表后续文章,感兴趣的朋友可以持续关注。

超低功耗模式中的不同产品系列

有M0+内核的STM32L0,有Cortex-M3内核的L1以及Cortex-M4内核的L4和L4+,其中L0和L1都有5种低功耗模式,这5种低功耗模式分别是低功耗的运行、睡眠、低功耗睡眠、停止和待机。对于L4和L4+,它们在5种低功耗模式基础上又添加了停止模式下的两个状态,也就是stop 1、stop 2和关断模式。

那这么多模式是怎么定义出来的呢?

从STM32的历史来说,最早是时候是沿用arm内核的低功耗概念,这个概念里面具有睡眠模式、停止模式、待机模式,但随着工艺的不断提升,ST有更多更低功耗的模式出来,像L4产品就做到了非常低的功耗的shutdown模式。

低功耗运行模式

其实低功耗运行模式还是一种运行模式,只是它的电流消耗很低,它与运行模式最大的区别是给内核供电的内部电压调节器电压要低于正常的运行模式下的电压值,也就是它使用的是低功耗电压器来供电,所以系统最大的相对运行频率也会很低,像L4在低功耗运行模式时最大的频率不超过2MHz,对L1来说,它不能超过121KHz。

睡眠模式

在睡眠模式,系统的CPU也就是Cortex-M内核的时钟被关闭了,但外设是继续保持运转的它整个I/O的引脚状态与运行模式下也是相同的。

低功耗睡眠模式

低功耗睡眠模式是基于睡眠模式下的低功耗模式,是具有极低电流消耗的睡眠模式,它内核的时钟也是被关闭的,同时外设时钟频率受到了限制,因为它的电压调节器属于低功耗状态,内部的FLASH是要被停止的,所以低功耗睡眠模式只能从低功耗运行模式进入,这个是和其他模式不同的,其他模式都可以从运行模式直接做切换。

在低功耗运行和睡眠模式下,可以有一个BAM模式,它的工作方式是通过RTC加一个外设加DMA加SRAM,在不需要CPU干预的情况下就可以自行做数据采集,一旦到了数据采集需要到CPU处理的条件时,然后再把CPU唤醒做处理,所以这整个一个小系统就实现了一个协处理器的功能。

停止模式

在说停止模式之前,为了说清楚停止模式和睡眠模式的区别,我们先说一下Vcore的概念,它是内核的一个供电区域,不仅给CPU内核供电,还会给系统内部的存储器和它的数字外设供电。

停止模式中,除了CPU,也就是Cortex-M内核的时钟被关闭外,内核供电域的时钟也被停止,在停止模式下,内核供电域的时钟全部都停掉,PLL内部、外部的高速时钟全部都停掉,电压调节器为内核供电域供电,保留寄存器和内部SRAM中的内容。

在L4和L4+系列中,停止模式被细分为stop 0、stop 1和stop 2三种模式,按照功耗从低到高来说,stop 2是功耗最低的一个stop模式,它整个Vcore电源域放在了更低的漏电流模式下,使用了低功耗的电压调节器,只有最少的外设可以工作,所以它的功耗相对来说是最低的,但是唤醒时间是最长的。

Stop 1模式提供了更多的外设和唤醒源,唤醒时间也会更长一些;

Stop 0模式主电压调节器打开,可以得到最快的唤醒时间;

在所有的stop模式下,所有的高速振荡器停止,而低速振荡器保持活动,外设设置为active,需要的时候就可以使用这些高速时钟,能保证它在一些特定的事件下去唤醒设备。

待机模式

在待机模式下,内核的供电是直接断电的,电压调节器掉电区寄存器的内容会完全丢失,包括内部的SRAM,所以最大的区别就是说,系统从待机模式下的低功耗唤醒的时候,系统是要复位的。

待机模式下,BOR是始终使能的,这样就保证了供电电压低于所选功能阈值时,器件可以复位。默认条件的待机模式下,SRAM的内容是会丢失的,但是在L4里增加了SRAM 2,如果需要在待机模式后系统唤醒的时候有SRAM能保存一些内容,那就可以使用SRAM 2,它需要有多余220nA的额外电流消耗。

Shutdown模式

在shutdown模式,系统达到了最最低的功耗,电压调节器的供电就被关断了,内核的供电也完全被断开,只有备份域的LSE、RTC可以工作所以在L4器件实现了一个新的模式,这个模式主要实现的目的就是为了延长电池供电之后整个器件的使用寿命,它其实是通过关闭内部的稳压器以及禁止使用耗电的监控,所以这个模式可以达到最低的功耗电流。

gpio的8种工作模式_【超低功耗系列一】STM32L 低功耗产品和模式相关推荐

  1. gpio的8种工作模式_Stm32之GPIO工作模式简介

    GPIO的8种工作模式 GPIO初始化结构体的时候,必须要配置合适的工作模式,这样才能使得IO口发挥应有的作用.工作模式大体上共分为输入输出两类,共8种,下面将介绍这8种工作模式. GPIO工作模式 ...

  2. 休眠后gpio状态_STM32中GPIO的8种工作模式总结

    STM32 中 GPIO 的 8 种工作模式总结 一.推挽输出:可以输出高.低电平,连接数字器件 ; 推挽结构一般是指 两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一 个截止.高低 ...

  3. GPIO的八种工作模式

    一.GPIO的八种工作模式 1.上拉输入:IO口在无输入的情况下,保持高电平. 2.下拉输入:IO口在无输入的情况下,保持低电平. 3.浮空输入:浮空输入状态下,IO的电平状态是不确定的,完全由外部输 ...

  4. STM32-深入理解GPIO的8种工作模式

    文章目录 一.GPIO中四个关键器件介绍 1.1.保护二极管 1.2.P-MOS管和N-MOS管 1.3.上拉电阻和下拉电阻 1.4.TTL肖特基触发器 二.GPIO的8种工作模式 2.1.模拟输入 ...

  5. STM32中GPIO口八种工作模式简介及LED灯测试

    STM32中GPIO口八种工作模式简介及LED灯测试 一.GPIO口八种工作模式 二. LED灯测试 一.GPIO口八种工作模式 在STM32单片机里对于GPIO的配置种类有8种之多,包括4种输入模式 ...

  6. STM32 GPIO的8种工作模式与应用场合

    1.GPIO的全称是General-purpose input/output,意为通用输入/输出接口,PIN脚依现实考量可选择通用输入模式(GPI)通用输出模式(GPO)以及通用输入输出模式(GPIO ...

  7. GPIO的8种工作模式——基于STM32F767IGT6

    对于STM32来说,GPIO有四种输入模式和四种输出模式,我们可以通过配置IO端口的相关寄存器来实现特定的效果: ps:M3系列只有输入模式有上/下拉,而M4/7系列输入/输出模式均有上/拉电阻: 浮 ...

  8. 有几种部署模式_来!PyFlink 作业的多种部署模式

    关于 PyFlink 的博客我们曾介绍过 PyFlink 的功能开发,比如,如何使用各种算子(Join/Window/AGG etc.),如何使用各种 Connector(Kafka, CSV, So ...

  9. 前端设定项目奖金有多少_【系列二】建筑工程项目激励模式探讨

    ​​建筑工程一般以项目制的形式运作,如何在这种"一次性"的组织形式下,确保项目符合质量.安全.进度等方面的要求,并确保项目的经济效益,对项目人员实施恰当的项目激励是关键. 我们认为 ...

最新文章

  1. React源码分析与实现(一):组件的初始化与渲染
  2. php curl 下载网页,php 通过cURL函数抓取网页、下载网页的简单示例
  3. PHP微信支付没有收到微信的回调怎么修改订单状态:主动查询
  4. 欢迎参加天津PDC Party的活动
  5. 多项式对数函数|指数函数(多项式)
  6. Latex: 表格中 自动换行居中
  7. C# html转mht
  8. python面试文件操作_python基础-三分钟搞定面试官爱问的【文件操作】
  9. weex android 滑动事件,【报Bug】weex编译模式下slider组件 @scroll 事件, 滑块左右滑动, @scroll 回调的值始终是负数, 判断不了左右动作...
  10. 计算机编程语言的代码——编码
  11. SODB、RBSP和EBSP
  12. python实现定位附近的_c#教程之使用GPS经纬度定位附近地点(某一点范围
  13. mac excel 函数
  14. 如何同步企业微信的标签?
  15. C++ 工厂模式 总结分析
  16. 高清卫星影像查看方法
  17. Java中使用多态的好处和弊端及其举例
  18. Ubuntu 18.04安装坚果云后打开出现白板
  19. linux3.10.46源码下载,Ubuntu11.10下编译android源码4.0.3
  20. windows下载7z

热门文章

  1. 【操作系统】【C/C++开发】内存管理
  2. POJ 1976 A Mini Locomotive【DP】
  3. js null ,null没有typeof返回值为undefine 即 null没有返回类型的
  4. 正则表达式中问号等特殊字符的转义(转)
  5. js中hover事件时候的BUG以及解决方法
  6. 浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务)
  7. .NET 调用JS:WebBrowser.Document.InvokeScript 方法抛出“指定的转换无效”异常的原因
  8. Python 异常处理--raise函数用法
  9. 解决geoserver跨域问题
  10. The prefix “mvc“ for element “mvc:annotation-driven“ is not bound 异常