0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ADC模数转换实战:硬件设计与软件开发要点指南!

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-12-16 13:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为实现高精度、高稳定性的ADC模数转换,硬件与软件设计均需遵循特定原则。硬件层面需优化信号调理、参考电压及抗干扰设计;软件层面需合理配置采样参数、实现数据滤波及异常处理。本文将结合实际开发场景,详解ADC硬件设计与软件开发的关键要点,为开发者提供ADC转换的实战指导。

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

wKgZO2lAzNaAd05oAAQYx09zdso413.png

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内部框图 ▼

wKgZPGlA0AqAb2a7AAFVycDYoJo335.pngwKgZPGlA0CSANsIMAAFJQ7SNRqQ172.png

相关注意事项如下:

图中用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

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

wKgZPGlA0NmARsdVAAIo-s1L2lE212.png

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

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

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

wKgZO2lA0VGAXR8UAABtk2lnZ7E295.png

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

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

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

参考设计如下图示:

wKgZPGlA0YGAVNgJAACDCgebbeY357.png

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() );

示例代码:

wKgZPGlA0euAABXCAAKp-hsB_3c735.png

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

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    100

    文章

    7976

    浏览量

    557377
  • 模数转换
    +关注

    关注

    1

    文章

    237

    浏览量

    38165
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AD6672 模数转换器测试快速入门指南

    AD6672 模数转换器测试快速入门指南 一、引言 在电子工程领域,模数转换器(ADC)的性能测试至关重要。本文将详细介绍如何使用基于 FPGA 的捕获板 HSC -
    的头像 发表于 05-23 10:05 308次阅读

    深度剖析U-Boot ADC Uclass:从架构到实战的全维度解析

    在嵌入式开发中,ADC模数转换)是连接模拟世界与数字系统的关键桥梁,而 U-Boot 作为嵌入式领域的经典引导程序,其 ADC 子系统的设
    的头像 发表于 04-26 07:08 164次阅读
    深度剖析U-Boot <b class='flag-5'>ADC</b> Uclass:从架构到<b class='flag-5'>实战</b>的全维度解析

    12 位高速 ADC AD9432:性能剖析与应用指南

    12 位高速 ADC AD9432:性能剖析与应用指南 在电子设计领域,高速、高精度的模数转换器(ADC)是实现信号处理和数据采集的关键组件。AD9432 作为一款 12 位、具有 8
    的头像 发表于 04-02 17:05 596次阅读

    14位、150 MSPS、1.8V模数转换器AD9254S:技术解析与应用指南

    14位、150 MSPS、1.8V模数转换器AD9254S:技术解析与应用指南 在电子设计领域,模数转换器(ADC)是连接模拟世界和数字世界的关键桥梁。今天,我们将深入探讨Analog
    的头像 发表于 03-31 09:45 432次阅读

    一文浅谈嵌入式设计

    本文深入探讨嵌入式系统设计的完整流程与关键要点,从芯片选型、硬件架构到软件开发,助您掌握打造稳定高效智能设备的实战方法论。
    的头像 发表于 03-13 10:32 271次阅读

    C#上位机实战开发指南

    电子发烧友网站提供《C#上位机实战开发指南.pdf》资料免费下载
    发表于 01-11 17:15 7次下载

    玩转ADC模数转换硬件搭建与软件调试一站式指南

    。 本文将分享硬件参考设计及LuatOS开发相关API,带你快速了解ADC的软硬件实现要点。 01. 模组相关管脚 Air780EPM系列模
    的头像 发表于 12-30 16:28 517次阅读
    玩转<b class='flag-5'>ADC</b><b class='flag-5'>模数</b><b class='flag-5'>转换</b>:<b class='flag-5'>硬件</b>搭建与<b class='flag-5'>软件</b>调试一站式<b class='flag-5'>指南</b>

    智能双卡设计实战指南硬件电路与软件配置详解!

    配置、双卡状态同步与运营商策略配置方法,形成一份可直接复用的实战指南。 今天我们以Air780EPM系列低功耗模组为例,分享双SIM卡硬件设计与软件配置
    的头像 发表于 12-16 15:13 741次阅读
    智能双卡设计<b class='flag-5'>实战</b><b class='flag-5'>指南</b>:<b class='flag-5'>硬件</b>电路与<b class='flag-5'>软件</b>配置详解!

    构建可靠USB应用:硬件设计要点与LuatOS开发技巧!

    实现稳定可靠的USB通信,既依赖于严谨的硬件电路设计,也离不开高效的软件开发支持。本文将从电源管理、信号完整性等硬件角度出发,结合LuatOS平台的API使用技巧,为开发者提供一站式U
    的头像 发表于 12-15 10:46 399次阅读
    构建可靠USB应用:<b class='flag-5'>硬件</b>设计<b class='flag-5'>要点</b>与LuatOS<b class='flag-5'>开发</b>技巧!

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++)语言,这是
    发表于 11-28 07:48

    ADC 实战:如何精准读取传感器信号

    很多开发者在嵌入式项目中都会用到传感器采集信号,无论是温度、光照,还是电压电流测量,都离不开ADC模数转换器)。但是,很多人对ADC的使用仍停留在“能读就行”的层面,忽略了精度、采样
    的头像 发表于 11-24 19:04 724次阅读
    <b class='flag-5'>ADC</b> <b class='flag-5'>实战</b>:如何精准读取传感器信号

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司
    的头像 发表于 09-30 09:16 3051次阅读
    2025北京<b class='flag-5'>软件开发</b>公司推荐汇总:盘点10家优秀<b class='flag-5'>软件</b>定制<b class='flag-5'>开发</b>公司

    高性能模拟信号采集:揭秘ADC硬件设计的核心要素!

    为实现高分辨率、低延迟的信号采集,ADC硬件设计需从电路拓扑、器件匹配到供电方案全面优化。下面将系统阐述关键设计策略,助力工程师构建高效可靠的模数转换系统。 本文主要从
    的头像 发表于 09-09 18:52 868次阅读
    高性能模拟信号采集:揭秘<b class='flag-5'>ADC</b><b class='flag-5'>硬件</b>设计的核心要素!

    一款理想的Σ-Δ ADC模数转换器)是什么样?硬件工程师ADC选型开发梳理

    对于硬件工程师来说,模数转换器(Analog to Digital Converter,简称ADC)的选型和应用是一门必修课,也是模拟信号链电路设计中至关重要的一环。 在电路设计中,ADC
    的头像 发表于 09-03 11:36 6845次阅读
    一款理想的Σ-Δ <b class='flag-5'>ADC</b>(<b class='flag-5'>模数转换</b>器)是什么样?<b class='flag-5'>硬件</b>工程师<b class='flag-5'>ADC</b>选型<b class='flag-5'>开发</b>梳理

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之一,基于模型的开发(MBD)具有诸多优势。将敏捷原
    的头像 发表于 07-16 16:52 1491次阅读
    知识分享 | 敏捷方法在基于模型的<b class='flag-5'>软件开发</b>项目中的应用