所有的电子设备都存在一个痛点:电,电,电。追求低功耗更是随身设备的必备技能。看看ESP32的低功耗解决ULP。
看看官方关于ULP的介绍:ESP32 的 ULP 协处理器简介和汇编编译环境设置。说人话就是:ULP 协处理器是一个超低功耗协处理器。
ULP 协处理器的主要特性有:
采用 8 MHz 频率和 8 KB 内存
内建 ADC 和 I2C 接口
支持正常模式和 Deep-sleep 模式
可唤醒主 CPU 或向主 CPU 发送中断
能够访问主 CPU 的外围设备、内部传感器及 RTC 寄存器
更多特性当然是看官方ESP32技术参考手册
8MHz且能读取ADC(模数转换器)和I2C,以及一些外围设备,足以让它做一些工作,比如通过外置设备来唤醒主机(象手环的抬手显示时间)。
坏消息是:只能使用汇编语言来编程,指令倒是不多,24条。
github官方有些例程可以看看。
- ulp_hall_sensor 在超低功耗模式下读取片内霍尔传感器例程
- ulp_rtc_gpio 在 ULP mode 下操作 RTC GPIO 管脚翻转例子
- ulp_tsens 在超低功耗模式下读片内温度传感器
- ulp_watering_device 在超低功耗模式下使用 SAR_ADC 监测土壤湿度浇花的综合例程
官方在这里有介绍Deep-sleep 低功耗方案设计