模数转换器ADC0804及其应用

Download Report

Transcript 模数转换器ADC0804及其应用

模数转换器ADC0804及其应用
内容提要
•
•
•
•
•
•
ADC(A/D)模数转换器
ADC0804简介
ADC0804引脚
ADC0804时序图
ADC0804操作流程
ADC0804示例
模数转换
• 模数转换(Analog-to-Digital Conversion,
ADC)通常是指一个模拟信号转变为数字
信号的过程,完成该过程的元件称为模数
转换器。
• A/D转换目标:将时间连续、幅值也连续的
模拟信号转换为时间离散、幅值也离散的
数字信号。
• 四个步骤:采样、保持、量化、编码。
模数转换器
• 将输入的模拟信号转换成数字信号输出的
电路或元件或集成电路(芯片)称为模数
转换器(ADC、A/D)
• 按照工作原理不同,分为积分型、逐次比
较型、并行比较型、串行比较型、∑-△型、
电容阵列逐次比较型及压频变换型ADC等。
直接ADC和间接ADC
• 按数码位数可分为8位、10位、12位ADC等。
• 按数据的传送方式可分为串行和并行ADC。
ADC特点
• 直接ADC转换器特点:转换速度高,转换
精度低,价格有高有低,功耗低
• 间接ADC转换特点:转换速度低,转换精
度高,抗干扰性强,功耗低,价格低,但
是需要外接计数电路共同完成A/D转换。
ADC主要技术指标
• 分辨率,指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2 的
N
比值(N为转化位数)又称精度,通常用数字信号的位数来表示。
• 转换速度,指完成一次转换所需要的时间,转换时间是从启动信号开始,到输
•
•
•
•
•
•
•
•
•
•
•
出端获得稳定的数字信号所需要的时间的倒数。纳秒级、微妙级、毫秒级等。
偏移误差,输入信号为0时输出信号不为0的值,可外接电位器调至最小。
满刻度误差,满度输出时对应的输入信号与理想输入信号值之差。
线性度,实际转换器的转换函数与理想直线的最大偏移。
量化误差
绝对精度
相对精度
微分非线性
单调性
无错码
总谐波失真
积分非线性
ADC0804简介
• 集成A/D转换器规格品种繁多,常见的有
ADC0804、ADC0809、MC14433等。
• ADC0804 A/D转换器
• ADC0804是美国模拟器件公司(Analog
Device Inc,ADI)生产的具有1个通道8位
精度的逐次比较型A/D转换器。
ADC0804简介
• ① 分辨率为8位。
•
② 线性误差为±1/2LSB。
•
③ 三态锁存输出,输出电平与TTL兼容。
•
④ +5V单电源供电,模拟电压输入范围0~5V。
•
⑤ 功耗小于20mW。
•
⑥ 不必进行零点和满度调整。
•
⑦ 转换速度较高,可达100μS。
• 模数转换时间大约100us;方便的TTL或CMOS标
准接口;可以满足差分电压输入;具有参考电压
输入端;内含时钟发生器;单电源工作时(0V~
5V)输入信号电压范围是0V~5V;不需要调零,
ADC0804引脚
• CS(引脚1):片选信号输入端。低电平
有效,高电平时芯片不工作
• RD (引脚2) :读信号输入端,低电平
有效。当CS和RD均有效时,可读取转换
后的输出数据。
• WR (引脚3) :写信号输入端,低电平
有效。当CS和WR同时有效时,启动A/D
转换。
• CLKin (引脚4) :外部时钟信号输入端。
• INTR (引脚5) :转换结束信号输出端,
低电平有效。转换开始后,INTR为高电
平;转换结束时,该信号变为低电平。因
此该信号可作为转换器的状态查询信号,
也可作为中断请求信号,以通知CPU取走
转换后的数据。
ADC0804引脚
• Vin+ (引脚6) 、Vin(引脚7) :模拟信号输入
端,可接收单极性、双极性
和差模输入信号。
• AGND (引脚8) :模拟信
号地。
• VREF/2 (引脚9) :基准
电压输入端。
• DGND (引脚10) :数字
信号地。
ADC0804引脚
• D7~D0 (引脚11-18) :数字
信号输出端,有三态功能(低电
平、高电平、高阻态)
• CLKR (引脚19) :内部时钟
发生器外接电阻端,与CLKin端
配合可由芯片产生时钟脉冲。使
用RC电路则其振荡频率为1/
(1.1RC),应介于100khz至
1460khz之间。其典型应用参数
为:R=10KΩ,C=150PF,
fCLK≈640KHZ,转换速度为
100μs。
• V+ORVREF (引脚20):正电
源输入端
模拟地与数字地
• 地线
• 所有的器件的模拟地和数字地分别连接,
然后将模拟地和数字地仅在一点上相连。
内部时钟
经典电路
ADC0804电气特性
启动时序
ADC0804启动函数
•
•
•
•
•
•
//启动ADC0804
//cs、wr上升沿启动转换器
void startadc0804(void)
{
P1=0xff;
adc0804intr=1;
•
•
adc0804cs=1;
adc0804wr=1;//准备
•
•
adc0804cs=0;
adc0804wr=0;
•
•
adc0804wr=1;
adc0804cs=1;//上升沿启动转换器
•
•
while(adc0804intr==1);//转换是否完成,如果intr为0,则转换完成
}
输出时序
ADC0804读取数据函数
•
•
•
•
•
•
•
•
•
•
•
•
•
//读取ADC0804转换后的数据
unsigned char readadc0804(void)
{
unsigned char x;
adc0804cs=1;
adc0804rd=1;
adc0804cs=0;
adc0804rd=0;
x=P1;//读取ADC0804转换后的数字量
adc0804rd=1;
adc0804cs=1;
return(x);
}
输出数据表
十六
进制
与满刻度的比率
相对电应值VREF=2.560伏
二进制码 高四位字节 低四位字节 高四位字节电压 低四位字节电压
F
1111
15/16
15/256
4.800
0.300
E
1110
14/16
14/256
4.480
0.280
D
1101
13/16
13/256
4.160
0.260
C
1100
12/16
12/256
3.840
0.240
B
1011
11/16
11/256
3.520
0.220
A
1010
10/16
10/256
3.200
0.200
9
1001
9/16
9/256
2.880
0.180
8
1000
8/16
8/256
2.560
0.160
7
0111
7/16
7/256
2.240
0.140
6
0110
6/16
6/256
1.920
0.120
5
0101
5/16
5/256
1.600
0.100
4
0100
4/16
4/256
1.280
0.080
3
0011
3/16
3/256
0.960
0.060
2
0010
2/16
2/256
0.640
0.040
1
0001
1/16
1/256
0.320
0.020
0
0000
0/16
0/256
0
0
ADC0804示例
•
•
•
•
•
•
•
ADC0804仿真模型data converters中
操作步骤:
1、启动ADC0804,开始转换
2、采用扫描查询或外部中断,等待转换结束
3、读取转换后的数字量
4、转换对应的显示符号
(可以多次测量取均值,或者多次测量去掉一个
最高值和一个最低值,再求平均值)