《单片机原理与应用技术》课件第10章_第1页
《单片机原理与应用技术》课件第10章_第2页
《单片机原理与应用技术》课件第10章_第3页
《单片机原理与应用技术》课件第10章_第4页
《单片机原理与应用技术》课件第10章_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

10.1A/D转换器概述10.2ADC0809模/数转换器10.3ADC0809数/模转换器10.4开关量功率接口技术10.5开关量输入接口第10章单片机测控接口图10.1为单片机用于测控系统时的框图。在这个系统中,单片机需要完成把模拟信号转换为数字信号(A/D转换),把数字信号转换为模拟信号(D/A转换),以及与开关量的输入、输出(I/O)接口等功能。图10.1单片机用于测控系统框图

A/D、D/A、I/O在基于PC机、工控机的应用中一般是用商品化的数据采集卡、控制卡来实现的。而在单片机应用系统设计中一般都由设计者完成。

本书也和目前大多数国内教材一样,采用ADC0809和DAC0832作为经典例程来学习A/D、D/A。读者可以从中学到基本的接口知识。但由于目前MCS-51系列单片机的许多增强机型都自带A/D、D/A,因此在做产品设计时,设计者可以尽量选用。第12章中所介绍的串行扩展总线的A/D、D/A也应该优先选用。

开关量的输入/输出、功率接口等,在机电一体化的设备中应用较多,本章也给予介绍。

将模拟量转换成数字量的器件称为A/D转换器,简称ADC(Analog-to-DigitalConverter)。这里模拟量主要指电压量。

1. A/D转换器的分类

随着超大规模集成电路技术的飞速发展,大量结构不同、性能各异的A/D转换芯片应运而生。根据转换原理可将A/D转换器分成两大类:直接型A/D转换器和间接型A/D转换器。根据转换方式又可分为逐次比较型、双积分型、Σ-Δ型、并行比较型/串并行比较型和压频变换型等。10.1A/D转换器概述

1)逐次比较型

逐次比较型A/D转换器由一个比较器和D/A转换器通过逐次比较逻辑构成,从MSB(MostSignificantBit,最高有效位)开始,顺序地将每一位输入电压与内置D/A转换器的输出值进行比较,经n次比较后输出数字值,亦称为逐次逼近型A/D转换器。其电路规模属于中等。其优点是速度较高、功耗低,在低分辨率(<12位)时价格便宜,但高精度(>12位)时价格较高。

2)双积分型

双积分型A/D转换器的工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但由于转换精度依赖于积分时间,因此转换速率极低。由于其精度高、抗干扰性好、价格低廉,因此得到了广泛应用,如目前广泛使用的TLC7135等。

3) Σ-Δ型

Σ-Δ型A/D转换器由积分器、比较器、1位D/A转换器和数字滤波器等组成。Σ-Δ型在原理上近似于积分型,将输入电压转换成时间(脉冲宽度)信号,用数字滤波器处理后得到数字值。它具有积分型与逐次比较型A/D转换器的双重优点,对工业现场的干扰具有的较强的抑制能力不亚于双积分A/D,但它比双积分A/D转换器的转换速度快,与逐次比较型A/D转换器相比,有较高的信噪比,分辨率高,线性度好。因此,Σ-Δ型目前得到了广泛应用。

4)并行比较型/串并行比较型

并行比较型A/D转换器采用多个比较器,仅作一次比较而实行转换,又称flash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格高,只适用于视频A/D转换器等速度特别高的领域。串并行比较型A/D转换器结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型A/D转换器配合D/A转换器组成,用两次比较实行转换,所以称为halfflash(半快速)型。还有分成三步或多步实现A/D转换的叫做分级(multistep/subrangling)型A/D转换器,而从转换时序角度又可称为流水线(pipelined)型A/D转换器。现代的分级型A/D转换器中还加入了对多次转换结果作数字运算而修正等功能。这类A/D转换器的速度比逐次比较型A/D转换器的高,电路规模比并行型A/D转换器的小,如TLC5510等。

5)压频变换型(VFC)

压频变换型(VFC—Voltage-FrequencyConverter)A/D转换器是通过间接转换方式实现模数转换的。它的变换结果不是数字而是频率。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种A/D转换器的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度即可。其优点是分辨率高、功耗低、价格低,但是需要外部计数电路共同完成A/D转换。最常用的型号有AD650等。

A/D转换器除了按原理分类外,还可以根据其它一些指标分类,如图10.2所示。图10.2A/D转换器的分类

2.A/D转换器的主要技术参数

A/D转换器的技术参数很多,这里不作详细解释,只介绍一些主要参数。

1)转换时间与转换速率(conversiontimeorconversionrate)

转换时间是指A/D转换器完成一次转换所需要的时间,转换时间的倒数为转换速率,即每秒转换的次数。常用单位是KSPS和MSPS,表示每秒采样千/百万次(Kilo/MillionSamplesPerSecond)。积分型A/D转换器的转换时间是毫秒级,属低速A/D转换器;逐次比较型A/D转换器是微秒级,属中速A/D转换器;全并行/串并行型A/D转换器可达到纳秒级,为高速A/D转换器。为了保证转换的正确完成,采样速率(samplerate)必须小于或等于转换速率。要注意转换速率与采样速率是两个不同的概念。

2)分辨率(resolution)

分辨率习惯用A/D转换器输出的二进制位数或BCD码位数表示。例如AD574A/D转换器,输出二进制12位,即用212个位数进行量化,其分辨率为1LSB(leastsignificantbit,最小有效位),用百分数表示1/212=0.024%。又如双积分式输出BCD码的A/D转换器MC14433,其分辨率为三位半(这里的“半”指最高位千位只能是0或1,“三位”指十进制的百、十、个位),所以它的满字位为1999,用百分数表示其分辨率为1/1999×100%=0.05%。

3)量化误差(quantizingerror)

量化误差定义为有限分辨率A/D转换器的阶梯状转移特性曲线与无限分辩率A/D转换器(理想A/D转换器)的转移特性曲线(直线)之间的最大偏差。通常是一个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。提高分辨率可减少量化误差。

4)偏移误差(offseterror)

偏移误差为输入信号为零时输出信号不为零的值,可外接电位器调至最小。

5)满刻度误差(fullscaleerror)

满度输出时对应的输入信号与理想输入信号值之差,即为满刻度误差。

6)线性度(linearity)

线性度指转换器实际输入值与转换后的输出值所形成的曲线与理想直线的最大偏移。

7)转换精度(accuracy)

一个实际A/D转换器与一个理想A/D转换器在量化值上的差值称为转换精度。它是一个综合指标,可用绝对精度(absoluteaccuracy)或相对精度(relativeaccuracy)表示。理想情况下,精度与分辨率基本一致,位数越多精度越高。但由于温度漂移等各种因素也存在着误差,因此,严格讲精度与分辨率并不完全一致。

这些指标中最常用的是转换速率和分辨率。

3. A/D转换器的选择

A/D转换器按输出代码的有效位数分为8位、10位、12位、16位、24位、32位等。

按转换速度分为超高速(≤1ns)、高速(≤1

s)、中速(≤1ms)、低速(≤1s)等。

为适应系统集成需要,大多A/D转换器都将多路转换开关、时钟电路、基准电压源、二/十进制译码器和转换电路集成在一个芯片内,为用户提供了方便。在选择A/D转换器时要注意以下几个问题:

1) A/D转换器位数的确定

系统总精度涉及的环节较多:传感器变换精度、信号预处理电路精度和A/D转换器及输出电路、控制机构精度,还包括软件控制算法。

A/D转换器的位数至少要比系统总精度要求的最低分辨率高1位,位数应与其它环节所能达到的精度相适应,只要不低于它们就行,太高无意义,且价高。

一般8位及以下为低分辨率;9~12位为中分辨率;13位以上为高分辨率。

2) A/D转换器转换速率的确定

从启动转换到转换结束,输出稳定的数字量需要一定的时间,这就是A/D转换器的转换时间。

低速:转换时间从几ms到几十ms。

中速:逐次比较型的A/D转换器的转换时间可从几

s到100

s左右。高速:转换时间仅20~100ns。适用于雷达、数字通信、实时光谱分析、实时瞬态记录、视频数字转换系统等。

如用转换时间为100

s的集成A/D转换器,则其转换速率为10千次/秒。根据采样定理和实际需要,一个周期的波形若采10个点,最高也只能处理1kHz的信号,而若把转换时间减小到10

s,则信号频率可提高到10kHz。

3)是否加采样保持器

直流和变化非常缓慢的信号可不用采样保持器,其它情况都要加采样保持器。

根据分辨率、转换时间、信号带宽关系,如下数据可以作为是否要加采样保持器的参考。①如果A/D转换器的转换时间是100ms,分辨率是8位,则没有采样保持器时,信号的允许频率是0.12Hz;如果分辨率是12位,则该频率为0.0077Hz。如果转换时间是100

s,分辨率是8位,则该频率为12Hz,12位时是0.77Hz。

4)工作电压和基准(或称参考)电压

选择使用单一+ 5V工作电压的芯片,与单片机系统共用一个电源就比较方便。

基准电压源是提供给A/D转换器在转换时所需要的参考电压,在要求高精度时,基准电压要单独用高精度稳压电源。10.1.2 ADC0809性能及基本结构

ADC0809/ADC0808是8位逐次逼近、单片CMOS集成的A/D转换器。其主要性能如下:

●分辨率为8位;

●精度:ADC0809小于±1LSB(ADC0808小于±1/2LSB,其余性能与ADC0809一样);

●单+5V供电,模拟输入电压范围为0~+5V;10.2ADC0809模/数转换器●具有锁存控制的8路输入模拟开关;

●可锁存三态输出,输出与TTL电平兼容;

●功耗为15mW;

●不必进行零点和满刻度调整;

●转换速度取决于芯片外接的时钟频率。时钟频率范围为10~1280kHz。典型值为640kHz,转换时间约为100

s。

ADC0809的引脚及内部结构如图10.3所示。图10.3ADC0809引脚及内部结构(a)引脚;(b)内部结构对ADC0809主要信号引脚的功能说明如下:

IN0~IN7:模拟量输入通道。ADC0809对输入模拟量的要求主要有:信号单极性,电压范围为0~5V,若信号过小还需进行放大。ADC0809要求模拟量输入的值不能变化太快。因此,如果模拟量变化速度快,应增加采样保持电路。

A、B、C:地址线。用于选择模拟通道。

ALE:地址锁存允许信号。对应ALE上跳沿,A、B、C的地址状态被送入地址锁存器中。

START:转换启动信号。START上跳沿时,所有内部寄存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。

D0~D7:数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。

OE:输出允许信号。其用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高电阻;OE=1,输出转换得到的数据。

CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500kHz的时钟信号。

EOC:转换结束状态信号。EOC=0,正在进行转换;EOC=1,转换结束。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。

VCC:+5V电源。

Ref:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为(Ref(+)=+5V,Ref(-)=0V。10.2.2ADC0809与单片机的接口与编程

ADC0809转换器的工作过程如下:

首先输入3位地址,并使ALE=1,将地址存入ADC0809的地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,显示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE为高电平时,输出三态门打开,转换结果的数字量输出到数据线上。

A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认A/D完成后,才能进行传送。为此可采用下述三种方式。

1.定时传送方式

对于A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。ADC0809转换时间为128 μs,相当于12 MHz的MCS-51单片机的128个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成,接着进行数据传送。

2.查询方式

A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,随后进行数据传送。

3.中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要确定转换完成,即可通过指令进行数据传送。根据ADC0809转换器的工作过程,它与MCS-51单片机的接口可以采用三总线的连接方式,如图10.4所示。当89C51采用6MHz晶振时,ALE为1MHz的方波,经74LS74D触发器二分频,获得500kHz频率的脉冲作为ADC0809的时钟(CLK)脉冲。利用两个或非门满足启动、读取ADC0809的逻辑条件。转换接收后,EOC会通过非门向单片机发出中断请求。精度要求较高时,Ref(+)要采用精密稳压模块电路获得精确的参考电压。图10.4ADC0809与单片机的接口电路下面是针对这个接口的参考程序,读取IN0通道模拟量转换的结果,并存储在片内30H单元。

ORG0000H

AJMPMAIN

ORG0013H

AJMPPINT1

ORG0030H

MAIN: SETBIT1 ;边沿触发

SETBEA

SETBEX1

MOVDPTR,#00FFH ;IN0地址

MOVX@DPTR,A ;启动A/D

SJMP$ ;等待中断

PINT1: MOVXA,@DPTR ;读A/D数据

MOV30H,A ;送30H

MOVX@DPTR,A ;再启动A/D

RETI

END图10.4这种三总线的接口方式,占用了P0口、P2口和P3口的和,致使P2口的其他引脚不能作为I/O口使用。为了充分利用单片机的资源,可以用程序模拟ADC0809的工作过程时序,设计另一种接口电路(如图10.5所示),它占用了P1口和P3口的P3.0、P3.1、P3.5~P3.7,但却能使未占用的其他引脚都可以作I/O使用。这里的OE未进行控制,直接接高电平。图10.5模拟ADC0809时序与单片机的接口电路此接口方法的编程任务主要有两个:一是读取A/D的数据;二是计算所对应的模拟量数值。读取A/D数据包括:选通道、启动A/D、确定A/D是否完成、读取数据。计算所对应的模拟量数值:根据获取的A/D数值与输入的模拟量电压之间的关系,计算输入的模拟量电压。

A/D转换中,输入模拟量Uin与n位输出数字量Do的关系式为:其中:Do—转换后输出数字量;

Uin—输入模拟量;

Uref(-),Uref(+)—A/D转换器的正、负参考电压;

INTEGER—取整。

当Uin=5V时,转换值为:当Uin =0V时,转换值为:当Uin=2.5V时,转换值为:根据这个公式,可得获取的A/D数值与输入的模拟量电压之间的关系为:如果n=8,Uref(-)= 0,则图10.6ADC0808仿真运行结果图;------------------------------------------------;功能:ADC0808数据采集的演示主程序;------------------------------------------------

EXTRNCODE(LCD_INITIAL) ;对引用的LCD1602模块的公用子程序进行声明

EXTRNCODE(LCD_PRINT_S)

EXTRNCODE(LCD_PRINT_CHAR)

AD_START_ALE BITP3.0

AD_OEC BITP3.1

AD_A BITP3.5

AD_B BITP3.6

AD_C BITP3.7

AD_DB EQUP1

ORG0000H

AJMPMAIN

ORG0030H

MAIN: ACALLLCD_INITIAL ;LCM1602初始化

MOVA,#81H ;在第1行第1列显示字符串

MOVDPTR,#TABLE ;字符串首址放DPTR

LCALLLCD_PRINT_S ;调用显示字符串公用子程序

LOOP: LCALLREAD_CAL_ADC ;调读AD转换结果并计算成相 应的电压值

MOVA,#0C6H ;在第2行第7列开始显示

MOVR5,#4 ;要显示4个字符

MOVR1,#20H ;第1个字符存放的首地址为20H

LCALLLCD_PRINT_CHAR ;调用显示字符公用子程序

AJMPLOOP;----------------------------------------------------------------------------------;子程序名称:READ_CAL_ADC;功能:读AD转换结果计算成相应的电压值,并将此值送LCD显示;计算公式:电压的10倍 = A 

 (5/255)

 10 ≈ A 

 50/256;程序中采用的算法会有小误差;---------------------------------------------------------------------------------

READ_CAL_ADC:

CLRAD_A ;选择IN0输入通道

CLRAD_B

CLRAD_C

CLRAD_START_ALE ;锁存通道,启动AD

SETBAD_START_ALE

CLRAD_START_ALE

JNBAD_OEC,$ ;查询AD是否转换完成

MOVA,AD_DB ;转换的数据送A

MOVB,#50 ;乘以50

MULAB ;乘的结果高8位在B,低8位在A

MOVA,B ;只取B,相当于除以256 MOVB,#10 ;由于采用的公式放大了10倍,得到真正的电压值 ;要除以10

DIVAB

ADDA,#30H ;得到的个位数加30H获得ASCII码

MOV20H,A ;送LCD的显示存储区

MOVA,B ;余数为小数部分,加30H得到ASCII 码

ADDA,#30H

MOV22H,A ;送LCD的显示存储区

MOV21H,#2EH ;小数点的ASCII码

MOV23H,#56H ;“V”的ASCII码

RETTABLE:DB“THEVOLTIGEIS”,00H ;显示的字符串,注意要以 00H结束

END 10.3DAC0832数/模转换器

D/A转换器即数/模转换器(DAC,Digital-to-AnalogConverter),它是一种把数字信号转换成模拟信号的器件。转换过程是:将送到D/A转换器的各位二进制数,按其权的大小转换为相应的模拟分量,再把各模拟分量叠加,其和就是D/A转换的结果。使用D/A转换器时,要注意区分D/A转换器的输出形式以及内部是否带有锁存器。输出形式:电压输出形式与电流输出形式。电流输出的D/A转换器,如需模拟电压输出,可在其输出端加一个I-U转换电路。

D/A转换器内部是否带有锁存器:D/A转换需要一定时间,这段时间内输入端的数字量如果发生变动,D/A转换的模拟量就不稳定。在数字量转换前的输入端设置锁存器,就可以提供数据锁存功能,以保证D/A转换的模拟量稳定。根据芯片内是否带有锁存器,可分为内部无锁存器的和内部有锁存器的两类。内部无锁存器的D/A转换器可与P1、P2口直接相接(因P1口和P2口的输出有锁存功能),但与P0口相接,需增加锁存器。内部带有锁存器的D/A转换器内部不但有锁存器,还包括地址译码电路,有的还有双重或多重的数据缓冲电路,可与MCS-51的P0口直接相接。

D/A转换器的技术指标与A/D转换器在许多方面类似,其主要技术指标如下:

1)分辨率分辨率是指输入给D/A转换器的单位数字量变化引起的模拟量输出的变化,通常定义为输出满刻度值与2n之比。显然,二进制位数越多,分辨率越高。例如,若满量程为10V,根据定义则分辨率为10V/2n。设8位D/A转换器,即n=8,其分辨率为10V/2n=39.1mV,则该值占满量程的0.391%,用1LSB表示。同理,10位D/A转换器有1LSB=9.77mV=0.1%,满量程12位D/A转换器有1LSB=2.44mV=0.024%。

2)建立时间(SettingTime)建立时间是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。D/A转换器中常用建立时间来描述其速度,而不是A/D转换器中常用的转换速率。一般地,电流输出D/A转换器建立时间较短,电压输出D/A转换器则较长。

3)精度与A/D转换器一样,精度和分辨率有一定联系,但概念不同。D/A转换器的位数多时,分辨率会提高。但温度漂移、线性不良等影响仍会使D/A转换器的精度变差。其他指标还有线性度、温度系数、漂移等。10.3.1DAC0832简介

DAC0832是美国国家半导体公司的产品,它是带有两个输入数据寄存器的8位D/A转换器,能直接与MCS-51单片机接口。其主要特性如下:

(1) T 型电阻网络D/A转换原理。

(2)分辨率为8位。

(3)电流型输出,稳定时间为1

s。

(4) CMOS工艺,低功耗20mW。

(5)可双缓冲输入、单缓冲输入或直接数字输入。

(6)单一电源供电(+5 V~+15 V)。

(7)基准电压的范围为 ±10V。

DAC0832转换器芯片为20引脚,其引脚及内部逻辑框图如图10.7所示。该转换器由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时,数据输入可以采用两级锁存(双锁存)形式,或单级锁存(一级锁存,一级直通)形式,或直接输入(两级直通)形式。图10.7DAC0832引脚及内部逻辑框图(a)引脚;(b)DAC0832内部逻辑框图图10.8DAC0832单缓冲方式接口D/A转换中,输入数字量n与输出转换值Uo的关系式为:当n=127时,转换值n=FFH=255时,转换值例1:产生矩形波程序。

ORG 0000H

LL:MOV A,#00H ;低电平

MOV DPTR,#7FFFH ;DAC0832地址,只取P2.7为低电平

MOVX @DPTR,A ;送转换

LCALL DMS1 ;调延时1ms子程序,产生矩形波低电平宽度

MOV A,#0FFH ;高电平

MOVX @DPTR,A ;送转换

LCALL DMS2 ;调延时2ms子程序,产生矩形波高电平宽度

SJMP LL

END

例2:产生锯齿波程序。

ORG 0000H

MOV A,#00H ;起始值

MOV DPTR,#7FFFH

MM:MOVX@DPTR,A ;送转换

INC A

NOP

NOP

NOP ;决定坡度

SJMP MM

END例3:产生三角波程序。

ORG 0000H

MOV A,#00H

MOV DPTR,#7FFFH

SS1:MOVX @DPTR,A ;送转换

NOP

NOP

NOP

SS2:INC A ;等速上升

JNZ SS1

SS3:DEC A

MOVX @DPTR,A

NOP

NOP

NOP ;等速下降

JNZ SS3

SJMP SS2

END2.双缓冲器方式图10.9DAC0832双缓冲器方式接口完成两路D/A转换同步输出的接口如图10.9所示,程序如下:

MOV DPTR,#0DFFFH ;指向DAC0832(1)地址

MOV A,#data1

MOVX @DPTR,A ;锁入DAC寄存器

MOV DPTR,#0BFFFH ;指向DAC0832(2)地址

MOV A,#data2

MOVX @DPTR,A ;锁入DAC寄存器

MOV DPTR,#7FFFH ;指向XFER

MOVX @DPTR,A ;同时进行D/A转换

3.直通方式直通方式时所有四个控制端都接低电平,ILE接高电平。数据量一旦输入,就直接进入DAC寄存器,进行D/A转换,此法可以不用MOVX指令。接口如图10.10所示。图10.10DAC0832直通方式接口10.4开关量功率接口技术10.4.1单片机I/O口的输出驱动用单片机控制各种各样的高压、大电流负载,如电动机、电磁铁、继电器、灯泡等时,不能用单片机的I/O线来直接驱动。

P0、P1、P2、P3四个口都可做输出口,但其驱动能力不同。P0口的驱动能力较大,当其输出高电平时,每一位可提供780 

A的电流;当其输出低电平时,每一位最大可提供10 mA的灌电流,但总共不能超过15mA。P1、P2、P3口的每一位也能最大提供10mA的灌电流,但总共不能超过10mA。因此,用低电平输出可获得比高电平输出更大的驱动能力。目前,一些MCS-51系列单片机的引脚驱动能力有所提高,如89C2051(只有20个引脚的51系列单片机),一些引脚可提供20mA的灌入电流。但在大多数场合,单片机I/O口的驱动能力是不够的,必须通过各种驱动电路和开关电路来提高驱动能力。另外,与微机接口的一般TTL电路或CMOS电路驱动能力是有限的。例如,对于多数74LS系统的TTL电路,其高电平输出电流IOH最大值仅为 -0.4mA(负号表示拉电流),低电平输出电流IOL最大值也仅为8mA。对于大多数4XXX系列的CMOS逻辑电路,当UDD=+5V时,IOH和IOL都不到1mA,在许多应用中都需要提高驱动能力。常见的微机I/O口输出驱动电路有下列几种。

1. TTL三态门缓冲器驱动电路这类电路的驱动能力要高于一般的TTL电路。例如74LS244、74LS245等,它们的IOH=-15mA,IOL=24mA,可以用来驱动光电耦合器、LED数码管、功率晶体管等。

2.集电极开路门(OC门)驱动电咯

OC(OpenCollector)门驱动电路的输出级是一个集电极开路的晶体三极管,如图10.11中的实线部分所示。三极管V2集电极什么都不接,所以叫做集电极开路(左边的三极管V1为反相之用,使输入为“0”时,输出也为“0”)。当输入端为“0”时,三极管V1截止(即集电极C与发射极E之间相当于断开),所以5V电源通过1kΩ电阻加到三极管V2上,三极管V2导通(相当于一个开关闭合);当输入端为“1”时,三极管V1导通,三极管V2截止(相当于开关断开)。很明显,当V2导通时,输出直接接地,所以输出电平为0。而当V2截止时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)接地,那么输出端的电平就被这个负载拉到低电平,所以这个电路是不能输出高电平的。因此组成电路时,OC门输出端必须外加一个接至正电源的上拉电阻(如图10.11中的虚线所示)才能正常工作,正电源 +V可以比TTL电路的UCC(一般为 +5V)高很多。例如,7406(逻辑与图10.11相反)、7407的OC门输出级截止时耐压可高达30V,输出低电平时吸收电流的能力,也高达40mA。因此,OC门是一种既有电流放大功能,又有电压放大功能的开关量驱动电路。实际应用中,OC门电路常用来驱动微型继电器、LED显示等。图10.11OC门输出驱动电路

3.小功率三极管驱动电路当驱动电流只有十几毫安至几百毫安时,只要采用一个普通的小功率三极管就能构成驱动电路,如图10.12所示。图10.12小功率三极管驱动电路三极管常用在三种工作状态:饱和导通状态、饱和截止状态、线性放大状态。作为开关量输出驱动时,三极管使用在导通或截止状态。常用的PNP三极管有9013、8050等,NPN三极管有9015、8550等。9013的驱动电流可达40mA,8050的可达500mA。三极管除了驱动电流较大的优点外,在因受到PCB板面积限制而不便使用集成功率芯片的场合,为了降低成本和布局的方便也可以选用三极管。例如,如果只驱动一个蜂鸣器或小继电器,就没有必要使用一块74LS07芯片,可考虑采用一只小功率三极管代替。

4.达林顿晶体管阵列驱动芯片当驱动电流需要达到几百毫安,如驱动中功率继电器、电磁开关等装置,而且路数较多时,可采用达林顿晶体管阵列驱动芯片。达林顿晶体管阵列驱动芯片是由多对两个三极管组成的达林顿复合管构成,它具有输入阻抗高、增益高、输出功率大及保护措施完善等特点,同时多对复合管也非常适用于计算机控制系统中的多路负荷。

ULN2003达林顿晶体管阵列驱动芯片的内部结构是达林顿的,它是专门用来驱动继电器的芯片,在ULN2003芯片内部做了一个消线圈反电动势的二极管VD3,如图10.13所示,VD1和VD2分别是输入和输出端钳位。ULN2003的单脚输出端允许通过500mA电流,但每块芯片总的输出电流不能超过2.5A。COM端可接5 V~24V电压,最高可达50V。输入端可与多种TTL、CMOS电路兼容。它可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。图10.13ULN2003内部结构和引脚10.4.2光电耦合器在单片机应用系统中,为防止现场强电磁的干扰或工频电压通过输出通道反串到测控系统,一般采用通道隔离技术。通道的隔离最常用的元件是光电耦合器,简称光耦。光电耦合器件是以光为媒介传输信号的器件,它把一个发光二极管与一个受光源(如光敏三极管、光敏晶闸管或光敏集成电路等)封装在一起,构成电—光—电转换器件。根据受光源结构的不同,可以将光电耦合器件分为晶体管输出的光电耦合器件和可控硅输出的光电耦合器件两大类。本节只介绍晶体管输出光电耦合器,在10.4.4节可控硅驱动接口中再介绍可控硅输出型光电耦合器。典型的晶体管输出光电耦合器件的内部结构如图10.14所示。图10.14晶体管输出型光电耦合器(a) TLP521;(b) 4N25;(c) 6N136光电晶体管除没有使用基极外,跟普通晶体管一样。取代基极电流的是光。当光电耦合器的发光二极管发光时,光电晶体管受光的作用产生基极光电流,使三极管导通。图10.15列出了三种常用的光电耦合器。TLP521是最常用的;要求隔离电压高的,选用4N25(隔离电压达5300V);要求在通信中高速传输数据的,选用6N136,但6N136输入端需要比较大的电流,大约在15mA~20mA范围内才能发挥高速传输数据的作用。TLP521、4N25只需要10mA左右的电流。10.4.3继电器驱动接口如图10.15所示,电磁继电器主要由线圈、铁芯、衔铁和触点等部件组成,简称为继电器,它分为电压继电器、电流继电器、中间继电器等几种类型。继电器方式的开关量输出是一种最常用的输出方式,通过弱电控制外界交流或直流的高电压、大电流设备。继电器驱动电路的设计要根据所用继电器线圈的吸合电压和电流而定,控制电流一定要大于继电器的吸合电流才能使继电器可靠地工作。图10.15继电器原理常用的继电器大部分属于直流电磁式继电器,也称为直流继电器。图10.16是直流继电器的接口电路。继电器的动作由单片机的P1.0端控制。P1.0端输出低电平时,继电器J吸合;P1.0端输出高电平时,继电器J释放。采用这种控制逻辑可以使继电器在上电复位或单片机受控复位时不吸合。二极管VD的作用是保护三极管V。原理如下: 当P1.0输出低电平时,V导通,继电器J吸合;当P1.0输出高电平时,V截止,继电器J断开。在继电器吸合到断开的瞬间,由于线圈中的电流不能突变,将在线圈产生较高的下正上负的感应电压,使晶体管集电极承受高电压,有可能损坏驱动三极管V。为此在继电器J线圈两端并接一个续流二极管VD,使线圈产生的感应电流由二极管VD流回。正常工作时,线圈上的电压上正下负,二极管VD截止,对电路没有影响。机械继电器可在继电器节点两端并接火花抑制电路,减小电火花的影响,如图10.16中0.1μF的电容。图10.16直流继电器的接口电路10.4.4可控硅驱动接口

1.可控硅原理可控硅(SCR,SiliconControlledRectifier)又称晶闸管,是一种大功率的半导体器件,具有用小功率控制大功率、开关无触点等特点,在交直流电机调速系统、调功系统、随动系统中应用广泛。可控硅是一个三端器件,其符号表示如图10.17所示,图(a)为单向可控硅,有阳极A、阴极C、控制极(门极)G三个极。当阳、阴极之间加正电压,控制极与阴极两端也施加正电压,使控制极电流增大到触发电流值时,可控硅由截止转为导通,这时管压降很小(1 V左右)。此时即使控制极电流消失,可控硅仍能保持导通状态,所以控制极电流没有必要一直存在,通常采用脉冲形式,以降低触发功耗。可控硅不具有自关断能力,要切断负载电流,只有使阳极电流减小到触发电流以下,或阳极、阴极加上反向电压才能实现关断。在交流回路应用中,当电流过零和进入负半周时,可控硅自动关断。为了使其再次导通,必须重新在控制极加触发电流脉冲。单向可控硅具有单向导电功能,常用于在交流系统中的整流电路。双向可控硅在结构上相当于两个单向晶闸管的反向并联,但共享一个控制极,结构如图10.17(b)所示。当两个电极A1、A2之间的电压大于1.5V时,不论极性如何,均可利用控制极G触发电流控制其导通。双向晶闸管具有双向导通功能,特别适用于控制大电流的交流电场合。双向可控硅经常用作交流调压、调功、调温和无触点开关,传统的触发脉冲一般都由硬件产生,故检测和控制都不够灵活,而在单片机控制应用系统中则可利用软件产生触发脉冲。图10.17可控硅的结构符号(a)单向可控硅;(b)双向可控硅

2.可控硅输出型光电耦合器可控硅常用于高电压大电流的负载,不适宜与CPU直接相连,在实际使用时要采用隔离措施。可控硅输出型光电耦合器是单片机输出与可控硅之间较理想的接口器件。可控硅输出型光电耦合器由两部分组成;输入部分是一发光二极管;输出部分是光敏单向可控硅或光敏双向可控硅。当光电耦合器的输入端有一定的电流流入时(5 mA~15mA),发光二极管发出足够强度的红外光使可控硅导通。有的光电耦合器的输出端还配有过零检测电路,用于控制可控硅过零触发,以减小电器在接通电源时对电网的影响。

4N40是常用的单向晶闸管输出型光电耦合器,见图10.18(a)。当输入15 mA~30mA电流时,输出端的晶闸管导通。输出端的额定电压为400V,额定电流有效值为300mA。隔离电压为1500V~7500V。4N40的6脚是输出可控硅的控制端,不使用此端时,此端可对阴极接一个电阻。4N40常用于小电流电器的控制,如指示灯等,也可以用于触发大功率的可控硅。图10.18晶闸管输出型光电耦合器(a) 4N40;(b) MOC3041

MOC3041是常用的双向可控硅输出的光电耦合器,如图10.18(b)所示。它带过零触发电路,输入端的控制电流为15mA,最大重复浪涌电流为1A,输出端额定电压为400V,输入/输出端隔离电压为7500V。MOC3041一般不直接用于控制负载,而用于中间控制电路或用于触发大功率的可控硅。要注意的是,用于驱动发光管的电源与驱动光敏管的电源不应是共地的同一个电源,必须分开单独供电,才能有效地避免输出端与输入端相互间的反馈和干扰。因此,利用光耦隔离器传递信号可有效地隔离电磁场的电干扰。

3.可控硅驱动的应用图10.19是交流感性负载的接口电路图。交流感性负载带有交流线圈,包括交流接触器、电磁阀等。感性负载是由双向可控硅VT驱动的。双向可控硅的选择要满足:额定工作电流为交流线圈工作电流的2~3倍;额定工作电压为交流负载线圈工作电压的2~3倍。对于工作电压220V的中、小型的感性负载,可以选择3A、600V的双向可控硅。光电耦合器MOC3041的作用是触发双向可控硅VT以及隔离单片机系统和感性负载系统。MOC3041内部带有过零控制电路,因此双向可控硅VT工作在过零触发方式,对电源的影响较小。图10.20是交流阻性负载可控硅的接口电路。图10.21是常用的交流指示灯的接口电路。图10.19交流感性负载的接口电路图10.20交流阻性负载的接口电路图10.21常用交流指示灯接口电路10.4.5固态继电器驱动接口固态继电器(SSR,SolidStateRelay)是一种全部由固态电子元件组成的新型无触点开关器件,它利用电子元件(如开关三极管、双向可控硅等半导体器件)的开关特性,可达到无触点无火花地接通和断开电路的目的,因此又被称为“无触点开关”,它问世于20世纪70年代。由于它的无触点工作特性,使其在许多领域的电控及计算机控制方面得到日益广泛的应用。

SSR按使用场合不同可以分成交流型和直流型两大类,它们分别在交流或直流电源上做负载的开关,不能混用。交流型SSR

内部的开关组件为双向晶闸管,直流型

SSR

内部的开关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论