什么是单片机的A/D 转换器接口
扫描二维码
随时随地手机看文章
由于单片机只能处理数字量,因而应用系统中凡遇到有模拟量的地方,就要进行模拟量向数字量或数字量向模拟量的转换,这就需要解决单片机与 A/D 和 D/A 的接口问题。
目前 A/D、D/A 转换器都已集成化,具有体积小、功能强、可靠性高、误差小、功耗低等特点,并能很方便地与单片机连接。
A/D 转换器接口
1.概述
A/D 转换器用以实现模拟量向数字量的转换。按转换原理可分为 4 种:计数式 、双积 分式、逐次逼近式以及并行式 A/D 转换器。
逐次逼近式 A/D 转换器是一种速度较快,精度较高的转换器,其转换时间大约在几微秒到几百微秒之间。常用的这种芯片有:
(1) ADC0801~ADC0805 型 8 位 MOS 型 A/D 转换器;
(2) ADC0808/0809 型 8 位 MOS 型 A/D 转换器;
(3) ADC0816/0817 型 8 位 MOS 型 A/D 转换器。
量化间隔和量化误差是 A/D 转换器的主要技术指标之一。
量化间隔由下式计算:
其中 n 为 A/D 转换器的位数。
量化误差有两种表示方法:一种是绝对量化误差;另一种是相对量化误差。
绝对量化误差
相对量化误差
2.典型 A/D 转换器芯片 ADC0809 简介
ADC0809 是 8 位逐次逼近式 A/D 转换器。带 8 个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。启动信号为脉冲启动方 式,最大可调误差为 ±1LSB 。 ADC0809 内部设有时钟电路,故 CLK 时钟需由外部输入,fclk 允许范围为 500kHz~ 1 MHz,典型值为 640kHz 。每一通道的转换需 66~73 个时钟脉冲,大约 100~110 μs 。
ADC0809 的内部结构图见图 7.32,芯片引脚如图 7.33 所示。
图 7.33 ADC0809 引脚图
引脚功能介绍如下:
IN0 ~IN7 :8 路输入通道的模拟量输入端口。
2-1 ~2-8 :8 位数字量输出端口。
STAR,ALE:STAR 为启动控制输入端口,ALE 为地址锁存控制信号端口。这两个信号连在一起,当输入一个正脉冲时,便立即启动模/数转换。
EOC,OE:EOC 为转换结束信号脉冲输出端口,OE 为输出允许控制端口。这两个信号亦可连在一起表示 A/D 转换结束。OE 端的电平由低变高,打开三态输 出锁存器,将转换结果的数字量输出到数据总线上。
REF(+), REF(-), VCC ,GND:REF(+) 和 REF(-) 为参考电压输入端,VCC 为主 电源输入端,GND 为接地端。
CLK:时钟输入端。
ADD A 、B、C:8 路模拟开关的 3 位地址选通输入端,其对应关系如表 7.9 所示。
ADC0809 时序图如图 7.34 所示。其中,
tWS :最小启动脉宽,典型值为 100ns,最大为 200ns 。
tWE :最小 ALE 脉宽,典型值为 100ns,最大为 200ns 。
tD :模拟开关延时,典型值为 1 μs,最大为 2.5 μs 。
tC :转换时间 ,当 fclk=640kHz 时,典型值为 100 μs,最大为 116 μs 。
tEOC:转换结束延时,最大为 8 个时钟周期加 2 μs。
图 7.34 ADC0809 时序图
3.ADC0809 与 8031 的接口电路
ADC0809 与 8031 的硬件接口有三种方式:查询方式、中断方式和等待延时。下面介绍最常用的查询与中断方式。
1) 查询方式
ADC0809 与 8031 的硬件接口如图 7.35 所示。
在编程时,令 P2.7=A15=0 ,A0 A1 A2 给 出被选择的模拟通道的地址;执行一条输 出 指令,启动 A/D 转换;执行一条输入指令,读取 A/D 转换结果。
下面的程序是采用查询方法,分别对 8 路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序。
2) 中断方式
ADC0809 与 8031 的硬件接口如图 7.36 所示。
图 7.36 ADC0809 中断方式硬件接口
这里将 ADC0809 作为一个外部扩展的并行 I/O 口,直接由 8031 的 P2.0 和 WR脉冲 进行启动。因而其端口地址为 0FEFFH。用中断方式读取转换结果的数字量,模拟量输入通道选择端 ADD A 、ADDB、ADDC 分别与 8031 的 P0.0 、P0.1 、P0.2 直接相连,CLK 由 8031 的 ALE 提供。其读取通道 0 转换后的数字量程序段如下: