||
对于低功耗设计初学者而言,AGPIO是绕不开的基础模块。本指南将用通俗易懂的语言,讲解其信号处理流程、功耗抑制方法及设计注意事项,助你迈出低能耗设计的第一步。
AGPIO是一种特殊的通用输入输出接口,全称为AON GPIO(Always-On GPIO)——具有在低功耗模式或休眠模式下保持供电和功能的特性。
当AGPIO作为GPIO中断功能使用时,无法设置为内部上拉或内部下拉。
AGPIO输出驱动能力单管脚≤5mA,但是所有AGPIO驱动电流总和也不能超过5mA。
AGPIO电压一致性没有普通IO电压一致性高,普通IO电压偏差在0.05V以内,AGPIO在0.15V以内。
本文将以Air780EPM为例,带你了解AGPIO的基础知识及LuatOS开发示例测试要点,在项目开发中可根据实际情况灵活应用。
一、认识模组GPIO管脚
Air780EPM的GPIO根据特性分为三种类型:普通GPIO、AGPIO、Wakeup IO。
GPIO功能复用表详见:https://docs.openluat.com/air780epm/luatos/hardware/design/gpio/
二、AGPIO测试示例
本示例通过Air780EPM V1.3开发板的GPIO1与GPIO27,对比普通GPIO和AGPIO进入休眠模式前后的区别。
最新源码及实操教程详见:https://docs.openluat.com/air780epm/luatos/app/driver/gpio
测试示例代码:
主要硬件连线:
三、示例运行效果
注意:下方展示图片是裁剪过的,与代码中设置的进入休眠模式的时间不一致;V2003之前固件(包括V2003)默认电平为1.8V,V2003之后固件默认电平为3.0V。
1. GPIO1(普通GPIO)进入休眠模式,管脚电平变化如下:
Air780EPM大部分管脚为普通GPIO(GPIO复用表格中灰色底色的IO);Air780EPM系统为了在休眠模式下有极致的低功耗性能,会在模组进入休眠/深休眠模式时,关闭GPIO供电(VDD_EXT)——因此,会导致所有以VDD_EXT为电源域的GPIO进入下电状态。
2. GPIO27(AGPIO)进入休眠模式,管脚电平变化如下:
AGPIO管脚为休眠可保持管脚(GPIO复用表格中绿色底色IO管脚);这类管脚电源域为长保持的LDO_AONIO电源(为内部电源),这类电源在模组低功耗模式/PSM+下,仍然能够保持供电——因此,AGPIO管脚在休眠状态下能够保持电平。
在项目开发中,AGPIO管脚可以用于休眠状态下,仍然需要保持工作状态的外设。
今天的内容就分享到这里了~