1. 认识Vref:物联网低功耗设计的关键角色
在物联网设备开发中,电池供电产品的低功耗性能直接决定了产品的市场竞争力。作为一名嵌入式工程师,我曾在多个项目中深刻体会到:模组进入深度休眠后,外部电路的供电稳定性往往成为最难啃的骨头。直到遇到Air780xx和Air8000系列的Vref功能,才真正找到了优雅的解决方案。
Vref本质上是一个特殊的AGPIO管脚(通常是PIN99:GPIO23),它在模组进入低功耗模式(如pm.WORK_MODE,1或pm.WORK_MODE,3)时仍能保持稳定的高电平输出。这个看似简单的特性,却能在以下场景发挥关键作用:
- 为UART电平转换电路提供稳定上拉电源
- 作为SIM卡检测电路的上拉电压
- 为GNSS模块和加速度传感器提供备用电源
注意:Vref并非真正的电源模块,其输出电流能力有限(单个引脚最大5mA),仅适用于微功耗场景。大电流需求仍需外置DCDC或LDO。
2. Vref的工作原理与硬件设计要点
2.1 硬件架构解析
Vref的实现基于模组的AGPIO3-8(GPIO23~28)引脚,这些引脚具有特殊的电源域设计。与普通GPIO不同,它们在深度休眠时仍能保持输出状态,这是因为:
- 独立供电域:这些GPIO连接在模组内部分离的电源轨上,不受主电源关闭影响
- 寄存器保持:休眠状态下,GPIO输出状态寄存器值被特殊电路保持
- 低功耗设计:输出驱动电路经过优化,静态电流控制在100uA以内

2.2 关键电气参数
| 参数 | 典型值 | 极限值 | 说明 |
|---|---|---|---|
| 输出电压 | 3.3V | 3.0-3.6V | 随模组供电电压波动 |
| 单引脚电流 | 5mA | 8mA | 持续超过5mA可能导致电压跌落 |
| 总输出电流 | 5mA | - | 所有Vref引脚电流总和 |
| 静态功耗 | 120uA | 200uA | 启用Vref增加的系统电流 |
实际项目中,我建议将单引脚负载电流控制在3mA以内,留出足够余量。曾有一个案例因接近5mA极限导致温度升高时电压不稳,最终不得不重新设计电路。
2.3 与VDD_EXT的对比分析
| 特性 | Vref | VDD_EXT |
|---|---|---|
| 休眠状态输出 | 持续稳定 | 间歇性(0.64/1.28/2.56s周期) |
| 最大电流 | 5mA | 50mA(外部) |
| 适用场景 | 信号上拉/微功耗 | 传感器供电 |
| 唤醒影响 | 无 | 可能误唤醒模组 |
这个对比解释了为什么在UART电平转换电路中必须使用Vref而非VDD_EXT——后者在休眠期间的周期性通断会导致UART信号异常,进而频繁唤醒模组。
3. 典型应用场景与实战配置
3.1 UART电平转换电路设计
在LPUART(低功耗UART)应用中,电平转换芯片的VCC必须连接Vref而非VDD_EXT。以下是经过验证的电路设计:
lua复制-- 配置GPIO23为Vref
gpio.setup(23, 1) -- 设置为输出模式
gpio.write(23, 1) -- 输出高电平

避坑指南:
- 选择低功耗电平转换芯片(如TXS0102)
- 在PCB布局时,Vref走线要尽量短(建议<3cm)
- 添加0.1uF去耦电容,位置尽量靠近电平转换芯片
3.2 SIM卡检测电路实现
对于需要热插拔检测的场景,Vref为USIM_DET提供稳定上拉:
lua复制-- SIM卡检测电路初始化
pm.power(pm.SIM1, true) -- 开启SIM1电源
gpio.setup(23, 1)
gpio.write(23, 1)

实测数据:
- 典型应用增加功耗:约150uA
- 检测响应时间:<2ms
- 工作温度范围:-40℃~85℃
3.3 GNSS模块备用电源方案
在Air780EGP等内置GNSS的模组中,Vref为星历保持提供支持:
lua复制-- GNSS热启动配置
pm.power(pm.GNSS, true)
gpio.setup(23, 1)
gpio.write(23, 1) -- 保持GNSS后备供电
优化技巧:
- 不需要热启动时,可将GPIO23设为输入节省约80uA电流
- 定期唤醒更新星历(建议至少每4小时一次)
- 配合加速度传感器可实现运动唤醒进一步节能
4. 型号差异与特殊处理
4.1 Air8000系列WiFi控制
WiFi型号(如Air8000W)的GPIO23默认用于WiFi使能控制:
lua复制-- 关闭WiFi节省功耗
pm.power(pm.WIFI, 0) -- 内部控制GPIO23输出低
注意:此时GPIO23不可再作为Vref使用,二者功能互斥
4.2 带G-Sensor型号的特殊处理
Air780EGP/EGG的GPIO23还控制G-Sensor供电:
lua复制-- 正确初始化顺序
i2c.setup(1, i2c.FAST) -- 先初始化I2C1
gpio.setup(23, 1)
gpio.write(23, 1) -- 后使能G-Sensor供电
常见错误:
- 先设置GPIO23会导致I2C初始化失败
- 意外将GPIO23设为输入会使G-Sensor掉电
- 未考虑I2C总线负载(最多挂载2个设备)
5. 进阶优化与功耗控制
5.1 动态Vref控制策略
通过脚本实现按需启用Vref:
lua复制local function setVref(state)
if state then
gpio.setup(23, 1)
gpio.write(23, 1)
else
gpio.setup(23, 0) -- 设为输入模式省电
end
end
-- 进入休眠前关闭非必要Vref
pm.sleep(function()
setVref(false)
end)
5.2 电流消耗实测数据
| 配置 | 增加电流 | 适用场景 |
|---|---|---|
| 默认启用 | 180uA | 需要持续供电 |
| 动态控制 | 平均60uA | 间歇性需求 |
| 完全关闭 | <5uA | 可接受冷启动 |
5.3 PCB设计检查清单
- [ ] Vref走线宽度≥0.2mm
- [ ] 距离高速信号线≥3倍线宽
- [ ] 添加10kΩ下拉电阻提高抗干扰
- [ ] 测试点设计在距离引脚1cm内
在最近的一个资产追踪器项目中,通过优化Vref使用策略,我们将设备待机时间从3个月延长到了7个月。关键是在保证功能的前提下,只在GNSS定位期间启用Vref供电,其他时间将其关闭。