ADC0809芯片的原理及应用.docx
- 文档编号:7131252
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:17
- 大小:126.63KB
ADC0809芯片的原理及应用.docx
《ADC0809芯片的原理及应用.docx》由会员分享,可在线阅读,更多相关《ADC0809芯片的原理及应用.docx(17页珍藏版)》请在冰豆网上搜索。
ADC0809芯片的原理及应用
ADC0809芯片的原理及应用
摘要:
ADC0809是8位逐次逼近型A/D转换器,是目前应用比较广泛、典型的A/D转换芯片之一。
本文主要介绍ADC0809芯片的内部逻辑结构、引脚分布,并详细阐述了其工作原理。
在此基础上设计了两种相关应用电路——ADC0809与单片机的接口电路及数字电压表,并对这两种应用电路的可行性进行了讨论。
通过对ADC0809应用电路的探究,能更全面的提高对应用系统的分析、设计能力,对实践具有重要的指导意义。
关键词:
ADC0809;模数转换;单片机
引言
A/D转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机等数字系统进行处理、存储、控制和显示。
在工业控制和数据采集及许多其它领域中,A/D转换器是不可缺少的重要组成部分,它的应用已经相当普遍。
目前用软件的方法虽然可以实现高精度的A/D转换,但占用CPU时间长,限制了应用。
8位A/D转换器ADC0809作为典型的A/D转换芯片,具有转换速度快、价格低廉及与微型计算机接口简便等一系列优点,目前在8位单片机系统中得到了广泛的应用。
1ADC0809的逻辑结构
ADC0809是带有8位A/D转换器、8路模拟开关以及微处理机兼容的控制逻
辑的CMOS组件。
它是逐次逼近式A/D转换器,是目前应用比较广泛的A/D转换芯片之一,主要适用于对精度和采样速率要求不高的场合或一般的工业控制领域,可以和单片机直接相连。
它具有8个通道的模拟量输入线,可在程序控制下对任意通道进行A/D转换得到8位二进制数字量。
[1]图1.10809引脚图
1.1ADC0809引脚结构
ADC0809引脚图如图1.1所示。
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路,即采集模拟输入电压在某一时刻的瞬时值,并在A/D转换期间保持输出电压不变,以供模数转换。
[2]
各管脚功能如下:
(1)模拟信号输入IN0~IN7(26-28、1-5脚):
IN0-IN7为八路模拟电压输入线,加在模拟开关上,通过A、B、C三个地址译码来选通。
(2)地址输入和控制线:
地址输入和控制线共4条,其中A、B和C为地址输入线(23-25脚),用于选择IN0-IN7上哪一路模拟电压送给比较器进行A/D转换。
ALE(22脚)为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,A、B和C三条地址线上地址信号得以锁存,经译码器控制八路模拟开关通路工作,上升沿有效。
通道选择表如下表所示。
[3]
C
B
A
选择的通道
C
B
A
选择的通道
0
0
0
IN0
1
0
0
IN4
0
0
1
IN1
1
0
1
IN5
0
1
0
IN2
1
1
0
IN6
0
1
1
IN3
1
1
1
IN7
(3)数字量输出及控制线共11条:
START(6脚)为“启动脉冲”输入线,上升沿清零,下降沿启动ADC0809工作,最小脉冲宽度与ALE信号相同。
EOC(7脚)为转换结束输出线,该线高电平表示A/D转换已结束,数字量已锁入“三态输出锁存器”,常用来作为中断请求信号。
D0-D7(17、14、15、18-20脚)为数字量输出线,D7为最高位,D0为最低位。
OE为“输出允许”线,高电平有效。
ADC0809接到此信号时,其三态输出端与CPU数据总线接通,后者可将数据取走。
(4)电源线及其它共5条:
CLOCK(10脚)为时钟输入线,用于为ADC0809提供逐次比较所需,一般为640kHz时钟脉冲。
VCC(11脚)为电源输入线,典型的输入电压为+5V。
GND(13脚)为地线。
和
(12、16脚)为参考电压输入线,用于给电阻网络供给标准电压。
常接+5V,
常接地或-5V。
两个参考电压的选择必须满足以下条件:
从输入的模拟电压
转换成数字量的公式为
例如
=+5V,
=0V,
转换成数字量的公式为
输入的模拟电压为
=2.5V,则N=128=80H。
[1]
1.2ADC0809的主要性能指标
分辨率:
8位。
模拟量电压输入范围:
0-5V。
线性误差:
±1LSB。
其中LSB为数字输出最低位,LSB=|
|/256。
若使用+5V电压,那么线性误差为0.019V。
[4]
外接时钟频率:
10kHz到1.2MHz。
一般为640kHz。
转换时间:
100µs。
功耗:
15mW。
1.3ADC0809的内部逻辑结构
ADC0809的内部逻辑结构如图1.2所示,它主要由三部分组成。
第一部分:
模拟输入选择部分,包括一个8路模拟开关、一个地址锁存译码电路。
输入的3位通道地址信号由锁存器锁存,经译码电路后控制模拟开关选择相应的模拟输入。
第二部分:
转换器部分,主要包括比较器,8位A/D转换器,逐次逼近寄存器SAR,电阻网络以及控制逻辑电路等。
第三部分:
输出部分,包括一个8位三态输出缓冲器,可直接与CPU数据总线接口。
[1]
图1.2ADC0809内部逻辑结构图
由于芯片性能特点是一个逐次逼近型的A/D转换器,外部供给基准电压;分辨率为8位,带有三态输出锁存器,转换结束时,可由CPU打开三态门,读出8位的转换结果;有8个模拟量的输入端,可引入8路待转换的模拟量。
ADC0809的数据输出结构是内部有可控的三态缓冲器,所以它的数字量输出信号线可以与系统的数据总线直接相连。
内部的三态缓冲器由OE控制,当OE为高电平时,三态缓冲器打开,将转换结果送出;当OE为低电平时,三态缓冲器处于阻断状态,内部数据对外部的数据总线没有影响。
因此,在实际应用中,如果转换结束,要读取转换结果则只要在OE引脚上加一个正脉冲,ADC0809就会将转换结果送到数据总线上。
1.4ADC0809的时序[2]
ADC0809的时序图如图1.3所示。
从时序图可以看出ADC0809的启动信号START是脉冲信号,也即此芯片是靠脉冲启动的。
当模拟量送至某一通道后,由三位地址信号译码选择,地址信号由地址锁存允许信号ALE锁存。
启动脉冲START到来后,ADC0809就开始进行转换。
启动正脉冲的宽度应大于200ns,其上升沿复位逐次逼近SAR,其下降沿才正真开始转换。
START在上升沿后2us在加上8个时钟周期的时间,EOC才变为低电平。
当转换完成后,输出转换信号EOC由低电平变为高电平有效信号。
输出允许信号OE打开输出三态缓冲器的门,把转换结
果送到数据总线上。
使用时可利用EOC信号短接到OE端,也可利用EOC信号向CPU申请中断。
图1.3ADC0809的时序图
2ADC0809与MCS-51单片机的接口电路
ADC0809与MCS-51单片机的接口电路主要涉及两个问题:
一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。
在讨论此接口设计之前,应先了解单片机是如何控制ADC的问题。
由于MCS-51单片机受到引脚数目的限制数据线和低8位地址线是复用的,由P0口线兼用。
为了将它们分离出来,需要在单片机外部增加地址锁存器,从而构成与一般CPU相类似的片外三总线:
地址总线(AB)、数据总线(DB)、控制总线(CB),如图2.1所示。
目前常用的地址锁存器芯片有:
74LS373、8282、74LS573等。
在实际应用中,先把低8位的地址送锁存器暂存,地址锁存器的输出给系统提供低8位的地址,而把P0口作为数据线使用。
以P2口的口线作为高位地址线,如使用P2口的全部8位口线,在加上P0口提供的低8位地址,便形成了完整的16位地址总线,使单片机系统的寻址范围达到64KB。
[3]
图2.1MCS-51扩展的三总线
在扩展系统中还需要一些控制信号线,以构成扩展系统的控制总线。
这些信号有的是引脚的第一功能,有的是P3口的第二功能信号,主要包括:
使用ALE信号作为低8位地址的锁存控制信号;以
信号作为内外程序存储器的选择控制信号,
时,访问片内程序存储器,
时,访问片外程序存储器;由
和
信号作为扩展数据存储器和I/O的读选通和写选通信号;以
信号作为扩展程序存储器的读选通信号用来接外扩EPROM的
引脚。
总的来说,单片机控制ADC0809的工作过程是:
首先用指令选择0809的一个模拟输入通道,当执行MOVX@DPTR,A时,单片机的
信号有效,因此产生一个启动信号,给START引脚送入脉冲,开始对已选中的通道进行转换。
这就是前面所说的第一个问题:
8路模拟通道的选择问题。
转换结束后,0809发出转换结束EOC信号,即通过检查EOC引脚的电平即可,高电平时转换结束。
此信号供单片机查询,也可以反向后作为向单片机发出的中断请求信号。
当在执行MOVXA,@DPTR时,单片机发出读控制信号
,OE端为高电平,允许输出,把转换完的数字量读到累加器A中。
A/D转换后得到的数据应及时传送给单片机进行处理。
由上述可知,单片机控制ADC时,可采用查询和中断控制两种方式。
查询方式时,A/D转换芯片有表明转换完成的状态信号,即0809的EOC端。
启动A/D转换后,执行别的程序,同时对EOC引脚的状态进行查询,以检查转换是否完成,若查询到变换已经完成就接着进行数据传送。
中断方式是在启动信号送到ADC后,单片机执行别的程序。
0809转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据。
此方式效率高,特别适合于变换时间较长的ADC。
[3]
还可采用定时传送方式进行数据的传送。
因为对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。
ADC0809转换时间为128µs,相当于6MHz的MCS-51单片机的64个机器周期。
可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。
不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。
首先送出口地址并以
信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接收。
这里需要说明的是,ADC0809的三个地址端A、B、C可如前所述与地址线相连,也可与数据线相连,例如与D0~D2相连。
这时启动A/D转换的指令与上述类似,只不过A的内容不能为任意数,而必须和所选输入通道号IN0~IN7相一致。
例如当A、B、C分别与D0、D1、D2相连时,启动IN7的A/D转换指令如下:
MOVDPTR,#FE00H;送入0809的口地址
MOVA,#07H;D2D1D0=111选择IN7通道
MOVX@DPTR,A;启动A/D转换[5]
模数转换器定位为单片机的外部RAM单元,因此与单片机的连接就有很多种。
大体上说ADC0809在整个单片机系统中是作为外部RAM的一个单元定位的。
具体到某一个连接方式,定位又有区别。
0809与单片机典型的连接有以下三种:
2.10809与51单片机的第一种连接方式
这是数据线对数据线、地址线对地址线的标准连接方式,如图2.2所示。
由于ADC0809片内没有时钟,可利用单片机提供的地址锁存信号ALE经D触发器2分频后获得,ALE引脚的频率是单片机时钟频率的1/6,如果单片机时钟频率采用6MHz,则ALE引脚的输出频率为1MHz,再经过2分频后为500kHz,恰好符合0809对时钟的要求。
[3]
图2.2
由于ADC0809具有输出三态锁存器,其8位数据输出引脚可直接与数据总线连接。
地址译码引脚C、B、A分别与地址总线的低3位A2、A1、A0相连,以选通INO-IN7中的一个通路。
P2.7(地址线A15)作为片选信号端,在启动A/D转换时,由单片机的写信号
和P2.7引脚信号控制ADC的地址锁存和转换启动,由于ALE信号与START信号接在一起,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。
图2.3是有关信号的时间配合示意图。
图2.3信号的时间配合
在读取转换结果时,用低电平的读信号
和P2.7引脚经1级或非门后,产生的正脉冲作为OE信号,用以打开输出三态锁存器。
ADC0809的转换结果寄存器在概念上定位为单片机外部RAM单元的一个只读寄存器,与通道号无关。
因此读取转换结果时不必关心DPTR中的通道号如何。
编程概要:
MOVDPTR,#7FF8H;DPTR指向0809通道0
MOVX@DPTR,A;端口地址送DPTR,P2.7=0,锁定通道0并启动转换
--------
MOVXA,@DPTR;读取转换结果
此方式下单片机采用的是查询方式来控制ADC。
还可以采用中断方式的接口电路,只要把图2.2中的EOC引脚经过一非门接到单片机的
引脚上即可。
采用中断方式可大大节省CPU的时间,当转换结束,EOC发出一个信号向单片机提出中断请求,单片机响应中断请求,由外部中断1的中断服务程序读A/D转换结果,并启动ADC0809的下一次转换,外部中断1采用跳沿触发方式。
程序如下:
INT1:
SETBINT1;外部中断1初始化编程
SETBEA;CPU开中断
SETBEX1;选择外中断为跳沿触发方式
MOVDPTR,#7FF8H;端口地址送DPTR
MOVA,#00H
MOVX@DPTR,A;启动0809对IN0通道转换
…;完成其他工作
中断服务程序:
PINT1:
MOVDPTR,#7FF8H;读取A/D结果送内部RAM单元30H
MOVXA,@DPTR
MOV30H,A
MOVA,#00H;启动对IN0的转换
MOVX@DPTR,A
RETI
2.20809与51单片机的第二种连接方式[6]
ADC0809的数据线有一特点:
只能出不能进。
通常芯片的地址线只能进不能出。
因此可以在把51单片机的8位数据线接到ADC0809的8位数据线的同时,又把其中的3位直接接到ADC0809的3根地址线以确定通道号。
如图2.4所示。
通常把51单片机的8位数据线中的低3位D2、D1、D0直接接到ADC0809的3根地址线A2、A1、A0以确定通道号。
采用这种连接方式明显可以省去一片74LS373。
编程概要:
MOVA,#0F8H;ADC0809通道0地址送到A
MOVDPTR,#7FFFH;DPTR指向ADC0809
MOVX@DPTR,A;锁定通道0并启动转换
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
MOVXA,@DPTR;读取转换结果
图2.4
2.30809与51单片机的第三种连接方式[5]
在很多应用场合,51单片机内部的硬件资源,例如AT89S51单片机内部有4kB闪存,128B内部RAM,一个串行口和4个8位并行口等,已经够用。
从而不需要外扩RAM或I/O口。
当51单片机没有外扩RAM和I/O口时,ADC0809就可以在概念上作为一个特殊的唯一的外扩RAM单元。
因此也就没有地址编号,也就不需要任何地址线或者地址译码线。
只要单片机往外部RAM写入,就写到ADC0809的地址寄存器中。
单片机从外部RAM读取数据,就是读ADC0809的转换结果。
基于这种外部RAM的唯一单元概念设计的AT89S51与ADC0809的连接电路如图2.5所示。
编程概要:
MOVA,#0F8H;ADC0809通道0地址送到A
MOVX@R0,A;锁定通道0并启动转换
-----
MOVXA,@R0;读取转换结果
图2.5
三种接口电路各有特点,第一种和第二种接口电路允许多片ADC0809与单片机连接。
一般1片0809就能满足控制工程需要,在单片机没有外扩RAM和I/O接口时,第三种接口电路是优选方案。
用2片或者更多ADC0809时,第二种接口电路是优选方案。
第一种接口电路是在单片机系统有74LS373锁存器的基础上使用比较方便可行。
3ADC0809与单片机制作的数字电压表
从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形式显示出来,如下图3.1所示。
ADC0809的
接+5V电压。
[7]
图3.1数字电压表电路图
其中CD4013由两个相同的、相互独立的触发器构成。
每个触发器有独立的数据、置位、复位、时钟输入和Q及
输出。
此器件可用作移位寄存器,且通过将
输出连接到数据输入,可用作计数器和触发器。
如前所述,使用CD4013目的就是对单片机ALE引脚输出的时钟频率2MHz进行4分频,以提供0809合适的时钟信号。
引脚图及具体单元电路图如图3.2所示。
图3.2CD4013引脚图
硬件连线是:
把单片机系统区域中的P1.0-P1.7与动态数码显示区域中的A、B、C、D、E、F、G、H端口用8芯排线连接。
P2.0-P2.7与动态数码显示区域中的S1——S8端口用8芯排线连接。
P3.0与模数转换模块区域中的ST端子用导线相连接。
P3.1与模数转换模块区域中的OE端子用导线相连接。
P3.2与模数转换模块区域中的EOC端子用导线相连接。
IN3端用导线连接到三路可调电压模块区域中的VR1端子上。
P0.0-P0.7用8芯排线连接到模数转换模块区域中的D0——D7端上。
因为ADC0809的参考电压
=
,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。
实际显示的电压值(D/256
),其中D为转换成的数字量。
[8]
程序设计时注意,进行A/D转换时,采用查询EOC标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0口读入,经数据处理后在数码管上显示。
进行A/D转换之前,要启动转化的方法:
ABC=110选择第三通道。
ST=0,ST=1,ST=0产生启动转换的正脉冲信号。
汇编源程序如下:
CHEQU30H。
DPCNTEQU31H
DPBUFEQU33H
GDATAEQU32H
STBITP3.0
OEBITP3.1
EOCBITP3.2
ORG00H
LJMPSTART
ORG0BH
LJMPT0X
ORG30H
START:
MOVCH,#0BCH
MOVDPCNT,#00H
MOVR1,#DPCNT
MOVR7,#5
MOVA,#10
MOVR0,#DPBUF
LOP:
MOV@R0,A
INCR0
DJNZR7,LOP
MOV@R0,#00H
INCR0
MOV@R0,#00H
INCR0
MOV@R0,#00H
MOVTMOD,#01H
MOVTH0,#(65536-4000)/256
MOVTL0,#(65536-4000)MOD256
SETBTR0
SETBET0
SETBEA
WT:
CLRST
SETBST
CLRST
WAIT:
JNBEOC,WAIT
SETBOE
MOVGDATA,P0
CLROE
MOVA,GDATA
MOVB,#100
DIVAB
MOV33H,A
MOVA,B
MOVB,#10
DIVAB
MOV34H,A
MOV35H,B
SJMPWT
T0X:
NOP
MOVTH0,#(65536-4000)/256
MOVTL0,#(65536-4000)MOD256
MOVA,DPCNT
ADDA,#DPBUF
MOVR0,A
MOVA,@R0
MOVCA,@A+DPTR
MOVP1,A
MOVDPTR,#DPBT
MOVA,DPCNT
MOVCA,@A+DPTR
MOVP2,A
INCDPCNT
MOVA,DPCNT
CJNEA,#8,NEXT
MOVDPCNT,#00H
NEXT:
RETI
DPCD:
DB3FH,06H,5BH,4FH,66H
DB6DH,7DH,07H,7FH,6FH,00H
DPBT:
DB0FEH,0FDH,0FBH,0F7H
DB0EFH,0DFH,0BFH,07FH
END[9]
结束语
ADC0809作为逐次比较型A/D转换器,在精度、速度和价格上都适中,是最常用的A/D转换器件。
在与单片机的接口电路中,关键是要明确0809转换的原理及单片机控制0809的工作过程,并且对软件编程还有一定的要求。
以上三种接口电路所用器件都很常见,电路连接简单,能实现对数据的采集和A/D转换。
在应用此接口电路时,主要根据场合的应用要求以及ADC0809芯片的性能指标来选择合适的应用电路。
ADC0809和单片机制作的数字电压表,是基于0809工作原理以及0809与单片机接口电路的基础上设计的,由于实际电路中模拟量变化较快,因此对软件编程要求相对高些。
此应用电路理论上能基本实现对输入模拟电压的显示。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测量系统等智能化测量领域,展示出强大的生命力。
参考文献
[1]尹建华.微型计算机原理与接口技术[M].北京:
高等教育出版社,2008;513-515
[2]周明德.微机原理与接口技术[M].北京:
人民邮电出版社,2002
[3]张毅刚.单片机原理及应用[M].北京:
高等教育出版社,2004;295-298
[4]王毓银.数字电路逻辑设计/脉冲与数字电路[M].北京:
高等教育出版社,1999
[5]申小海,李俊莉.基于ADC0809的模数转换应用举隅[J].河南师范大学师范大学学报(自然科学版),2008:
166-167
[6]元增民.AT89S51单片机与ADC0809模数转换器的三种典型连接[J].长沙大学学报,2005:
69-72
[7]电子制作2007合订本(上、下册)[J]:
107-109
[8]夏莉英,陈雁.基于ADC0809的模拟电压采样测量方法[J].福建电脑,2008,(5):
166-168
[9]沈庆阳.8051单片机实践与应用[M].北京:
清华大学出版社,2002
[10]JeffersonC.Boyce.DigitalLogicandSwitchingCircuits:
OperationandAnalysis.Prentice-Hall,1975
ADC0809chip’sprinciplesandapplications
DepartmentofElectronic0504StudentWuLixing
TutorWangAizhen
Abstract:
ADC0809isan8-bitsuccessiveapproximationtypeA/DconverterandatypicalA/Dconversionchip,havingamuchwiderapplication.ThispapermainlyintroducestheADC0809chip'sinternallogicstructure,andpindetailesdistribution,itsbasicworkingprinciple.Onthisbasicthedesignofthetwocircuit-relatedapplicatio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADC0809 芯片 原理 应用