"); //-->
6 ADC
6.1 ADuC7026 ADC简介
ADuC7026的模拟-数字转换器主要特点:
·12位精度;
·±0.5LSB精确度
·16通道;
·转换速度最高可达1MSPS;
·7种可编程触发方式;
·输入全差分、伪差分和单端三种模式;
·多转换结束中断输出方式;
·内置2.5V参考源。
ADuC7026的模拟-数字转换器(ADC)集成了一个快速16通道12位ADC。其工作电压范围为2.7V-3.6V,当时钟源频率为41.78MHz时,其转换速度最高可以达到1MSPS。同时ADC还提供给用户多通道多路复用器、微分保持器、片内参考。
ADuC7026的ADC为基于双电容DAC的12位逐次逼近转换器。通过编程配置,ADC可以工作在三种不同的输入模式下:(1)差分模式,用于小信号和平衡信号的输入;(2)单端模式,用于任何单端信号的输入;(3)伪差分模式,用于任何单端信号输入,可以较好的抑制共模信号。当工作在单端模式或伪差分模式下时,ADC可以接受的模拟输入范围为0~VREF;在差分模式下,输入信号一定要稳定在共模电压VCM附近,其范围为0V到AVDD,最大幅值为2VREF。
ADuC7026片内提供一个高精度、低漂移、出厂设定为2.5V的参考源,在使用该参考时需要将外部管脚VREF通过0.47μF接地。也可以直接连接一个外部参考。
ADuC7026的ADC可以实现单一或连续等多种转换方式,方式选择可在初始化软件中设定。而转换的触发可以有外部CONVSTART引脚、片内PLA的输出、定时器0或定时器1的溢出等多种触发方式,每种方式都可以产生重复触发而连续进行多次ADC转换。
另外从片内带宽参考输出的与绝对温度成比例的电压也可以通过前置ADC多路复用器连接到ADC模拟输入通道,这样就可以很方便的形成一个内部温度传感器通道,用于测量死区温度,测量精度为 3℃。
ADuC7026芯片上同模数转换器相关的管脚主要有:
ADC0~ADC15:模拟信号输入管脚;
ADCNEG:偏压输入,伪差分模式下的负输入端,应连接到输入通道的反相输入端。偏压点在0~1V之间;
GNDREF:ADC模拟电源地参考;
REFGND:参考地;
VREF:2.5V内部参考。
6.2模拟信号输入与转换
6.2.1模拟输入的电路结构
ADuC7026芯片ADC模拟输入内部结构等效电路如图6.1所示,图中4个二极管为模拟输入提供ESD保护;电容C1为4pF,电阻R1为开关内阻,大小为100Ω左右;电容C2为ADC采样电容,经典数值为4pF。注意,这里一定要确保模拟输入不要超过模拟电源电压300mV,否则将使二极管前向导通,导通电流可达到10mA,而不会导致不可修复性的毁坏。
图6.1 等效模拟输入电路
输入为交流信号时,建议在信号输入ADuC7026之前使用RC低通滤波器滤波,以消除模拟输入信号的高频成份。在对谐波失真和信噪比要求严格的应用中,由于高阻抗的模拟输入会影响ADC的交流特性,一般接低阻抗的模拟输入。通常使用运放构成输入缓冲放大器,如图6.2和6.3所示。
图6.2 单端及伪差分输入
图6.3 差分输入
当不使用运放来放大模拟输入信号时,输入阻抗应限制在1kΩ以内。最大的模拟输入阻抗取决于总谐波失真(THD),该谐波失真必须在可容许的范围内。总的谐波失真会随着输入源阻抗的增加而增大,而ADC的性能也将变差。
6.2.2 转换操作
ADuC7026的ADC是基于两个逐次逼近容性DAC设计的,其转换过程主要包括两个阶段:采样阶段和转换阶段。下面针对输入信号的三种模式分别介绍转换操作。
(一) 差分模式
在差分模式下,差分信号的幅值为输入引脚VIN+和输入引脚VIN-输入信号的差值,即VIN+-VIN-,因此差分输入信号的最大幅值为-VREF~+VREF,即2×VREF,这里忽略了共模信号的影响。共模信号为两个输入信号的平均值,也就是两个输入电压的中间值,即(VIN++VIN-)/2,这样每一个输入信号的范围为VCM VREF/2。这一输入电压必须在外部设定,并且它的范围随着VREF而变化。
在差分模式下,代码转换发生在每一次整数LSB值的中点(即1/2LSB,3/2LSB,5/2LSB…FS-3/2LSB),理想的输入/输出转换特征如图6.4所示。转换输出编码1LSB=2 VREF/4096,当VREF=2.5V时,1LSB=2×2.5V/4096=1.22mV。输出结果为12位,其中最高位为符号位。
图6.4 差分模式下ADC转换
在信号采样阶段,如图6.5所示,SW3闭合,SW1和SW2都闭合于A上,比较器保持在平衡状态,采样电容阵列充电,采集输入的差分信号。
图6.5 ADC采样阶段
当ADC启动转换,如图6.6所示,SW3断开,而SW1和SW2连接到B上。这使得比较器变得不平衡。一旦转换开始,两个输入将会断开。控制逻辑和电荷重分配DAC会加上或减去采样电容阵列中的电荷数量,使得比较器恢复到平衡状态。当比较器重新平衡后,转换就已经完成,控制逻辑产生ADC的输出结果代码。注意:这里驱动VIN+和VIN-引脚的输出源阻抗一定要匹配,否则由于两个输入的调节时间不同会产生转换误差。
图6.6 ADC转换阶段
另外在全差分工作模式下,共模电压VCM有严格的限制,它的大小取决于参考源和输入电压,表6.1给出了不同条件下VCM的最大值和最小值。
表6.1 VCM的范围
AVDD |
VREF |
VCM Min |
VCM Max |
信号峰峰值 |
3.3V |
2.5V |
1.25V |
2.05V |
2.5V |
2.048V |
1.024V |
2.276V |
2.048V |
|
1.25V |
0.75V |
2.55V |
1.25V |
|
3.0V |
2.5V |
1.25V |
1.75V |
2.5V |
2.048V |
1.024V |
1.976V |
2.048V |
|
1.25V |
0.75V |
2.25V |
1.25V |
(二)伪差分和单端模式
在伪差分或单端模式中,输入电压范围为0V到VREF,输出编码为二进制编码,转换结果1LSB=FS/4096,其中FS为满刻度电压。在VREF=2.5V时,1LSB=2.5V/4096=0.61mV。ADC每次代码的有效转换都发生在每一整数LSB值的中点,即1/2LSB、3/2LSB、5/2LSB、…、FS-3/2LSB,输入/输出转换特征如图6.7所示。
图6.7 伪差分或单端模式下ADC转换
在伪差分模式中,如图6.8所示,模拟输入负通道(channel-)连接在ADuC7026的VIN-上,SW2开关在A(Channel-)和B(VREF)之间进行切换,一般情况下VIN-要接地或者接一较低电压。VIN+上的输入信号的范围为VIN-~VREF+ VIN-。注意这里VIN-一定要选择恰当,不要使VREF+ VIN-超过AVDD。
图6.8 ADC伪差分模式
在单端模式中,如图6.9所示,模拟输入负通道内部直接接地,VIN-引脚悬空。VIN+引脚上的输入信号的范围为0V~VREF。
图6.9 ADC单端模式
6.2.3转换时序
ADuC7026的ADC转换时序如图6.10所示。用户可以通过配置控制寄存器ADCCON来控制ADC时钟速度和转换所需时钟个数。默认情况下,所需要的转换时间是八个时钟周期,时钟为两分频。附加时钟个数可以被设定为19,这样采样频率为774KSPS。而温度传感器的转换,ADC所需时间被自动设定为16个时钟,并且ADC设为32分频。
图6.10 ADC时序
6.3 ADC相关寄存器
ADuC7026中与ADC相关的寄存器共有9个,包括:控制寄存器ADCCON、正相输入端选择寄存器ADCCP、反相输入端选择寄存器ADCCN、状态寄存器ADCSTA、数据寄存器ADCDAT、复位寄存器ADCRST、增益校正寄存器ADCGN、偏移校正寄存器ADCOF、参考源控制寄存器REFCON。各寄存器地址及访问信息如表6.2所示。
表6.2 ADC相关寄存器
名称 |
地址 |
默认值 |
访问 |
ADCCON |
0xFFFF0500 |
0x0600 |
R/W |
ADCCP |
0xFFFF0504 |
0x00 |
R/W |
ADCCN |
0xFFFF0508 |
0x01 |
R/W |
ADCSTA |
0xFFFF050C |
0x00 |
R |
ADCDAT |
0xFFFF0510 |
0x00000000 |
R |
ADCRST |
0xFFFF0514 |
0x00 |
R/W |
ADCGN |
0xFFFF0530 |
0x0200 |
R/W |
ADCOF |
0xFFFF0534 |
0x0200 |
R/W |
REFCON |
0xFFFF048C |
0x00 |
R/W |
下面依次介绍每个寄存器的位信息和使用方法。
6.3.1 控制寄存器ADCCON
ADCCON是一个16位的ADC控制寄存器,用户可以通过它使能ADC外设,选择ADC的工作模式(单端模式,伪差分模式,全差分模式)和转换类型等。该寄存器各位功能如表6.3所示。
表6.3 ADCCON各位功能描述
位 |
值 |
描述 |
15:13 |
---- |
保留 |
12:10
|
---- |
ADC时钟速度选择 |
000 |
fADC/1。当外部时钟小于41.78MHz时,可以得到1MSPS |
|
001 |
fADC/2(默认值) |
|
010 |
fADC/4 |
|
011 |
fADC/8 |
|
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
|