第8讲 模数转换器ADC
adc模数转换器原理

adc模数转换器原理
ADC模数转换器是一种将模拟信号转换为数字信号的电路。
它将连续的模拟信号转换为离散的数字信号,通过采样和量化的过程来实现。
首先,采样是指在连续的模拟信号上,以一定的时间间隔取样,得到一系列离散的采样值。
这样做的目的是将连续的模拟信号转换为离散的信号。
然后,量化是指对采样得到的离散信号进行编码,将其转换为数字形式。
在量化的过程中,将信号分为若干个区间,每个区间都用一个数字表示。
这个数字通常是二进制形式,所以转换器输出的是一系列二进制代码。
采样和量化过程之后,转换器会产生一系列二进制代码。
这些二进制代码通常被存储在数字寄存器或者RAM中,以便处理
和传输。
在ADC的实现中有多种不同的技术,例如逐次逼近型ADC、闪存型ADC和积分型ADC等。
每种技术都有其优势和适用
场景,选择合适的ADC技术取决于应用需求和性能要求。
总结来说,ADC模数转换器通过采样和量化的过程,将连续
的模拟信号转换为离散的数字信号,使得模拟信号能够被数字系统处理和传输。
模数转换器(ADC)原理及分类

模数转换器(ADC)原理及分类解析在仪器仪表系统中,常常需要将检测到的连续变化的模拟量如:温度、压力、流量、速度、光强等转变成离散的数字量,才能输入到计算机中进行处理。
这些模拟量经过传感器转变成电信号(一般为电压信号),经过放大器放大后,就需要经过一定的处理变成数字量。
实现模拟量到数字量转变的设备通常称为模数转换器(ADC),简称A/D。
通常情况下,A/D转换一般要经过取样、保持、量化及编码4个过程。
取样是将随时间连续变化的模拟量转换为时间离散的模拟量。
取样过程示意图如图11.8.1所示。
图(a)为取样电路结构,其中,传输门受取样信号S(t)控制,在S(t)的脉宽τ期间,传输门导通,输出信号vO(t)为输入信号v1,而在(Ts-τ)期间,传输门关闭,输出信号vO(t)=0。
电路中各信号波形如图(b)所示。
图11.8.1 取样电路结构(a)图11.8.1 取样电路中的信号波形(b)通过分析可以看到,取样信号S(t)的频率愈高,所取得信号经低通滤波器后愈能真实地复现输入信号。
但带来的问题是数据量增大,为保证有合适的取样频率,它必须满足取样定理。
取样定理:设取样信号S(t)的频率为fs,输入模拟信号v1(t)的最高频率分量的频率为fimax,则fs与fimax必须满足下面的关系fs ≥2fimax,工程上一般取fs>(3~5)fimax。
将取样电路每次取得的模拟信号转换为数字信号都需要一定时间,为了给后续的量化编码过程提供一个稳定值,每次取得的模拟信号必须通过保持电路保持一段时间。
取样与保持过程往往是通过取样-保持电路同时完成的。
取样-保持电路的原理图及输出波形如图11.8.2所示。
图11.8.2 取样-保持电路原理图图11.8.2 取样-保持电路波形图电路由输入放大器A1、输出放大器A2、保持电容CH和开关驱动电路组成。
电路中要求A1具有很高的输入阻抗,以减少对输入信号源的影响。
为使保持阶段CH上所存电荷不易泄放,A2也应具有较高输入阻抗,A2还应具有低的输出阻抗,这样可以提高电路的带负载能力。
adc模数转换器原理

adc模数转换器原理模数转换器(ADC)是一种非常重要的电子电路,它可以将模拟信号转换为数字信号,以便电路中的微处理器可以对其进行处理。
随着科技的发展,ADC的性能也在不断提高,可以提供更多功能和性能,以满足不断变化的需求。
本文将重点介绍ADC的工作原理,以及其在现有技术中的应用。
ADC的基本原理是将模拟信号(如模拟电压或电流)转换成数字信号,然后通过串行数据总线将其传送到微处理器其他部分。
ADC的类型主要分为抽样-持续转换(SAR)和按位逐次抽样(S&S)两种,其中SAR类型ADC更加常用。
SAR类型ADC的工作原理主要是将电路中的输入信号反复地采样,并使用内部电压参考或外部电压参考进行比较,以确定最终输出值。
采样率和参考电压是控制转换精度的关键因素,采样率越高,参考电压越精准,最终转换的精度就越高。
此外,随着科技的发展,ADC的性能也在不断提高。
近年来,ADC 技术可以实现多种性能,如低功耗、高动态范围、高采样率和高精度等功能。
通过不断的技术进步,ADC已经可以用于传感器、医疗影像、音频应用、声纳应用、无线通信和军事应用等多个领域。
最后,ADC技术也取得了很大的发展,能够为上述应用提供更优质的服务。
例如,最新的ADC技术可以实现低功耗、高转换速率和极高的精度,以满足当今快速变化的应用需求。
综上所述,ADC模数转换器是一种关键电路,它可以将模拟信号转换为数字信号,以便电路中的微处理器可以对其进行处理。
它的原理是采样-持续转换,依靠内部或外部参考电压进行比较,以确定最终输出值,并可用于多种应用场合,比如传感器、音频应用等。
由于技术的不断进步,ADC可以实现低功耗、高转换速率和极高的精度,以满足现有应用的需求。
adc模数转换器原理

adc模数转换器原理模数转换器(ADC)是一种电子设备,它可以将模拟信号转换成数字信号。
它是一种把模拟信号转换成数字系数的技术,它主要应用在测量、仪器仪表和计算机等领域。
ADC可以将模拟信号(电压或电流)转换成数字信号。
ADC由一组电路组成,它可以将一个模拟量转换成一组数字。
ADC的研究历史可以追溯到机器数字技术的早期,直到有可能的研究者开始提出不同的模拟/数字转换器(ADC)设计概念。
现代ADC 可以追溯到1907年,当时广为人知的英国物理学家Sir Oliver Lodge 提出了一种模拟/数字转换器,它可以将模拟信号转换成数字信号。
常见的ADC通常包括模拟前端、采样持续系统和数字控制环节。
模拟前端过滤有效信号,以帮助维持模拟输入的频率,而采样持续系统使用所谓的“咆哮器”(Ramp Generator)来测量模拟输入的平均电平,而数字控制环节则使用电路来得出最终的数字序列。
此外,一些采用复杂技术的ADC还可能包括多种数字前端,以便在低速率下获得更高精度的测量结果。
ADC技术的发展也使ADC能够以较高的速度工作,这种技术就是多维ADC。
多维ADC的好处是:它可以在一个时钟周期内进行多路信号采样,并且在测量中可以获得更高的精度.多维ADC对应用非常有用,因为它可以提供更高的精度和更快的采样延迟。
除了多维ADC之外,还有另一种类型的ADC,即“混合信号ADC”。
该技术可以将模拟部分转换成数字信号,从而实现特定类型的信号处理,混合信号ADC通常由两个独立的子系统组成:数字信号处理子系统和ADC子系统。
数字信号处理子系统可以实现信号的初始处理,而ADC子系统则可以将模拟信号转换成数字信号,以便进行更精确的处理。
总的来说,ADC模数转换器可以满足各种应用场合的需求,它在测量、仪器仪表和计算机等领域均有广泛的应用。
此外,ADC技术的不断进步也使得它具有更高的精度和速度,能够满足多种不同的应用需求。
模数转换器ADC

第9页
2021/12/8
通道选择寄存器 P_ADC_MUX_Ctrl
ADC多通道控制是通过对P_ADC_MUX_Ctrl (读/写) (702BH)单元编程实现的,具体功能如表6.18所示。
b15 Ready_MUX(读)[1]
0 1 - - - - - - - -
表6.18 通道选择寄存器各位的功能
[P_IOB_DATA]=r1
R1=0x0001;
//选择通道LINE_IN1
[P_ADC_MUX_Ctrl]=R1
R1 = 0x0001;
//设置P_ADC_Ctrl单元允许A/D转换
[P_ADC_Ctrl] = R1
NOP
//等待
NOP
NOP
r2=0x0000
//r2的初值为0x0000
第20页
D9
D8 D7 D6 D5 D4 D3 D2 D1 D0
第12页
2021/12/8
ADC直流电气特性
ADC直流电气特性如表6.19所示。 表6.19 ADC直流电气特性表
直流电气参数 分辨率 有效位数 信噪比 积分非线性 差分非线性 转换率 电源电流@Vdd=3 V 功耗@Vdd=3 V
符号 RESO ENOB SNR INL DNL FCONV IADC PADC
第17页
2021/12/8
[P_IOB_DATA]=r1
R1=0x0001
//选择通道LINE_IN1
[P_ADC_MUX_Ctrl]=R1
R1 =0x0001
//设置P_ADC_Ctrl单元允许A/D转换
[P_ADC_Ctrl]=R1
NOP
//等待
NOP
NOP
模数和数模转换器(ADC和DAC)工作原理

模数和数模转换器(ADC和DAC)工作原理为了能够使用数字电路处理模拟信号,必须把模拟信号转化成相应的数字信号,方能送入数字系统进行处理.同时也要把处理后得到的数字信号在转换成相应的模拟信号,作为最后的输出.我们把前一种从模拟信号到数字信号的转换叫做模-数转换,或简称A/D;把后一种从数字信号到模拟信号的转换叫做数-模转换,或简称D/A.同时把A/D或D/A 转换的电路叫做模数转换器(简称ADC)或数模转换器(简称DAC)主要分成以下几个部分:1、取样:取样(也称采样)是将时间上连续变化的信号,转换为时间上离散的信号,即将时间上连续变化的模拟量转换为一系列等间隔的脉冲,脉冲的幅度取决于输入模拟量。
2、保持:模拟信号经采样后,得到一系列样值脉冲。
采样脉冲宽度一般是很短暂的,在下一个采样脉冲到来之前,应暂时保持所取得的样值脉冲幅度,以便进行转换。
因此,在取样电路之后须加保持电路。
3、量化:将采样后的样值电平归化到与之接近的离散电平上,这个过程称为量化。
4、编码:把量化的结果用代码表示出来,称为编码。
这些代码就是A/D转换的输出结果。
模拟信号数字化需要注意两个问题:①每秒钟需要采集多少个信号样本,也就是采样频率(fs)是多少,②每个信号样本的比特数b/s(bit per sample)应该是多少,也就是量化精度。
根据奈奎斯特理论(Nyquist theory),采样频率的高低是由模拟信号本身的最高频率决定的。
奈奎斯特理论指出,采样频率不应低于模拟信号最高频率的两倍,这样就能把以数字表达的信号还原成原来的信号,这叫做无损数字化(lossless digitization)。
采样定律用公式表示为fs ≥ 2f或者T s ≤ T/2其中f为被采样信号的最高频率,T为被采样信号的最低周期,fs 称为采样频率,Ts为采样间隔。
如下图,图中的正弦曲线代表原始音频曲线;填了颜色的方格代表采样后得到的结果,二者越吻合说明采样结果越好。
模数转换器(ADC)的主要性能参数

成都市工业职业技术学校
模/数转换器(ADC)的主要性能参数
(4)相 对精度
(1)分 辨率
(2)量化 误差
(3)转换 速度
模/数转换器(ADC)的 主参数
模/数转换器(ADC)的主要性能参数
实际工作中经常用A/D转换器的位数来表示A/D转换器 的分辨率。它表明A/D对模拟信号的分辨能力,由它确定能 被A/D辨别的最小模拟量变化。一般来说,A/D转换器的位 数越多,其分辨率则越高。实际的A/D转换器,通常为8, 10,12,16位等。
模/数转换器(ADC)的主要性能参数
转换速度是指完成一次A/D转换所需的 时间。转换时间是从模拟信号输入开始, 到输出端得到稳定的数字信号所经历的时 间。转换时间越短,说明转换速度越高。 并联型A/D转换器的转换速度最高,约为数 十纳秒;逐次逼近型转换速度次之,约为 数十微秒;双积分型A/D转换器的转换速度 最慢,约为数十毫秒。
模数转换器(ADC):精度与分辨率区别详述

模数转换器(ADC):精度与分辨率区别详述 在与使用模数转换器(ADC) 的系统设计人员进行交谈时,我最常听到的一个问题就是: 你的16位ADC的精度也是16位的吗? 这个问题的答案取决于对分辨率和精度概念的基本理解。
尽管是两个完全不同的概念,这两个数据项经常被搞混和交换使用。
今天的文章详述了这两个概念间的差异。
我们将在一系列帖子中深入研究造成ADC不准确的主要原因。
ADC的分辨率被定义为输入信号值的最小变化,这个最小数值变化会改变数字输出值的一个数值。
对于一个理想ADC来说,传递函数是一个步宽等于分辨率的阶梯。
然而,在具有较高分辨率的系统中(≥16位),传输函数的响应将相对于理想响应有一个较大的偏离。
这是因为ADC以及驱动器电路导致的噪声会降低ADC的分辨率。
此外,如果DC电压被施加到理想ADC的输入上并且执行多个转换的话,数字输出应该始终为同样的代码(由图1中的黑点表示)。
现实中,根据总体系统噪声(也就是包括电压基准和驱动器电路),输出代码被分布在多个代码上(由下面的一团红点表示)。
系统中的噪声越多,数据点的集合就越宽,反之亦然。
图1中显示的是一个中量程DC输入的示例。
ADC传递函数上输出点的集合通常被表现为ADC数据表中的DC柱状图。
图1:ADC传递曲线上ADC分辨率和有效分辨率的图示 图1中的图表提出了一个有意思的问题。
如果同样的模拟输入会导致多个数字输出,那幺对于ADC分辨率的定义仍然有效吗?是的,前提是我们只考虑ADC的量化噪声。
然而,当我们将信号链中所有的噪声和失真计算在内时,正如等式(1) 中所显示的那样,ADC的有效无噪声分辨率取决于输出代码分布(NPP)。
在典型ADC数据表中,有效位数(ENOB) 间接地由AC参数和信噪失真比(SINAD) 指定,可使用方程式2计算得出: 下面,考虑一下图1中的输出代码簇(红点)不是位于理想输出代码的中央,而是位于远离黑点的ADC传递曲线上的其他位置(如图2中所示)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CONVxx
对应的引脚
SEQ1
CONV00~CONV07
ADCINA0~ADCINA7
SEQ2
CONV08~CONV15
ADCINB0~ADCINB7
SEQ
CONV00~CONV15
ADCINA0~ADCINA7 ADCINB0~ADCINB7
最大转换通道寄存器的结构
双序列发生器模式下顺序采样
假设需要对ADCINA0~ADCINA7, ADCINB0~ADCINB7这16路通道进行采 样,ADC模块工作于双序列发生器模式, 并采用顺序采样。
双序列发生器顺序采样模式下16路通道时 双序列发生器顺序采样模式下 路通道时ADCCHSELSEQn位情况 路通道时 位情况
CONV00 CONV01 ADCCHSELSE Q1 0000(ADCIN A0) 0001(ADCIN A1) 0010(ADCIN A2) 0011(ADCIN A3) 0100(ADCIN A4) 0101(ADCIN A5) 0110(ADCIN A6) 0111(ADCIN A7) ADCCHSELSE Q3 CONV08 CONV09 1000(ADCIN B0) 1001(ADCIN B1) 1010(ADCIN B2) 1011(ADCIN B3) 1100(ADCIN B4) 1101(ADCIN B5) 1110(ADCIN B6) 1111(ADCIN B7)
CONV00 CONV01 ADCCHSELSE Q1
0000(ADCIN A0) 0001(ADCIN A1) 0010(ADCIN A2) 0011(ADCIN A3) × ADCCHSELSE Q3
CONV08 CONV09
1000(ADCIN B4) 1001(ADCIN B5) 1010(ADCIN B6) 1011(ADCIN B7) ×
双序列发生器顺序采样模式下16路通道转换结果
双序列发生器模式下并发采样
假设需要对ADCINA0~ADCINA7, ADCINB0~ADCINB7这16路通道进行采 样,ADC模块工作于双序列发生器模式, 并采用并发采样。
双序列发生器并发采样模式下16路通道时 双序列发生器并发采样模式下 路通道时ADCCHSELSEQn位情况 路通道时 位情况
SH pulse clock=0
1
1010b
HSPCP=3 150/(2*3)= 25MHz
ADCLKPS=2 25/(2*2)= 6.25MHz
CPS=1 6.25/(2*1)= 3.125MHz
ACQ_PS=15 SH pulse clock=15
30MHz
150MHz
3.125MHz
16
ADC时钟频率
软件立即启动(S/W) EVA的多种事件 EVB的多种事件 外部引脚 (GPIO/XINT2_ADCSOC)
ADC模块的特点
ADC模块共有16个结果寄存器 ADCRESULT0~ADCRESULT15,用来保 存转换的数值。每个结果寄存器都是16 位的,而X281X的ADC是12位的,也就是 说转换后的数字值最高只有12位,那这 个12位的值是如何放在16位的结果寄存 器中的呢?
ADC时钟产生实例
XCLKIN PLLCR[3:0] HISPCLK ADCTRL3[1:4] ADCTRL1[7] ADC_CLK ADCTRL1[8:11] SHWidth
0000b
HSPCP=0
ADCLKPS=0
CPS=0
ACQ_PS=0
30MHz
15MHz
15MHz
15MHz
15MHz
15MHz
CONV02
CONV10
CONV03
CONV11
CONV04
CONV12
CONV05 ADCCHSELSE Q2 CONV06
CONV13 ADCCHSELSE Q4 CONV14
CONV07
CONV15
双序列发生器顺序采样模式下序列发生器16路通道选择情况
AdcRegs.ADCTRL1.bit.SEQ_CASC=0; //选择双序列发生器模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0; //选择顺序采样模式 AdcRegs.MAX_CONV.all=0x0077; //每个序列发生器最大采样通道数为8,总共可采样16通道 //SEQ1将用到ADCCHSELSEQ1、ADCCHSELSEQ2,SEQ2将用到 ADCCHSELSEQ3、ADCCHSELSEQ4 AdcRegs.CHSELSEQ1.bit.CONV00=0x0; //采样ADCINA0通道 AdcRegs.CHSELSEQ1.bit.CONV01=0x1; //采样ADCINA1通道 AdcRegs.CHSELSEQ1.bit.CONV02=0x2; //采样ADCINA2通道 AdcRegs.CHSELSEQ1.bit.CONV03=0x3; //采样ADCINA3通道 AdcRegs.CHSELSEQ2.bit.CONV04=0x4; //采样ADCINA4通道 AdcRegs.CHSELSEQ2.bit.CONV05=0x5; //采样ADCINA5通道 AdcRegs.CHSELSEQ2.bit.CONV06=0x6; //采样ADCINA6通道 AdcRegs.CHSELSEQ2.bit.CONV07=0x7; //采样ADCINA7通道 AdcRegs.CHSELSEQ3.bit.CONV08=0x8; //采样ADCINB0通道 AdcRegs.CHSELSEQ3.bit.CONV09=0x9; //采样ADCINB1通道 AdcRegs.CHSELSEQ3.bit.CONV10=0xA; //采样ADCINB2通道 AdcRegs.CHSELSEQ3.bit.CONV11=0xB; //采样ADCINB3通道 AdcRegs.CHSELSEQ4.bit.CONV12=0xC; //采样ADCINB4通道 AdcRegs.CHSELSEQ4.bit.CONV13=0xD; //采样ADCINB5通道 AdcRegs.CHSELSEQ4.bit.CONV14=0xE; //采样ADCINB6通道 AdcRegs.CHSELSEQ4.bit.CONV15=0xF; //采样ADCINB7通道
OSCCLK*m (m! = 0) SYSCLKOUT = 2 SYSCLKOUT = OSCCLK(m = 0)
ADC的时钟频率和采样频率-2
然后,CPU时钟信号经过高速时钟预定标器HISPCP之后,生成高速外设时钟HSPCLK, 假设HISPCP寄存器的值为n,则有:
SYSCLKOUT (n! = 0) HSPCLK = 2*n HSPCLK = SYSCLKOUT(n = 0)
ADC模拟输入的范围为0~3V。
AD端口的嵌位电路
ADC模块的特点
ADC模块对一个序列的通道开始转换必须需要有 一个启动信号,或者说是一个触发信号。
序列发生器 SEQ1 SEQ2 SEQ
启动方式
软件立即启动(S/W) EVA的多种事件 外部引脚 (GPIO/XINT2_ADCSO C)
软件立即启动(S/W) EVB的多种事件
ADC的时钟频率和采样频率-3
AD控制寄存器ADCTRL3的第0到第3位,也就是功能位ADCLKPS,可以对 HSPCLK进行分频,此外,AD控制寄存器ADCTRL1的CPS位另外还可以提供一 个2分频,因此,可以得到ADC模块的时钟ADCLK为:
HSPCLK ADCLK = (ADCLKPS = 0) CPS + 1 HSPCLK ADCLK = (ADCLKPS! = 0) 2* ADCLKPS*(CPS + 1)
多路转换示意图
ADC模块的特点
一共有16个模拟量输入引脚,将这16个输入引 脚分成了两组,A组的引脚为 ADCINA0~ADCINA7,B组的引脚为 ADCINB0~ADCINB7。 具有12位的ADC内核,内置有2个采样保持器 S/H-A和S/H-B,从前面的学习可以知道,引脚 ADCINA0~ADCINA7对应于采样保持器S/H-A, 引脚ADCINB0~ADCINB7对应于采样保持器 S/H-B。
CONV02
CONV10
CONV03
CONV11
CONV04
CONV12
CONV05 ADCCHSELSE Q2 CONV06
× ADCCHSELSE Q4 ×
CONV13
×
CONV14
×
CONV07
×
CONV15
×
双序列发生器并发采样模式下序列发生器16路通道选择情况
AdcRegs.ADCTRL1.bit.SEQ_CASC=0; //选择双序列发生器模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=1; //选择并发采样模式 AdcRegs.MAX_CONV.all=0x0033; //由于并发采样是一对通道、一对通道采样,采16个通道,总共只需 设置8个通道。SEQ1和SEQ2各设置4个通道,SEQ1将用到ADCCHSELSEQ1, SEQ2将用到SDCCHSELSEQ3。AdcRegs.CHSELSEQ1.bit.CONV00=0x0; // 采样ADCINA0和ADCINB AdcRegs.CHSELSEQ1.bit.CONV01=0x1; //采样ADCINA1和ADCINB1 AdcRegs.CHSELSEQ1.bit.CONV02=0x2; //采样ADCINA2和ADCINB2 AdcRegs.CHSELSEQ1.bit.CONV03=0x3; //采样ADCINA3和ADCINB3 AdcRegs.CHSELSEQ3.bit.CONV08=0xC; //采样ADCINA4和ADCINB4 AdcRegs.CHSELSEQ3.bit.CONV09=0xD; //采样ADCINA5和ADCINB5 AdcRegs.CHSELSEQ3.bit.CONV10=0xE; //采样ADCINA6和ADCINB6 AdcRegs.CHSELSEQ3.bit.CONV11=0xF; //采样ADCINA7和ADCINB7