当前位置: 首页 > news >正文

打了一堆板子,才发现是VDD_EXT的锅

今天以合宙Air780EPM模组为例,一起来聊聊VDD_EXT。理解其工作原理和限制,对于设计稳定、低功耗的产品至关重要。

一、VDD_EXT功能特性

VDD_EXT是Air780EPM模组主芯片内部的一个LDO电源输出引脚,位于模组的PIN24

其主要作用是为模组大部分IO(或者叫做GPIO)提供电源。

需要注意的是:
VDD_EXT并不是唯一一个LDO,也并不是模组所有的IO都由VDD_EXT负责供电。

大家可以看到和可以使用的模组IO,
由内部的三个LDO共同负责供电:

  • VDD_EXT;

  • LDO_AON;

  • LDO_1.8V;

其中,LDO_AON和LDO_1.8V仅供内部使用,未在模组管脚引出。

VDD_EXT、LDO_AON、LDO_1.8V分别负责哪些IO,有什么区别,详见资料中心最新说明:

https://docs.openluat.com/air780epm/product/air780exxpins/

▼ 三者主要区别 ▼

VDD_EXT、LDO_AON、LDO_1.8V都是上电后自动开启,也都无法软件自定义关闭。

三者主要区别如下:

1)LDO_1.8V

开机后一直保持1.8V,不可更改电压数值大小。

2)LDO_AON

开机后一直开启,在低功耗模式和PSM+模式下也不关闭。

因此,其电压域下的IO,包括AGPIO、AGPIOWU、WAKEUP和Reset,在低功耗模式和PSM+模式下都可以保持工作。

LDO_AON的详细状态,如下表所示:

3)VDD_EXT

开机后的状态比较复杂,如下表所示:

VDD_EXT由于在低功耗模式下状态为间线性输出,既不是完全打开,也不是完全关闭。

因此,其电压域下的IO(GPIO0-19和GPOIO29-38),在低功耗模式下也会跟VDD_EXT一样:

随着系统间歇性唤醒与基站交互而频繁产生高脉冲(重点是无法保持高电平或低电平),间歇性唤醒频率和与通信协议要求的时间间隔相同,通常为0.64S/1.28S/2.56S中的一个。

特别说明:

VDD_EXT和LDO_AON都是通过函数pm.ioVol()设置输出电压,且pm.ioVol() 对二者同时进行修改。

所以大家看到的模组的所有IO,包括VDD_EXT电压域和LDO_AON电压域,电平都是同时修改且保持一致。

二、注意事项及硬件参考设计

VDD_EXT标称输出电流最大至200mA,但是,VDD_EXT同时用于模组芯片内部和外部,为了保证内部该电压域负载的使用稳定性,请保证外部负载消耗电流不要超过50mA。

VDD_EXT在低功耗模式pm.WORK_MODE,1 状态下间歇性输出,频率和与通信协议要求的时间间隔相同,通常为0.64S/1.28S/2.56S中的一个。

因此,在可能影响低功耗模式下中断唤醒的场合,要避免使用VDD_EXT做上拉电平用。

比如:
UART1电平转换电路(UART1为LPUART,低功耗模式pm.WORK_MODE,1 下可被唤醒)。

如上图所示,如果VREF使用VDD_EXT,那么低功耗模式pm.WORK_MODE,1下模组的UART1_RX频繁的高低电平变化就会将模组唤醒,进而导致模组退出低功耗模式而功耗无法降低。

需要特别指出的是:

如果你的硬件需要在休眠状态下(低功耗模式和PSM+模式)也可以稳定输出的电源,请根据需要选择外置的DCDC或者LDO。

三、与VDD_EXT相关的LuatOS API

配置IO电平,其实就是配置给IO供电的LDO,包括VDD_EXT和LDO_AON。

相应的,配置VDD_EXT,就可以通过配置IO电平来实现。

VDD_EXT相关LuatOS API,详见pm库:

https://docs.openluat.com/osapi/core/pm/

▼ pm.ioVol(id, val) ▼

1)函数功能

配置模块所有IO引脚的高电平电压。

2)注意事项

可配置IO电平, 范围1650~2000,2650~3400 , 单位毫伏,步进50mv,可以根据外围电路需求配置;

实际应用中,经常配置的三个经典电压值为:
1.8V/2.8V/3.3V;

合宙支持二次开发的模组,绝大多数默认都为3.3V,例外是:

  • Air8000系列模组,全系只支持3.3V,不支持其它电平;

  • Air780EHV,IO电平固定为3.3V;
    相对应的,Air780EHV-1.8V,IO电平固定为1.8V;

3)示例代码

http://www.cnnetsun.cn/news/92150.html

相关文章:

  • 技术亲民倒计时!飞猫 RedCap 轻量化 5G 随身 WiFi 即将上市!
  • # 深入 Ascend C 内存模型:掌握UB、GM与流水线优化,打造极致AI算子
  • 冥想第一千七百三十五天(1735)
  • 代理IP和普通IP有什么区别?这篇文章帮你捋明白
  • 体系结构分类和指令系统
  • 基于AI数字人系统源码的低成本开发方案与实践经验
  • SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
  • YOLO目标检测模型如何对接Apipost平台
  • 简单的创建一个Spring Boot网页
  • 鼠标滚轮缩放图片:前端实现高清无损放大技巧(附实战代码)
  • Numpy库实践2_索引和数组的操作
  • 图解 - 红黑树(插入)
  • Memgraph 全新 AI 图工具包:一键构建 GraphRAG 聊天机器人,实现快速上下文感知响应
  • 初始化列表和特殊成员
  • (二)前端基础框架构建
  • vLLM推理引擎教程6-Nsight Systems性能分析
  • 基于MATLAB的燃料电池汽车参数匹配与能量管理策略优化及仿真模型研究资料库
  • AM247L-0000伺服电机
  • DoraemonKit(DoKit)使用教程:从集成到实战
  • 构筑 AI 理论体系:深度学习 100 篇论文解读 第十九篇:序列建模的焦点——注意力机制 Attention Mechanism (2015)
  • 【小白笔记】移除元素与删除有序数组中的重复项与轮转数组(三步反转)
  • 什么是关键字驱动测试?
  • 前沿技术借鉴研讨-2025.12.16(超声心动图综述/妊娠期糖尿病/降低CTG解读主观性)
  • 别让发成绩,耗掉你课后的半小时
  • 企业级 Prompt 管理中心:实验分流 + 曝光埋点 + 可回溯,版本化/AB/DSL/可观测全齐
  • 执行 install.sh 报错 `env: ‘bash\r‘: No such file or directory` 怎么解决?
  • Part 10|我给这套系统划的第一个边界
  • agent-zh.md
  • 为什么过滤 rtmpt 而不是 rtmp?
  • Navicat x 达梦技术指引 | 启用和配置AI助手