精华内容
下载资源
问答
  • 低功耗

    2017-06-02 10:23:01
    哪些措施可以降低系统功耗?...3、不用的IO口全部拉,有些IO拉不拉影响不大,但有些IO不拉功耗差35uA,如STM8L051F3P6 PC4脚。稳妥起见,一律拉。 4、单片机若用到外设,外设用完就关时钟。如STM8L051F3P6

    哪些措施可以降低系统功耗?

    1、降低单片机主频。


    2、降低单片机工作电压。以STM8L051F3P6为例,3.6V供电,功耗5.5uA;2.5V供电,功耗2.7uA,功耗差一倍。


    3、不用的IO口全部拉低,有些IO拉不拉低影响不大,但有些IO不拉低,功耗差35uA,如STM8L051F3P6 PC4脚。稳妥起见,一律拉低。


    4、单片机若用到外设,外设用完就关时钟。如STM8L051F3P6 AD采样,采样完毕立刻关掉AD时钟,功耗可降1mA。


    4、降低传感器的功耗。传感器一般有低功耗模式,如NRF24L01,待机功耗32uA,设置掉电模式,功耗不到1uA。

        若低功耗模式电流还是很大,可考虑使用传感器时上电,不使用立刻切掉供电。

    展开全文
  • 低功耗设计

    2020-06-02 14:09:45
    低功耗设计入门(一) 低功耗设计入门(二) 低功耗设计入门(三) 低功耗设计入门(四) 低功耗设计入门(五) 低功耗设计入门(六) 低功耗设计入门(七) 低功耗设计入门(八)
    展开全文
  • RFID低成本低功耗自动检卡模块方案 ,利用ADC检测实现低功耗检测卡片,功耗2——3微安,可以做到实时检测,整机功耗最低的实际开发需求。
  • 超低功耗研发-STM32L151C8T6芯片(二)低功耗模式 超低功耗研发-STM32L151C8T6芯片(三)RTC自动唤醒机制 超低功耗研发-STM32L151C8T6芯片(四)串口接收唤醒机制、注意事项、C代码 目录 一、硬件设计 1、DC-...

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

    超低功耗研发-STM32L151C8T6芯片(二)低功耗模式

    超低功耗研发-STM32L151C8T6芯片(三)RTC自动唤醒机制

    超低功耗研发-STM32L151C8T6芯片(四)串口接收唤醒机制、注意事项、C代码

     

    目录

    一、硬件设计

    1、DC-DC电源部分

    2、CPU供电

    3、开关控制电路

    4、外围芯片供电控制

    5、外围模组供电控制

    6、电阻电容的选择。

    7、IO口的分配策略

    8、焊接及静电

    二、软件设计

             1、不用的IO口处理

    2、CPU 的是时钟频率及内核电压

    3、输出 的IO口

    4、 输入 IO 口

    5、外设

    6、唤醒后动作

       三、调试


        通过前面的讲解,基本上对于STM32L系列低功耗原理有了一些的认知,单纯的讲CPU的低功耗是没有太大的意义的,
    毕竟我们的实际工程项目不可能是一个单独的核心板,是必须要添加一些外围功能的,下面我们就从硬件、软件设计上做一些 总结。

    一、硬件设计

        硬件设计的总则是选用低功耗的设计方案,器件能少绝对不对,多一个器件,就多一份消耗,我们具体来分析,低功耗硬件设计方案:

    1、DC-DC电源部分


            (1)选用低压降、超低功耗DC-DC芯片:由于低功耗设备往往采用电池供电,一些锂电池随着电量的降低,输出电压也会降低,所以我们的DC-DC芯片要保证低压降,至少要能做到0.1V的压降下,仍能正常工作。
            (2)DC-DC静态功耗要足够小,因为在低功耗设计中,所有的器件本身也是要耗电的,尤其是DC-DC器件,耗电更多,所以尽可能的选用超低功耗LDO,当然了还要考虑LDO的最大输出电流,我使用的一款新品是上海贝岭的BL8064系列,静态功耗手册上说只有1uA,实测确实也不错。

    2、CPU供电

         超低功耗CPU的内核电压一般都是可配置的,比如说STM32L系列的,CPU电压就可以配置为1.2/1.5/1.8V,这个根据自己项目的情况来选择,因为电压与工作频率是有关系的,正常情况下,1.5V是够用的。
             

    3、开关控制电路


            如果我们的外围中,有开关控制需求,比如ADC电压 采集、信号通断等,那么优先考虑 CPU低功耗时,IO口引脚默认为低电平。这样的话,本身GPIO为输出配置,输出低电平肯定要比输出高电平要保险一些(功耗),比如采用三极管实现通断,那么最好使用NPN的管子实现,因为NPN的管子,控制引脚为低电平,三极管不导通,这部分的电路相当于全部断掉,功耗比较小。


    4、外围芯片供电控制


            对于一些的传感器,比如温度传感器芯片,如果这个传感器是超低功耗还好,但是多数情况下,传感器的功耗都是有的,即便是不测量的情况下,所以最保险的方式就是控制传感器的电源,这里面要特别注意,要控制整个传感器电源的源头,包括信号线上拉的电源,所以,还是考虑使用P沟道的mos管,mos管的S极接电源,D极给传感器电源和信号线上拉电阻供电,这样我们就能够通过IO口控制G极,实现整个传感器的完全断电了。

     5、外围模组供电控制


        (1)模组电源尽量不要使用LDO,多数超低功耗设备都是采用标准锂电池,所以选用的模组的工作电源要尽可能的与电池电压一致,而且需要宽范围,如果不一致,就要使用LDO,多使用LDO就涉及到产品的成本和整体的功耗增加。    

        (2)如果方案中涉及到通信模组,比如说NB-Iot模组、LoRa模组、蓝牙模组等,模组和外围芯片还不太一样,模组是一个特别大的耗电器件,这个耗电不仅仅在于发送数据时,还在于发送数据前的连接过程也是很费电的,所以如果想要采用直接断电的方式就要好好的衡量一下,是否得不偿失,比如说NB-Iot模组,每次的数据发送,都要经过很漫长的连接过程,举例,可能整个数据发送过程是50秒,那么连接过程可能就要48秒,因为一旦连接成功后,发送数据就很快了,所以NB-Iot模组都有一个叫做PSM模式的东西,这个时候,我们就要采用它本身的PSM模式了,而不是直接断电,因为NB-Iot的PSM模式普遍功耗都特别低,小于10uA。
          (3)另外由于模组需要一直带电运行,如果我们添加了mos管进行备用控制,mos管的控制电路本身也有功耗,这部分的功耗也是需要考虑的,所以,可能比较合适方案是,将电池的输出电压直接给模组供电,模组的外围接口比如reset、唤醒引脚等都接入到CPU,这样就能最大可能的保证模组的稳定。

    6、电阻电容的选择。

        这个涉及到一些细节问题,这里就不一一描述了,总而言之就是在满足功能的需求的情况下,电阻和电容都要少,而且电阻阻值不要太小,这有几方面原因,一是太小,相对费电,虽然在低功耗状态下,电阻大小不会影响费电,但是在正常工作情况下,电阻小,电流就大,整体的电流大了后,就会拉低电池的电压,所以需要采用合适的,稍微大点的电阻。电容呢,是要按需用,因为电容本身是储能的,也有漏电流,所以用的多了,也是会引起耗电的。

    7、IO口的分配策略


            IO口的分配不能只从布线方便上考虑,还要结合软件设计,比如说CPU进入低功耗设计之前,需要关闭一些外围器件,一些外围器件的关闭是需要XXX_DeInit操作的,比如说I2C模拟接口,关闭I2C模拟接口,最方便的就是先XXX_DeInit,这个函数会对整个port口进行时钟使能和关闭,所以好的设计,应该是将功能分块,比如所有的控制IO口都适用PortA,所有的I2C模拟接口都适用PortB,中间不要随意穿插。这样对于软件工程师来讲,写代码的时候就相对容易些。

    8、焊接及静电

         焊接温度和静电有可能会引起莫名其妙的功耗增加,这个时候是很抓狂的,尽可能的低温(280度以下)焊接,然后尽量减小静电的干扰,比如喷三防漆,放在无静电干扰的地方(橡胶垫)。

    二、软件设计


          对于CPU中标准的各种低功耗模式,这里就不用赘述了,因为是CPU厂家提供的,我们在软件设计的时候,出现各种奇怪的功耗增加的原因,多数是因为我们队外围功能控制的处理不当引起的,作为程序设计人员,我们一定要非常清楚CPU中所有外围功能的状态、所有IO口的状态,只要确保所有的功能都在合适的状态,才能实现超低功耗。对于STM32L CPU,注意事项有:


       1、不用的IO口处理

        不用的IO口一定设置为 模拟输入&& 无上拉,这个也蛮容易理解的,我们可以认为CPU的内部,模拟输入要经过运放,而运放的输入电阻是无穷大的,相当于输入端断开,加上没有 上下拉电阻的影响,即便是IO口状态不确定,基本上也是不会有电流的。
        


    2、CPU 的是时钟频率及内核电压

     

        根据自己项目情况设置的低一些,时钟、内核电压配置如下:

    	* 5. This file configures the system clock as follows:  
      *=============================================================================
      *                         System Clock Configuration
      *=============================================================================
      *        System Clock source          | PLL(HSE)
      *----------------------------------------------------------------------------- 
      *        SYSCLK                       | 12000000 Hz
      *----------------------------------------------------------------------------- 
      *        HCLK                         | 12000000 Hz
      *----------------------------------------------------------------------------- 
      *        AHB Prescaler                | 1
      *----------------------------------------------------------------------------- 
      *        APB1 Prescaler               | 1
      *----------------------------------------------------------------------------- 
      *        APB2 Prescaler               | 1
      *----------------------------------------------------------------------------- 
      *        HSE Frequency                | 8000000 Hz
      *----------------------------------------------------------------------------- 
      *        PLL DIV                      | 2
      *----------------------------------------------------------------------------- 
      *        PLL MUL                      | 3
      *----------------------------------------------------------------------------- 
      *        VDD                          | 3.3 V
      *----------------------------------------------------------------------------- 
      *        Vcore                        | 1.5 V (Range 2)
      *----------------------------------------------------------------------------- 
      *        Flash Latency                | 1 WS
      *----------------------------------------------------------------------------- 
      *        Require 48MHz for USB clock  | Disabled
      *----------------------------------------------------------------------------- 


      3、输出 的IO口

           可以设置成 开漏无上下拉,而且在 进入低功耗模式前,必须要拉低该IO口。


    4、 输入 IO 口

        比如用作外部中断输入的IO口,要设置成 输入&&下拉&上升沿。
      

    5、外设

     进入超低功耗模式之前,要关闭使用的外围功能,比如ADC、SPI外设,串口关闭与否好像并没有太大的影响,
          关闭外设的步骤如下:
          ① 关闭外部中断。
          ② XXX_Cmd(XXX, DISABLE);
          ③ XXX_DeInit(XXX)
          
          对于一些模拟时序的外围,比如I2C接口,关闭外设的步骤其实就是设置成 模拟无上拉 输入即可,不需要再进行
          XXX_DeInit的操作。
          


    6、唤醒后动作

       CPU唤醒后,需要将之前设置的低功耗配置IO口、外围功能重新初始化一遍,比如ADC、I2C等。


     三、调试


         超低功耗的设计,涉及到硬件和软件的低功耗设计,哪一块出问题了,都会影响整体的功耗,所以我们调试的时候,务必要一点点的增加软件功能,先从最小系统功耗测量开始,一点点的增加外围功能,这样才能逐步锁定问题,解决问题。

    展开全文
  • 单片机低功耗

    2020-04-13 16:26:35
    单片机低功耗 如何减低整个系统功耗? 从两个方面下手:软件? 硬件? 软件:减少外设使用(不需要的就关掉),减低时钟频率,尽量选择低功耗模式。 硬件:尽量使用低功耗的器件,注意电源到电阻到接地的电流,...

    单片机低功耗

    如何减低整个系统功耗?
    从两个方面下手:软件? 硬件?
    软件:减少外设使用(不需要的就关掉),减低时钟频率,尽量选择低功耗模式。

    硬件:尽量使用低功耗的器件,注意电源到电阻到接地的电流,低功耗芯片,选择低电压(低功耗器件)并联调节器。调节器最好选用并联调节器(噪声低),适合小功率场所。或者使用开关电源芯片降压,再使用LDO调节器减低噪声,提高能量转换效率(…)。

    选择低电压的并联调节器的原因是…举个栗子:
    在确定你使用的四节碱性电池(每节电池1.5V)6V作为供电电源,然后测量静态电流为30uA,得到电源功率180uW是一个相对比较低的功耗。但在单片机只需要3.3V时,由于调节器损失功率为(6V-3.3V)*30uA,即81uW。损失功率是电源功率的2.22222倍,实际有用功率为(180uW-81uW),即91uW。还有电池自己也是有电阻特性,也就是随着时间使用电池内阻也会增大。在充电宝内部采用四节3.7V的电池并联以减少电池内阻散失的热量,能够释放更多的电量给手机充电。

    低功耗产品几个因素:供电电压、时钟频率、外设数目、运行模式(掉电,睡眠(STM32中有相关模式))

    1.尽可能的使用低功耗模式,加快进入低功耗模式的速度(代码优化);
    2.最大限度降低时钟频率,将主频降低到满足应用的最小值;
    3.合理使用外设,能关掉就关掉;
    4.尽可能使用低电压低功耗的器件;
    5.减少循环等待而白白占用CPU资源,设置等待事件;
    关于电源的电路设计及可大幅度较少静态电流??未验证

    确保使用上下拉电阻数量,因为这个也是影响产品静态电流大小因素之一
    上拉电阻:增加带负载能力(增大电流)
    下拉电阻:降低输入电压(降低电流)

    静态电流:静态电流是指没有信号输入时的电流,也就是器件本身在不受外部因素影响下的本身消耗电流。换句话说,当电路板上电初始化后,不触发电路板功能时候的工作电流,我认为是静态电流。

    动态电流:指触发电路板某个功能后,此时电路板瞬时可以达到最大的电流,我认为i是动态电流。

    以上文章,仅供参考

    展开全文
  • 移远BC20低功耗操作

    万次阅读 2019-07-02 19:50:25
    移远BC20的一些操作,在...一、通过查看上面的两张时序图后,想必大家大概知道低功耗与唤醒的步骤了吧。 二、模块开机,可以放在MCU中的初始化部分处理,先把BC20中的PWRKEY脚,也就是第5管脚,先拉低,延时大于500...
  • 默认情况下,系统复位后,控制器运行在RUN模式,在RUN模式下,CPU的时钟是由HCLK提供,如果CPU不需要一直保持运行 状态,是可以设置控制器为其他几种低功耗模式,比如,当控制器需要等待一个 外部中断事件时。...
  • 初级低功耗的方案是,当系统处于“空闲”状态,也即进入idle任务时,系统调用处理器(目前支持的架构是arm v7m)低功耗接口进入短暂的睡眠模式。 API讲解 编程实例 对于初级低功耗模式,无需用户编写任何代码,...
  • 超低功耗MCU如何降低功耗

    千次阅读 2020-11-12 14:23:03
    低功耗是MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大就会经常出现电量不足的情况。 平时我们在做产品的时候,基本的功能实现很简单,但只要涉及到关于低功耗的...
  • KL25利用低功耗定时器进行MCU低功耗唤醒
  • 4.低功耗设计-stm32低功耗模式

    千次阅读 2019-09-19 10:07:57
    在之前的低功耗软件设计中也提到过一部分的stm32降功耗的方法,freeRtos系统帮我们写好的一个睡眠模式tickless,当我们的系统进入空闲任务后,就会自动睡眠,来达到降功耗的目的,打开方式也比较简单,在...
  • C#ble低功耗蓝牙

    热门讨论 2019-03-07 17:27:28
    弄了好久的C#WINFORM上的低功耗蓝牙,需要在WIN10上 VS2017上运行的。
  • c8051f单片机低功耗系统设计方法探讨.pdf MSP430系列超低功耗16位单片机原理与应用.pdf PHILIPS51LPC 系列单片机低功耗设计.pdf PHILPS76X单片机的低功耗设计方法.pdf PIC单片机在电话远程控制器中的低功耗设计....
  • 说到全志的XR808单WiFi芯片,应该都知道主打的两个邻域:低功耗、冷启动(从睡眠到唤醒并连接上AP热点的时间很短,实验200ms左右),而对于低功耗,相信更多用户关注的是保活功耗,简单说就是连接上AP热点,并能保持...
  • 低功耗设计这个专题整理了好久,有一个月了,有图有证据:                               然而最近一直有些烦心事、郁闷事,拖延了...
  • STM32L4退出低功耗后SPI读写出错 现象描述: 单片机低功耗唤醒后,SPI读写外部FLASH出错 使用单片机型号: stm32L431 库函数版本: HAL库2017版 查找问题方案: 进入低功耗前打印出SPI的相关寄存器,低功耗唤醒后,...
  • STM32L15低功耗程序

    2017-07-08 23:35:03
    STM32L151低功耗,待机模式进入低功耗,PC13WUAP2引脚唤醒
  • 低功耗设计这个专题整理了好久,有一个月了,有图有证据:  然而最近一直有些烦心事、郁闷事,拖延了一下,虽然现在还是有点烦,但是还是先发表了吧。下面我们就来聊聊低功耗设计吧,由于文章比较长,因此我就不...
  • 无线连接设备对功耗要求高,平衡BLE性能和功耗十分关键。...低功耗蓝牙芯片功耗主要来源为动态运行功耗和静态睡眠功耗。而这些功耗是受设备激活时间、休眠时间、激活和休眠之间转换频率、执行通信协议和应用程序的效率
  • SYD8821低功耗

    千次阅读 2018-11-29 13:27:47
    SYD8821是具有全球领先低功耗(RX 2.4mA @-94.5dBm灵敏度,TX 4.3mA @0dBm输出功率)的蓝牙低功耗SOC芯片,在极低电流下实现了优异的射频性能,搭配176kB SRAM,512kB flash,非常适合中高阶可穿戴、智能家居、物联网...
  • ...二、RTL级低功耗设计  ... 前面介绍了系统级的低功耗设计,换句话说就是在系统级降低功耗可以考虑的方面。系统级的低功耗设计,主要是由系统级设计、具有丰富经验的人员实现,虽然还轮不到我们设计,我们了
  • 本文分析全球最低功耗蓝牙单芯片DA14580的硬件架构和睡眠、唤醒技术。
  • 前面讲解了使用EDA工具(主要是power compiler)进行功耗分析的流程,这里我们将介绍在数字IC中进行低功耗设计的方法,同时也结合EDA工具(主要是Design Compiler)如何实现。我们的讲解的低功耗设计主要是自顶向下...
  • 笔记本的处理器根据功率分为多个版本,那么i5低功耗和标准版区别在哪里,下面就为大家介绍一下。i5低功耗和标准版区别 1、就如字面意思的一样,低电压版本的工作电压更低,能够提供更好的功耗水平和续航表现;不过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,287
精华内容 10,914
关键字:

低功耗