AM1805低功耗电源管理模块

  • 一、通过AM1805模块实现低功耗的原理
  • 二、接线图
  • 三、完整演示代码
  • 四、演示结果
  • 五、实际应用时需考虑的东西


一、通过AM1805模块实现低功耗的原理

AM1805是由美国Ambiq Micro设计的低功耗电源管理芯片,利用它可以将我们的电路系统功耗降低至0.1uA以内。实施原理很简单,将整个电路系统(或MCU)的VSS和AM1805的PSW引脚连接,由AM1805来控制电路系统(或MCU)VSS的通断即可实现低功耗控制。

bios低功耗模式 bios低功耗节能_单片机


注意:上图取自官方文档,VSS等同于芯片GND的称呼。FOUT引脚这里我们不需要使用(断开即可),EXTI引脚没体现出来。

  • AM1805休眠时 --> PSW引脚呈断路状态,即MCU的VSS呈断开状态,此时我们的电路系统没有任何功耗
  • AM1805唤醒后 --> PSW引脚呈导通状态,即MCU的VSS呈接地状态,此时我们的电路系统开始正常工作

当Core通过程序让AM1805休眠后,AM1805可以通过程序预设的周期时间自动醒来,也可以通过AM1805的EXTI引脚上的上升沿或下降沿唤醒。

二、接线图

bios低功耗模式 bios低功耗节能_bios低功耗模式_02

三、完整演示代码

本实例演示了AM1805的基本用法,即上电工作5秒(LED1灯亮),休眠10秒(LED1灯灭),然后再上电工作这个反复的过程。开发者开发时,可以按自己的需求,在特定条件下调用LIB_AM1805Sleep函数来触发休眠。

--配置D8端口为普通输出(Core电路板上的LED1灯和D8端口是固定连接的)
LIB_GpioOutputConfig("D8","STANDARD")
--LED1灯开始亮
LIB_GpioWrite("D8", 0)
--配置AM1805连接Core的SDA0和SCL0引脚
LIB_AM1805Config("IIC0")
while(GC(1) == true)
do
    --等待5秒
    LIB_DelayMs(5000)
    --设置AM1805模块开始休眠,并在10秒后唤醒,
    --外部唤醒设置为"FALL",即如果休眠中途AM1805的EXTI引脚检测到下降沿信号,则立刻唤醒
    --如果不需要外部唤醒只需要周期唤醒,则可以设置成"NONE"
    LIB_AM1805Sleep(10, "FALL")--此时系统(core开发板)将掉电,后面的代码都不再有效了
    --mcu lost power from there
end

四、演示结果

bios低功耗模式 bios低功耗节能_单片机_03


可以看到当AM1805休眠时,Core开发板此时处于断电状态,AM1805模块 + Core开发板的电流大小一共只有85nA(0.85uA)。

五、实际应用时需考虑的东西

上面的例子为了演示方便,我们是将AM1805直接控制Core电路板的GND的通断,其实这样做并不太合理,因为AM1805的PSW引脚最多只能通过50mA的电流,当你的电路系统不只Core,还有其他传感器或电路时,这样做就行不通了,正确的做法应该是AM1805通过PSW引脚控制一个功率开关器件的输入端GND,而这个功率开关器件才是真正承受你的整个电路系统电流的器件。

建议的设计思路为:AM1805 --> 功率开关电路 --> 电路系统(包含Core以及其他器件)

bios低功耗模式 bios低功耗节能_单片机_04


更多详情请参看 shineblink.com官网链接