单片机与数模及模数转换器接口
- 格式:doc
- 大小:278.50 KB
- 文档页数:14
第九章单片机与数模及模数转换器接口当以单片机为核心组成实时测控系统时,通常需要对被控对象的状态进行测试和对控制条件进行监测,因此需要通过前向输入通道将被测信号输入单片机系统中。
在科学研究和生产过程中,测控系统的被测参数可以是温度、压力、速度等非电量,也可以是电流、电压、功率和开关量等电量。
这些参数信号需通过各类传感器和变送器变换成相应的模拟电量,然后经多路开关汇集送给A/D转换器,转换成相应的数字量送给单片机。
经过单片机处理过的数字量,送给D/A转换器,变换成相应的模拟量对被控系统实施控制和调整,使之处于最佳工作状态,如图8-1所示。
知识要点:输入输出通道的基本知识,数字量输入输出通道和模拟量输入输出通道的结构A/D转换器工作原理和MCS-51系列单片机的连接以及程序设计方法。
D/A转换器工作原理和MCS-51系列单片机的连接以及程序设计方法。
第一节MCS-51单片机与DA转换器的接口和应用一、概述被测信号分为数字量和模拟量两种。
1.数字量输入数字量包括N位并行数字量、开关量和频率信号。
·N位并行数字量可以直接送入单片机的I/O接口。
若N位数字量并行输入,当N=8时,正好利用一个8位I/O接口输入单片机内;当N<8时,可利用一个8位I/O接口输入CPU,然后将其他位屏蔽即可得到N位数据;当N>8时,输入方式有两种:一种是利用多个8位I/O接口,另一种是利用一个I/O接口多次选通输入。
·开关量开关量是输入信号为具有TTL电平的状态信号,如继电器的吸合与断开、光电门的导通与截止、限位开关、按钮、转换开关、接触器等电器的触点通断,其信号电平只有高、低两种电平。
图8-2所示是一种开关量检测电路。
开关量信号经过了光电隔离,适当选择电阻值,使A点电平符合TTL电平的要求,可以将A点接到单片机I/O接口或经三态门接到单片机数据总线,实现开关量信号输入。
·频率信号经放大、整形和隔离等处理,即可得到较为理想的矩形波,这种矩形波可直接送入单片机系统,如图8-3所示。
2.模拟量输入所谓模拟量,就是一些连续变化的物理量,如温度、速度、电压、电流和压力等。
这些被测参数,单片机无法直接处理,需要把这些模拟量通过各类传感器和变送器变换成相应的模拟电量,然后经多路开关汇集送给A/D转换器,转换成相应的数字量送给单片机。
模拟量输入通道一般由传感器、放大器、多路模拟开关、采样保持器和A/D转换器组成,其结构形式取决于被测对象的环境、输出信号的类型、数量和大小等,见表8-1。
说明:根据传感器输出信号的大小和类型,选择前向输入通道结构。
大信号模拟电压,能直接满足A/D转换输入要求,则可直接送入A/D转换器,经过A/D 转换后再送入单片机。
也可通过V/F转换成频率信号送入单片机。
但由于频率测量响应速度慢,多用于一些非快速过程参量的测量,这种通道结构的优点是抗干扰能力强,便于远距离传输。
小信号模拟电压,则首先应将该信号电压放大,放大到能满足A/D转换、V/F转换要求的输入电压。
以电流为输出信号的传感器或传感仪表则首先应通过I/V转换,将电流信号转换成电压信号。
最简单的I/V转换器就是一个精密电阻,当信号电流流过精密电阻时,其电压降与流过的电流大小成正比,从精密电阻两端取出的电压就是I/V变换后的电压信号。
二、A/D转换接口技术A/D转换接口技术的主要内容是合理选择A/D转换器和其他外围器件,实现与单片机的正确连接以及编制转换程序。
A/D转换器(Analog-Digital Converter)是一种能把输入模拟电压或电流变成与其成正比的数字量的电路芯片,即能把被控对象的各种模拟信息变成计算机可以识别的数字信息。
分类:计数器式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行A/D转换器。
计数器式A/D转换器结构很简单,但转换速度也很慢,所以很少采用。
双积分式A/D转换器抗干扰能力强,转换精度很高,但速度不够理想,常用于数字式测量仪表中。
逐次逼近式A/D转换器结构不太复杂,转换速度也高。
计算机中广泛采用其作为接口电路。
并行A/D转换器的转换速度最快,但因结构复杂而造价较高,故只用于那些转换速度极高的场合。
1、概述1)A/D转换器的技术指标:·量化误差(Quantizing Error)与分辨率(Resolution)。
A/D转换器的分辨率表示输出数字量变化一个相邻数码所需输入模拟电压的变化量,习惯上以输出二进制位数或满量程与2n之比(其中n为ADC的位数)表示。
例如A/D转换器AD574A的分辨率为12位,即该转换器的输出数据可以用212个二进制数进行量化,其分辨率为1LSB (1LSB=VFS/212)。
如果用百分数来表示分辨率时,其分辨率为1/2n×100%=1/212×100%=0.0244%一个满量程VFS=10V的12位ADC能够分辨输入电压变化的最小值为2.4mV。
量化误差是由于有限数字对模拟数值进行离散取值(量化)而引起的误差。
因此,量化误差理论上为一个单位分辨率,即士(1/2)LSB。
提高分辩率可减少量化误差。
·转换精度(Conversion Accuracy)。
A/D转换器转换精度反映了一个实际A/D转换器在量化值上与一个理想A/D转换器进行模/数转换的差值,由模拟误差和数字误差组成。
模拟误差是比较器、解码网络中电阻值以及基准电压波动等引起的误差;数字误差主要包括丢失码误差和量化误差,丢失码误差属于非固定误差,由器件质量决定。
·转换时间与转换速率。
A/D转换器完成一次转换所需要的时间为A/D转换时间,是指从启动A/D转换器开始到获得相应数据所需时间(包括稳定时间)。
通常,转换速率是转换时间的倒数,即每秒转换的次数。
2)A/D转换器选择要点·确定A/D转换器精度及分辨率。
用户提出的测控精度要求是综合精度要求,它包括了传感器精度、信号调节电路精度和A/D转换精度及输出电路、伺服机构精度,而且还包括测控软件的精度。
应将综合精度在各个环节上进行分配,以确定对A/D转换器的精度要求,据此确定A/D转换器的位数。
通常A /D转换器的位数至少要比综合精度要求的最低分辨率高一位,而且应与其他环节所能达到的精度相适应。
·确定A/D转换器的转换速率。
通常根据被测信号的变化率及转换精度要求,确定A/D转换器的转换速率,以保证系统的实时性要求。
用不同原理实现的转换器,其转换速率是不一样的,如积分型的、跟踪比较型的A/D转换器转换速率较慢,转换时间一般为几毫秒到几十毫秒,一般用于温度、压力、流量等缓变参量的检测。
计算机中广泛采用逐次逼近式A/D转换器为中速转换器,常用于工业多通道单片机测控系统等。
并行A/D转换器的转换速度最快,故常用于如实时瞬态记录等转换速度极高的场合。
·确定环境参数。
根据使用环境条件,确定A/D转换芯片要求的一些环境:工作温度、功耗和可靠性等级等。
2、A/D转换典型芯片ADC08098位8通道逐次逼近式A/D转换器,CMOS工艺,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,其转换时间为100us左右。
1)ADC0809的内部逻辑结构ADC 0809内部逻辑结构如图所示。
图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换。
地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择。
2)信号引脚ADC0809芯片为28引脚双列直插式封装,其引脚排列见图9.14.对ADC0809主要信号引脚的功能说明如下:·IN0~IN7—模拟量输入通道信号单极性,电压范围0-5V,若信号过小还需进行放大。
模拟量输入在A/D转换过程中其值不应变化,对变化速度快的模拟量,在输入前应增加采样保持电路。
·A、B、C地址线A为低位地址,C为高位地址,模拟通道的选择信号,引脚图中为ADDA,ADDB和ADDC。
其地址状态与通道对应关系见表9-1·ALE 地址锁存允许信号对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。
·START 转换启动信号START上跳沿时,所有内部寄存器清“0”;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。
本信号有时简写为ST。
·D7~D0 数据输出线为三态缓冲输出形式,可以和单片机的数据线直接相连。
D0为最低位,D7为最高位。
·OE 输出允许信号用于控制三态输出锁存器向单片机输出转换得到的数据。
OE=0,输出数据线呈高电阻;OE=1,输出转换得到的数据。
·CLK 时钟信号ADC 0809的内部没有时钟电路,所需时钟信号由外界提供。
通常使用频率为500kHz 的时钟信号。
·EOC 转换结束信号EOC=0,正在进行转换;EOC=1,转换结束。
使用中该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。
·Vcc +5V电源·V ref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。
其典型值为+5V (Vref(+)=+5V,Vref(一)=0V)。
3)单片机与ADC0809接口三个问题:①要给START线送一个100ns宽的起动正脉冲;②获取EOC线上的状态信息,因为它是A/D转换的结束标志;③要给“三态输出锁存器”分配一个端口地址,也就是给OE线上送一个地址译码器输出信号。
MCS-51和ADC接口通常可以采用定时、查询和中断三种方式。
·定时传送方式对于每种A/D转换器,转换时间作为一项技术指标,是已知的和固定的。
如ADC0809的转换时间为128us。
可以设计一延时子程序,当启动转换后,CPU调用该延时子程序或用定时器定时,延时时间或定时时间稍大于A/D转换所需时间。
等时间一到,转换已经完成,就可以从“三态输出锁存器”读取数据。
特点:电路连接简单,但CPU费时较多。
·查询方式采用查询法就是将转换结束信号接到I/O接口的某一位,或经过三态门接到单片机数据总线上。
A/D转换开始之后,CPU就查询转换结束信号,即查询EOC引脚的状态:若它为低电平,表示A/D转换正在进行,则MCS-51应当继续查询;若查询到EOC变为高电平,则给OE线送一个高电平,以便从线上提取A/D转换后的数字量。
特点:占用CPU时间,但设计程序比较简单。
·中断方式采用中断方式传送数据时,将转换结束信号接到单片机的中断申请端,当转换结束时申请中断,CPU响应中断后,通过执行中断服务程序,使OE引脚变高电平,以提取A/D转换后的数字量。