《开关量与模拟量接口技术.ppt》由会员分享,可在线阅读,更多相关《开关量与模拟量接口技术.ppt(150页珍藏版)》请在三一办公上搜索。
1、第11章 开关量与模拟量接口技术,11.1 概述 11.2 开关量接口 11.3 模拟量接口 11.4 分布式数据采集系统习题11,11.1 概 述,11.1.1 开关量 开关量的输入/输出是微机应用系统常常遇到的问题。在微机应用系统中,通常要引入一些开关量的输出控制(如继电器的通/断)及状态量的反馈输入(如机械限位开关状态、控制继电器的触点闭合等)。这些控制动作都和强电(大电流、高电压)控制电路联系在一起,合理地设计和应用十分重要。如果应用不当而形成了强电控制电路,则会对微机应用系统造成严重干扰,会导致微机系统不能正常工作。,强电控制电路与微机应用系统共地,是引起干扰的一个很重要的原因。由于
2、强电控制电路与微机应用系统的接地线存在着一定的电阻,且微机应用系统各器件的接地和电源接地之间也存在着一定大小的连线电阻,在平常工作时,流过的电流较小,这种电阻上的压降几乎可以忽略不计,系统各器件的地和电源地可以认为是同一电位;但是,如果在某一瞬时,有大电流流过,那么该电阻上的压降就不能忽略了。如图11.1所示,串联压降就会叠加到微机应用系统各个器件的地电位上,从而造成危害极大的脉冲干扰。,图11.1 大电流干扰地电平示意图,消除上述干扰的最有效方法是使微机应用系统主机部分的接地和强电控制电路的接地隔开,不让它们在电气上共地。微机应用系统主机部分的控制信息以某种非电量(如光、磁等)形式传递给强电
3、控制电路,实现电信号的隔离,从而消除强电干扰。目前,最常见的是采用光电隔离器或继电器隔离,其中光电隔离器件体积小、响应速度快、寿命长、可靠性高,因而获得了广泛的应用。,11.1.2 模拟量 模拟量输入/输出通道是微型计算机与控制对象之间的一个重要接口,也是实现工业过程控制的重要组成部分。在工业生产中,需要测量和控制的物理量往往是连续变化的量,如电流、电压、温度、压力、位移、流量等。为了利用计算机实现对工业生产过程的自动监测和控制,首先要能够将生产过程中监测设备输出的连续变化的模拟量转变为计算机能够识别和接受的数字量。其次,还要能够将计算机发出的控制命令转换为相应的模拟信号,去驱动模拟调节执行机
4、构。这样两个过程,都需要模拟量的输入和输出通道来完成。模拟量输入/输出通道的结构如图11.2所示,下面分别介绍输入和输出通道中各环节的作用。,图11.2 模拟量的输入/输出通道结构图,1.模拟量的输入通道 典型的模拟量输入通道由以下几部分组成。1)传感器 传感器是用于将工业生产现场的某些非电物理量转换为电量(电流、电压)的器件。例如,热电偶能够将温度这个物理量转换成几毫伏或几十毫伏的电压信号,所以可用它作为温度传感器;而压力传感器可以把物理量压力的变化转换为电信号,等等。,2)变送器 一般来讲,传感器输出的电信号都比较微弱,有些传感器的输出甚至是电阻值、电容值等非电量。为了易于与信号处理环节衔
5、接,就需要将这些微弱电信号及电阻值等非电量转换成一种统一的电信号,变送器就是实现这一功能的器件。它将传感器的输出信号转换成010 mA或420 mA的统一电流信号或者05 V的电压信号。,3)信号处理环节 信号处理环节主要包括信号的放大及干扰信号的去除。它将变送器输出的信号进行放大或处理成与A/D(Analog to Digital)转换器所要求的输入相适应的电平。另外,传感器通常都安装在现场,环境比较恶劣,其输出常叠加有高频干扰信号。因此,信号处理环节通常是低通滤波电路,如RC滤波器或由运算放大器构成的有源滤波电路等。,4)多路转换开关 在生产过程中,要监测或控制的模拟量往往不止一个,尤其是
6、数据采集系统中,需要采集的模拟量一般比较多,而且不少模拟量是缓慢变化的信号。对这类模拟信号的采集,可采用多路模拟开关,使多个模拟信号共用一个A/D转换器进行采样和转换,以降低成本。,5)采样保持电路 在数据采样期间,保持输入信号不变的电路称为采样保持电路。由于输入模拟信号是连续变化的,而A/D转换器完成一次转换需要一定的时间,这段时间称为转换时间。不同的A/D转换芯片,其转换时间不同。对于变化较快的模拟输入信号,如果不在转换期间保持输入信号不变,就可能引起转换误差。A/D转换芯片的转换时间越长,对同样频率模拟信号的转换精度的影响就越大。所以,在A/D转换器前面要增加一级采样保持电路,以保证在转
7、换过程中,输入信号保持在其采样期间的值不变。,6)模数转换器A/D 这是模拟量输入通道的中心环节,它的作用是将输入的模拟信号转换成计算机能够识别的数字信号,以便计算机进行分析和处理。,2.模拟量的输出通道 计算机的输出信号是数字信号,而有些控制执行元件要求提供模拟的输入电流或电压信号,这就需要将计算机输出的数字量转换为模拟量,这个过程的实现由模拟量的输出通道来完成。输出通道的核心部件是D/A(Digital to Analog)转换器,由于将数字量转换为模拟量同样需要一定的转换时间,也就要求在整个转换过程中待转换的数字量要保持不变。而计算机的运行速度很快,其输出的数据在数据总线上稳定的时间很短
8、,因此,在计算机与D/A转换器之间必须加一级锁存器以保持数字量的稳定。D/A转换器的输出端一般还要加上低通滤波器,以平滑输出波形。另外,为了能够驱动执行器件,还需要设置驱动放大电路将输出的小功率模拟量加以放大,以足够驱动执行元件动作。,11.2 开 关 量 接 口,11.2.1 光电子器件 光电技术应用于计算机系统是当前一种较新的趋势,在信号传输和存储等环节中,可有效地应用光信号。例如,在电话与计算机网络的信息传输,声像演播用的CD或VCD,计算机光盘CDROM,甚至于在船舶和飞机的导航装置、交通管理设备中均采用现代化的光电子系统。光电子系统的突出优点是,抗干扰能力较强,可大量高速地传送信息,
9、而且传输损耗小,工作可靠。它的主要缺点在于,光路比较复杂,光信号的操作与调制需要精心设计。光信号和电信号的接口需要一些特殊的光电转换器件,下面分别予以介绍。,1.光电二极管 光电二极管的结构与PN结二极管类似,但在它的PN结处,通过管壳上的一个玻璃窗口能接收外部的光照。这种器件的PN结在反向偏置状态下运行,它的反向电流随光照强度的增加而上升。图11.3(a)是光电二极管的代表符号,图11.3(b)是它的等效电路,而图11.3(c)则是它的工作特性曲线。光电二极管的主要特点是,它的反向电流与光照度成正比,灵敏度的典型值为0.1 A/lx(lx为勒克斯,是光照度E的单位)数量级。,图11.3 光电
10、二极管电路(a)符号;(b)等效电路;(c)特性曲线,2.发光二极管 发光二极管通常是使用元素周期表中、族元素的化合物,如砷化镓、磷化镓等所制成的。当这种管子通以电流时将发出光来,这是由于电子与空穴直接复合而放出能量的结果。其光谱范围比较窄,波长由所使用的基本材料而定。图11.4表示发光二极管的代表符号。几种常见发光材料的主要参数如表11-1所示。发光二极管常用来作为显示器件,除单个使用外,也常做成七段式矩阵式器件,单管工作电流一般在几毫安至几十毫安之间。,图11.4 发光二极管,表11-1 发光二极管的主要参数,发光二极管的另一种重要用途是将电信号变为光信号,通过光缆传输,然后再用光电二极管
11、接收,再现电信号。图11.5表示一发光二极管发射电路通过光缆驱动一光电二极管电路。在发射端,一个05 V的脉冲信号通过300 的电阻作用于发光二极管(LED),这个驱动电路可使LED产生一数字光信号,并作用于光缆。由LED发出的光约有20耦合到光缆。在接收端传送的光中,约有80耦合到光电二极管上,以致在接收电路的输出端可复原为05 V电平的数字信号。,图11.5 光电传输系统,3.光电耦合器件 光电耦合器是一种光电转换器件,它具有输入端和输出端。输入端是发光器件,输出端是光接收器件。当输入端加电信号时,此电信号使输入端的发光器件发光,而这种光信号被输出端的光电接收器接收并转换成电信号。由这种“
12、电光电”的转换过程实现了输入电信号和输出电信号之间的隔离。这就是光电耦合器的基本工作原理。,1)光电耦合器的基本性能 将发光二极管和光敏器件封装在一起就成为光电耦合器,光电耦合器件的种类很多,但其基本原理是完全一样的。典型光电耦合器(简称光耦)的电路原理如图11.6所示。图中光电耦合器件由两部分组成:发光二极管和光敏三极管。当发光二极管通过一定电流时它就会发光,该光被光敏三极管接收,就使它的c、e两端导通。当发光二极管内没有电流流过时,就没有光照射到光敏三极管,从而使三极管截止,c、e两端开路。用此方法就可以将逻辑值以光的有、无方式从左端传到右端。,图11.6 光电耦合器,光电耦合器具有10
13、M的隔离电阻和仅几个pF的电容。这种光电耦合器的特点是体积小,寿命长,无触点,抗干扰性强。根据材料和制造工艺的不同有多种光电耦合器件,目前使用最广泛的是GaAsLED 光电三极管型或光电二极管型。较早的器件是一个光电耦合器封装于一个塑封壳内,而新的器件可将四个光电耦合器封装于一个双列直插式塑封组件壳内,形成集成光电耦合器。,2)光电耦合器的基本参数 光电耦合器的参数可分为输入参数、输出参数和传输特性参数三部分。下面从应用的角度作一简单介绍。(1)输入特性:表征光电耦合器输入参数集合。最大允许输入电流IFM:超出这个值时引起PN结温升过高,造成发光二极管损坏。一般IFM可达50 mA,平时使用1
14、020 mA。电流过小则发光不够,光电耦合器不能正常工作。,正向压降VF:在IF=10 mA时,VF1.3 V,在设计电路时要考虑这个因素。反向击穿电压BVR:发光二极管的反向击穿电压比普通二极管低,一般BVR在1020 V,使用时应控制在5 V以内。由于发光二极管的反向击穿电压BVR较小,因此,为了防止使用时接错电压极性或者其他偶然因素而引进的反向电压造成发光二极管击穿,往往在输入端加入一只反向二极管V,用以保护光电耦合器。为了防止长线输入干扰,往往加上RC电路。完整的输入电路如图11.7所示。,图11.7 光电耦合器输入电路,反向漏电流IR:光电耦合器的发光二极管在加反向电压时有一固定反向
15、小电流,称之为反向漏电流IR,一般在VR=3 V时,IR不大于50 A。,(2)输出特性:表征光电耦合器输出参数集合。暗电流:在输入端不加输入电流时,输出端的光电流称为暗电流(Iceo),输出端在20 V工作电压下,Iceo0.1 A。输出端工作电压VE:光电耦合器输出端工作电压是指当输出端暗电流不超过一定值时,输出端所能加的最高电压。当输出端暗电流不超过0.1 A时,工作电压最高为30 V,一般为20 V。在电路中使用时不得超过手册上给出的工作电压的70。,击穿电压BVCEO:输出端的击穿电压是输出端工作电压继续提高后而产生击穿时的电压。对于GD210系列,以二极管输出的耦合器为例,击穿电压
16、即为输出端光电二极管的反向击穿电压,一般可大于100 V。对于4N系列和GD310系列光电耦合器,输出端击穿电压即为输出端光电三极管的集射极之间的击穿电压BVCEO。,光电流IE:给光电耦合器输入端注入一定的工作电流(一般10 Ma),使GaAs-LED发光;输出端加上一定的工作电压(一般为10 V),输出端产生的电流即为光电流。GaAs-LED光电二极管型光电耦合器的光电流为300 A左右;而GaAs-LED光电三极管型光电耦合器的光电流可达10 mA。输出最大允许电流ICM:指发光二极管电流IF增加而Ic不再增加时的集电极电流。额定值为20 mA,但使用时不要超过10 mA。最大允许功耗P
17、CM:为光电三极管的输出电流与其压降的乘积,一般为150 mW。,(3)传输特性:光电耦合器的传输特性表征光电耦合器输入端与输出端的关系。传输比:在IE=10 mA、VCE=10 V时,传输比约为0.11.5。隔离阻抗:一般大于10 m。极间耐压:极间耐压可达500 V。极间电容:极间电容小于2 PF。响应时间:tr3 s,tf4 ms,因此频率很高时不易使用,频率低于100 kHz(甚至低于50 kHz)时才能可靠地使用,即顶宽和底宽最好大于10 s。,3)应用注意事项(1)由于光电耦合器件在工作过程中需要进行“电光电”的两次物理量的转换,这种转换是需要注意响应时间的,因而输入/输出速率有一
18、定限制,按器件不同一般在几十至几百千赫兹。(2)当光电隔离器件的一端具有高电压时,为避免输入与输出之间被击穿,要选择合适绝缘电压的光电耦合器件。一般常见的为0.510 kV。,(3)光电隔离器件的两边在电气上是不共地的。因此,在设计电路时应确保这一点,特别是供电电源,两边都应是独立的,否则将功亏一篑。(4)光电隔离输出接口通常用于对大功率执行机构的控制,这种控制要求非常可靠。为了使微型机应用系统确知控制动作已经执行,一般每一个控制动作执行后,应有一个相应的状态信息反馈给CPU。在编写程序时,应使控制动作和反馈检测互锁,即在一个控制动作未完成以前,下一个控制动作不应该执行。,(5)由于一般光电耦
19、合器件的输入/输出特性是非线性的,因此不适用于模拟量的输入/输出接口。市面上的线性光电耦合器件造价高,一般工程不值得选用。模拟量的隔离应在A/D转换后进行。,11.2.2 开关量输入接口电路 如前所述,光电隔离输入通常用于控制动作的状态反馈。这种反馈可能是电信号形式,也可能是机械触点的断开或闭合形式。这里,我们假定状态反馈形式是继电器触点的断开或闭合。光电隔离输入接口电路的具体实例如图11.8所示。,图11.8 光电隔离输入接口电路实例,当继电器的触点闭合时,5 V电源经限流电阻为发光二极管提供一个工作电流。为使该发光二极管正常发光,流过它的工作电流一般要求为10 mA左右。发光二极管发出的光
20、使光敏三极管导通,从而使光敏三极管的集电极(C)变成低电平,再经三态反相缓冲器,变成高电平送到CPU的数据总线上。三态缓冲器为光电隔离器件与CPU总线提供一个数据缓冲,只有CPU的地址选通信号加到该缓冲器的选通端时,光电隔离器件的状态才能通过数据总线读到CPU。作为开关量输入/输出元件的光电耦合器的输入电路,可直接用TTL门电路或触发器驱动。在采用MOS电路时不能直接驱动,而要加TTL的三极管驱动,其电路形式如图11.9所示。,图11.9 光电耦合器的几种输入电路,驱动光电耦合器的门电路,不能再驱动其他的负载,以保证信息传输的可靠性。如前所述,光电耦合器在接收长距离信号及防止反向击穿时应附加上
21、反向二极管和阻容电路。做为开关量输入时,光电耦合器的输出电路可直接驱动DTL、TTL、HTL、MOS电路等,也可通过晶体管来驱动,对于GaAs-LED光电三极管型可直接驱动。其电路图如图11.10所示。,图11.10 光电耦合器输出驱动电路,由于光电耦合器具有体积小、寿命长、无触点、高隔离和抗干扰能力强等优点,因而它可代替继电器、变压器、斩波器等用于电路隔离或开关电路。此外,它还可用于D/A转换、逻辑电路、长线传输、过流保护、高压控制、电平匹配、线性放大等许多方面。开关量向微型计算机的输入有两种方法;一种是把一些开关量组成输入端口,由微型计算机的输入指令进行输入;另一种是对于要求紧急处理的一些
22、开关量输入,必须与此同时通过“或逻辑”产生中断请求,由中断处理程序具体查询是哪种请求,再作具体处理。,在控制系统中还有些不带电的触点的开关量输入源,这就要求微型计算机引出带电信息接到这些触点的一端,而触点接通后电信号返回。在返回线上应接上拉电阻(对电源),以免未接通时的天线效应影响系统的工作,引出的电信号可为电源或地线。这种做法会给机器带来干扰,可用专门的驱动器电路或电平转换驱动器,并使用双绞线或屏蔽线,以防在这种情况下对触点输入的干扰。,11.2.3 开关量输出接口电路,图11.11 开关量输出接口的逻辑结构,1.缓冲寄存器 缓冲寄存器中寄存器的每一位表示一个开关量,用“0”和“1”区分通/
23、断或有/无。寄存器的字长等于数据总线位数,可容纳同样多的开关量数目。每个寄存器给一个地址,由控制译码器提供一个选通信号,开关量数目被字长除得的整数即为寄存器的数目。例如,对16位计算机,若有64个开关量输出,则需要四个寄存器(16位)和四套相应电路(每套16路)。,2.驱动放大电路 因为有些输出电路要求比较大的电流(例如,继电器需20 mA电流),所以需要驱动放大电路。这里采用辅助操作接口中的总线驱动器元件。,3.输出部件 输出元件通常有四种,即继电器、光电开关、脉冲变压器和固态继电器。其电路原理如图11.12所示。1)继电器输出 如图11.12(a)所示,驱动电流约为20 mA,电压为+5
24、V,输入高压约为2430 V,电流为0.51 A。当开关量为1时,线圈通过电流,触点被吸合。VFl与V0接近,输入线VF2一般可公用,也可分开接不同设备。线圈并联二极管用以防止反冲。压敏电阻为齐纳二极管,起到防止冲击、防止火花、去干扰和保护触点等作用。继电器用于负载重、速度慢的情况。,2)光电开关输出 光电开关电路示于图11.12(b),一般要求驱动电流为20 mA,宽度20 s,用于负载较轻的使用情况。,图11.12 几种常用输出部件的电路结构,光电隔离输出接口,一般是CPU和大功率执行机构(如大功率继电器、电机等)之间的接口,控制信息通过它才能送到大功率的执行机构。CPU与继电器之间的接口
25、如图11.13所示,它是光电隔离输出接口的一个实例。,图11.13 光电隔离输出接口电路实例,图中输出控制用一块8位锁存器进行缓冲,然后再经一块反相器与发光二极管的一端相接。该反相器可以用OC门,也可以用吸收电流较大的TTL门(如71LS240)。当继电器的工作电流不太大时,光敏三极管的集电极可以串接一个继电器线圈,以直接驱动继电器工作。当所接的继电器的工作电流较大时,需要加一级驱动放大电路(可以用一级前置继电器,也可以用一级晶体管放大电路)。与继电器线圈并联的二极管起阻尼作用,它在继电器断电时,为在线圈中的工作电流提供一个低电阻通路,以保护光敏三极管不致于被继电器线圈电感产生的高的反向电压击
26、穿。,3)脉冲变压器输出 如图11.12(c)所示,脉冲变压器多用于高频脉冲调制型输出。脉冲宽度可为25 s。脉冲变压器在光电开关不适合的快速、负载轻的情况下使用。,4)固态继电器 固态继电器是光电开关隔离的扩展应用,在工业上用途广泛,是性能较为理想的开关量输出元件,其结构如图11.12(d)所示。它兼有光电耦合器和继电器二者的优点,同时克服了两者的不足。输入为TTL电平,输入电流小于1 mA,输出电压为241200 VDC(或AC),输出电流为0.530 A。它的优点是开关速度快,无触点,无火花,可靠性好;缺点是价格稍贵。,此外,VFBT器件是开关量输出非常有前途的器件。随着VMOS器件的发
27、展,中功率和大功率高压场效应管已经出现。VMOS采用V形沟道,其特点是能够高频工作,在低输入电流情况下能输出高压大电流。这种新型专用的开关量集成电路已经广泛应用。开关量输出的工作过程是,微型计算机根据控制过程的需要形成对应的开关量控制率,或事先存储对应开关量控制字,将开关量送入寄存器后即可产生对应的开关量输出。特别需要注意的是,加电时必须保持寄存器为零,不能听任寄存器为任意状态而造成事故。对开关量输出有严格的时间要求时,要加计数器计时,保证精确时序和开关量输出时间周期。对于重要的开关量输出,可用三个寄存器中的对应位表示同一个开关量,经三取二决定逻辑控制开关量输出,以进一步提高其可靠性。,4.应
28、用注意事项 需要说明的是,在某些特殊情况下,需要在上述框图的基础上加以改进。1)输出特性不符 输出电压和电流不符合共同的输出标准,要求比24 V或27 V更高的交直流电压,或者要求很大的电流时,采用二级继电器,即由开关量的输出再驱动强电继电器,由强电继电器触点构成通断完成这些要求。,2)高可靠性 有些开关量输出要求特别可靠,要用外界一些条件直接进行控制,这样可在缓冲寄存器后加逻辑电路。用这些条件参与控制,然后再推动驱动器和输出部件。这种开关量输出被称为有条件开关量输出。3)速度和时序 有些开关量输出要求严格的开关时间或某个开关接通后延迟指定时间,以使另一开关量接通。在微型计算机程序不能用于精确
29、计时的情况下,开关量输出部分需加硬件定时计数器来处理这个问题。,4)引入手动控制 还有一些人工直接干预的开关量输出,可将操作键的输入信号与缓冲寄存器输出信号相“或”再送驱动电路和输出部件,这样不通过微型计算机便可进行手动控制。尽管还有这样那样的情况需要处理,总的说来开关量输出的逻辑关系是比较简单的,重要的是确保其工作的可靠性。,11.3 模 拟 量 接 口,在工业过程控制中,经常要对温度、压力、流量、浓度及位移等物理量进行计算机控制。通常,先用传感器测量这些物理量,得到与之相应的模拟电流或模拟电压,再通过A/D转换器(ADC)转换为相应的数字信号,送入数字计算机处理,因此ADC常被看成是编码装
30、置(因为转换后的数字信号是以编码形式送入数字系统的)。计算机处理后的结果是数字量,若用它去控制伺服电机等模拟量执行机构,则需通过D/A转换器(DAC)转换为相应的模拟信号,去驱动执行机构工作,因此DAC又常被看成是解码装置。,11.3.1 D/A转换器 D/A转换器是一种将数字量转换成模拟量的器件,其特点是接收、保持和转换的是数字信息,不存在随温度和时间的漂移问题,因此电路的抗干扰性能较好。由于现阶段D/A转换器接口设计的主要任务是选择D/A集成芯片,并配置相应的外围电路,因此本书不介绍D/A转换器的基本原理,而是重点介绍常用的芯片。,1.8位D/A转换器DAC0830/0831/0832 D
31、AC0830/083l/0832是8位分辨率的D/A转换集成芯片,它具有价格低廉、接口简单及转换控制容易等特点。DAC0830系列产品包括DAC0830、DAC0831和DAC0832,它们可以完全相互代换。这类产品由8位输入锁存器、8位DAC寄存器、8位DIA转换电路及转换控制电路组成,能和CPU数据总线直接相连,属中速转换器,大约在1s内将一个数字量输入转换成模拟量输出。,1)特点与主要规范 该类产品采用双缓冲、单缓冲或直接数字输入,与12位DAC1230系列容易互换,且引脚兼容,可用于电压开关方式,电流建立时间为1 s,8位的分辨率,功耗低,只需20 mW,采用+5+15 V单电源供电,
32、满足TTL电平规范的逻辑输入(1.4 V逻辑域值),具有8、9或10 位线性度(全温度范围均保证)。图11.14给出了DAC0830系列芯片的引脚图。,图11.14 DAC0830/0831/0832系列芯片的引脚图,D0D78位数据输入端,D7为最高位。IOUT1、IOUT2模拟电流输出端,转换结果以一组差动电流(IOUT1,IOUT2)输出。当DAC寄存器中的数字码全为“l”时,IOUT1最大;全为“0”时,IOUT2为零。IOUT1+IOUT2=常数,IOUT1、IOUT2随DAC寄存器的内容线性变化。RFB反馈电阻引出端,DAC0830内部已有反馈电阻,所以 RFB端可以直接接到外部运
33、算放大器的输出端,这样,相当于将一个反馈电阻接在运算放大器的输入端和输出端之间。,VCC电源电压输入端,范围为+5+15 V,以+15 V时工作为最佳。VREF参考电压输入端,此端可接一个正电压,也可接负电压。范围为10+10 V。外部标准电压通过VREF与T型电阻网络相连。此电压越稳定,模拟输出精度就越高。AGND模拟地。DGND数字地。,3)内部结构,图11.15 DAC0830内部结构,设输入锁存器的地址为200H,DAC寄存器的地址为201H,则完成一次D/A转换的参考程序片段如下:MOVDX,200H;送输入锁存器地址OUTDX,AL;AL中的数据送输入锁存器MOVDX,201H;送
34、DAC寄存器地址OUTDX,AL;数据写入DAC寄存器并转换 最后一条指令,表面上看来是把AL中的数据送DAC寄存器,实际上这种数据传送并不真正进行,该指令只起到打开DAC寄存器使输入锁存器中的数据通过的作用。,5)输出方式 DAC0830为电流输出型D/A转换器,要获得模拟电压输出时,需要外接一个运算放大器。(1)单极性模拟电压输出。如果参考电压为+5 V,则当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是50 V,如图11.16所示。,图11.16 单极性输出方式,(2)双极性模拟电压输出。如果要输出双极性电压,则需在输出端再加一级运算放大器作为偏移电路,如图11.17所示
35、。当数字量N从00H至FFH变化时,对应的模拟电压VO的输出范围是5+5 V。,图11.17 双极性输出方式,6)应用举例【例11-1】锯齿波的产生。,图11.18 DAC0830锯齿波发生器电路,控制程序清单如下:;8255A初始化MOVDX,0E003H;8255A的控制端口地址MOVAL,80H;设置8255A的方式字OUTDX,AL;B口控制DAC的转换MOVDX,0E001H;8255A的B口地址MOVAL,10H;置0830为直通工作方式OUTDX,AL,;生成锯齿波MOVDX,0E000H;设置DAC端口号MOVAL,0H;设置初值L1:OUTDX,AL;向DAC送数据INCAL
36、;输出数据加1NOP;延时JMPL1,通过AL加1,可得到正向的锯齿波。如要得到负向的锯齿波,则只要将程序中的INC AL改为DEC AL即可。可以通过延时的办法改变锯齿波的周期,若延迟时间较短,则可用NOP指令来实现;若延迟时间较长,则可用一个延时子程序。延迟时间不同,波形周期不同,锯齿波的斜率就不同。,【例11-2】三角波的产生。在原有硬件电路的基础上,换用下述程序即可产生三角波。MOVDX,0E000HMOVAL,0H;输出数据从0开始L2:OUTDX,ALINCAL;输出数据加1JNZL2;AL是否加满?未满,继续MOVAL,0FFH;已满,AL置全“1”L3:OUTDX,ALDECA
37、L;输出数据减1JNZL3;AL是再减到“0”?不是,继续JMPL2,2.12位D/A转换器DAC1208/1209/1210 DAC1208系列D/A转换器有DAC1208、DAC1209和DAC1210三种类型,它们都是与微处理器直接兼容的12位D/A转换器。其基本结构与DAC0830系列相似,也是由两级缓冲寄存器组成,因此可不添加任何接口逻辑而直接与CPU相连。它们的主要区别是线性误差不同。,1)特点与主要规范 该类器件可与所有的通用微处理器直接相连,可采用双缓冲、单缓冲或直接数字输入,逻辑输入符合TTL电压电平规范(1.4 V逻辑域值),特殊情况下能独立操作(无PC)。1 s的电流稳定
38、时间,12位的分辨率,具有满量程10位、11位或12位的线性度(在全温度范围内保证),低功耗设计,只需要20 mW。参考电压为10+10 V,+5+15 V为单电源。,图11.19 DAC1208系列内部结构及引脚分布图,图11.20 DAC1208系列芯片与 IBM-PC总线的连接,若BX寄存器中低12位为待转换的数字量,下列程序段可完成一次转换输出:START:MOVDX,220H;DAC的基地址MOVCL,4 SHLBX,CL;BX中12位数向左对齐MOVAL,BHOUTDX,AL;写入高8位INCDXMOVAL,BLOUTDX,AL;写入低4位INCDXOUTDX,AL;启动D/A转换
39、,AL中为任意数HLT,3.D/A转换器接口技术性能 1)分辨率 分辨率指D/A转换器能够转换的二进制数的位数。位数越多,分辨率越高。分辨率越高,转换时对应数字输入信号最低位的模拟信号电压值就越小,也就越灵敏。例如,一个D/A转换器能够转换8位二进制数,若转换后的电压满量程是5 V,则它能分辨的最小电压为20 mV(5 V256)。如果是10位分辨率的D/A转换器,对同样的转换电压,则它能分辨的最小电压为5 mV(5 V1024)。,2)转换时间 转换时间指从数字量输入到完成转换,且输出达到最终值并稳定为止所需的时间。不同型号的D/A转换器,其转换时间不同。电流型D/A转换较快,一般在几s到几
40、百s之内;电压型D/A转换较慢,取决于运算放大器的响应时间。,3)精度 精度指D/A转换器实际输出电压与理论值之间所存在的最大误差。D/A转换器的精度有绝对精度与相对精度之分。将D/A转换器的失调误差调整至零,并将转换器的最大输出调节至满量程值,那么此时D/A转换器对应于不同输入数码时各点模拟输出电平与理想的输出值之间的最大偏差即为转换器的相对精度。如果不对失调误差调零和不校正转换器的输出满量程值,那么此时测得的即为D/A转换器的绝对精度。,D/A转换器的精度通常有两种表示方法:一种是用满量程VFS的百分数作为单位,另一种是以最低位(LSB)作为单位来表示D/A转换器的精度。例如,一个N位D/
41、A转换器的精度为1/2 LSB,它指的是转换器的模拟输出电平与其理想输出电平之间的最大可能误差,即,11.3.2 A/D转换器 A/D转换器是实现模拟量转换为数字量的器件,在工业控制系统和数据采集以及许多其他领域中,A/D转换器常常是不可缺少的重要部件。A/D转换器的品种繁多,目前使用较广泛的主要有三种类型:逐次逼近型、V/F转换型和双积分型。其中,双积分型A/D转换器电路简单,抗干扰能力强,但转换速度较慢;逐次逼近型A/D转换器易于用集成工艺实现,且具有较高的分辨率和转换速度。因此,目前市场上的A/D转换器采用逐次逼近型的较多。,1.8位A/D转换器ADC0809,图11.21 ADC080
42、9原理图,芯片内除含有8位逐次逼近型A/D转换器外,还有8通道多路转换器和3位地址锁存和译码器,以实现对8路输入模拟量IN0IN7的选择。当地址锁存允许信号ALE有效时,将3位地址ADDCADDA锁入地址锁存器中,经译码器选择8路模拟量中的一路通过8位A/D转换器转换输出。由于输出端具有三态输出锁存缓冲器,因此可以直接与CPU系统总线相连接。ADC0809可用单5 V电源工作,模拟信号输入范围为05 V,输出与TTL兼容。,1)ADC0809芯片的引脚 图11.22是ADC0809芯片的引脚图,其引脚功能介绍如下:IN0IN78路模拟输入信号。通过ADDA、ADDB和ADDC 3个地址译码来选
43、通一路。D0D7 A/D转换后的8位数字量输出。其中,D7为最高位,D0为最低位。ADDCADDA8路模拟开关的3位地址选通输入端,以选择对应的输入通道。ADDc为高位地址,ADDA为低位地址。,图11.22 ADC0809引脚图,ALE地址锁存允许信号。当ALE为上升沿时,ADDCADDA地址状态送入地址锁存器。使用时,该信号常和START信号连在一起,当START端为高电平时,同时将通道地址锁存起来。START A/D转换启动信号。此信号由CPU执行输出指令产生。START为上升沿时,所有内部寄存器清0;START为下降沿时,开始进行A/D转换,在A/D转换期间,START应保持低电平。,
44、EOC转换结束信号。转换开始后,该信号变为低电平;经过64个时钟周期后转换结束,该信号变为高电平。EOC信号可作为对CPU的中断请求信号或DMA传送,也可作为CPU查询的信号。OE输出允许信号。当该信号为高电平时,打开输出缓冲器三态门,转换结果输出到数据总线上;当该信号为低电平时,输出数据线呈高阻态。在中断方式下,该信号为CPU发出的中断请求响应信号。,EOC和OE两个信号可以连在一起表示A/D转换结束。CLOCK时钟输入信号。时钟频率范围为101280 kHz,典型值为640 kHz,可由CPU时钟分频得到。当时钟频率为1280 kHz时,转换速率为50 s;当时钟频率为640 kHz时,转
45、换速率为100 s。VREF(+),VREF()参考电压输入信号。一般地,VREF(+)与主电源VCC相连,VREF()与模拟地GND相连。,2)ADC0809的工作时序,图11.23 ADC0809工作时序图,2.12位A/D转换器AD574A/AD674A AD574A/AD674A是美国AD公司的产品,为12位逐次逼近型ADC芯片。AD574A和AD674A的引脚、内部结构和外部特性完全相同,只是AD574A的转换时间为35 s,AD674A的转换时间为12 s。现以AD574A芯片为例进行介绍。AD574A芯片内部有模拟和数字两种电路,模拟电路为12位D/A转换器,数字电路则包括性能比
46、较器、逐次比较寄存器、时钟电路、逻辑控制电路和数据三态输出缓冲器,可进行12位或8位转换。12位的输出可一次完成(与16位的数据总线相连),也可先输出高8位,后输出低8位,分两次完成。,图11.24 AD574A引脚图,表11-2 AD574A控制信号功能表,VCC和VEE模拟部分供电的正电源和负电源,其范围为12 V或15 V。REF OUT+10 V内部参考电压输出,具有1.5 mA的带负载能力。AGND模拟信号公共地。它是AD574A的内部参考点,必须与系统的模拟参考点相连。REF IN参考电压输入,与REF OUT相连可自己提供参考电压。BIP OFF补偿调整,接至正负可调的分压网络,
47、以调整ADC输出的零点。10VIN模拟信号输入端。输入电压范围是,单极性工作时输入010 V,双极性工作时输入5+5 V。,20VIN模拟信号输入端。输入电压范围是,单极性工作时输入020 V,双极性工作时输入10+10 V。DGND数字信号公共地。DB11DB0数字量输出。STS转换状态输出。转换开始时及整个转换过程中,STS一直保持高电平;转换结束,STS立即返回低电平。可用查询方式检测此电位的变化,来判断转换是否结束,也可利用它的下降沿向CPU发出中断申请,通知CPU A/D转换已经完成,可以读取转换结果。,2)AD574A两种模拟输入方式,图11.25 AD574A输入接线图(a)单极
48、性输入;(b)双极性输入,3.转换器与微处理器的接口 A/D转换器有多种型号,但是不管哪种型号的A/D转换芯片,它对外的引脚都是类似的,所涉及的主要信号为模拟输入信号、数据输出信号、启动转换信号和转换结束信号。由于A/D转换器的型号不同,因此与CPU的连接方式也有所不同。,1)接口形式 A/D转换器的接口形式大体上可分为以下两种:(1)与数据总线直接交换信息。当A/D转换芯片内部带有可控输出三态门时,它们的数据输出端可直接与系统数据总线相连。如ADC0804、ADC0809和AD574A等。当转换结束后,CPU通过执行一条输入指令产生读信号,打开三态门,将数据读到数据总线上。,(2)通过I/O
49、接口芯片或三态门锁存器与CPU的数据总线连接。有一类A/D转换器内部不带三态输出或内部有三态输出门,但不受外部控制,而是由A/D转换电路在转换结束时自动接通,如AD570和ADC1210等。这类芯片的数据输出线不能直接与系统的数据总线相连接,在A/D转换芯片与CPU之间需外接三态缓冲器或可编程并行接口电路(如8255A),从而实现A/D转换器与CPU之间的数据传输。,对于8位以上的A/D转换器和系统连接时,要考虑A/D转换器的输出数字量位数与系统总线位数相匹配的问题。如果系统数据总线位数大于A/D转换器输出数字量的位数,则数据的读入可一次性完成;若系统数据总线位数小于A/D转换器输出数字量的位
50、数(例如,10位以上的A/D转换器),为了能和8位字长的CPU相连接,需增加读/写控制逻辑电路,把10位以上的数据按字节分时读出。对于内部不含读/写控制逻辑电路的A/D转换器,在和8位字长的CPU相连接时,应外加三态门对转换后的数据进行锁存,然后再按字节分时读入CPU。,2)启动转换信号 A/D转换器要进行转换需由外部控制启动转换信号,这一启动转换信号可由CPU提供。通常启动信号有两种形式,不同型号的A/D转换器,要求的启动信号也有所不同。对ADC0804、ADC0809和ADC1210等芯片,要求用脉冲信号来启动,由CPU执行输出指令,发出一符合要求的脉冲信号作为启动信号以启动A/D转换器进