ADC0809芯片的原理及应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
引言 (1)
1 ADC0809的逻辑结构 (1)
1.1 ADC0809引脚结构 (1)
1.2 ADC0809的主要性能指标 (3)
1.3 ADC0809的内部逻辑结构 (3)
1.4 ADC0809的时序 (4)
2 ADC0809与MCS-51单片机的接口电路 (5)
2.1 0809与51单片机的第一种连接方式 (7)
2.2 0809与51单片机的第二种连接方式 (9)
2.3 0809与51单片机的第三种连接方式 (10)
3 ADC0809与单片机制作的数字电压表 (11)
总结 (16)
参考文献 (16)
英文翻译 (17)
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位单片机系统中得到了广泛的应用。
1 ADC0809的逻辑结构
ADC0809是带有8位A/D转换器、8路模拟开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D
转换器,是目前应用比较广泛的A/D转
换芯片之一,主要适用于对精度和采样
速率要求不高的场合或一般的工业控
制领域,可以和单片机直接相连。
它具
有8个通道的模拟量输入线,可在程序
控制下对任意通道进行A/D转换得到8
位二进制数字量。
[1]图1.1 0809引脚图
1.1 ADC0809引脚结构
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]
(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脚)为地线。
+REF V 和-REF V (12、16脚)为参考电压输入线,用于给电阻网络供给标准电
压。
+REF V 常接+5V ,-REF V 常接地或-5V 。
两个参考电压的选择必须满足以下条件:
CC REF REF V V V ≤≤≤+-0
CC REF REF V V V 2
12=+-+ 从输入的模拟电压IN U 转换成数字量的公式为
82⨯--=-
+-REF REF REF IN V V V U N 例如+REF V =+5V ,-REF V =0V ,IN U 转换成数字量的公式为
82⨯=+
REF IN V U N 输入的模拟电压为IN U =2.5V ,则N=128=80H 。
[1]
1.2 ADC0809的主要性能指标
分辨率:8位。
模拟量电压输入范围:0-5V 。
线性误差:±1LSB 。
其中LSB 为数字输出最低位,LSB=|REF V |/256。
若使
用+5V 电压,那么线性误差为0.019V 。
[4]
外接时钟频率:10kHz 到1.2MHz 。
一般为640kHz 。
转换时间:100µs 。
功耗:15mW 。
1.3 ADC0809的内部逻辑结构
ADC0809的内部逻辑结构如图1.2所示,它主要由三部分组成。
第一部分:模拟输入选择部分,包括一个8路模拟开关、一个地址锁存译码电路。
输入的3位通道地址信号由锁存器锁存,经译码电路后控制模拟开关选择相应的模拟输入。
第二部分:转换器部分,主要包括比较器,8位A/D 转换器,逐次逼近
寄存器SAR,电阻网络以及控制逻辑电路等。
第三部分:输出部分,包括一个8位三态输出缓冲器,可直接与CPU数据总线接口。
[1]
图1.2 ADC0809内部逻辑结构图
由于芯片性能特点是一个逐次逼近型的A/D 转换器,外部供给基准电压;分辨率为8位,带有三态输出锁存器,转换结束时,可由CPU打开三态门,读出8位的转换结果;有8个模拟量的输入端,可引入8路待转换的模拟量。
ADC0809的数据输出结构是内部有可控的三态缓冲器,所以它的数字量输出信号线可以与系统的数据总线直接相连。
内部的三态缓冲器由OE控制,当OE为高电平时,三态缓冲器打开,将转换结果送出;当OE为低电平时,三态缓冲器处于阻断状态,内部数据对外部的数据总线没有影响。
因此,在实际应用中,如果转换结束,要读取转换结果则只要在OE引脚上加一个正脉冲,ADC0809就会将转换结果送到数据总线上。
1.4 ADC0809的时序[2]
ADC0809的时序图如图1.3所示。
从时序图可以看出ADC0809的启动信号START是脉冲信号,也即此芯片是靠脉冲启动的。
当模拟量送至某一通道后,由三位地址信号译码选择,地址信号由地址锁存允许信号ALE锁存。
启动脉冲START到来后,ADC0809就开始进行转换。
启动正脉冲的宽度应大于200ns,其上升沿复位逐次逼近SAR,其下降沿才正真开始转换。
START在上升沿后2us在加上8个时钟周期的时间,EOC才变为低电平。
当转换完成后,输出转换信号
EOC由低电平变为高电平有效信号。
输出允许信号OE打开输出三态缓冲器的门,把转换结果送到数据总线上。
使用时可利用EOC信号短接到OE端,也可利用EOC信号向CPU申请中断。
图1.3 ADC0809的时序图
2 ADC0809与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.1 MCS-51扩展的三总线
在扩展系统中还需要一些控制信号线,以构成扩展系统的控制总线。
这些
信号有的是引脚的第一功能,有的是P3口的第二功能信号,主要包括:使用ALE 信号作为低8位地址的锁存控制信号;以EA 信号作为内外程序存储器的选择控制信号,1=EA 时,访问片内程序存储器,0=EA 时,访问片外程序存储器;由RD 和WR 信号作为扩展数据存储器和I/O 的读选通和写选通信号;以PSEN 信号作为扩展程序存储器的读选通信号用来接外扩EPROM 的OE 引脚。
总的来说,单片机控制ADC0809的工作过程是:首先用指令选择0809的一
个模拟输入通道,当执行MOVX @DPTR ,A 时,单片机的WR 信号有效,因此产生一个启动信号,给START 引脚送入脉冲,开始对已选中的通道进行转换。
这就是前面所说的第一个问题:8路模拟通道的选择问题。
转换结束后,0809发出转换结束EOC 信号,即通过检查EOC 引脚的电平即
可,高电平时转换结束。
此信号供单片机查询,也可以反向后作为向单片机发出的中断请求信号。
当在执行MOVX A ,@DPTR 时,单片机发出读控制信号RD ,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 转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。
不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。
首先送出口地址并以RD信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接收。
这里需要说明的是,ADC0809的三个地址端A、B、C 可如前所述与地址线相连,也可与数据线相连,例如与D0~D2相连。
这时启动A/D转换的指令与上述类似,只不过A的内容不能为任意数,而必须和所选输入通道号IN0~IN7相一致。
例如当A、B、C分别与D0、D1、D2相连时,启动IN7的A/D转换指令如下:
MOV DPTR, #FE00H ;送入0809的口地址
MOV A ,#07H ;D2D1D0=111选择IN7通道
MOVX @DPTR, A ;启动A/D转换[5]
模数转换器定位为单片机的外部RAM单元,因此与单片机的连接就有很多种。
大体上说ADC0809在整个单片机系统中是作为外部RAM的一个单元定位的。
具体到某一个连接方式,定位又有区别。
0809与单片机典型的连接有以下三种:2.1 0809与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 转换时,由单片机的写信号WR和P2.7引脚信号控制ADC的地址锁存和转换启动,由于ALE信号与START信号接在一起,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。
图2.3是有关信号的时间配合示意图。
图2.3信号的时间配合
在读取转换结果时,用低电平的读信号RD和P2.7引脚经1级或非门后,产生的正脉冲作为OE信号,用以打开输出三态锁存器。
ADC0809的转换结果寄存器在概念上定位为单片机外部RAM单元的一个只读寄存器,与通道号无关。
因此读取转换结果时不必关心DPTR 中的通道号如何。
编程概要:
MOV DPTR , # 7FF8H; DPTR 指向0809 通道0
MOVX @DPTR ,A ;端口地址送DPTR,P2.7=0,锁定通道0 并启动转换
--------
MOVX A , @DPTR ;读取转换结果
此方式下单片机采用的是查询方式来控制ADC。
还可以采用中断方式的接口
INT引脚上即可。
电路,只要把图2.2中的EOC引脚经过一非门接到单片机的1
采用中断方式可大大节省CPU的时间,当转换结束,EOC发出一个信号向单片机提出中断请求,单片机响应中断请求,由外部中断1的中断服务程序读A/D 转换结果,并启动ADC0809的下一次转换,外部中断1采用跳沿触发方式。
程序如下:
INT1: SETB INT1 ;外部中断1初始化编程
SETB EA ;CPU开中断
SETB EX1 ;选择外中断为跳沿触发方式
MOV DPTR, #7FF8H ;端口地址送DPTR
MOV A, #00H
MOVX @DPTR, A ;启动0809对IN0通道转换
…;完成其他工作
中断服务程序:
PINT1:MOV DPTR, #7FF8H ;读取A/D结果送内部RAM单元30H
MOVX A, @DPTR
MOV 30H, A
MOV A, #00H ;启动对IN0的转换
MOVX @DPTR,A
RETI
2.2 0809与51单片机的第二种连接方式[6]
ADC0809的数据线有一特点:只能出不能进。
通常芯片的地址线只能进不能出。
因此可以在把51单片机的8 位数据线接到ADC0809的8位数据线的同时,又把其中的3位直接接到ADC0809的3根地址线以确定通道号。
如图2.4所示。
通常把51单片机的8位数据线中的低3位D2、D1、D0直接接到ADC0809的3根地址线A2、A1、A0以确定通道号。
采用这种连接方式明显可以省去一片74LS373。
编程概要:
MOV A , # 0F8H ; ADC0809 通道0 地址送到A
MOV DPTR , # 7FFFH ; DPTR 指向ADC0809
MOVX @DPTR ,A ;锁定通道0 并启动转换
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
MOVX A , @DPTR ;读取转换结果
图2.4
2.3 0809与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所示。
编程概要:
MOV A , #0F8H ; ADC0809 通道0 地址送到A
MOVX @R0 ,A ;锁定通道0 并启动转换
-----
MOVX A , @R0 ;读取转换结果
图2.5
三种接口电路各有特点,第一种和第二种接口电路允许多片ADC0809与单片机连接。
一般1片0809就能满足控制工程需要,在单片机没有外扩RAM和I/O接口时,第三种接口电路是优选方案。
用2片或者更多ADC0809时,第二种接口电路是优选方案。
第一种接口电路是在单片机系统有74LS373锁存器的基础上使用比较方便可行。
3 ADC0809与单片机制作的数字电压表
从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数
V接字量在数码管上以十进制形式显示出来,如下图3.1所示。
ADC0809的
REF
+5V电压。
[7]
图3.1 数字电压表电路图
其中CD4013由两个相同的、相互独立的触发器构成。
每个触发器有独立的数据、置位、复位、时钟输入和Q及Q输出。
此器件可用作移位寄存器,且通过将Q输出连接到数据输入,可用作计数器和触发器。
如前所述,使用CD4013目的就是对单片机ALE引脚输出的时钟频率2MHz进行4
分频,以提供0809合适的时钟信号。
引脚图及具体单元电路图如图3.2所示。
图3.2 CD4013引脚图
硬件连线是:把单片机系统区域中的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的参考电压+REF V =CC V ,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。
实际显示的电压值(D/256⨯REF V ),其中D 为转换成的数字量。
[8]
程序设计时注意,进行A/D 转换时,采用查询EOC 标志信号来检测A/D 转
换是否完毕,若完毕则把数据通过P0口读入,经数据处理后在数码管上显示。
进行A/D 转换之前,要启动转化的方法:
ABC=110选择第三通道。
ST=0,ST=1,ST=0产生启动转换的正脉冲信号。
汇编源程序如下:
CH EQU 30H 。
DPCNT EQU 31H
DPBUF EQU 33H
GDATA EQU 32H
ST BIT P3.0
OE BIT P3.1
EOC BIT P3.2
ORG 00H
LJMP START
ORG 0BH
LJMP T0X
ORG 30H
START: MOV CH,#0BCH
MOV DPCNT,#00H
MOV R1,#DPCNT
MOV R7,#5
MOV A,#10
MOV R0,#DPBUF
LOP: MOV @R0,A
INC R0
DJNZ R7,LOP
MOV @R0,#00H
INC R0
MOV @R0,#00H
INC R0
MOV @R0,#00H
MOV TMOD,#01H
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256
SETB TR0
SETB ET0
SETB EA
WT: CLR ST
SETB ST
CLR ST
WAIT: JNB EOC,WAIT
SETB OE
MOV GDATA,P0
CLR OE
MOV A,GDATA
MOV B,#100
DIV AB
MOV 33H,A
MOV A,B
MOV B,#10
DIV AB
MOV 34H,A
MOV 35H,B
SJMP WT
T0X: NOP
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256
MOV A,DPCNT
ADD A,#DPBUF
MOV R0,A
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
MOV DPTR,#DPBT
MOV A,DPCNT
MOVC A,@A+DPTR
MOV P2,A
INC DPCNT
MOV A,DPCNT
CJNE A,#8,NEXT
MOV DPCNT,#00H
NEXT: RETI
DPCD: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH,00H
DPBT: DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,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.Digital Logic and Switching Circuits: Operation and Analysis.
Prentice-Hall, 1975
ADC0809 chip’s principles and applications Department of Electronic 0504 Student Wu Lixing
Tutor Wang Aizhen Abstract: ADC0809 is an 8-bit successive approximation type A / D converter and a typical A / D conversion chip, having a much wider application. This paper mainly introduces the ADC0809 chip's internal logic structure, and pin detailes distribution, its basic working principle. On this basic the design of the two circuit-related applications--ADC0809 connected with the single-chip meeting circuit system and digital voltage meter, both of the feasibility of application of the circuit is discussed. Employing the application circuit of the ADC0809, I raise a more comprehensive application system analysis and design capacity. It plays a great guiding significance to put into practice.
Keywords: ADC0809 ; Analog-to-digital conversion ; SCM。