第八章接口技术.ppt

上传人:本田雅阁 文档编号:2583525 上传时间:2019-04-12 格式:PPT 页数:89 大小:320.01KB
返回 下载 相关 举报
第八章接口技术.ppt_第1页
第1页 / 共89页
第八章接口技术.ppt_第2页
第2页 / 共89页
第八章接口技术.ppt_第3页
第3页 / 共89页
亲,该文档总共89页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第八章接口技术.ppt》由会员分享,可在线阅读,更多相关《第八章接口技术.ppt(89页珍藏版)》请在三一文库上搜索。

1、8.1 概述 8.1.1 接口的功能 8.1.2 接口与系统的连接 8.2 并行通行和并行接口芯片 8.2.1 并行通信 8.2.2 8255A可编程并行接口芯片 8.3 串行通信和串行接口芯片 8.3.1 串行通信的基本概念 8.3.2 8251A可编程串行通信接口,8.4 计数器/定时器接口电路 8.4.1 可编程计数器/定时器的工作原理 8.4.2 8253可编程计数器/定时器 8.5模拟通行道接口 8.5.1 概述 8.5.2 数/模(D/A)转换器 8.5.3 模/数(A/D)转换器,接 口 技 术,第 八 章,811 接口的功能,概述,接口的功能,信息的输入与输出,信息的转换功能,

2、联络和中断管理功能,可编程功能,错误检测功能,81,地址译码和I/O设备的选择,接口与系统的连接,总线收发 器和相应 逻辑电路,联络 信号,地址 译码器,菊花链 逻 辑,输入/ 输出 设备,地址总线,控制总线,数据总线,数据/状态/控制,控制,读/写,使能,存储器和I/O选择,片选,寄存器选择,状态 寄存器 控制 寄存器,数据输 入寄存 器和数 据输出 寄存器,控制线,数据线,DMA控制器,中断请求,中断回答信号,图8-1 典型I/O接口与系统总线连接逻辑图,812,接口,与系统总线相连,与I/O设备相连,实现与CPU的启动、选中接口等控制信号的配合,提供传输数据信 息的I/O端口。,随接口类

3、型的不同而异,其电路结构与设备传输数据的要求以及数据格式紧 密相关。,812,接口与系统的连接,821 并行通信,并行通信和并行接口芯片,并行接口内部设置有一个控制寄存器,用来寄存CPU写出的控制命令。另有一个状态寄存器提供各种状态位供CPU查询。,所谓并行通信就是把一个字符的全部n个数据位用n条线同时进行传输。与串行通信相比,它具有传输速度快、信息率高等优点。,82,图8-2 并行接口连接外设示意图,821,并行通信,822,8255A可编程并行接口芯片,图8-3 8255A的结构框图,8255A可编程并行接口芯片,1. 8255A的内部逻辑结构,(1) 外设接口部分(数据端口A、B、C),

4、1) 端口A。端口A内部包含一个8位数据输入锁存器和一个8位数据输出锁存/缓冲器。,2) 端口B。端口B内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。,3) 端口C。端口C内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。通过向芯片写入方式选择控制字,端口C可以被分成两个4位端口。,822,(2),这两组控制电路,根据芯片内部的控制寄存器内容(存放着CPU输出的方式选择控制字)和“读/写控制逻辑”发出的读/写命令,控制两组端口的工作方式和读/写操作。,A组控制电路控制端口A、端口C高4位(PC7PC4)。,B组控制电路控制端口B、端口C低4位(PC3PC0)。,内部

5、逻辑,(A组和B组控制电路),(3),1) 读/写控制逻辑电路,地址线A1和A0、CS(片选)、RD(读控制)、WR(写控制)、RESET(复位)信号的组合,用来控制8255A进行数据信息、状态信息和控制信息的传输。,2) 数据总线缓冲器,它是一个8位的双向三态数据缓冲器,它是8255A与CPU数据总线的接口,所有数据的输入/输出,以及CPU用输出指令向8255A发出的控制字和用输入指令向8255A发出的控制字和用输入指令从8255A读入的外设状态信息,都是通过这个缓冲器传送的。,CPU接口部分,8255A的引脚及功能,2.,图6-10 8255A引脚分布图,8255A的引脚及功能,8255A

6、 的引脚,与外设相连的引脚,与CPU相连的引脚,PA7PA0,PB7PB0,PC7PC0,数据线引脚,控制线引脚,2.,8255A的控制字,(1) 方式选择控制字,1) 8255A有三种工作方式,方式0基本的输入/输出方式方式1选通的输入/输出方式方式2双向传输方式,2) 端口A可以工作于三种工作方式中任何一种,端口B只能工作于方式0或者方式1,端口C既可以分为两个4位端口,作一般的输入/输出端口使用,更经常的是用于配合端口A和B工作,为它们提供控制信号和状态信号。,3) 由内部逻辑(A组和B组控制电路)可以将三个数据端口划分为两组,分别为A组(端口A和端口C高4位PC7PC4)和 B组(端口

7、B和端口C低4位PC3PC0)。,3.,(2),端口C经常用于配合端口A和B工作,为它们提供控制信号和状态信号,因此端口C的各个位经常作为控制位或状态位来使用,为了方便用户单独设置某一个控制位或状态位, 8255A提供了端口C置位/复位控制字。,端口C置位/复位控制字,(1) 方式0基本输入/输出方式,8255A的工作方式,两个8位端口A、B及两个4位端口(端口C的高4位、低4位)中的任一端口,均可以作为输入端口或输出端口,且各端口均是独立的。,四个端口的输入或输出,可以有16种不同的组合,故可以适用于多种用途。,各端口输入时无锁存,输出时有锁存。,特点,4.,(2),两个8位数据输入/输出端

8、口(均带锁存功能)A和B,在端口C 的配合下工作。,端口C中有3位用于端口A的输入/输出控制,另有三位用于端口B的输入/输出控制,并且均提供中断逻辑。,若只有一个数据端口工作在方式1,那么另一个数据端口及端口C余下的五位可工作于方式0;若两个数据端口都工作于方式1,那么端口C余下的两位仍可由程序指定作为输入或输出位,也可进行置位/复位操作。,特点,方式1,选通的输入/输出方式,8255A应用举例,【例8-2】 某接口设计采用一片8255A实现。其端口A连接并行打印机,端口B连接纸带读入机, 8255A工作于方式0,以查询方式传送数据。,本例使用端口C传送控制和状态信息。各控制信号的意义为:,

9、DATA STROBE 数据选通信号。打印机要有一个宽度为05s的脉冲,作为数据选通信号。由PC4位输出。 BUSY当其有效时为高电平,此时表示打印机“忙”,不能接收新的输出数据。这是打印机的状态信号。由PC2位读入。 DRIVE RIGHT此信号驱动纸带前进一步,并读一个字符。它是8255A给外设的启动信号。由PC5位输出。 DATA READY纸带读入器的状态信号。其为高电平表示纸带读入器已将数据准备好。由PC3位读入。,5.,8255A在键盘和数码管显示接口中的应用,键盘扫描的硬件采用矩阵式结构。 倘若键盘具有mn个键,那么键盘矩阵应有m行n列,其中m行由一个输出端口控制,n列由一个输入

10、端口控制。当某一行输出为低电平时,如果某一列上有键按下,则该列的输入也为低电平,这个低电平通过列输入端口读入CPU。通过识别行和列线上的电平状态,即可以识别键是否闭合,即键是否按下。,(1) 键盘接口,6.,(2),1) 七字段LED显示器,LED的主要部分为七段发光二极管,如图7-20a所示。七个字段分别称为a、b、c、d、e、f、g段,通常还有一个小数点段DP。通过七段的亮与灭的组合,可以显示09和AF等字符,从而实现十六进制数的显示。,2) 利用8255A实现LED显示接口,8255A的端口A用来输出显示字符的七段LED代码,故端口A为段控端口。255A的端口B用来控制LED的显示位,即

11、位控端口。,LED显示接口,8.3.1 串行通信的基本概念,串行通信和串行接口芯片,1. 全双工方式与半双工方式,两个串行接口之间分别用两根独立的传输线发送和接收信号,使发送和接收数据可同时进行。,全双工方式,在半双工方式中,输入过程和输出过程使用同一根传输线,因此,半双工方式在某一时刻只能进行发送数据或者接收数据。,半双工方式,2. 同步通信和异步通信,一般将若干字符组成一个信息组,字符一个接着一个传输,但是,在每组信息(通常称之为信息帧)开始要加上1至2个同步字符,在传输线上没有字符传输时,要发送专用的“空闲”字符或同步字符,其原因是同步传输字符必须连续传输,不允许有间隙。,同步通信,8.

12、3,是指通信中两个字符的时间间隔是不固定的,而在同一字符中的两个相邻代码间的时间间隔是固定的通信方式。,异步通信必须遵循的两项规定为:,每个字符传送时,必须前面加一位起始位,后面加上1、1.5或2位停止位。例如ASCII码传送时,这一帧应该是,前面一个起始位,接着七位ASCII编码,之后是一位奇偶校验位,最后是一位停止位,共10位为一帧。,(1) 字符的格式,(2) 波特率(Baud Rate),波特率就是传送数据位的速率,用位/秒(bit/s)表示。例如,数据传送的速率为120字符/秒,每帧包括10个数据位,则传送波特率为: 10120=1200bit/s=1200Bd,异步通信,信号的调制

13、与解调,为了保证信号传送的正确性,故在长距离通信中,采用调制/解调器来改善信号的品质。 调制器(Modulator)把数字信号转换为模拟信号,经过传输线送到目的地后,再用解调器(Demodulator)检测此模拟信号,并把它转换成数字信号, 在实际应用中,通常把调制器和解调器做在一起,构成调制/解调器。,3.,RS-232-C接口, RS-232-C是EIA(Electronics Industring Association)推荐的国际通用的一种串行通信接口标准。实际上,它是一个25芯或者9芯的D型连接器。,由于它的每个引脚都有标准规定,必须连接规定的信号,所以对任何具备RS-232-C接口

14、的设备,都可以不需要附加任何硬件而与计算机相连。, RS-232-C除了对信号引脚的定义作了规定外,对信号电平标准也作了规定。,4.,1. 8255A的基本性能,8251A可编程串行通信接口,(1)外设接口部分(数据端口A、B、C)(1) 可工作于同步方式或异步方式。 (2) 同步方式下,每个字符可为58位,可内同步或外同步,能自动插入同步字符。 (3) 异步方式下,每个字符可为58位,时钟速率为传输波特率的1、16倍或64倍。,8.3.2,(4) 自动产生中止字符,自动检测和处理中止字符;可产生1、1.5个或2个停止位;可检测假启动位。 (5) 同步方式下,波特率为064Kb/s;异步方式下

15、,波特率为0192Kb/s。 (6) 全双工方式;双缓冲的发送器和接收器。 (7) 具有自动错误检测功能,可检测奇偶错、数据丢失和 帧错误,用户可通过输入状态寄存器内容进行查询。 (8) 全部输入/输出与TTL兼容。,1.,8255A的基本性能,8251A的逻辑结构及工作原理,(1) 8251A逻辑结构,数据输入缓冲寄存器和数据输出缓冲寄存器 接收移位寄存器 发送移位寄存器 模式寄存器 控制寄存器 状态寄存器 步字符寄存器,2.,1), 异步方式下的数据接收,在异步方式下,当准备好接收数据时,即开始检测RXD线上的信号。, 同步方式下的数据接收,在同步方式下,当接收数据时,首先要搜索同步字符。

16、这又分为内同步和外同步。在内同步方式下,8251A通过监测RXD线,来搜索同步字符。在外同步方式下,由外部其它设备在其SYNDET引脚加一个高电平实现同步。,(2) 8251A内部工作原理方框图,接收器,2), 在异步方式下,发送器在发送每一个字符前先自动发送1个起始位,然后再发送字符数据,最后根据编程所规定的要求加上1位奇/偶校验位以及1个、15个或者2个停止位。, 在同步方式下,当发送器从CPU接收到至少1个待发送字符后,在发送数据前,依据初始化编程时的设定插入一个或两个同步字符,然后发送字符数据块。,发送器,(1) 8251A与CPU接口信号,8251A的接口信号,1) 数据线D7D0。

17、, 8251A的数据总线D7D0为双向三态、8位缓冲器的引线,它们与CPU系统数据总线相连,用于在CPU与8251A之间传送数据(包括CPU对8251A的编程命令和8251A送往CPU的状态信息)。,2) 片选信号线。,只有当信号为低电平时,8251A被选中,8251A才能与CPU之间传送数据。如果为高电平,8251A未被选中,8251A的数据线处于高阻状态,8251A才能与CPU之间不能传送数据。,3.,3), RD读信号,一般直接连接到CPU的引脚RD或IORC引脚。RD为低电平时,表示CPU正在从8251A读取数据或状态信息。 WR写信号,一般直接连接到CPU的WR引脚或IOWC引脚。W

18、R为低电平时,表示CPU正在向8251A写入数据或控制信息。 C/D控制/数据信号,是CPU送往8251A的信号,用来区分当前数据总线上的信息是数据还是控制或状态信息。,读/写控制信号线,4), TXRDY 发送器准备好信号,输出,高电平有效。它用于告知CPU,8251A已为接收一个发送字符准备就绪。 TXE 发送器空信号,输出,高电平有效。 RXRDY 接收器准备好信号,输出,高电平有效。该信号有效表示当前8251A已经从外部设备或调制解调器上接收到了一个字符,正等待CPU读取。 SYNDET 同步检测信号,高电平有效。SYNDET引脚只用于同步方式,既可以作为输入,也可以作为输出。,收发联

19、络信号,2) 收发联络信号,1), TXD 发送数据信号端,输出。 CPU送往8251A的并行数据,在8251A内部转变为串行数据后,自TXD线上被逐位地发送。 RXD 接收数据信号端,输入。 外部装置通过RXD线送来串行数据,在8251A内部被接收移位寄存器逐位接收,当接收了一个完整的数据后变换成并行数据,供CPU读取。,数据信号,2), DTR数据终端准备好信号,输出,低电平有效。这是8251A送往外设的信号,用以表示CPU已经准备好接收数据。 DSR数据装置准备好信号,输入,低电平有效。这是来自外设的信号,表示外设已经准备好发送数据。 RTS请求发送信号,输出,低电平有效。 CTS清除发

20、送(允许发送)信号,输入,低电平有效。,收发联络信号,3), CLK8251A内部工作时钟信号,输入。8251A由这个CLK输入产生其内部工作时序。 RxC接收器时钟信号,输入。此时钟信号控制8251A接收器接收字符的速率。 TXC发送器时钟信号,输入。此时钟信号控制8251A发送器发送字符的速率。TXC的频率和波特率之间的关系与RxC相同。,时钟信号,(1) 方式选择控制字,8251A的编程, D1D0用于确定工作于同步方式还是异步方式。 D3D2用于确定字符的位数。当D3D2=00时,传输字符被定义为5位;D3D2=01、10或11时,传输字符分别被定义为6、7、8位。 D5D4用于确定奇

21、偶校验性质。当D5D4的编码为00或10时,无奇偶校验;D5D4=01时,为奇校验;D5D4=11时,为偶校验。 D7D6在同步方式和异步方式下的意义不同:在异步方式下,这两位除编码为00时无意义外,其它编码定义停止位的位数。D7D6=01时,为1个停止位;D7D6=10时,为15个停止位;D7D6=11时,为2个停止位。,4.,(2),操作命令控制字用于规定8251A的工作状态启动串行通信开始工作或者芯片复位。,初始化8251A芯片时,当写入方式选择控制字,定义8251A芯片为异步通信,或者定义为同步通信且同步字符已经写入8251A后,接下来应该向8251A写入操作命令控制字。,操作命令控制

22、字,(1) 异步方式下的初始化编程,8251A初始化编程及应用举例,经分析,知其方式选择控制字应该为9BH,操作命令控制字应该为37H。初始化编程如下: MOV DX,1A2H MOV AL,9BH OUT DX,AL ;设置工作方式 MOV AL,37HOUTDX,AL ;设置工作状态,【例74】 设在某8086系统中有一片8251A,其占用的端口地址分别为1A0H和1A2H,并要求其工作方式选择为:异步通信,字符用7位二进制数表示,奇校验,15个停止位,波特率系数为64。对其工作状态的要求是:使发送允许TxEN有效,接收允许RxE有效,使数据终端准备好信号有效,复位出错标志,将请求发送信号

23、置于有效电平。,5.,经分析,知其方式选择控制字应该为9BH,操作命令控制字应该为37H。初始化编程见下页。,【例7-5】 设某8251A芯片端口地址分别为1A0H和1A2H。要求其工作方式为:同步方式、内同步、两个同步字符、奇校验、每个字符8位。并设第一个同步字符为EFH,第二个同步字符为7EH。要求其工作状态是:复位出错标志,启动发送器和接收器,当前CPU已经准备好且请求发送。,同步方式下的初始化编程,(2),MOV DX,1A2H MOV AL,40H OUT DX,AL ;复位8251A MOV AL,1CH OUT DX,AL ;写入方式选择控制字,规定其工作方式 MOV AL,0E

24、FH OUT DX,AL ;写入第一个同步字符 MOV AL,7EH OUT DX,AL ;写入第二个同步字符 MOV AL,0B7H OUT DX,AL ;写入操作命令控制字,设置其工作状态,(2),同步方式下的初始化编程,【例7-6】 8251A工作于异步方式,7个数据位,15个停止位,奇校验,波特率系数为64。其数据端口地址为A0H,控制端口地址为A2H。,通过查询8251A状态寄存器中的RXRDY位,可以确定8251A是否已经从外设接收到了一个字符。若已接收到,即RXRDY有效,CPU就可执行输入指令从8251A的数据端口(C/D=0)取回一字节数据放在内存缓冲区。程序中还要检测状态寄

25、存器的第3、4、5位,看是否出现了奇偶错、溢出错或帧错误。若发现错误,应停止输入,并转错误处理程序。,使用查询方式接收传送数据举例,(3),MOV AL,9BH OUT 0A2H,AL ;写入异步方式选择字 MOV AL,37H OUT 0A2H,AL ;写入命令指令字 MOV BX,BUFPTR ;设缓冲区首址存放在DS段BUFPTR变量名下 MOV DI,0 ;变址寄存器清0 MOV CX,0064H ;设置计数器值100 IN AL,0A2H ;输入状态字送AL TEST AL,02H ;测试状态字第2位,即RXRDY,程序,WAIT:,JZ WAIT ;若8251A未收到字符,则重新取

26、状态字 IN AL,0A0H ;若RXRDY有效,则从数据口输入数据 MOV BX+DI,AL ;将接收到的字符送入缓冲区 IN CDI ;缓冲区指针下移一个单元 IN AL,0A2H ;再读入状态字 TEST AL,38H ;测试有无三种错误 JNZ ERROR ;若有错,转错误处理程序ER LOOP WAIT ;如已输入100个字符,则继续进行数据处理,程序,8251A在CRT接口中的应用,其一,电平转换问题。在远距离串行通信时,发送方要使用调制器,接收方要使用解调器。 其二,同步方式下对同步字符的检测问题。如果采用内同步方式,则由8251A自身来检测同步字符。,在实际使用8251A时,还

27、应注意以下两个问题:,(4),计数器/定时器接口电路,本节主要介绍计数器/定时器的基本工作原理和计算机系统中广泛采用的计数器/定时器芯片Intel 8253PIT,8.4,可编程计数器/定时器具有两种功能:,作为计数器,作为定时器,典型的计数器/定时器的基本原理图如图7-39所示,8.4.1 可编程计数器/定时器的工作原理,图8-39 计数器/定时器中包括了四个寄存器和一个计数器,预置计数值,计数器输出寄存器,控制寄存器,状态寄存器,四个寄存器,控制寄存器用来控制计数器/定时器的工作方式,(1) 门脉冲控制时钟输入。 (2) 用门脉冲重新启动计数。 (3) 用门脉冲停止计数。 (4) 单一计数

28、。 (5) 循环计数。,8253可编程计数器/定时器, 8253是微机系统中广泛使用的可编程计数器/定时器芯片。在PC机中,即以一片8253作为CPU的外围支持电路,用来产生系统实时钟定时信号、动态存储器刷新信号和扬声器的发声信号。,1 . 8253基本情况,8253具有3个独立的16位计数器通道,分别称为:,计数器0通道,计数器2通道,计数器1通道,8.4.2,8253的内部结构 8253的内部结构如图 8-40a 所示,主要功能, 每个芯片内部有3个独立的16位计数器通道。 每个计数器通道都可以单独作为定时或计数使用,且都可以按照二进制或二十进制计数。 每个计数器的计数速率可高达2 MHz

29、,最高计数速率为2.6 MHz。 每个计数器通道有6种工作方式,可由程序设置或改变。 所有输入输出都与TTL兼容。,这是8253与CPU数据总线连接的8位双向三态缓冲器,这是8253内部操作的控制部分,在8253初始化编程时,CPU写入芯片的控制字就存放在控制字寄存器中,该控制字规定了通道的工作方式,这是3 个完全独立的计数器/定时器通道,各自可按不同的方式工作,数据总线缓冲器,1), D7D0 :三态数据线 CLK0CLK2:计数器02的时钟输入端 GATE0GATE2:计数器02的门控输入,当GATE引脚为低电平时,禁止计数器工作,只有GATE引脚为高电平时,才允许计数器工作 OUT0OU

30、T2:计数器02的输出,其输出波形取决于工作方式,8253引脚功能,8253引脚定义如图7-40b所示。, 8253是一个双列直插式24脚芯片,每个引脚的意义如下:,每个引脚的意义, A1A0:来用对3 个计数器通道和控制寄存器进行寻址的引脚,由A1和A0的四种编码来选择四个端口之一。 :读信号,低电平有效。该信号有效时,表示CPU正在对8253的一个计数器进行读计数当前值的操作。 W:写信号,低电平有效。该信号有效时,表示CPU正在向8253的控制寄存器写入控制字或者向一个计数器写入计数初值。 CS:片选信号,低电平有效。该信号有效说明系统选中该芯片,此时,CPU可以对本片8253进行读/写

31、操作。,表7-10,A0、A1、RD、WR和各种组合对8253的操作表,8253初始化编程和工作方式,(1) 8253初始化编程,编程时必须遵守以下两条原则:,其二,初始值设置时,要符合控制字中的格式规定。是只写低字节,还是只写高字节,或者是先写低字节,后写高字节。,编程命令可以分为两类:,其一,对计数器设置计数初始值前必须先将控制字写入,读出命令,用来读取计数器的当前值,写入命令,它包括写入控制字、写入计数初值和写入锁存命令,2.,设置初值命令用来设置计数的初始值。根据在控制字中D5D4位的约定,计数初始值可以是8位,也可以是16位。, 8253在设置初值后就开始工作了。锁存命令是为了配合C

32、PU读取计数器当前值而设置的。,锁存命令,设置初值命令,在8253初始化编程中,由CPU向8253的控制寄存器输出一个控制字,用来选择计数器通道、设置工作方式和计数格式。,8253的控制命令,控制字的格式如 图7-41所示,8253的工作方式,8253具有6种不同的工作方式,它们遵守以下三点基本规则:,其一,控制字写入8253时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态。,其二,计数器初始值写入以后,要经过一个时钟周期,减法计数器才开始工作。,其三,一般情况下,在时钟脉冲CLK的上升沿时,采样门控信号。,(2),8253的6种工作方式,1) 方式0计数结束中断, 在此种方式下,控制

33、字写入8253的控制字寄存器后,使OUT输出端变低。,其二是写入计数器初值。满足以上两个条件计数器开始计数,直到计数到“0”时,OUT输出端变高,开始计数要有两个条件:,其一是门控GATE信号必须为高电平,其过程如图 8-42所示。,方式0特点,第一,计数器只计数一遍。,第二,在CPU执行向8253输出计数值指令的WR信号上升沿,8253将计数值写入通道的可预置计数值寄存器中。,第三,在计数过程中,可由门控信号控制暂停。,第四,在8253计数过程中可以改变计数值。,第五,若用于中断方式,可把OUT输出信号接到8259的中断请求输入端,以满足中断要求。,方式1可重复触发的单稳态触发器,在这种方式

34、下,CPU执行输出指令向8253写入控制字之后,输出OUT将保持为高电平(若原为低,则变为高)。,当CPU又写入计数值后,计数器并不开始计数,要等到外部门控脉冲GATE启动之后的下一个输入CLK脉冲的下降沿开始计数。开始计数时输出OUT变低,在整个计数过程中,输出OUT都维持为低电平,直到计数到0,输出OUT方变为高。,该方式可输出一个单稳脉冲,若外部再次触发启动,则再次产生一个单稳脉冲,如图7-45所示。,2),在方式1下,8253的主要特点,第三,在计数过程中,CPU改变初始计数值,这时计数过程不受影响。只有再次触发启动后,计数器才开始按新计数值对应的脉冲宽度输出单稳脉冲。如图8-46所示

35、。,第一,若设置的初始计数值为N,则输出的单稳脉冲的脉宽为N个CLK时钟周期。,第二,可重复触发。其含义是,当计数到零后,不用再次送计数值,只要再次由外部触发脉冲启动,8253可以再输出一个同样宽度的单稳脉冲。,第四,在计数过程中,若外部GATE触发脉冲提前到来(即计数器未减至0时),则在触发脉冲上升沿之后的下一个CLK脉冲的下降沿时,计数器将重新开始计数。这将使输出的单稳脉冲比原先设计值加宽了。如图8-47所示。,方式2分频器,当计数到1时,输出OUT变低,经过一个CLK周期输出OUT变高,并且计数器开始重新计数。 如图8-48所示。,在这种方式下,CPU向8253输出控制字后,计数器输出O

36、UT变高。在写入计数值后,计数器在下一个CLK的下降沿对输入时钟CLK计数。,3),方式2的主要特点,第一,不用重新设置计数值,通道能连续工作,输出固定频率的脉冲。,第三,在计数过程中可以改变计数值,这对正在进行的计数过程没有影响,但在计数器计数到1时输出OUT变低,经过一个CLK周期输出OUT又变高,之后,计数器将按新的计数值进行计数。换言之,方式2改变计数值是在下次计数周期有效。如图8-50所示。,第二,计数过程可以由门控脉冲GATE控制。当GATE为低电平时,暂停计数。GATE变为高电平后的下一个CLK脉冲使计数器按原初始值重新开始计数。如图7-49所示。,方式3方波发生器,方式3和方式

37、2的工作类似,它们的输出都是周期性的,但方式3的输出为方波。方式3下,计数过程中OUT有一半时间为高,另一半时间为低。所以,若计数值为N,则方式3的输出是周期为N个CLK脉冲的方波。,这种方式下,当CPU将控制字用输出指令写入8253后,其输出OUT为高,CPU继续写入计数值后就自动开始计数,输出保持为高。当计数到一半计数值时,输出变为低,直至计数到0,输出又变高,重新从初始计数值开始计数。如图8-51所示。,4),方式3的主要特点,第一, 若计数值为偶数, 在装入计数值后, 每一个CLK脉冲使计数值减2, 当计数到0时, 一方面使输出改变状态, 另一方面又重新装入计数值开始新的计数, 此过程

38、将周而复始地重复进行。,第二,GATE信号能使计数过程重新开始。原则上,GATE=1允许计数,GATE=0禁止计数。,第三,若在计数期间写入一个新的计数值,并不影响现行的计数过程。,方式4软件触发选通信号发生器,在这种方式下,写入控制字后,输出OUT为高。,写入计数值后立即开始计数(相当于软件启动),当计数到0后,输出OUT变低,经过一个时钟脉冲后,输出又自动变为高,计数器停止计数,如图8-54所示。故这种计数方式也是一次性的,只有输入新的计数值后,才能开始新的计数。,5),方式4的特点,第一,CPU写入计数值的下一个CLK脉冲,把计数值写入计数器,再下一个CLK脉冲开始减1计数。所以,如果设

39、置计数值为N,则在写入计数值后的N+1个CLK时钟脉冲,才输出一个负脉冲。,第二,当GATE=1时允许计数,GATE=0时禁止计数。所以要做到软件启动,则GATE应该保持为1。GATE信的控制作用如图7-55所示。,第三,若在计数过程中改变计数值,则按新计数值重新开始计数,如图8-56所示。若计数值为双字节,则在设置第一个字节时停止计数,在设置第二个字节后,按新计数值开始计数。,方式5硬件触发选通信号发生器,之后,写入初始计数值并不立即计数,而是由门控GATE信号脉冲的上升沿触发启动。当计数到0时,输出OUT变低,经过一个CLK脉冲,输出恢复为高,停止计数。重新启动计数要由下次门控脉冲触发引起

40、,如图7-57所示。,在这种方式下,当写入控制字后输出OUT变为高电平。,6),方式5的主要特点,第一,若设置计数初始值为N,则在门控脉冲触发后,经过N+1个CLK脉冲,输出端才输出一个负脉冲。,第三,若在计数过程中改变计数值,只要没有门控信号的触发,就不影响计数过程。当计数到0后,若有新的门控信号的触发,则按新的计数值计数,如图8-59所示。,第二,在计数过程中,通过施加门控GATE脉冲,可使计数器重新开始计数。如图8-58所示。,8253应用举例,在使用8253芯片时,首先要对其进行初始化编程。 初始化编程包括写入控制字和写入计数值两个步骤。,第二步,写入计数初始值。计数初始值经由各通道的

41、端口地址写入。,第一步,写入控制字。任一通道的控制字都要从8253的控制口地址写入,控制哪个通道由控制字的D7D6位来决定。,3.,例7-7,设在8086系统中有一片8253,其端口地址分配是: 通道0为120H,通道1为122H ,通道2为124H,控制端口为126H。要求对其通道0进行初始化,使其工作于方式0、二进制计数、计数初始值为6688H。,针对此问题,经分析可知应写入8253的控制字为30H。 其初始化程序段为:,MOV AL,30H ; MOVDX,126H; OUTDX,AL; MOVAL,88H; MOVDX,120H; OUTDX,AL; MOVAL,66H; OUTDX,

42、AL;,控制字送AL 控制口地址送DX 向控制口写入控制字 低8位计数值是88H 通道0端口地址送DX 向通道0写入计数初值的低8位 高8位计数值为66H 向通道0写入计数初值的高8位,例8-7,模拟通道接口,8.5.1 概述,模拟量输入/输出通道,是生产过程计算机控制系统的重要组成部分,是计算机与控制对象之间的一种典型接口方式。,典型计算机控制系统组成框图如图8-61所示。,8.5,图8-61 计算机控制系统组成框图,数/模(D/A)转换器,1. 数/模转换器的工作原理,数/模转换器的功能是将数字量转换成模拟量。,把一个数字量变成模拟量,就是要把每一位的代码按照权值转换为对应的模拟量,再把各

43、位所对应的模拟量相加,其和便是数字量所对应的模拟量。,数字量由若干个数位构成,每个数位都有一定的权,如8位二进制数的最高位D7的权为27=128,只要D7=1,就表示具有了128这个数值。,8.5.2,T型电阻解码网络,(1), T型电阻解码网络中,节点A的左边为两个2R的电阻并联,它们的等效电阻为R,节点B的左边也是两个2R的电阻并联,等电阻也是R,依次类推,最后的D点等效于一个电阻R连接在标准参考电压VREF上。 根据分压原理,C点、B点、A点的电位分别为 VREF/2、 V REF/4、VREF/8。,D/A转换器的有关参数及术语,(2),绝对精度,相对精度(非线性度),分辩率,建立时间

44、,温度系数,数/模转换器与CPU的接口,1.,常用的D/A转换器中,有价格低廉的8位芯片,也有速度和分辩率较高、价格较贵的12位、16位芯片。各种D/A芯片是否能直接和系统总线相连,取决于芯片内部有没有数据输入寄存器。,(1) 不带数据输入寄存器的D/A芯片的使用, 具有数据输入寄存器的D/A芯片的使用,模/数(A/D)转换器,所谓模/数转换器就是把模拟量转换成为数字量的电路。模/数转换器是计算机控制系统的重要组成部分。,1. 概述,图8-67是典型微机控制系统的组成框图。,2. 模/数转换器的工作原理,实现模/数转换的方法很多,常用的方法有计数法、双积分法和逐次逼近法等。,8.5.3,图8-

45、67 典型微机控制系统组成框图,现场 信号1,现场 信号2,现场 信号2,现场 信号n,其中,Vi是模拟输入电压,VO是D/A转换器的输出电压,C是计数器的计数控制端,当C=1时计数器开始计数,当C=0时则停止计数,D7D0是计数器的当前计数值,该计数值作为一个D/A转换器的输入。D7D0同时也是A/D转换器的输出。,计数式A/D转换法,(1),计数式A/D转换的工作原理如图8-68所示。,电路中的主要部件包括积分器、比较器、计数器和标准电压源。,(2)双积分式A/D转换法,双积分式A/D转换器的工作原理如图8-69a所示。,逐次逼近式A/D转换法,是一种广泛应用的A/D转换方法。它与计数式A

46、/D转换法有相似之处。,(3) 逐次逼近式A/D转换法,模/数转换器的主要参数,3,(1) 转换精度,转换精度反映了A/D转换器的实际输出接近理论输出的精确程度。,所谓转换时间是指完成一次A/D转换所需要的时间。转换率为转换时间的倒数。它们都表示了A/D转换的速度。,(2) 转换时间和转换率,分辨率是指A/D转换器能够分辨最小量化信号的能力。一个n位的A/D转换器,其分辨率等于模拟量输入的满量程值除以2n 。,(3) 分辨率,模/数转换器与系统的连接,4, A/D转换器芯片的模拟输入电压,往往既可以是单端方式,也可以是差动方式。这种类型的A/D芯片常用VIN(+)、VIN(-)或IN(+)、I

47、N(-)表示模拟输入端。,(1) 模拟输入电压的连接,一种芯片,其输出端具有可控的三态输出门,例如ADC0809。 另一种芯片,其内部输出端虽有三态门,但这个三态门不受外界信号的控制,而是由A/D转换电路在转换结束时自动接通。例如ADC570。,(2) 数据输出线和系统总线的连接, A/D转换器芯片的输出方式可分为两种:, A/D转换器要求的启动信号可分为两种形式:,A/D转换器的启动转换信号,(3),电平启动信号,使用电平启动信号的芯片如AD570、AD572 采用脉冲启动信号的A/D芯片,如ADC0804、ADC0809、ADC1210等,脉冲启动信号,(4) 转换结束信号以及CPU读取转换数据的方式,同步方式,查询方式,中断方式, A/D转换器的地线可分为两种类型,(5),在一个系统中有数字量又有模拟量,就会有两类芯片:,地线的连接,数字地,模拟地,数字电路芯片 例如CPU、译码器、门电路等,模拟电路芯片 如D/A转换电阻网络、运放等,5,典型8位A/D转换器芯片ADC0809, 分辨率为8位。 总的不可调误差在1LSB范围内。 典型转换时间为100s。 具有锁存控制的8路多路开关。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1