首页 理论教育 MCS-51单片机与A/D转换器芯片的接口技术优势

MCS-51单片机与A/D转换器芯片的接口技术优势

时间:2023-10-23 理论教育 版权反馈
【摘要】:本节就介绍A/D转换器与单片机的接口问题。现在部分的单片机片内也集成了A/D转换器,在片内A/D转换器不能满足需要,还是需外扩A/D转换器。常见的逐次比较型A/D转换器为ADC0809、AD1674等。

MCS-51单片机与A/D转换器芯片的接口技术优势

模/数(A/D)转换技术在数字测量和数字控制技术中非常重要。单片机用于实时控制和智能仪表等应用系统时,数据采集的被检测信号常常是连续变化的模拟量(如温度、压力、速度流量等物理量),这些模拟量必须经过A/D转换器转换成数字量才能送给单片机处理。A/D转换器实现将模拟量转换成数字量。本节就介绍A/D转换器与单片机的接口问题。

8.2.2.1 A/D转换器概述

目前A/D转换芯片种类繁多,对设计者来说,只需合理的选择芯片即可。现在部分的单片机片内也集成了A/D转换器,在片内A/D转换器不能满足需要,还是需外扩A/D转换器。

根据内部原理的不同,A/D转换器可分为下面4种:

(1)逐次比较型A/D转换器是逐次逼近式的,它是一种速度较快,精度较高的转换器,其转换时间大约在几微秒到几百微秒之间,在精度、速度和价格上都适中,它是最常用的A/D转换器。常见的逐次比较型A/D转换器为ADC0809、AD1674等。

(2)双积分型A/D转换器,具有精度高、抗干扰性好、价格低廉等优点,与逐次比较型A/D转换器相比,转换速度较慢,近年来在单片机应用领域中也得到广泛应用。常见的双积分型A/D转换器为MC14433、ICL7135等。

(3)V/F型A/D转换器在某些要求数据长距离传输,精确度要求较高的场合,采用一般的A/D转换技术有多不便,可使用V/F转换器代替A/D器件。V/F转换器是把电压信号转变为频率信号的器件,有良好的精度、线性和积分输入特点,此外,它的应用电路简单,外围元件性能要求不高,适应环境能力强,转换速度不低于一般的双积分型A/D器件,且价格低,因此V/F转换技术广泛用于非快速而需进行远距离信号传输的A/D转换过程中。常用的通用型的V/F转换器为LM331等。

(4)∑—Δ式ADC具有积分式与逐次比较型ADC的双重优点。它对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,它比双积分ADC有较高的转换速度,与逐次比较型ADC相比,有较高的信噪比分辨率高,线性度好,不需要采样保持电路。由于上述优点,∑—Δ式ADC得到了重视,已有多种∑—Δ式A/D芯片可供用户选用,如24位的ADS1210/1211等。

按照输出数字量的有效位数,A/D转换器可分为4位、8位、10位、12位、14位、16位并行输出以及BCD码输出的3位半、4位半、5位半等多种。

除并行输出A/D转换器外,随着单片机串行扩展方式的日益增多,带有同步SPI串行接口的A/D转换器的使用也逐渐增多。串行输出的A/D转换器具有占用端口线少、使用方便、接口简单等优点,因此,读者要给予足够重视。较为典型的串行A/D转换器为美国TLC549(8位)、TLC1549/1543(10位)、AD7810(10位)和TLC2543(12位)等。

按照转换速度,A/D转换器大致分为超高速(转换时间≤1ns)、高速(转换时间≤1μs)、中速(转换时间≤1ms)、低速(转换时间≤1s)等几种不同转换速度的芯片。

为适应系统集成的需要,有些转换器还将多路转换开关、时钟电路、基准电压源、二—十进制译码器和转换电路集成在一个芯片内,为用户提供很多方便。

8.2.2.2 A/D转换器的主要技术指标

1.转换时间和转换速率

A/D完成一次转换所需要的时间。转换时间的倒数为转换速率。

2.分辨率

分辨率是衡量A/D转换器能够分辨出输入模拟量最小变化程度的技术指标。分辨率取决于A/D转换器的位数,所以习惯上用输出的二进制位数或BCD码位数表示。

例如,A/D转换器AD1674的满量程输入电压为5V,可输出12位二进制数,即用212个数进行量化,其分辨率为1LSB,也即5/212=1.22(m V),其分辨率为12位,或A/D转换器能分辨出输入电压1.22m V的变化。又如,输出BCD码的A/D转换器MC14433,其满量程输入电压为2V,其输出最大的十进制数为1999,分辨率为3位半(BCD码),如果换算成二进制位数表示,其分辨率约为11位,因为1999最接近于211=2048。

量化过程引起的误差称为量化误差。它是由于有限位数字量对模拟量进行量化而引起的误差。理论上规定为一个单位分辨率的-1/2~+1/2LSB,提高A/D位数既可以提高分辨率,又能够减少量化误差。

3.转换精度

A/D转换器的转换精度定义为一个实际A/D转换器与一个理想A/D转换器在量化值上的差值,可用绝对误差相对误差表示。

8.2.2.3 MCS-51与ADC0809的接口

1.A/D转换芯片ADC0809简介

ADC0809是CMOS单片型逐次逼近型8位A/D转换器,共有28个引脚,采用双列直插式封装,片内除8位A/D转换部分外,还具有8路模拟量输入通道,带有通道地址译码锁存器,输出带有三态数据锁存器,有转换启动控制和转换结束标志。8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。模拟输入电压范围为0~+5V,转换时间为100μs,ADC0809的外部引脚和内部结构如图8-26所示。

图8-26 ADC0809的外部引脚和内部结构图

(1)引脚说明。共28引脚,双列直插式封装。引脚功能如下:

1)IN0~IN7:8路模拟量输入端;(www.xing528.com)

2)D0~D7:8位数字量输出端;

3)ADDA、ADDB、ADDC:3位地址输入线,用于选择8路模拟通道中的一路,选择情况见图8-27。

图8-27 地址输入线选择情况

4)ALE:地址锁存信号输入端。高电平时把3个地址信号A、B、C送入地址锁存器,并经过译码器得到地址输出,以选择相应的模拟输入通道。

5)START:转换的启动信号输入端。加上正脉冲后,A/D转换才开始进行。在正脉冲的上升沿,所有内部寄存器清零。在正脉冲的下降沿,开始进行A/D转换。在此期间START应保持为低电平。

6)EOC:转换结束信号输出端。在START下降沿后10μs左右,EOC为低电平,表示正在进行转换;转换结束时,EOC返回高电平,表示转换结束。EOC常用于A/D转换状态的查询或作中断请求信号。

7)OE:输出允许控制输入端。OE直接控制三态输出锁存器输出数字信息,高电平有效。当转换结束后,如果从该引脚输入高电平,则打开输出三态门,允许转换后的结果从D0~D7送出。若OE输入低电平,则数字输出口为高阻态。

8)CLK:时钟信号输入端。ADC内部没有时钟电路,故需外加时钟信号。其最大允许值为640k Hz,通常使用500k Hz的时钟信号。

9)V REF+、VREF-:基准电压输入端。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为V REF+=+5V,VREF-=0V。

10)VCC电源,接+5V电源;GND:地引脚。

(2)ADC0809的工作过程。ADC0809的工作时序如图8-28所示。完成一次转换所需要的时间为66~73个时钟周期。ADDA、ADDB、ADDC输入的通道地址在ALE有效时被锁存,经地址译码器译码,从8路模拟通道中选通一路。启动信号START(高脉冲)的上升沿使逐次逼近寄存器复位,下降沿启动A/D转换,并使EOC信号在START的下降沿到来10μs后变为无效的低电平,这要求查询程序待EOC无效后再开始查询。当转换结束时,转换结果送入到输出三态锁存器中,并使EOC信号为高电平。通知CPU已转换结束。当CPU执行一条读数据指令后,使OE为高电平,则从输出端D0~D7读出数据。

ADC0809采用逐次比较法完成A/D转换,单一的+5V电源供电。片内带有锁存功能的8选1模拟开关,由C、B、A的编码来决定所选的通道。完成一次转换需100μs左右(转换时间与CLK脚的时钟频率有关),具有输出TTL三态锁存缓冲器,可直接连到单片机数据总线上。通过适当的外接电路,ADC0809可对0~5V的模拟信号进行转换。

图8-28 ADC0809的工作时序

2.ADC0809与MCS-51单片机的接口

硬件连接。如图8-29所示的是一个ADC0809与MCS-51单片机的典型接口电路图。图8-29中,由于ADC0809片内无时钟,可利用单片机提供的地址锁存允许信号ALE经74LS74 D触发器2分频后获得,ALE引脚的频率是单片机时钟频率的1/6(但要注意,每当访问外部数据存储器时,将少一个ALE脉冲)。如果单片机时钟频率采用6MHz,则ALE引脚的输出频率为1MHz,再二分频后为500k Hz,符合ADC0809对时钟频率的要求。当然,也可采用独立的时钟源输出,直接加到ADC的CLK脚。图中的基准电压是提供给A/D转换器在转换时所需要的基准电压,这是保证转换精度的基本条件。基准电压要单独用高精度稳压电源供给,其电压的变化要小于1LSB。否则当被变换的输入电压不变,而基准电压的变化大于1LSB,也会引起A/D转换器输出的数字量变化。

图8-29 ADC0809与MCS-51单片机的接口电路图

通道地址由MCS-51单片机的P0端口的低3位直接提供。由于ADC0809的地址锁存器具有锁存功能,所以P0.0、P0.1和P0.2可以不需要锁存器而直接与ADC0809的ADDA、ADDB、ADDC连接。

MCS-51单片机通过地址线P2.7和img信号线来控制ADC0809的锁存信号ALE、启动信号START、输出允许信号OE。锁存信号ALE和启动信号START连接在一起,锁存的同时启动。当P2.7和img写信号同时为地电平时,锁存信号ALE和启动信号START有效,通道地址送地址锁存器锁存,同时启动ADC0809开始转换。当转换结束,要读取转换结果时,只要P2.7和img读信号同为低电平,输出允许信号OE有效,转换的数字量就通过D0~D7输出。按时图中的片选接法,ADC0809的模拟通道IN0~IN7的地址为7FF8~7FFFH。

3.A/D转换应用程序举例

【例8-5】 设图8-29接口电路用于一个8路模拟量输入的巡回检测系统,分别采用查询方式和中断方式采样数据,把采样转换所得的数字量按序存储于片内RAM的30H~37 H单元中。采样完一遍后停止采集。

(1)采用查询方式结构。设数据暂存区的首地址为30H,需要进行A/D转换的模拟信号的通道个数为8。

C语言编程如下:

以上程序仅对8路通道的模拟量进行了一次A/D转换,实际中则需要反复多次的或者定时的循环检测转换。

(2)采用中断方式结构。在图8-29中,转换结束信号EOC与MCS-51单片机的外中断img相连。由于逻辑关系相反,电路中通过非门连接,当转换结束时EOC为高电平,经反向后,向MCS-51单片机发出中断请求,CPU相应中断后,在中断服务程序中通过读操作来取得转换的结果。中断方式结构的程序由主程序和中断服务程序合成,中断源设为img

汇编语言编程如下:

C语言编程如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈