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

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

3天内不再提示

ADC对连续外部信号进行采样的概念和用法-以M031/M032为例

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-08-10 16:21 次阅读

M031/ M032 内建逐次逼近式模拟数字控制器 (SAR ADC),支持 12 位分辨率,每秒可实现两百万次采样 (Msps)。内建模拟多任务器 (Analog Multiplexer), ADC 输入信号可选择从外部管脚或者内部电压。利用 PDMA 功能,ADC 可以在没有 CPU 参与的情况下运行,执行最大采样率,最小化系统电流消耗,或允许 CPU 执行其它工作项目。

完整应用笔记讨论了 ADC 一般操作流程、软硬件注意事项及 PDMA 的使用方法。最后范例程序以 PDMA 和 ADC 来展示连续采样外部信号的流程。

概述

下图说明输入信号,参考电压选择和寄存器的内部连接方式,并包含以下功能:

一组 12 位分辨率 SAR ADC 并带独立 VREF 管脚

多达 16 路的单端输入通道或 8 组全差分仿真输入通道

1 个内部输入通道 band-gap voltage (VBG)

A/D 转换开始条件:

软件向 ADST 位写1

外部 (STADC) 管脚触发

Timer 0~3 溢出脉冲触发

PWM 事件触发

每个信道的转换结果储存在相应数据寄存器内,并带有有效和覆盖标志

支持 PDMA 传输模式,将转换结果储存在用户指定的目标地址

wKgZomTSGjCAPXL5AAGs8Bk74AQ254.png

ADC 控制器框图

一般操作:时钟源选择

ADC 具有一组 8-bit 预分频器,按照以下列公式得出 ADC 时钟频率 (ADCCLK) 为:

ADC 时钟频率 (ADCCLK) = (ADC 时钟源频率) / (ADCDIV + 1);其中 M031/ M032 ADC 时钟频率 (ADCCLK) 最大值为 34 MHz。使用者可以透过 PLL 倍频,产生 34 MHz 或者 68 MHz 频率。将 PLL 设定为 ADC 时钟源,并透过 ADCDIV 除频产生 34 MHz,即可让 ADC 运行在最高速度。

wKgaomTSGjKAKPidAAB8ullTdOk905.png

ADC 时钟源控制

输入模式选择

ADC 输入模式可以选择为单端输入或全差分输入。当 DIFFEN(ADC_ADCR [10]) 为 1,ADC 为差分输入。

单端输入

如图「ADC 单端输入信号」所示,在单端输入模式下,AVSS或者 VSS为 ADC 负端输入的信号 (AIN-),外部输入电压为 ADC 正端输入的信号 (AIN+)。如「ADC 单端输入模式转换结果映像图」所示,在 0V 和参考电压 (VREF) 之间,切分出微小电位阶。其数字结果以 0 到 4095 的无符号数,表示输入电压位于 0V 和参考电压 (VREF) 之间的位置。

wKgZomTSGjOAaog5AAA09l7UvOU909.png

ADC 单端输入信号

wKgaomTSGjSAUPPIAABnC_faMXw722.png

ADC 单端输入模式转换结果映像图

全差分输入

如图「ADC 全差分输入信号」所示,在全差分输入模式下,测量值是两个输入信号之间的差值,两个输入信号必须为 180° 反相信号,并固定共模电压为 VREF/2。由于一个输入管脚被定义为正输入管脚 (AIN+) 而另一个被定义为负输入管脚 (AIN-),因此根据哪个输入信号更高,差值可以是正的或负的。如「ADC 全差分输入模式转换结果映像图」所示,当 DMOF(ADC_ADCR [31]) 设置为 1 时,转换结果是以二的补码码形式表示的有符号数,或者当 DMOF(ADC_ADCR [31]) 设置为 0 时,转换结果是以二进制格式表示的无符号数。

wKgZomTSGjaAIXkFAABOd6hIEjA324.png

ADC 全差分输入信号

wKgaomTSGjeAFVHrAADLOMfpsUI586.png

ADC 全差分输入模式转换结果映像图

结论

完整的应用笔记基于应用角度,介绍模拟数字转换器规格和特性。然后说明如何透过外部参考电压管脚 VREF、TSMP 设定及校准,最小化 ADC 误差并获得最佳 ADC 精准度的方法和应用设计规则。一旦用户掌握了这良好工作知识,就可以依照应用要求,基于速度、精准度及计算能力选择最适合软硬件设计参数。另外在 ADC 运行过程中,介绍利用 PDMA 快速地搬移数据或者利用数字比较器功能来侦测温度传感器压力传感器及声音传感器,减少进出 ADC 中断次数,降低 CPU 负担,让 CPU 可以处理更多任务。

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

    关注

    30

    文章

    5183

    浏览量

    118354
  • adc
    adc
    +关注

    关注

    97

    文章

    5724

    浏览量

    540696
  • 信号
    +关注

    关注

    11

    文章

    2684

    浏览量

    75766
  • PDMA
    +关注

    关注

    0

    文章

    5

    浏览量

    10768
收藏 人收藏

    评论

    相关推荐

    M031系列的输出电压范围是多少?

    RT,最近项目方案需要驱动一个5V电平的IC,其输入输出电压范围: 经过调研,新唐M031系列性价比比较高。同时M031系列有5V容限的IO,可应用于本方案。但5V的IO仅为输入作用: 现希望
    发表于 06-13 07:47

    M031系列的输出电压范围是多少?

    RT,最近项目方案需要驱动一个5V电平的IC,其输入输出电压范围: 经过调研,新唐M031系列性价比比较高。同时M031系列有5V容限的IO,可应用于本方案。但5V的IO仅为输入作用: 现希望
    发表于 08-21 07:37

    使用M032系列微控制器来执行USB磁盘和FatFs功能

    应用:此示例代码使用 M032 系列微控制器(MCU) 来执行 USB 磁盘和 FatFs 功能。 BSP 版本:M031系列BSP CMSIS V3.05.000 硬件
    发表于 08-29 07:45

    如何使用M031/ M032系列微控制器读取触摸屏信号和分析手指触摸位置

    应用程序 : 此试样代码使用 M031/ M032 系列微控制器读取触摸屏信号和分析手指触摸位置。 此文档将描述如何配置 ADC 读取
    发表于 08-29 07:32

    如何在M031/M032系列微控制器中运行I2C/ SPI接口ISP桥

    应用程序:本示例代码演示如何在 M031/M032 系列微控制器中运行 I2C/ SPI 接口 ISP 桥。 BSP 版本:M031系列CMSIS BSP V3.01.001 硬件
    发表于 08-29 07:59

    如何将Modbus主控器移植到M031/ M032系列微控制器中

    应用程序: 此示例代码演示如何将 Modbus 主控器移植到 M031/ M032 系列微控制器中。 Modbus RTU 是源自 Master/ Slave 结构的开放式序列协议 。 BSP
    发表于 08-29 08:19

    使用M032系列微控制器将WS2812B通过SPI0或USPI0的MOSI驱动到光RGB-LED条

    应用:此样本代码是执行控制 SPI M032 传输协议,通过 USB HID 接口从PC 侧到驱动 WS2812B LED 条。 BSP 版本: M031 BSP CMSIS V3.03.000
    发表于 08-29 07:56

    M031如何执行USB设备远程唤醒功能

    , 积极唤醒被暂停的 USB 主机或被动等待 USB 主机传输恢复信号。 以下的上下文描述使用 M032 微控制器在USB 鼠标上执行暂停/ 恢复和远程唤醒功能的情况 。 您可以在下列时间下载样本
    发表于 08-30 08:51

    M032 USB能做主机吗?

    M032 USB能做主机吗?
    发表于 08-31 07:27

    使用M032在SRAM中运行ISR

    应用程序: 此示例代码使用 M032 在 SRAM 中运行 ISR 。 BSP 版本: M031_Series_BSP_CMSIS_V3.03.000 硬件: NuMaker-M032
    发表于 08-31 09:21

    使用M032 ISP函数将UART处理器映射SRAM

    应用程序: 此示例代码使用 M032 在 SRAM 中运行 ISR 。 BSP 版本: M031_Series_BSP_CMSIS_V3.03.000 硬件: NuMaker-M032
    发表于 08-31 08:33

    M031使用计时器和GPIO来进行软件反弹实验

    应用程序 : 使用定时器周期模式生成每1ms 的定时器中断软件按钮调试的定时器 。 BSP 版本:M031系列BSP CMSIS V3.02.000 硬件: NuMaker-M032SE V1.3
    发表于 09-01 06:50

    M031M032系列微控制器的数据手册免费下载

    新的NuMicro®M031/M032系列32位微控制器基于Arm®Cortex®-M0内核,具有1.8V~3.6V工作电压,5V I/O耐受能力,最高可达48MHz。它为需要低压接口连接操作
    发表于 07-06 08:00 5次下载
    <b class='flag-5'>M031</b>和<b class='flag-5'>M032</b>系列微控制器的数据手册免费下载

    新塘单片机M031/M032系列规格书

    °C范围内的48/72 MHz。M031/M032系列为需要1.8 V低压接口的应用提供了解决方案连接增强型快速2 MSPS转换率12位ADC、比较器和高达24通道96/144 MHz PWM控制。它支持电压、电流和电流的快速精
    发表于 05-05 15:09 4次下载

    码农的最爱!超好用新唐旗舰微控制器M031/M032系列帮你摆脱996魔咒!

    码农的最爱!超好用新唐旗舰微控制器M031/M032系列帮你摆脱996魔咒!
    的头像 发表于 08-10 11:32 682次阅读