第8章 可编程接口芯片及应用.ppt_第1页
第8章 可编程接口芯片及应用.ppt_第2页
第8章 可编程接口芯片及应用.ppt_第3页
第8章 可编程接口芯片及应用.ppt_第4页
第8章 可编程接口芯片及应用.ppt_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

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

文档简介

第8章可编程接口芯片及应用,8.1可编程定时器/计数器芯片8253/82548.2可编程并行接口芯片8255A8.3串行通信及可编程串行接口芯片8.4模/数(A/D)与数/模(D/A)转换技术及其接口,定时功能的实现方法,软件定时(延时)利用微处理器执行一个延时程序段实现硬件定时采用分频器、单稳电路或简易定时电路控制定时时间可编程硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,8.1可编程定时/计数器8253/8254,8.1.18253的结构及引脚功能,3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数可用于准确计数或精确定时,1、内部结构,计数器,CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号定时时间=时钟周期计数初值,读/写逻辑,D0D7数据线A0A1地址线RD读信号WR写信号CS片选信号,2、8253引脚及与CPU的连接,计0计1计2控制口端口地址:10011000B、9AH、9CH、9EH,8.1.28253的工作方式,方式0计数结束中断,方式1单稳负脉冲信号发生器,方式2速率信号发生器(分频器),方式3方波发生器,方式4软件触发选通信号,GATE,OUT,CLK,0,3,1,2,4,4,方式4,2,2,3,3,3,1,0,WR,方式5硬件触发选通信号,特征,上升沿触发初始高电平计数到“0”OUT由高变低,维持一个CLK周期,需要注意:处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低变高,再由高变低)才将预置寄存器的初值送到减1计数器。从第二个CLK信号的下降沿,计数器才真正开始减1计数。,8.1.38253的编程,1、控制字,2、初始化编程,步骤:写入控制字可使计数通道复位写入计数初值,选择二进制时计数值范围:0000HFFFFH0000H是最大值,代表65536选择十进制时(BCD码)计数值范围:000099990000是最大值,代表10000,3、读取8253计数值,对8位数据线,读取16位计数值需分两次读取方法1.直接读取2.锁存读取计数在不断进行,应该将当前计数值先行锁存,然后读取:写控制字:给8253写入锁存命令从计数器I/O地址读出:读取锁存的计数值,8254是8253的改进型,它们的引脚定义与排列、硬件组成等基本上是相同的。因此8254的编程方式与8253是兼容的,凡是使用8253的地方均可用8254代替。允许最高计数脉冲(CLK)的频率不同。8253的最高频率为2MHz,而8254允许的最高计数脉冲频率可达10MHz(8254为8MHz,8254-2为10MHz)。8254每个计数器内部都有一个状态寄存器和状态锁存器,而8253没有。8254有一个读回命令字,用于读出当前减1计数器CE的内容和状态寄存器的内容,而8253没有此读回命令字。,8.1.48254与8253的区别,例1:设8253芯片的端口地址为388H38BH。现要求计数器0工作在方式3,计数初值为2354,十进制计数;计数器1工作在方式2,计数初值为18H,二进制计数。试根据上述要求编写初始化程序及读取计数器0当前计数值的程序。计数器0:方式3控制字00110111B计数初值2354计数器1:方式2控制字01010100B计数初值=18H,8.1.58253应用实例,初始化程序MOVDX,38BH;给计数器0送控制字MOVAL,37HOUTDX,ALMOVDX,388H;送计数初值的低8位MOVAL,54HOUTDX,ALMOVAL,23H;送计数初值的高8位OUTDX,ALMOVDX,38BH;给计数器1送控制字MOVAL,54HOUTDX,ALMOVDX,389H;计数初值送低8位MOVAL,18HOUTDX,AL,计数器0计数值读出程序MOVDX,38BH;送计数器0计数值锁存命令MOVAL,00HOUTDX,ALMOVDX,388H;读出当前计数值的低8位INAL,DXMOVCL,ALINAL,DX;读出当前计数值的高8位MOVCH,AL,例2:某8086系统中,有一片8253芯片,利用通道1完成对外部事件的计数,计满500次,向CPU发出中断请求,利用通道2输出频率为1KHz的方波。编写初始化程序。通道1:方式0控制字01110001B计数初值499通道2:方式3CLK2=1.19MHz控制字10110111B计数初值=1190,设端口地址为98H、9AH、9CH、9EH十进制计数MOVAL,71HOUT9EH,ALMOVAL,99HOUT9AH,ALMOVAL,04HOUT9AH,ALMOVAL,0B7HOUT9EH,ALMOVAL,90HOUT9CH,ALMOVAL,11HOUT9CH,AL,二进制计数MOVAL,10110110BOUT9EH,ALMOVAX,1190OUT9CH,ALMOVAL,AHOUT9CH,AL,例3:信号源频率为1MHz,现要分频使之产生周期为4s的方波,点亮发光二极管工作,编程实现。,10010100B、95H、96H、97H,因此采用通道连接,如上图所示,因为,通道0方式3控制字00100111B通道1方式3控制字01100111B,MOVAL,27HOUT97H,ALMOVAL,10HOUT94H,ALMOVAL,67HOUT97H,ALMOVAL,40HOUT95H,AL,8.2并行通信和并行接口芯片8255A通信:计算机与外设之间或计算机与计算机之间的信息交换或数据传输。通信的两种基本方式,并行通信串行通信,8.2.1并行通信的基本概念,1、并行通信将数据的各位同时在多根并行传输线上进行传输。,数据的各位同时由源到达目的地快多根数据线距离短、远程费用高,并行通信适于短距离、高速通信,2、并行接口,并行接口连接CPU与并行外设,实现两者间的并行通信,在信息传送过程中,起到输出锁存或输入缓冲的作用。,并行接口的典型硬件结构包括:1、一个或一个以上具有锁存或缓冲的数据端口2、与CPU进行数据交换所必须的控制和状态信号3、与外设进行数据交换所必须的控制和状态信号4、端口译码电路5、控制电路,8.2.2可编程并行通信接口芯片8255A,1、8255A的编程结构及引脚功能2、CPU与8255A的接口3、8255A的初始化编程4、8255A三种工作方式及应用5、键盘和显示接口,数据总线缓冲器,内部控制线,内部数据线,D0D7,A组控制,A组端口A,A组端口C上部,B组控制,B组端口C下部,B组端口B,读写控制逻辑,PC0PC3,PB0PB7,PC4PC7,PA0PA7,RDWRA0A1CSRESET,1、8255A的编程结构及引脚功能,VccGND,CS、A1、A0、RD、WR逻辑关系表,2、CPU与8255A的接口,A口B口C口控制口端口地址:1110110000B、3B2H、3B4H、3B6H,3、8255A初始化编程,8255A的控制字8255A方式控制字,方式选择控制字置位复位控制字(对C口任一位),置位复位控制字,4、8255A三种工作方式及应用,根据A口和C口、B口和C口之间硬件关系的不同,可以有三种不同的工作方式,分别称为方式0、方式1、方式2(只针对A口)。A口或B口工作在方式0:与C口之间没有硬件联系。A口或B口工作在方式1:C口的某3根引脚作为端口与外设的联络信号。A口工作在方式2:C口的某5根引脚作为端口与外设的联络信号。,1)方式0(基本输入/输出方式),它适用于不需要应答信号的简单输入输出场合,若需要联络时,可自定义C口为联络信号。构成3个8位端口,或2个4位、2个8位端口,以适应不同应用场合。例1:设某8086系统中连接一片8255A,8255A的A口接拨码盘,B口接共阴数码管,设计程序段使数码管显示拨码盘的数字。,控制字:10010000B,设端口地址为3B0H、3B2H、3B4H、3B6HTAB1DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH,77H,7CHDB39H,5EH,79H,71HMOVDX,3B6HMOVAL,90HOUTDX,ALADDR:MOVDX,3B0HINAL,DXANDAL,0FHMOVBX,OFFSETTAB1XLATMOVDX,3B2HOUTDX,AL,例2:利用8255A方式0驱动打印机,实现将CL中的ASC码字符送打印机。,当主机要往打印机输出字符时,打印机工作过程为:先查询打印机BUSY信号,当BUSY=0时可传送字符。然后将要打印字符的ASCII码传送(从A口)至打印机。同时发出选通信号(STB)将字符选通到打印机输入缓冲器。设8255的端口地址为:3B0H3B2H3B4H3B6H,PAPC6PC2,STBBUSY,控制字:10000001BMOVAL,81HMOVDX,3B6HOUTDX,ALMOVAL,00001101BOUTDX,AL,ROT:MOVDX,3B4HINAL,DXTESTAL,04HJNZROTMOVAL,CLMOVDX,3B0HOUTDX,ALMOVAL,00001100BMOVDX,3B6HOUTDX,ALINCALOUTDX,AL,2)方式1(选通输入/输出方式),A口输入B口输入,对方式1输入的端口,C口提供与外部联络的信号有:STB选通信号(低电平有效)由外设发出,送给8255A,作用是将外设送来的数据锁存到8255A的输入端口。IBF输入缓冲器满信号(高电平有效)8255A发出,表示外设送来的数据已进入输入端口。当外设送来的数据送入输入端口后,8255A自动发出。INTR中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。STB、IBF、INTE均为时,8255A自动发出INTR。注意:INTE无引出端,设计规定由软件对PC4或对PC2置1触发中断允许触发器。,方式1输入信号时序图,A口输出B口输出,对方式1输出的端口,C口提供与外部联络的信号有:OBF输出缓冲器满信号(低电平有效)当数据送至8255A输出缓冲器后,8255A自动发出。表示CPU送来的数据已进入8255A输出端口,可用来通知外设把数据取走。ACK外设响应信号(低电平有效)由外设发出,送给8255A。作用是通知8255A输出端口的数据已被外设取走,可以传送下一个数据。INTR中断申请信号(高电平或上升沿有效)8255A发出,用来向CPU发出中断申请。当OBF、ACK、INTE均为时,8255A自动发出INTR。,方式1输出时信号时序图,例3:8255A初始化编程。设8255A的A口工作方式1输出,B口工作方式1输入,PC4和PC5输入,允许A口中断(PC6控制)禁止B口中断(PC2控制)。设片选信号由A9A2=10000000确定。试编写程序对8255A进行初始化。8255A四个端口地址:200H201H202H203H8255A的方式控制字:10101110B,初始化程序如下:MOVAL,0AEH;控制字送ALMOVDX,203H;8255A控制字寄存器地址送DXOUTDX,AL;控制字送8255A的控制寄存器MOVAL,00001101B;PC6置1,允许A口中断OUTDX,ALMOVAL,00000100B;PC2置0,禁止B口中断OUTDX,AL,例4:利用8255A的端口A工作在方式1驱动打印机,把缓冲区BUFF中的400H个字节的ASC码字符送到打印机打印。设端口地址分别为60H、61H、62H、63H。,控制字:10101000B,MOVCX,400HMOVAL,0A8HOUT63H,ALMOVDI,OFFSETBUFFROT1:INAL,62HTESTAL,10HJNZROT2ROT2:MOVAL,DIOUT60H,ALINCDILOOPROT1,3)方式2(双向传送方式),PA7PA0,ACKA,RD,STBA,INTEA1PC4,INTEA2PC6,与门,PC3,INTRA,或门,与门,工作在方式2时,C口有5根引脚作为A口的联络信号,是方式1下A口输入、输出联络信号的组合。,5、键盘和显示接口,1)LED数码显示接口(8段)LED数码管分共阴LED和共阳LED,发光时通过的平均电流为10mA20mA、电压为1.5V,实际使用时要加驱动及限流。显示方式,静态显示各数码管能稳定地同时显示各自字符。动态显示各数码管轮流地一遍一遍显示各自字符,人们因视觉器官惰性而看到的是各数码管似乎在同时显示不同字型。,静态显示接口,D0D1D2D3D4D5D6D7,位0,abcdefgh,位1,位2,同相驱动器,PB2PB1PB08255APA,共阴,动态显示接口,1,1,1,2)键盘及其接口,键盘键盘是一组开关的集合,是微型计算机不可缺少的输入设备,人们通过它往计算机传递信息。一般性问题检测是否有键按下;若有键按下,判定是哪一个键;确定被按键的读数;去抖动;不管一次按键持续的时间有多长,仅采用一个数据;处理同时按键。,键盘工作原理,键盘可以分为独立连接式和矩阵式,独立连接式也称为线性结构键盘,是最简单的键盘。每一个引脚连接一个键输入0/1反映健是否高低,+5V,+5V,控制线,检测线,常用的矩阵结构键盘每行连接一个引脚每列连接一个引脚利用控制线为低、读取检测线来识别闭合键,键盘接口及键的识别,为了识别键盘上的闭合键,通常采用两种方法,一种为行扫描法,另一种称为行反转法。行扫描法,PA0PA1PA2PA3PB0PB1PB2PB3,10k4,5V,原理:CPU每次使并行输出端口的某位为零,而其它位为1,然后CPU只要读取输入端口中的数据,就可判别。,012,C,行反转法,5V,PA0PA1PA2PA3PB0PB1PB2PB3,10k8,原理:第一步设A口输出B口输入A口输出全0值,然后从B口读入;第二步设A口输入B口输出将B口刚读入的值输出,再从A口读入,9,0,抖动和重健问题机械按键的抖动现象,抖动的持续时间随操作员而异,通常总是不大于10ms,用软件方法可以很容易地解决抖动问题,这就是通过延迟来等待抖动消失,这之后再读入键码。另外还可使用硬件消抖电路。,硬件消抖电路,重键问题,重键指两个或多个键同时闭合出现重键时,读取的键值必然出现有一个以上的0,是否给予识别和识别哪一个键简单情况:不予识别,认为是错误的按键通常情况:只承认先识别出来的键连锁法:直到所有键都释放后,读入下一个键巡回法:等被识别的键释放以后,就可以对其他闭合键作识别,而不必等待全部键释放正常的组合键:都识别出来,8.3串行通信和串行接口芯片8251A,1、串行通信将数据的各位按时间顺序依次在一根传输线上传输。,数据的各位依次由源到达目的地慢数据线少远程,费用低,串行通信适于长距离、中低速通信,8.3.1串行通信的基本概念,2、串行接口,能够完成串行通信任务的接口功能:1、接收并行数据转换为一定格式的串行数据送出;2、接收串行数据流,并将其转换为并行数据输入。串行接口的典型硬件结构包括除了包括并行接口芯片所具有端口及控制电路之外,还有串入并出、并入串出移位寄存器。,3、串行通信的数据传输方式,单工方式,半双工方式,A,接收器,B,发送器,发送器,接收器,全双工方式,4、串行通信类型,所有串行通信都需要一个时钟信号来作为数据的定时参考。发送器和接收器用时钟来决定何时发送和读取每一位数据。根据采用统一时钟还是本地局部时钟,分为如下两种类型串行异步通信(异步通信)串行同步通信(同步通信)1)异步通信字符与字符之间的传送是异步的,而字符的位与位之间是同步的。以字符为单位进行传输,其通信协议是起止式异步通信协议(Protocol),说明:1、两个字符间的间隔任意2、发送时钟与接收时钟不必完全同步,只要比较接近3、在同一传输系统中,通信双方协议的数据格式是相同的4、可设波特率因子为1、16、64波特率因子指时钟频率是波特率的1倍、16倍、64倍,2)同步通信,以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束。,说明:1、分为单同步(1)、双同步(2)、外同步(无)2、字符间不允许有间隔,在没有信息传输时,要填上同步字符3、接收端在收到确定数量的同步字符后,才认为传输开始4、要求通信双方保持完全的同步,3)波特率与发送接收时钟,1、波特率是指单位时间内传送二进制数据的位数,其单位是位/秒(bit/s)。它是衡量串行数据速度快慢的重要指标。最常用的标准波特率是110、300、600、1200、2400、4800、9600、19200、10M、100Mb/s(bps)等。注:区分字符速率与波特率概念。2、发送/接收时钟在发送数据时,发送器在发送时钟作用下将发送移位寄存器的数据按位串行移位输出;在接收数据时,接收器在接收时钟作用下对来自通信线上串行数据,按位串行移入接收移位寄存器。,8.3.2串行通信接口标准,计算机与计算机之间的通信问题,涉及短距离通信也涉及长距离通信,而且通信形式也可能是各种各样的,为了使通信双方相互衔接,也为了使计算机及其它通信设备互相沟通。必须对串行通信建立一致的概念和标准。接口电路也必须按此标准来设计。串行通信接口标准经过使用和发展,目前已有几种。但都是在RS-232C标准的基础上经过改进而形成的。所以主要介绍RS-232C。RS-232C接口标准(EIA-RS-232C),是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000b/s范围内的通信。1、应用,2、机械标准,DB-25插座,具有25针的电缆连接器,定义了22根信号。但实际进行异步通信时只需9根。所以还有DB-9连接器作为多功能I/O卡或主板上COM1和COM2两个串行口的连接器。,对于短距离通信,一般不采用MODEM,可直接将通信双方连接在一起。当不需联络信号时可采用最简三线式连接。,微机,TxD,RxD,GND,微机,TxD,RxD,GND,RS-232C标准规定,若不使用MODEM,最大直接传输距离为15m。(因单端驱动非差分接收电路),3、电气标准,1)EIA电平采用负逻辑。低电平为5V15V高电平为5V15V实际常用12V或15V2)电平转换,8.3.3可编程串行接口芯片8251A,8251A是通用同步异步接收发送器USART,适合作异步起止式数据格式(19.2kb/s)和同步面向字符数据格式(64kb/s)的接口。功能:1、并串或串并转换2、可工作在同步或异步两种方式3、同步方式时,可设置内同步或外同步4、异步方式时,可选择波特率因子5、提供了与调制解调器的接口信号6、可检测奇偶校验错、覆盖错、帧格式错。,一、8251A的编程结构及引脚功能二、CPU与8251A的接口三、8251A的初始化编程四、8251A应用,一、8251A的结构及引脚功能,GNDVcc,引脚功能,1、面向CPU的连接信号数据线D0D7复位线RESET,2、状态信号(可用于中断请求)TxRDY发送器准备好发送缓冲器空时有效RxRDY接收器准备好有效时表示接收缓冲器已收到字符TXE发送器空完成一次发送操作时有效SYNDET/BD同步检测/断点检测,3、时钟信号,TxC发送器时钟由外部提供RxC接收器时钟由外部提供CLK工作时钟为芯片内部电路提供定时,同步方式下,fclk的频率大于TxC或RxC频率的30倍,异步方式下,fclk的频率大于TxC或RxC频率的45倍。另外CLK的周期要在0.42s到1.35s范围内。4、面向调制器的接口信号RTS请求发送CTS允许发送TXD发送数据线DTR数据终端准备好DSR数据装置准备好RXD接收数据线,编程结构,模式寄存器设定8251A的工作模式两个同步字寄存器用于存放同步字符控制寄存器用于启动发送/接收或复位状态寄存器指示8251A接口的工作状态输入寄存器用于数据输入输出寄存器用于数据输出,控制口,数据口,二、CPU与8251A接口,数据口控制口端口地址:11010100B0D6H,D0D7RDWRA1RESETCLKA7A6A0M/IOA5A4A3A2,D0D7RDDTRWRDSRC/DRTSRESETCTSCLKTXDRXDCSTXCRXC,GG2AY5G2BCBA,1,8086最小模式,8251A,8253,二分频,三、8251A的初始化编程,由于8251A的模式字、同步字和命令字之间无特征标志,它们的区别仅在于装入的先后次序,因此,在初始化编程时必须严格按照编程顺序进行编程。,Y,Y,N,Y,系统复位,输出模式字,输出命令字,收/发数据,输出第二个同步字,输出第一个同步字,同步?,结束?,复位?,双同步?,N,模式选择控制字,异步模式,同步模式,同步字符数目0双同步1单同步,同步方式0内同步1外同步,数据位数005位016位107位118位,SCSESDEPPENL2L100,奇偶校验类型0奇校验1偶校验,是否需奇偶校验0不需要1需要,命令控制字,EH搜索同步字符1只用于内同步IR内部复位1重新进入初始化流程RTS请求发送1使RTS输出低电平ER出错复位1使出错标志复位SBRK发送断点字符1强迫TXD为低电平输出空白字符RXE允许接收1允许CPU通过8251A接收数据DTR数据终端准备好1使DTR输出低电平TXEN允许发送1允许CPU通过8251A发送数据,状态字,DSR数据设备准备好1当DSR为低电平时有效SYN同步检测与SYNDET引脚电平相同FE1指出帧格式错只用于异步方式OE1指出超越错误PE1指出奇偶校验错TXE发送器空和TXE引脚电平相同RXRDY接收器准备好和RXRDY引脚电平相同TXRDY发送器准备好注:引脚TXRDY为1的条件是CTS=0、TXEN=1、TXRDY=1,四、8251A应用举例,例1:设置8251A异步方式,7位数据、偶校验、1个停止位,波特率因子为64,通知MODEM已准备就绪,允许接收和发送,使错误全部复位,并查询状态字,当接受准备就绪时,从数据口读入数据。端口地址:300H301H模式字:控制字:注:8251A必须有效复位后才能开始初始化,有效复位指外部复位后再内部复位,即先向控制口连续写入3个全0,然后送复位控制字(40H)。,01111011B7BH00110111B37H,MOVAL,0MOVDX,301HOUTDX,ALOUTDX,ALOUTDX,ALMOVAL,40H;01000000BOUTDX,AL;有效复位MOVAL,7BHOUTDX,AL;模式字送控制口MOVAL,37HOUTDX,AL;命令字送控制口WAIT:INAL,DX;读入状态字ANDAL,02H;检测接收是否准备就绪JZWAITMOVDX,300H;读入数据INAL,DX,例2:设置8251A同步方式,7位数据、偶校验、2个同步字符、采用内同步,同步字符为23H,通知MODEM已准备就绪,允许接收和发送。设端口地址:50H51H模式字:控制字:,00111000B38H10110111BB7H,MOVAL,0OUT51H,ALOUT51H,ALOUT51H,ALMOVAL,40HOUT51H,AL;有效复位MOVAL,38HOUT51H,AL;模式字MOVAL,23HOUT51H,AL;同步字OUT51H,AL;同步字MOVAL,0B7HOUT51H,AL;命令字,例3:在甲乙两台微机之间进行串行通信,甲机发送,乙机接收。要求把甲机上开发的应用程序(其长度为2DH,首地址为300H)传送到乙机。采用异步方式,字符长度为8位、2位停止位、波特率因子为64个/位、无校验、波特率为4800b/s。CPU与8251A之间用查询方式交换数据。设端口地址分别为58H、59H。分析:由于是近距离传输,可以不需要MODEM,而直接互连,并且,采用查询I/O方式,故收发程序中只需检查收发准备好的状态是否置位,就可收发一个字节。TXC、RXC的频率是4800b/s64个/b=0.3MHzfCLK(45)0.3MHz=1.21.5MHz,乙机,TXDRXDTXCRXC,TTL/EIA转换,波特率发生器,甲机,TXDRXDTXCRXC,TTL/EIA转换,波特率发生器,软件编程,发送程序段:MOVAL,0OUT59H,ALOUT59H,ALOUT59H,ALMOVAL,40HOUT59H,AL;有效复位MOVAL,11001111BOUT59H,AL;模式字MOVAL,00110111BOUT59H,AL;命令字MOVCX,2DH;传送字节数MOVSI,300H;发送区首地址,L1:INAL,59HANDAL,01H;查询状态位TXRDY=1?JZL1MOVAL,SIOUT58H,ALINCSILOOPL1,接收程序段(略),8.4模/数与数/模转换技术及其接口,8.4.1数/模(D/A)转换器,D/A转换器的作用是将二进制的数字量转换为相应的模拟量。D/A转换器的主要部件是电阻开关网络,其主要网络形式有权电阻网络和R2R梯形电阻网络,其工作原理这里不作介绍。集成D/A芯片类型很多,按生产工艺分有双极型、MOS型等;按字长分有8位、10位、12位等;按输出形式分有电压型和电流型。另外,不同生产厂家的产品,其型号各不相同。例如,美国国家半导体公司的D/A芯片为DAC系列,如DAC0832等;美国模拟器件公司的D/A芯片为AD系列,如AD558等。,一、D/A转换器的主要性能指标1、分辨率(Resolution)输入的二进制数每1个最低有效位(LSB)使输出变化的程度。一般用输入数字量的位数来表示:如8位、10位例:一个满量程为5V的10位DAC,1LSB的变化将使输出变化5/(210-1)=5/1023=0.00488V=4.88mV2、建立时间当DAC输入由最小的数字量变为最大的数字量时,DAC的输出达到稳定所需要的时间。,二、常用D/A转换器芯片,1、DAC0832DAC0832是美国国家半导体公司采用CMOS工艺生产的8位D/A转换集成电路芯片。它具有与微机连接简单、转换控制方便、价格低廉等特点,因而得到了广泛的应用。,1)DAC0832内部结构与引脚功能,DI7DI0D/A转换器的数字量输入引脚。其中DI0为最低位,DI7为最高位。CS片选信号输入端,低电平有效。WR1输入寄存器的写信号,低电平有效。ILE输入寄存器选通信号,高电平有效。ILE信号和CS、WR1共同控制选通输入寄存器。当CS、WR1均为低电平,而ILE为高电平时,LE1=0,输入数据被送至8位输入寄存器的输出端;当上述三个控制信号任一个无效时,LE1变高,输入寄存器将数据锁存,输出端呈保持状态。,XFER从输入寄存器向DAC寄存器传送D/A转换数据的控制信号,低电平有效。WR2DAC寄存器的写信号,低电平有效。当XFER和WR2同时有效时,输入寄存器的数据装入DAC寄存器,并同时启动一次D/A转换。VCC芯片电源,其值可在+5+15V之间选取,典型值取+15V。AGND模拟信号地。DGND数字信号地。RFB内部反馈电阻引脚,用来外接D/A转换器输出增益调整电位器。,VREFD/A转换器的基准电压,其范围可在10+10V内选定。该端连至片内的R2RT型电阻网络,由外部提供一个准确的参考电压。该电压精度直接影响着D/A转换精度。IOUT1D/A转换器输出电流1,当输入全1时,输出电流最大,约为;当输入为全0时,输出电流最小,即为0。IOUT2D/A转换器输出电流2,它与IOUT1有如下关系IOUT1+IOUT2=常数,2)DAC0832的工作方式DAC0832内部有两个寄存器,能实现三种工作方式:直通、单缓冲和双缓冲方式。直通工作方式指两个寄存器的有关控制信号都预先置为有效,两个寄存器都开通。只要数字量送到数据输入端,就立即进入D/A转换器进行转换,这种方式应用较少。单缓冲方式只有一个寄存器受到控制。这时将另一个寄存器的有关控制信号预先设置成有效,使之开通,或者将两个寄存器的控制信号连在一起,两个寄存器作为一个来使用。,DAC0832单缓冲方式,双缓冲方式指两个寄存器分别受到控制。当ILE、CS和WR1信号均有效时,8位数字量被写入输入寄存器,此时并不进行A/D转换。当WR2和XFER信号均有效时,原来存放在输入寄存器中的数据被写入DAC寄存器,并进入D/A转换器进行D/A转换。在一次转换完成后到下一次转换开始之前,由于寄存器的锁存作用,8位D/A转换器的输入数据保持恒定,因此D/A转换的输出也保持恒定。,DAC0832双缓冲方式,3)电压输出电路的连接DAC0832以电流形式输出转换结果,若要得到电压形式的输出,需要外加I/V转换电路,常采用运算放大器实现I/V转换。,(a)单极性输出;(b)双极性输出,单极性输出电路输出电压为:,式中D为输入数字量的十进制数。因为转换结果IOUT1接运算放大器的反向端,所以式中有一个负号。若VREF=+5V,当D=0255(00HFFH)时,VOUT=-(04.98)V。,双极性输出电路输出电压为:,若VREF=+5V,当D=0时,VOUT1=0,VOUT=-5V;当D=128(80H)时,VOUT1=-2.5V,VOUT=0;当D=255(FFH)时,VOUT1=-5.98V,VOUT=4.96V。,2、DAC1210DAC1210是美国国家半导体公司生产的12位D/A转换器芯片,是智能化仪表中常用的一种高性能的D/A转换器。DAC1210的逻辑结构与DAC0832类似,所不同的是DAC1210具有12位的数据输入端,且其12位数据输入寄存器由一个8位的输入寄存器和一个4位的输入寄存器组成。两个输入寄存器的输入允许控制都要求CS和WR1为低电平,但8位输入寄存器的数据输入还要求B1/B2端为高电平。,DAC1210的结构框图,DAC1210的引脚DI11DI0D/A转换器的数字量输入引脚。其中DI0为最低位,DI11为最高位。CS片选信号输入端,低电平有效。WR1输入寄存器的写信号,低电平有效。当此信号有效时,与CS和B1/B2配合起控制作用。B1/B2字节控制。此端为高电平时,12位数字同时送入输入锁存器;此端为低电平时,将12位数字量的低4位送到4位输入寄存器。,XFERD/A转换的控制信号,与WR2配合使用。WR2DAC寄存器的写信号,低电平有效。当XFER和WR2同时有效时,输入寄存器的数据装入DAC寄存器,并启动一次D/A转换。IOUT1D/A转换器输出电流1。IOUT2D/A转换器输出电流2。,VCC电源,其值可在+5+15V之间选取,典型值取+15V。AGND模拟信号地。DGND数字信号地。RFB外部放大器的反馈电阻接线端。VREFD/A转换器的基准电压,其范围可在-10+10V内选定。,8位D/A转换器与CPU的接口,3、D/A转换芯片与微处理器的接口,DAC0832与ISA总线连线图,如果要求图示系统的VOUT端输出方波,可编程如下:MOVDX,200;端口地址200H送DXLOOP1:MOVAL,00HOUTDX,AL;将数据0送DAC0832进行转换CALLDELAY;调用延时子程序MOVAL,0FFHOUTDX,AL;将数据送DAC0832进行转换CALLDELAYJMPLOOP1,这里以片内带有数据锁存器的12位D/A转换芯片DAC1210与外部数据总线为8位的IBMPC/XT总线的接口方法,说明主机数据总线位数小于DAC芯片位数时的接口技术。,DAC1210与IBMPC/XT总线的连接图,2)12位D/A转换器与CPU的接口,设图中DAC占用的端口地址为220H222H,为了使两次数据输入端口的地址先偶(220H)后奇(221H),以便与编程习惯一致,可以使地址线A0经一反向器接至B1/B2端。若BX寄存器中低12位为待转换的数字量,以下程序段可完成一次转换输出。MOVDX,220H;端口地址220H可保证第一次执行OUT指令时,;A0=0,B1/B2=1,从而将高8位数据写入“8位;输入寄存器”中锁存MOVCL,04H,SHLBX,CL;BX中的12位数左移4位MOVAL,BH;高8位送ALOUTDX,AL;高8位送“8位输入寄存器”锁存INCDX;端口地址变为221H,可保证下一次执行OUT;指令时,A0=1,B1/B2=0,从而将低4位数据写;入“4位输入寄存器”中锁存MOVAL,BL;低4位送ALOUTDX,AL;低4位送“4位输入寄存器”锁存INCDX;端口地址变为222H,可保证下一次执行OUT;指令时,将两个寄存器的内容同时送12位的DAC;寄存器,且使XFER有效,以便启动D/A转换OUTDX,AL;启动D/A转换,8.4.2模数(A/D)转换器,A/D转换器是模拟信号源与计算机或其他数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机或数字系统进行处理。在工业控制和数据采集及许多其他领域中,A/D转换器是不可缺少的重要组成部分。由于应用特点和要求的不同,需要采用不同工作原理的A/D转换器。A/D转换器的主要类型有:逐位比较(逐位逼近)型、积分型、计数型、并行比较型、电压频率型(即V/F型)等。选用A/D转换器时,主要应根据使用场合的具体要求,按照转换速度、精度、功能以及接口条件等因素决定选择何种型号的A/D转换芯片。,一、A/D转换器的主要性能指标1、分辨率(Resolution)表示A/D转换器对输入模拟信号的分辨能力。一般用输出数字量的位数来表示:如8位、10位例:一个满量程为5V的8位DAC,能分辨的的最小模拟量是5/(28-1)=5/255=0.0196V=19.6mV2、转换时间从开始转换到完成转换得到相应的数字量输出所需要的时间。,二、典型A/D转换器芯片,1、ADC0809ADC0809是逐位逼近型8通道、8位A/D转换芯片,CMOS工艺制造,双列直插式28引脚封装。ADC0809片内有8路模拟开关,可输入8个模拟量,单极性输入,量程为0+5V。典型的转换速度为100s。片内带有三态输出缓冲器,可直接与CPU总线接口。其性能价格比有明显的优势,是目前广泛采用的芯片之一,可应用于对精度和采样速度要求不高的数据采集场合或一般的工业控制领域。,1)内部结构与转换原理ADC0809内部由三部分组成:8路模拟量选通输入部分,8位A/D转换器和三态数据输出锁存器。ADC0809允许连接8路模拟信号(IN7IN0),由8路模拟开关选通其中一路信号输入并进行A/D转换。8位A/D转换器是逐次逼近式,其工作原理是采用对分搜索方法逐次比较,找出最逼近于输入模拟量的数字量。A/D转换器的启动由START信号控制。转换结束时控制电路将数字量送入三态输出锁存器锁存,并产生转换结束信号EOC。三态输出锁存器锁存转换结果,当输出允许信号OE有效时,将打开三态门,使转换结果输出。,2)引脚定义IN0IN78路模拟量输入端。ADDC、ADDB和ADDA地址输入端,以选通IN7IN08路中的某一路信号。ALE地址锁存允许信号,有效时将ADDC、ADDB和ADDA锁存。CLOCK外部时钟输入端。允许范围为101280kHz。时钟频率越低,转换速度就越慢。STARTA/D转换启动信号输入端。有效信号为一正脉冲。在脉冲的上升沿,A/D转换器内部寄存器均被清零,在其下降沿开始A/D转换。,EOCA/D转换结束信号。在START信号上升沿之后不久,EOC变为低电平。当A/D转换结束时,EOC立即输出一正阶跃信号,可用来作为A/D转换结束的查询信号或中断请求信号。OE输出允许信号。当OE输入高电平信号时,三态输出锁存器将A/D转换结果输出到数据量输出端D7D0。D7D0数字量输出端。D0为最低有效位(LSB),D7为最高有效位(MSB)。VCC与GND电源电压输入端及地线。VREF(+)与VREF(-)正负基准电压输入端。中心值为(VREF(+)+VREF()/2(应接近于VCC/2),其偏差不应该超过0.1V。正负基准电压的典型值分别为+5V和0V。,ADC0809的数字量输出值D(十进制数)与模拟量输入值VIN之间的关系如下:,通常VREF()=0V,所以,当VREF(+)=5V,VREF(-)=0V,输入的单极性模拟量从0V到4.98V变化时,对应的输出数字量在0到255(00HFFH)之间变化。,2、AD574AD574是AD公司生产的12位逐次逼近A/D转换芯片。其运行方式灵活,可进行以12位转换,也可作8位转换;转换结果可直接以12位输出,也可先输出高8位,后输出低4位。可直接与8位和16位的CPU接口。AD574适用于对精度和速度要求较高的数据采集系统和实时控制系统。,AD574引脚,1)AD574的引脚AD574采用双列直插式28引脚封装。各主要引脚的含义如下:DB11DB0输出数据线。DB11为最高有效位,DB0为最低有效位。CS片选信号,输入,低电平有效。CE片使能信号,输入,高电平有效。R/C数据读出/启动A/D转换信号引脚,输入。当该引脚为高电平时,允许读A/D转换器输出的转换结果;当该引脚输入低电平时,启动A/D转换。,20VI

温馨提示

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

评论

0/150

提交评论