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

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

3天内不再提示

模数转换器(ADC)的使用教学

武汉芯源半导体 来源:CW32生态社区 2024-03-05 15:01 次阅读

本章为大家带来模数转换器ADC)的使用教学,按照惯例,我们先来说一下模数转换器本身。

首先是功能,模数转换器接收电压信号并输出一个数字信号,该数字信号是一个数字,这个数字指示了电压信号的大小。通常来说,想要判断大小就需要有对比,因此该数字指示的电压大小实际上是一个比较的结果。ADC将需要测量的电压信号Ut与已知电压的信号U作比较,并最终输出一个数字表示Ut相当于多少比例的U。

接下来就可以看看CW32的ADC外设结构框图了,图中按块划分了ADC外设的不同功能区。

bdfcd276-dabd-11ee-a297-92fbcf53809c.png

ADC会将左侧红框中某一指定通道(由程序指定)所连接的电信号与下方红框中选定的参考电压(由程序选定)进行比较,完成紫色方框中的步骤后,最终输出一个数字(暂记为value)并存放在右侧红框中的寄存器里面。Value的范围取决于ADC的位数,若ADC为12位,则value最大为2^12=4096,最小值为0,value指示了相比于参考电压U,输入电压Ut的值,计算方法如下:可以认为ADC将参考电压分成了4096份,最终输出的结果反映了输入电压够得上其中多少份,例如参考电压选择2.5V,最终转换的结果数据为2048,那么就认定输入通道的实际电压值是2.5/4096*2048=1.25V,其他情况以此类推。由于参考电压的存在,ADC无法直接测量比参考电压值高的信号,输入通道连接的电压不能高于参考电压。

现在来简单说说紫色方框内的部分,这一部分是ADC的核心部分,根据ADC转换原理的不同,这一部分的电路结构也不一样,CW32的ADC是逐次逼近型ADC,它会先把通道中的电压信号采样并被内部的采样保持放大器输出且保持稳定(这一步叫采样保持),随后ADC用逐次逼近的方法得到一个12位的数字(这一步叫量化编码),需要重点关心的是采样保持阶段的持续时间,这个时间越久,最终用于量化编码阶段的采样电压值就越精确,我们就能得到更精确的转换结果

从上述步骤来看,使用ADC需要进行如下操作:

1.必要的IO初始化和外设时钟初始化;

2.正确设置ADC的采样通道和参考电压;

3.选择合适的ADC采样时间;

4.启动ADC并等待转换完成;

5.读取转换结果寄存器得到电压值;

首先需要说明的是IO初始化的问题。对于使用ADC功能的IO,它本质上并不是“将这个IO复用为ADC功能”,而是把这个IO设置为模拟输入,也就是不将IO上的电信号量化成数字信号,这一点在GPIO电路结构图里面可以看到。

be194b7c-dabd-11ee-a297-92fbcf53809c.png

这个模拟功能从结果上来看就是ADC复用,不过还是请大家理解其本质。

下一个要说的是采样通道。ADC一般都会有多个采样通道,开发者从中挑选一些通道接入电路来使用。ADC外设同一时间只能对某一个通道上的电压进行转换,所以如果需要采样四个通道的电压,只能顺序转换,这个转换顺序是可以手动设置的。ADC拥有4个可填入的配置项,暂且称为序列0~3,ADC会根据另外一个配置项(ADC_SQR寄存器的ENS位段)来判断该转换这4个序列中的哪些,序列里面需要填写的内容就是AD采样的通道号,配置完成之后ADC就会按照这4个序列内填的通道号按顺序进行AD转换。更具体的配置方法直接参考ADC_SQR寄存器描述即可

be1dd6ce-dabd-11ee-a297-92fbcf53809c.png

图中有一些前文没说到的配置项,因为这些配置项是一些ADC附带的特殊功能。具体的功能在手册ADC章节的寄存器描述中有详细说明,代码中的注释也已经详细标注。

该配置中,ADC被配置为单通道单次转换模式,也就是说ADC一次转换只能转换一个ADC通道,并且转换完成之后就会停下来等待CPU发出下一次转换开始的指令(相对的,还有连续模式和扫描模式)。

配置完成后,再编写一个启动ADC的函数就行了,该函数需要包含启动、等待转换完成、返回数据的功能,如图所示:

be340296-dabd-11ee-a297-92fbcf53809c.png

上图的具体步骤对应了手册中描述的步骤,详细说明见用户手册22.5.1章节。

ADC一般用法的介绍到此就结束了,但ADC还有很多其他功能,比如连续模式、扫描模式、硬件触发采集和DMA访问,这些模式可以帮助我们更好地使用ADC功能,后续的章节会介绍一种不消耗CPU资源的ADC采集方法,真正实现全自动采集。




审核编辑:刘清

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

    关注

    142

    文章

    12416

    浏览量

    210006
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117719
  • 模数转换器
    +关注

    关注

    25

    文章

    2299

    浏览量

    126005
  • 电压信号
    +关注

    关注

    0

    文章

    140

    浏览量

    12802
  • ADC采样
    +关注

    关注

    0

    文章

    125

    浏览量

    12708

原文标题:【CW32学习笔记】模数转换器

文章出处:【微信号:武汉芯源半导体,微信公众号:武汉芯源半导体】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【有那么点详细的CW32学习笔记】模数转换器

    本章为大家带来模数转换器ADC)的使用教学,按照惯例,我们先来说一下模数转换器本身。 首先是功能,模数转换器接收电压信号并输出一个数字信号
    的头像 发表于 02-29 09:41 222次阅读
    【有那么点详细的CW32学习笔记】<b class='flag-5'>模数转换器</b>

    数模和模数转换器

    数模和模数转换器数模和模数转换器能将模拟量转换为数字量的电路称为模数转换器,简称A/D转换器ADC
    发表于 09-16 15:59

    5962-9581501HXA高端AD模数转换器

    AD10242TZ/883B高端AD模数转换器IC ADC 12BIT 41MSPS DL 68CLCC5962-9581501HXA高端AD模数转换器IC ADC 12BIT 2 C
    发表于 07-15 11:10

    AD574ASE/883B高端AD模数转换器IC

    AD9680BCPZRL7-1250高端AD模数转换器IC ADC 14BIT PIPELINED 64LFCSPAD9691BCPZRL7-1250高端AD模数转换器IC ADC 1
    发表于 08-14 22:17

    模数转换器ADC)的配置有哪些流程?

    模数转换器ADC)是什么?模数转换器ADC)的配置有哪些流程?配置流程的代码是什么?
    发表于 07-14 08:43

    ADC模数转换器

    文章目录1. ADC1. ADCADC(Analog-to-digital converters,模数转换器),
    发表于 08-06 06:08

    ADC模数转换器

    缩写外设/单元ADC模数转换器BKP备份寄存CAN控制局域网模块DMA直接内存存取控制EXTI外部中断事件控制
    发表于 08-23 06:23

    模数转换器(ADC)的基本原理是什么?

    模数转换器(ADC)的基本原理是什么?常用的几种ADC类型的基本原理及特点是什么?
    发表于 09-28 08:21

    STM32之ADC模数转换器介绍

    ADC模数转换器是什么?ADC模数转换器的相关寄存有哪些?
    发表于 11-08 08:47

    STM32的ADC模数转换器有哪几种工作模式及应用呢

    ADC模数转换器是什么?为什么需要ADC?STM32的ADC模数转换器有哪几种工作模式及应用呢?
    发表于 11-15 08:08

    ADC0809模数转换器主要特性

    ADC0809更详细的参数说明可以查看它的芯片手册(英文原版)链接:文章目录1、ADC0809模数转换器主要特性:2、ADC0809外部特征1、AD
    发表于 12-02 08:24

    模数转换器ADC简介

    ESP32 之 ESP-IDF 学习笔记(七)——模数转换器ADC)文章目录ESP32 之 ESP-IDF 学习笔记(七)——模数转换器ADC)一、简介1、两个
    发表于 02-17 06:28

    模数转换器ADC简介

    介绍将模拟电子信号转换成数字信号的电路,称为模数转换器,简称A/D转换器ADC。同理,将数字信号转换成模拟信号的电路称为数模
    发表于 02-18 06:54

    为什么我们需要模数转换器?哪个ADC转换器更好?

    模数转换器定义ADC转换器是将模拟信号转换为数字信号的系统。这是一个过滤、采样并保持、量化和编码的过程。模拟信号通过带限滤波、采样保持电路,成为梯形信号,再通过编码
    发表于 02-15 18:16

    电流积分模数转换器(ADC),什么是电流积分模数转换器(AD

    电流积分模数转换器(ADC),什么是电流积分模数转换器(ADC) 模数转换器(Analog to digital Converter,简称
    发表于 03-24 13:31 2973次阅读