news 2026/8/21 19:15:25

ADC模数转换关键技术:硬件电路与软件实现要点!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ADC模数转换关键技术:硬件电路与软件实现要点!

ADC模数转换的精度与稳定性依赖于硬件电路的合理设计与软件控制的精准实现。硬件设计需解决信号完整性、参考源稳定性及抗干扰问题;软件开发需优化采样时序、数据校准及算法处理。本文将从硬件电路设计到软件实现流程,系统梳理ADC模数转换的关键技术要点,为系统开发提供参考。

本文将分享硬件参考设计及LuatOS开发相关API,带你快速了解ADC的软硬件实现要点。


01. 模组相关管脚

Air780EPM系列模组与ADC相关的管脚,包括:

ADC0,PIN9;

ADC1,PIN96;

ADC2,PIN77;

ADC3,PIN76;

02. 主要功能说明

虽然我们在沟通和交流中习惯称为ADC,但更为准确的称呼应该是AUXADC,AUXADC是芯片内部的辅助ADC通道,主要用于温度监测、电池电量检测等。

Air780EPM系列模组共有4个AUXADC通道,包含以下三个主要功能:

1)外接模拟电压信号检测通路

选择内部分压电路,适用于外接信号电压范围为0~3.3V;

选择直通AUXADC输入端的通路,适用于电压范围0~1.6V;或经外部分压后在1.6V,分压后电压范围需控制 0~1.6V。

2)VBAT电压检测通路

VBAT电压经过分压电路到达AUXADC输入口。

3)温度传感器检测通路

模组芯片内部温度检测:芯片温度发生变化时,片内Thermal Sensor的电压信号也会随之变化,将THM_VBE信号送至AUXADC测试。

▼ ADC内部框图 ▼


相关注意事项如下:

图中用AIO表示从外部输入到模组内部AUXADC的部分,可以理解为直接连接到模组ADC管脚的电平;

片内电阻绝对偏差:MAX= ±8.5%(-40~85 ℃);

片内电阻的相对偏差,阻值比误差:MAX=+/-0.15%(-40~85 ℃);

AUXADC可以选择内部分压,也可以选择外部分压,不管选择外部分压还是内部分压,都需要调整合适的分压比,保证AUXADC输入端电压在0~1.6V范围;

当被测电压低于1.6V时:外部无需分压,内部也无需分压;

LuatOS ADC函数对应选择:

adc.ADC_RANGE_MIN

当被测电压低于3.3V时:外部无需分压,内部需要分压至1.6V以内,LuatOS已将该部分在底层做好,ADC函数对应选择:

adc.ADC_RANGE_MAX

当被测电压大于3.3V时:内部无需分压,外部需要分压至1.6V以内,LuatOS已将该部分在底层做好,ADC函数对应选择:

adc.ADC_RANGE_MIN

读取模组芯片温度的常量为:

adc.CH_CPU可检测温度范围为-40 °C~85 °C ,外部硬件电路上无需任何操作;

读取VBAT电压的常量为:

adc.CH_VBAT电压范围为2.2~4.8V;在VBAT输入电压范围3.3~4.35V之内,外部硬件电路上无需任何操作。

03. ADC性能参数

分辨率:12bit

时钟频率(Fc):1.625MHz~6.5MHz

采样频率:Fc/16

典型功耗:500μA

更多参数说明,详见下方图表:


04. 注意事项及硬件参考设计

AUXADC的有效输入范围为0.1~1.5V,在0~0.1V和1.5~1.6V范围可能存在较大误差,不建议使用;

外部分压时,如果AUXADC输入电压无法满足低于1.6V,以NTC电阻为例,可使用如下图右侧所示电路进行分压设计:


如果不希望ADC变化太快,可以通过软件算法处理,过滤掉变化较大的数值,也可以在硬件电路上增加滤波电路;

比如,外部分压时,可以增加滤波电容增加ADC输入稳定性,但缺点是ADC的细微变化会被过滤掉,请根据实际需要谨慎选择。

特别说明:R300可以增加ESD能力,阻值建议为510Ω,不建议使用K级阻值的电阻。

参考设计如下图示:


05. 与ADC相关的LuatOS API

关于LuatOS中ADC相关API的介绍,详见:

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

特别说明:

所有ADC共用一个通道,同时只能调用一路ADC采样,包括芯片温度、VBAT电压;

ADC打开( adc.open() )后,会产生约500μA的功耗,如需低功耗控制,请将ADC关闭( adc.close() );

示例代码:


今天的内容就分享到这里了~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/20 3:21:44

大模型微调损失曲线分析:借助Anything-LLM自动生成诊断意见

大模型微调损失曲线分析:借助Anything-LLM自动生成诊断意见 在AI研发一线,你是否经历过这样的场景?凌晨两点,训练跑了十几个epoch,眼看着损失曲线突然开始剧烈震荡,甚至不降反升。你翻遍过往笔记、查遍GitH…

作者头像 李华
网站建设 2026/8/21 23:02:26

LobeChat能否读取脑电波?未来交互方式畅想

LobeChat能否读取脑电波?未来交互方式畅想 在智能家居设备日益复杂的今天,确保无线连接的稳定性已成为一大设计挑战。类似地,在人工智能应用不断渗透日常生活的当下,用户对与AI交互的方式也提出了更高要求——我们是否还能满足于每…

作者头像 李华
网站建设 2026/8/20 16:05:37

把虚拟机Ubuntu中的USB设备名称改为固定名称

把Ubuntu中的USB设备名称改为固定的1、 前言2、更改设备名称2.1 查看产商ID和产品ID2.2 添加一个规则文件2.3 重新加载规则文件2.4 查看更改名称后的设备3、总结1、 前言 今天在连接虚拟机Ubuntu中的USB设备时会出现id改变的问题,不稳定,记录一下怎么把…

作者头像 李华
网站建设 2026/8/21 15:01:39

LobeChat能否实现会话分享功能?链接公开机制探索

LobeChat能否实现会话分享功能?链接公开机制探索 在今天,AI聊天界面早已不再是简单的“问答盒子”,而是逐渐演变为知识协作、团队沟通甚至内容创作的核心工具。像LobeChat这样的开源项目,正站在这一变革的前沿——它不仅支持多模…

作者头像 李华
网站建设 2026/8/22 1:47:57

旅行记录应用高级搜索 - Cordova OpenHarmony 混合开发实战

欢迎大家加入开源鸿蒙跨平台开发者社区,一起共建开源鸿蒙跨平台生态。 📌 概述 高级搜索功能提供了更强大的搜索能力,用户可以通过多个条件组合进行精确搜索。高级搜索支持按日期范围、花费范围、目的地、标签等多个条件进行搜索。这个功能满…

作者头像 李华
网站建设 2026/8/21 17:51:15

基于Next.js的现代化架构,LobeChat为何如此受欢迎?

基于Next.js的现代化架构,LobeChat为何如此受欢迎? 在AI大模型遍地开花的今天,一个耐人寻味的现象是:最强大的模型未必拥有最多的用户。反倒是那些“会说话、能交互”的前端界面,正在成为普通人接触AI的第一道门。Ope…

作者头像 李华