单片机原理:第10章I/O过程通道_第1页
单片机原理:第10章I/O过程通道_第2页
单片机原理:第10章I/O过程通道_第3页
单片机原理:第10章I/O过程通道_第4页
单片机原理:第10章I/O过程通道_第5页
已阅读5页,还剩126页未读 继续免费阅读

下载本文档

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

文档简介

1、概 述,通过单片机系统的实时数据采集、实时决策和实时控制,使被控对象完成预定的任务,实现设计确定的功能。 单片机系统和被控对象之间信息的交互有输入(Input)和输出(Output)两种类型,前者在单片机系统数据采集时,将被控对象的信息经输入通道送入单片机系统;后者在单片机系统控制输出时,将单片机系统决策的控制信息经输出通道作用于被控对象。 上述两类信息交互的通道称为过程IO通道,第10章 IO过程通道,两种不同的形式的信息,交互的信息有两种不同的形式,一种是随时间变化的连续物理量,如电流、电压等,称为模拟量;另一种是有开、关两种状态的数字量,称为数字量或开关量。 在本章中主要涉及开关量输入和

2、输出以及模拟量输入和输出四个方面的问题,图10-1 过程IO通道的一般结构,10.1开关量输入和输出,一个单片机应用系统,一般都有二个大的组成部分:一部分是人与单片机交互的部分,另一部分是单片机与被控制对象之间的交互部分。人与单片机之间的接口,在第九章已经介绍过了,这一章开始研究单片机与控制对象之间的接口,也称为过程IO通道。如图10-1所示,过程IO通道可以分为开关量通道和模拟量通道,一、开关量输入,被控对象的一些开关状态可以经开关量输入通道输入到单片机系统,如电器的启动和停止、电磁铁的吸合和断开、光路的通和断等。 但是,控制现场这些开关状态一般都不能直接接入单片机。原因有两点:一方面,现场

3、开关量一般不是TTL电平,需要将不同的电平转化成单片机所需的TTL电平,该过程称为电平匹配;另一方面,即使现场开关量符合TTL电平需要,由于来自现场的干扰严重,一般也需要将单片机与外界进行电气隔离,避免对单片机产生干扰。经过电平匹配和电气隔离后的开关信号才能够通过单片机接口,接入到单片机系统,开关量接口,单片机接口可以是单片机端口线。如果单片机的端口线不足,开关量输入信号就只能经系统扩展中所扩展的输入缓冲芯片,通过数据总线进入单片机,1. 直接利用MCS-51端口线,要将一个现场开关状态输入到单片机,经常使用的方法如图10-2所示。图中的S1是现场开关,U1是光耦,其输出信号可以去单片机(MP

4、U)。当单片机系统有可用的端口线时,可以如图10-2所示连接,图10-2 含状态指示的开关量输入电路,2.利用扩展的IO接口电路,当单片机的端口线全部被占用,只好另外扩展IO接口电路了。如第八章所述,扩展IO接口方法有下列几种。 (1).利用74系列门电路 (2).利用可编程并行IO芯片 (3).利用串行口,1).利用74系列门电路,当开关量输入点数不多时,使用74系列门电路扩展并行输入口是常见的方法,该方法设计简单,性价比高。应注意的是选用有缓冲功能的门电路,门的数量由输入点的个数而定。采用74LS244(八总线缓冲器)的应用场合较多。在地址线够用时,扩展芯片的片选(或选通)采用线选法;地址

5、线不够用时,采用地址译码法,2).利用可编程并行IO芯片,采用可编程并行IO芯片的方法不常用,仅为了几个开关量输入,代价太高。可编程器件的优点在于其端口可编程设定为输入或输出。如果将某端口固定作为输入或输出,势必大材小用,降低性能价格比。有一种情况是例外的,某些场合必须用到可编程并行IO芯片且有一些未用的口线时,这些未用的口线可以用于开关量IO,以便充分利用资源,3).利用串行口,第七章中利用串行口扩展并行口的方法也可以用来输入/输出开关量。具体扩展方法见第七章相关内容,二、开关量输出,在单片机应用系统中,现场电器的通断是通过开关量输出通道进行控制的。如电机的启停、继电器的通断、电磁阀的吸合释

6、放,甚至步进电机的步进脉冲等,这些都是以开关量的形式表现出来的,都可以用数字1或0表示。开关量输出通道一般是一条端口线控制一路电器,1.开关量输出常见的受控对象,开关量输出常见的受控对象有电磁阀、继电器、各种电机等,只有对这些受控对象有深入的了解,才能更好的使用它们,发挥它们的最大效能。这些知识不属于本书的范围,需要时请参考其它资料,2.开关量输出的电气隔离,由于现场电器通断时会产生强烈的干扰,所以从端口线输出的开关量都需要电气隔离,此外数字量0、1的TTL电平不足以驱动电器,隔离后还要经驱动才能控制电器。开关量输出的基本结构如图10-3所示。图中,输出线是来自单片机的输出信号,低电平有效,图

7、10-3 开关量输出的基本结构,3.开关量输出的驱动,开关量输出往往直接驱动现场的电器或作用于大功率电器的控制回路,需要有一定的功率驱动能力。光电耦合器件在受光侧由于光敏三极管的驱动能力为mA级,一般不足以驱动执行机构,所以经常需要使用驱动电路。常见的功率驱动有下面四种方式:集成电路、可控硅、晶体管和继电器,1).常用的驱动集成电路,集成电路的驱动能力一般不是很强,往往在几十至几百毫安,在一些驱动电流要求不大的应用场合,由于集成电路具有占用空间小,易于焊接,使用方便等优点,常用来驱动如LED显示等小功率的电器。常见的驱动集成电路有74系列、75系列、ULN200系列或28系列等。此外还有许多专

8、用的驱动集成电路,2).可控硅,可控硅(SCR)又称晶闸管,具有体积小,效率高,寿命长,驱动能力大(一般是几安培至几百安培)等优点。 可控硅虽然也像开关量一样控制其导通或断开,但是SCR的导通角可控,其输出经滤波后的电压因而可控,所以经常用于模拟量的输出驱动,3).晶体管,晶体管在驱动中一般使用它的开关特性。如9013 NPN型三极管,如图10-5所示。当Ube07V(正偏电压)时,三极管饱和导通,最大允许导通电流IC可达300mA,故称其有300mA驱动能力。 三极管由于具有价格低,电路简单等特点被广泛地应用于中、小电流驱动的场合,如继电器驱动、LED或LED数码管的驱动等,绝缘栅双极型晶体

9、管IGBT,在大功率负载的驱动中常用IGBT。IGBT是绝缘栅双极型晶体管的缩写。它是一个输入部分采用MOS结构,输出部分为双极型的功率晶体管。适合于高电压和大电流,它可以在低驱动下实现高功率。应用于交流电机、变频器、开关电源、照明电路、牵引传动、逆变焊机等领域,4).继电器,可控硅虽然驱动能力很强,但需要检测电路和触发电路配合使用,结构比较复杂,在实际开关量的控制场合中,常常需要几百毫安到几十安培的驱动能力,此时使用继电器更为简单、方便。 继电器有多种不同的类型,在实际应用中常用是印刷板用超小型电磁继电器和固态继电器,印刷板用超小型电磁继电器,该类继电器具有体积小,重量轻,易于焊在线路板上等

10、优点。线圈电压几伏到几十伏;触点负荷范围为210A(DC24V),电气寿命在105以上,属于机械有触点式开关。 这类继电器通常有5个引脚,其中2个引脚接线圈(当线圈通电时,继电器吸合,常开触点闭合,常闭触点断开),1个引脚为触点的中心点,1个引脚为常开触点,1个引脚为常闭触点。 直流继电器接口原理如图10-5所示。继电器由三极管9013驱动,图10-5 直流继电器接口原理,固态继电器(SSR,由于继电器一般都需要采用隔离、驱动,而且属于机械触点接触型电器,可靠性和寿命均不是很好。固态继电器SSR是一种无触点电子开关器件,而且内含光电隔离和驱动,具有工作可靠,驱动功率大,无触点,无噪声,抗干扰,

11、寿命长等特点,被广泛应用于机电控制,尤其是防爆等应用场合,SSR工作原理,SSR工作原理如图10-6所示,由图可见,SSR为四端器件,两两一组,分别接控制信号和负载输出。控制信号可以直接与TTL、CMOS集成电路相连,无需专门驱动。选择不同型号的SSR,主要应考虑负载特性要求,如使用场合(直流交流)、电流大小等,图10-6 SSR工作原理框图,4.开关量输出的常用设计方法,与开关量输入的设计方法类似,常用的方法有: (1).直接利用MCS-51系列单片机的端口线 (2).利用74系列门电路 (3).扩展可编程并行IO口 (4).利用串行口,102 并行接口的模拟量输入通道,控制系统中模拟量输入

12、通道的设计非常重要,因为现场的诸如温度、压力、流量等连续变化的非电物理量经传感器转换成模拟电量(电压电流等),通过变送单元转换成为一定形式的模拟电量之后,需要使用AD转换器件,将模拟量转换成数字量,最后经由接口电路,将数字量送入单片机处理。这些现场状态(包括开关量输入)是单片机系统控制决策的依据。模拟量输入通道的一般结构如图10-7 所示,图10-7 模拟量输入通道的一般结构,模拟量输入通道中主要部件,模拟量输入通道中主要涉及:传感器、变送器、AD转换器、接口电路四个方面的问题,其中传感器、变送器已经超出本课程的内容范围,不予介绍,需要时可以参考其它资料。 AD转换器(Analog To Di

13、git Converter)是一种将模拟量(Analog)转换为与其成比例的数字量(Digit)的器件,常用ADC表示,本节主要介绍逐次逼近型AD转换器件,1AD转换器分类及特点,AD转换器又称为ADC。AD转换器按转换输出数据的方式,可分为串行与并行两种,根据转换分辨率可分为8位、12位、14位、16位等;按输出数据类型可分为BCD码输出和二进制输出;按转换原理可分为逐次逼近型(SAR)和积分型(Integrating AD,由于需要进行被测电压和基准电压的二次积分,所以国内资料形象地称其为双积分型),此外,还有纯硬件编码型A/D转换器,其速度最快,价格也最高,用于超高速场合,比如视频信号的

14、采集等,一、并行接口A/D转换器的分类与技术指标,串并行ADC各有优势,并行ADC具有占用较多的数据线,输出速度快的特点,在转换位数较少时,有较高的性价比; 串行ADC具有输出占用的数据线少,转换后的数据逐位输出,输出速度较慢,但它具有两大优势: 其一,便于信号隔离,在数据输出时,只需少数几路光电隔离器件,就可以很简单地实现与MPU间的电气隔离; 其二,在转换精度要求日益提高的前提下,使用串行ADC的性价比较高,且芯片小,引脚少,便于线路板制作,BCD码输出和二进制输出,BCD码输出采用分时输出千、百、十、个位的方法(以三位半为例),由于它可以很方便地驱动LCD显示,故常用于诸如数字万用表等应

15、用场合; 二进制输出一般要将转换数据送单片机处理后使用,2.AD转换器的主要指标,1)分辨率与分辨精度 (2)量化误差 (3)转换时间和转换速度 (4)量程 (5)其他指标,1)分辨率与分辨精度,分辨率习惯用转换后的数据的位数来表示。 例如,对于二进制输出型ADC,分辨率为12位的A/D转换器是指能将模拟信号转换成0000H一0FFFH数字量的芯片。对于BCD码输出型ADC其分辨率是BCD数的个数,如分辨率为3位的AD转换器指的是四位BCD码输出,其中三位是精确的,一位有一半是精确的。 分辨精度是指转换数据个数的倒数,用百分比表示。如14位的AD转换器的精度为 1/214100=1/16384

16、100=0.0061,2)量化误差,量化误差是指将模拟量转换成数字量(量化)过程中引起的误差,理论上为“单位数字量”的一半,即:12(lsb,3)转换时间和转换速度,转换时间是指从启动转换开始,到完成一次转换所需的时间;转换速度是转换时间的倒数,4)量程,量程是指能够转换的电压范围 如05V,-10+10V等,5)其他指标,包括内部/外部基准、温度系数、抑制比等,二、并行接口的AD转换器,逐次逼近型AD转换器SAR (Successive Approximation Register) ,也称为逐次比较法 AD转换器,它由结果寄存器、比较器和控制逻辑等部件组成。采用对分搜索逐位比较的方法逐步逼

17、近,是一个采用数字量试探地DA转换、比较判断的转换过程,逐次逼近型AD转换器SAR,N位逐次逼近型AD转换器最多只需N次DA转换、比较判断,就可以完成A/D转换。因此,逐次逼近型AD转换速度很快。由于SAR型ADC性能价格均比较适中,目前应用相当广泛。 本节介绍的两种AD转换器AD0809和AD574A都是SAR,1ADC0809 8位AD转换器(1)ADC0809芯片介绍,ADC0809是NS (National Semiconductor美国国家半导体)公司生产的逐次逼近型AD转换器。ADC0809具有以下特点: 分辨率8位; 误差1 lsb,无漏码; 转换时间100s(当外部时钟输入频率

18、fOSC=640kHz时); 很容易与p接口; 单一电源十5V,采用单一电源+5V供电时量程为05V,1)ADC0809芯片介绍(续,无需零位或满量程调整; 带有锁存控制逻辑的8通道多路转换开关,便于选择8路中的任一路进行转换; DIP28封装; 带锁存器的三态数据输出。 ADC0809为DIP28封装,芯片引脚排列如图10-8所示,图10-8 ADC0809芯片引脚排列,引脚的功能及含义与电源及基准相关的引脚(共4脚,VCC:工作电源输入。典型值+5V,极限值65V。 VREF(+):参考电压(+)输入,一般与VCC相连。 REF(-):参考电压(-)输入,一般与GND相连。 GND:地,与

19、控制及状态相关的引脚(共8脚,START:AD转换启动输入信号,正脉冲有效。脉冲上升沿清除逐次逼近型寄存器,下降沿启动AD转换。 ALE:地址锁存输入信号,上升沿锁存ADD-C、ADD-B、ADD-A引脚上的信号,并据此选通转换IN-7IN-0中的一路。 EOC:转换结束输出。启动转换后自动变低电平,约100s后,跳变为高电平,表示转换结束,供MCS-51查询。如果采用中断法,该引脚一定要经反相后接MCS-51的INT0或INTl引脚,与控制及状态相关的引脚(共8脚,OUTPUT ENABLE:输出允许。输入高电平有效。输入高电平时,转换结果才从AD转换器的三态输出锁存器送上数据总线。 CLO

20、CK:时钟输入,时钟频率允许范围为101200kHz,典型值640kHz,当时钟频率为典型值时,转换速度为100s(90116s)。 ADD C、ADD B、ADD A:选通输入,选通IN7 IN0中的一路模拟量。其中ADD C为高位,与数据输出相关的引脚:(共8脚,2-82-1:8位数据输出。其中2-1为数据高位,有些资料中将其记为msb;2-8为数据低位,记为lsb,与模拟输入相关的引脚(共8脚,IN7IN0:8路模拟量输入通道;ADC0809一次只能选通IN7IN0中的某一路进行转换,选通由ALE上升沿时送入的ADD C、ADD B、ADD A引脚信号决定,2. AD574A 逐次比较型

21、12位A/D转换器,在单片机应用系统中,8位AD转换器的精度往往是不够的,其精度很低,甚至达不到4。实际应用中精度要求经常是011。 1014位的AD转换器在实际应用中使用较多,尤其是12位AD转换器具有较高的性能价格比,使用更为普遍。 在使用并行接口的AD转换器中,主要需要解决如何将大于8位的转换结果送回到8位单片机内部这一问题,图10-10 AD574A芯片逻辑功能图,AD574A 12位数据接口问题,AD574A是Analog Devices公司(ADI)生产的具有并行接口的快速12位A/D转换器。具有12位的分辨率,有12条数据线。这个芯片有一个引脚(2号)叫做12/8,数据输出格式选

22、择输入信号。接十5V时选择12位(双字节)输出;接GND时,选择单字节(8位)输出。在与MCS-51连接时,该引脚必须接地,分两次读出12位数据。 本书篇幅所限,AD574的其他参数不再介绍,如果要用,请自行查找资料,10.3 串行接口的模拟量输入通道,模拟量输入通道的作用就是将现场的模拟信号转换成数字量并送给计算机,其核心器件就是A/D转换器。 对于大于8位的并行接口器件,与8位单片机相连是很麻烦的。而串行接口器件可以节省单片机的IO口线,同时还可以节省印刷电路板的面积,因为这种芯片往往外部引脚比较少。串行ADC还有一个好处是信号隔离比较方便,使用的光耦数量少。缺点是速度比并行接口慢一点,但

23、是在大多数场合还是完全够用,一、串行A/D转换器的介绍,串行接口是对于并行接口而言,具体的串行接口比较多,常见的用于芯片级的接口有SPI、I2C、单总线等,见第九章相关内容。本节先简单介绍几个具有串行接口的ADC,以便选用,然后具体介绍几个器件的使用,1、ADC0832,ADC 0832 是美国国家半导体公司ADC 0831/2/4/8系列产品中的一种。兼容SPI 的三线串行接口,8 位逐次逼近模数转换器。 采用在外部时钟控制下边转换边输出。输入输出电平与TTL 和CMOS兼容。 模拟输入双通道或单通道差分,5V单电源供电,兼做基准电源,工作频率为250KHz,转换时间为32s。 8P、14P

24、-DIP(双列直插)、PICC 多种封装,一般功耗仅为15mW。 商用级芯片温宽为0C+70C,工业级芯片温宽为-40C 到+85C,图10-11 ADC0832,芯片接口说明,CS 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 VCC/REF 电源输入及参考电压输入(复用)。 (参看仿真文件ADC0832.DSN,2、LTC1864,LTC1864是小封装的16位A/D转换器,是1860

25、(12位)的升级版。如图10-12所示,其中灰色一边是芯片管脚识别标识。三线式串行IO接口,采用单 5V工作电源。在250ksps(ksps是kilo-samples per second的缩写,即千次采样每秒)采样速率条件下,电源电流仅为850A。具体应用请看10.3.2,图10-12 LTC1864,3、LTC2440,LTC 2440 是一款具有高速24位无延迟增量累加 (No Latency -) ADC。其分辨率是相当高,往往用于高精度测量使用。灵活的三线式或四线式数字串行接口通信,并采用窄体 16 引线 SSOP 封装,如图10-13所示,图10-13 LTC2440,4、TLC2

26、543串行A/D转换器,TI公司的TLC2543是12位串行A/D转换器,使用开关电容逐次逼近技术完成A/D转换过程。片内自带时钟信号发生器,也可以使用外部时钟信号。11个模拟输入通道,在工作温度范围内,具有10s的转换时间,采样率为66kbps。具有单、双极性输出,有转换结束(EOC)输出,可编程的msB或LSB前导,可编程的输出数据长度,图10-14 TLC2543,TLC2543,TLC2543采用SPI兼容三线或四线接口,能够节省51系列单片机IO资源,且价格适中。 TLC2543的引脚排列如图10-14所示。其中与单片机接口有关的几个引脚是: EOC(19)转换结束变高,可以输出数据

27、; IO CLOCK(18)串行时钟输入端; DATA INPUT(17)串行数据输入端; DATA OUT(16)串行数据输出端; CS(15)片选,5、PCF8591,PCF8591是最早出现的具有I2C总线接口的8位A/D及D/A转换器。有4路A/D转换输入,1路D/A模拟输出。这就是说,它既可以作A/D转换也可以作D/A转换。A/D转换为逐次比较型。引脚图如图10-15所示。电源电压典型值为5V,图10-15 PCF8591,PCF8591引脚说明,AIN0AIN3:模拟信号输入端。 A0A3:引脚地址端。 VDD、VBB:电源端。(2.56V) SDA、SCL:I2C总线的数据线、时

28、钟线。 OSC:外部时钟输入端,内部时钟输出端。 EXT:内部、外部时钟选择线,使用内部时钟时EXT接地。 AGND:模拟信号地。 AOUT:D/A转换输出端。 VREF:基准电源端,6、V/F转换器LM331,LM331是电压/频率转换器,其引脚排列如图10-16所示。它能够将模拟电压转换成对应的频率信号,然后利用单片机的计数器对频率计数,换算成对应的电压值,完成模拟量到数字量的转换。理论上精度可以非常高。 当作为压/频转换器使用时,其输出脉冲的频率精确地与输入端施加的电压成比例变化。可轻松应用于所有的标准压/频转换场合。此外。用这种转换方式和光电耦合器时连接相当方便。 只要外部配合简单的电

29、阻、电容电路,就可组成电压/频率转换器,或者频率/电压转换器,图10-16 LM331,7、DS18B20,DS18B20是单总线温度传感器。内部包含了温度传感器,12位的A/D转换器,单总线通信接口和电源电路等。TO92封装。 DS18B20的引脚排列见图10-17,图10-17 DS18B20外形图,图10-18 DS18B20底视图,DS18B20产品的特点,1)只要求一个端口即可实现通信。 (2)在DS18B20中的每个器件上都有独一无二的序列号。 (3)实际应用中不需要外部任何元器件即可实现测温。 (4)测量温度范围在55到125之间。 (5)数字温度计的分辨率用户可以从9位到12位

30、选择。 (6)内部有温度上、下限告警设置。 (7)35V电源供电。 DS18B20和单总线的具体应用见10.3.3,二、串行A/D转换器LTC1864的应用,LTC1864是16位串行总线的ADC,能够保证在-40+125的汽车温度范围内工作。这里介绍其与51系列单片机的接线和编程,LTC1864引脚说明,LTC1864是8条引脚,除了电源(8)和地(4)外,其它引脚说明如下: (1)VREF 参考电源输入,15V均可 (2)VN- 模拟电压输入- (3)VN+ 模拟电压输入+,器件对此2个输入信号的差值进行转换(真正的模拟信号差分输入) (5)CONV 控制逻辑输入,高电平允许并开始转换,完

31、成后自动进入睡眠状态;低电平允许数据输出。 (6)SCK 串行时钟输入,控制数据的输出过程 (7)SDO 串行数据输出,在SCK的控制下,输出转换完的数据。在CONV低电平的情况下,在每个时钟信号的下降沿,SDO的数据改变;在SCK的上升沿之后就可以读取数据,接线,由于单片机的串行口传送是低位在先,而LTC1864的输出是高位在先,所以不能直接使用51单片机的串行口方式0,这里采用软件模拟SPI方式,接口电路如图10-19所示。 图中的4个数码管是自带译码器的16进制显示器,A/D转换得到的16位数据在此显示。RV1是可操作电位器,由此产生一个05V的模拟电压,送给LTC1864进行模数转换。

32、C1是滤波电容。 单片机利用P3.3P3.5连接LTC1864的SPI接口。利用软件模拟SPI的特性,控制LTC1864工作,图10-19 AT89C51连接LTC1864的测试电路,三、DS18B20和单总线的原理与应用,DS18B20由于电路简单,测量精度比较高,在环境温度测量中应用广泛。它的特点前已述及。 关于DS18B20的工作原理,限于篇幅不做详细说明,有兴趣的读者可以自行查找资料。 本书只针对常见的应用介绍相关内容。引脚功能描述见表10-1,1、DS18B20和单总线的原理,表10-1DS18B20引脚功能描述,DS18B20的特性,DS18B20的内部有64位的ROM,内容是单总

33、线器件全球唯一编号,利用这一点,可以在一条单总线上连接多个器件。用法略。 DS18B20内还有9个字节的随机存储器RAM,也称为暂存存储器,如下表所示,表10-2 DS18B20内的随机存储器RAM,表内容说明,表中字节地址0、1的内容是对温度进行转换后的数值。地址2、3的内容是报警设定值,地址4是器件设定值,可以用命令把这3个字节转存到内部的EEPROM中。 我们最感兴趣的是第0、1字节的内容。 DS18B20有5条ROM操作命令,6条RAM操作命令,ROM操作指令,方括号内是命令的代码 l 读ROM 33H l 匹配ROM 55H l 跳过ROM CCH l 搜索ROM F0H l 告警搜

34、索 ECH,RAM存储器操作命令,l 写暂存存储器 4EH l 读暂存存储器 BEH l 复制暂存存储器 48H l 温度变换 44H l 重新调出 B8H l 读电源 B4H,主机对DS18B20的操作步骤,主机对DS18B20的操作应该按照下面的步骤进行: 第一步:初始化,就是复位操作,要等待其返回存在信号; 第二步:发出ROM操作命令; 第三步:其他命令,接 口,我们按照51系列单片机接一个DS18B20来组成温度测量系统的情况,介绍其软硬件接口方法。 AT89C51单片机与DS18B20的连接:如图10-20所示,图10-20 DS18B20与AT89C51的连接,接口说明,AT89C

35、51单片机的硬件上并不支持单总线协议,因此,我们采用单片机的一个IO引脚与DS18B20连接,图中PX.n代表P0P3口的任意一根线。然后采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问,DS18B20的操作时序,由于DS18B20是在一根IO线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动

36、读时序完成数据接收。数据和命令的传输都是低位在先,DS18B20的复位时序,如图10-21所示,图中表示:主机将数据线DQ拉低并保持480960微秒,DS18B20就会复位。在主机释放(拉高)DQ之后,DS18B20会发出存在脉冲,就是DS18B20将DQ拉低并保持1560微秒。主机读到这个脉冲就知道DS18B20存在。从主机释放DQ到DS18B20应答完毕,需要480微秒,DS18B20的读时序,DS18B20的读时序如图10-22 对于DS18B20的读时序分为读0时序和读1时序两个过程。 对于DS18B20的读时序要求,从主机把单总线拉低之后,在15微秒之内就得释放单总线,以让DS18B

37、20把数据传输到单总线上,这时主机就可以开始对DQ进行采样,以读取DS18B20送出的数据。 DS18B20在完成一个读时序过程,至少需要60us才能完成,DS18B20的读时序如图10-22所示,DS18B20的写时序,对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同 当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平; 当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线,也就是把DQ拉高,以便DS18B20采样高电平,DS18B20的写时序如

38、图10-23所示,10.4 并行接口的模拟量输出通道,单片机控制系统的输出,一部分(与开关量有关)经开关量输出通道,作用于执行机构;另一部分(与模拟量有关)则经模拟量输出通道,通过隔离、DA转换、驱动,作用于执行机构。模拟量输出通道中主要涉及DA转换器。 DA转换器(Digit to Analog Converter)是将数字量(Digit)转换成模拟量(Analog)的器件,通常用DAC表示,它将数字量转换成与之成正比的模拟量,广泛地应用于过程控制中,一、DA转换器指标与分类1DA转换器分类及特点,DA转换器按待转换数字量的位数来分,可以分为8位、10位、12位等;按数据传送形式来分,可以分

39、为并行和串行两种;按转换输出的模拟量类型来分,可以分为电流和电压输出型。 与AD转换器类似,并行DAC具有占用较多的数据线,输出速度快的特点,在转换位数较少时,有较高的性能价格比;串行DAC具有占用的数据线少,待转换的数据逐位输入,影响转换速度,在转换位数较多时,有较高的性能价格比,串行DAC还具有便于信号隔离和芯片小,引脚少,便于线路板制作等优点,2DA转换器的主要指标,1)分辨率:输出模拟量的最小变化量; (2)满刻度误差:数字量输入为满刻度(全1时),实际输出模拟量与理论值的偏差; (3)输出模拟量的类型与范围; (4)转换时间:完成一次DA转换所需时间; (5)与CPU的接口方式:分为

40、串行和并行两种,二、并行DA转换器及应用介绍1DAC0832 8位DA转换器及其应用,由于其具有和MCS-51同等的数据宽度,接口简单,且8位DA转换器与大于8位的DA转换器的控制引脚具有共同的特性,掌握8位DA转换器,对学习其他的大于8位的DA转换器大有益处。所以,本书还是针对比较典型的DAC0832进行介绍,1)DAC0832芯片介绍,DAC0832是NS公司生产的DAC0830系列(DAC083032)产品中的一种,该系列芯片具有以下特点: 8位并行DA转换; 片内二级数据锁存,提供数据输入双缓冲、单缓冲、直通三种工作方式; 电流输出型的芯片,通过外接一个运算放大器,可以很方便地提供电压

41、输出; DIP20封装,单电源(+515 V,典型值为5V); P兼容,可以很方便地与MCS-51连接。 建立时间1微秒,DAC0832封装,如图10-25所示,芯片性能及引脚说明,与电源相关的引脚(共4脚): VCC:数字电源输入(515V),典型值为+5V。 VREF:基准电压输入(-10+10V),典型值为-5V(当输出要求为+5V电压时)。 AGND:模拟地(第3脚),在NS提供的数据手册中,3、10脚均为GND,未予区分。 DGND:数字地,通常AGND、DGND一点接地(第10脚,与控制和输出相关的引脚(共8脚,CS:片选输入,低电平选中。 ILE:数据锁存允许输入,高电平有效。

42、WRl:写1信号输入,低电平有效。当CS ILE WRl为010时,数据写入DAC0832的第一级锁存。 WR2:写2信号输入,低电平有效。 XFER:数据传输信号输入,当WR2 XFER为00时,数据由第一级锁存进入第二级锁存,并开始进行DA转换,与控制和输出相关的引脚(共8脚,Ioutl:电流输出1端。 Iout2:电流输出2端。 RFB:反馈信号输入。当需要电压输出时,Ioutl接外接运算放大器“-”端,Iout2接运算放大器“+”端,RFB接运算放大器输出端。 与数据相关的引脚(共8脚): DI7一DI0:并行数据输入,其中DI7为高位,DI0为低位,电压输出,DAC0832需要电压输

43、出时,可以简单地使用一个运算放大器连接成单极性输出形式(如图10-26所示),输出电压,当VREF=-5v时,Vout输出范围为05V;采用二级运算放大器可以连接成双极性输出(如图10-27所示),当VREF-5V时,VA取值范围为05V,Vout输出范围为-5+5V。(参看仿真文件DAC0832.DSN,图10-26 DAC0832单极性输出,图10-27 DAC0832双极性输出,双缓冲方式,选择DAC0832的最重要理由有两点:第一,其内部具有锁存器;第二,其内部具有二级锁存。如何充分地利用其二级锁存,使DAC0832的特点得以充分的利用是选用该芯片的重点。利用DAC0832内部二级锁存

44、器的基本原理是:将待转换的数据送第二级锁存的同时,将下一个待转换的数据送入第一级锁存。这样做的目的是取得2个模拟量同步输出的效果,2.大于8位的ADC与MCS-51的接口问题,随着对控制精度要求的不断提高,DA转换的位数不断加大,通常要求达到1216位。随着器件集成度不断提高,价格不断降低,这种高精度的DA转换器件的应用越来越广。当DA转换器大于8位,尤其是无片内锁存器时,与MCS-51之间的数据传送成为亟须解决的一个难点和重点。MCS-51数据总线宽度仅8位,转换数据需要分次送出,问题的关键在于如何保证分时送出的待转换的数据同时到达DA转换器,同时开始转换,下面以24位DAC为例讲述多级锁存

45、,采用多级锁存原理,图10-29介绍了一种常用的方法:第一级锁存器1个,仅存高8位数据;第二级锁存器2个,一个存高8位数据,另一个存中8位数据;第三级锁存器3个,分别存高、中、低字节数据,图10-29多级锁存原理,多级锁存工作过程,首先,P0口送出高8位数据(写P25口),虽然高8位数据被首先送出来,但不能抵达DA转换器; 然后P0口送出中8位数据(写P26口),与此同时使高8位数据移入第二级锁存,亦使高8位、中8位数据同时抵达第二级锁存; 最后P0口送出低8位数据时(写P27口),使高8位、中8位数据同时移入第三级锁存,从而确保24位数据“同时”送达DA转换器(该方法同样适用于介于816位的

46、无内部锁存的DA转换器,需二级共3个8D锁存器,10.5 串行接口的模拟量输出通道,为了实现模拟量的输出,我们还可以使用串行D/A转换器。同A/D转换器一样,D/A转换器也有串行接口,同样具有节省I/0端口,节省电路板面积和便于隔离等优点。 由于大于8位的并行接口DAC与8位单片机接口特别麻烦,采用串行接口就是一个很好的选择,只是速度相对慢一点。其中AD5320就是一个代表。它的特点是高速、微功耗、满幅度电压输出,一.串行D/A转换器AD5320原理与应用,1、AD5320特性 AD5320是单片12位电压输出D/A转换器(图10-30)。单电源,电压范围为+2.7V5.5V,电源同时也是参考

47、电源。片内高精度输出放大器提供满电源幅度输出,AD5320利用一个3线串行接口,时钟频率可高达30MHz,能与标准的SPI、QSPI、MICROWIRE和DSP接口标准兼容。AD5320的基准来自电源输入端,因此提供了最宽的动态输出范围。该器件含有一个上电复位电路,保证D/A转换器的输出稳定在0V,直到接收到一个有效的写输入信号,图10-30 AD5320引脚图,引脚功能说明,引脚号(SOT-23) 名称 功 能 (1)Vout DAC的模拟输出电压。输出放大器工作时输出可达满电源幅度 (2)GND 器件中所有电路的地基准点 (3)VDD 电源输入。器件用+2.7V至+5.5V电源工作并应该去

48、耦,引脚功能说明,4)DIN 串行数字输入。器件具有一个16位移位寄存器。数据在串行时钟输入的下降沿随时钟移入寄存器 (5)SCLK 串行时钟输入。数据在串行时钟输入的下降沿随时钟移入输入移位寄存器。数据的传送速率高达30MHz,引脚功能说明,6)SYNC 电平触发控制输入(低电平有效)。这是输入数据的帧同步信号。当SYNC变为低电平时,它会使输入移位寄存器进入工作状态,数据在后续时钟的下降沿被移入。DAC在第16个时钟周期后被更新,除非在此时钟边沿之前SYNC变为高电平。在这种情况下,SYNC的下降沿用作一次中断,而写信号则被DAC忽略,操作时序说明,AD5320的输入移位寄存器是16位的,见图10-31。最高2位无用(图中的),依次的2位D1

温馨提示

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

评论

0/150

提交评论