第七章接口与接口芯片简介讲义_第1页
第七章接口与接口芯片简介讲义_第2页
第七章接口与接口芯片简介讲义_第3页
第七章接口与接口芯片简介讲义_第4页
第七章接口与接口芯片简介讲义_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章 接口和接口芯片简介I/O 接口指的是微机系统中各个功能部件之间的连接电路,用于实现部件之间的通讯。一个计算机系统必须包含接口电路,CPU 通过接口电路将各种I/O 设备组织起来,构成计算机系统。微机主板属于总线,在主板上设置有I/O 接口,如标准接口(串口、并口、键盘接口等)、 I/O 扩展槽等,都用来连接I/O 接口卡,外设通过接口卡与主板的连接,完成I/O 工作。7.1 I/O 接口基本概念主机与外界交换信息称为输入/输出(I/O),主机与外界的信息交换是通过输入/输出设备进行的。外设备由于速度、信号等原因不能直接与总线连接,而要通过 I/O 接口电路连接,通常,我们把介于主机和外

2、设之间的一种缓冲电路称为I/O 接口电路,简称I/O 接口, I/O 接口是 CPU 与外部设备间的桥梁。一台微机的输入/输出系统应该包括I/O接口、I/O设备及相关的控制软件。输入/输出系统是计算机系统的重要组成部分之一,任何一台高性能计算机,如果没有高质量的输入/输出系统与之配合工作,计算机的高性能便无法发挥出来。一个微机系统的综合处理能力,系统的可靠性、兼容性、性价比,甚至在某个场合能否使用都和I/O 系统有着密切的关系。7.2 接口的功能由于主机和外设在工作速度、信息格式、信息类型和电平的不匹配,这就要求 I/O 接口具有以下功能: 地址译码和设备选择对主机送来的地址信号进行译码,译码

3、后产生唯一的接口选择信号,被选中的外设可与主机通讯。 数据的缓冲与寄存通过接口中的数据缓冲器来缓解主机与外设之间的速度差异问题。 数据转换功能通过 I/O 接口实现外设与主机间的信号电平转换和数据格式转换,即并行数据向串行数据的转换或串行数据向并行数据的转换。 联络功能接口可以保存外设备的状态信号供CPU 查询,接口的控制端口可以接收CPU 发来的对外设的控制信号,实现主机对外设的监测和控制。 中断管理接口具有发出中斯请求信号、接收中断响应信号、优先级管理、发送中断类型码等中断处理功能。 复位接收复位信号,从而使接口本身以及所连的外设进行重新启动。 DMA 控制通过接口中的DMA 控制,能控制

4、外设实现DMA 传输。 错误检测通过 I/O 接口,实现外设I/O 过程中的传输错误或覆盖错误等其它的检测信息。7 3 CPU 与 I/O 设备之间的信号主机与 I/O 设备之间交换的信息可分为数据信息、状态信息和控制信息三类。1数据信息数据信息是外设与计算机间传送的输入/输出数据。CPU 执行 I/O 指令将要传送数据存放到接口中的数据端口寄存器进行缓冲最终实现传送的。数据信息分为数字量、模拟量和开关量三种。 数字量:数字量是计算机可以直接 发送、接收和处理的数据。例如,由键盘、显示器、打印机及磁盘等I/O 外设与 CPU 交换的信息,它们是以二进制形式表示的数或以ASCII 码表示的数符。

5、模拟量:当计算机应用于控制系统时,输入的信息一般为来自现场的连续变化的物理量。如温度、压力、流量、位移、湿度等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过模拟量向数字量的转换 (A/D 转换 ) 后才能输入计算机。反过来, 计算机输出的控制信号都是数字量, 也必须先经过数字量向模拟量的转换(D/A 转换), 把数字量转换成模拟量才能去控制现场开关量:开关量可表示两个状态,只要用一位二进制数即可表示。利用开关量可以控制开关的断开和闭合,机器的运转与停止,阀门的打开与关闭,继电器的接通与断开等。这些开关量通常要经过相应的电平转换才能与计算机连接。2 .状态信息状态信息

6、作为 CPU与外设之间交换数据时的联络信息,如:“准备好”(READY)信号、“忙”(BUSY)等信号。状态信息反映了当前外设所处的工作状态,是外设通过接口送往CPU勺信息。状态信息能够保障 CPU与外设正确地进行数据交换,外设直接将状态信 息传送到接口中的状态寄存器中,CPU0过对外设状态信号的读取,可得知输 入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY猜号的高低来表明待输入的数据是 否准备就绪;对于输出设备,则用忙 (BUSY清号的高低表示输出设备是否处 于空闲状态,如空闲,则可接收 CPU俞出的信息,否则CPL®暂停送数。3 .控制信息

7、控制信息是CPU!过执行输出指令将其存放在接口中的控制寄存器中, 再由接口传送给外设,以实现对外设的控制。CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的开 启、停止等工作。控制信息往往随着外设的具体工作原理不同而含义不同。7.4 I/O接口的组成一个完整的I/O接口如图7-1所示。图7-1 一个典型的I/O接口组成图任何外设都必须通过I/O接口电路与计算机总线连接。外设要与计算机主 机问I/O信息还必须通过执行对应的I/O控制程序来完成。CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口有一个端口地址。用于对来自CPU和 内存

8、的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端 口。用来存放外部设备或者接口部件本身的状态,称为 状态端口。用来存 放CPU发出的命令,以便控制接口和设备的动作,这类端口叫控制端口。一个完整的I/O接口主要由数据端口寄存器、状态端口寄存器、控制端口 寄存器组成,如图7-1所示。每个端口寄存器设计时由其译码电路确定其 必须有其端口地址,微机通过执行输入指令和输出指令完成其数据的写入 或读出。外设不同,其I/O接口电路设计不同,接口中端口寄存器的数目不同,对 应端口地址不同,微机通过不同的端口地址识别不同的外设。7.5 I/O接口与系统的连接.接口电路位于CPU与外设之间,从结构上

9、看,可以把一个接口分为两 个部分(见图7-2):用来和I/O设备相连,通过I/O接口和外设的连接线,可以实现外设串行 或并行数据的输入(输入到I/O接口中的数据端口),实现外设状态信息的输 入(输入到I/O接口中的状态端口供 CPU查询),实现CPU对外设的传送控 制(通过I/O接口中的控制端口)。用来和系统总线相连,这部分接口电路结构类似,连在同一总线上。通过 此连接实现CPU与I/O接口间的并行通讯。图7-2打印机接口电路连接图7.6 输入输出的寻址方式正如每个存储单元都有一个物理地址一样,每个端口必须有一个地址与之相对应,该地址称为 端口地址。有了端口地址,CPU对外设的输入/输出操作实

10、际上就是对I/O 接口中各端口的读/写操作。微型计算机系统中I/O 端口编址方式有两种:I/O 端口与内存单元统一编址和 I/O 端口与内存单元独立编址。7.6.1 I/O 端口与内存单元统一编址统一编址方式是对I/O 端口和存储单元按照存储单元的编址方法统一编排地址号,由I/O 端口地址和存储单元地址共同构成一个统一的地址空间。采用统一编址方式后,CPU 对 I/O 端口的输入/输出操作如同对存储单元的读/写操作一样,所有访问内存的指令同样都可用于访问I/O 端口,因此无需专门的I/O 指令(即内存与外设的I/O 采用相同的指令), 从而简化了指令系统的设计;但由于I/O 端口占用了一部分存

11、储器地址空间,故相对减少了内存的地址可用范围。7.6.2 I/O 端口与内存单元独立编址独立编址方式中,建立了两个地址空间,一个为内存地址空间,一个为 I/O 地址空间。内存地址空间和I/O 地址空间是相对独立的,都可以从0 开始编写地址。采用独立编址方式后,需设置专门的I/O 指令(即内存的读/写与外设的I/O 采用不同的指令),增加了指令系统的设计,但由于I/O 端口地址和存储器地址独立编写地址,故不影响内存的地址可用范围。7.5 并行接口并行通信就是把一个字符的各位同时用几根线进行传输。传输速度快,信息率高,需要电缆多。但随着传输距离的增加,电缆的开销会成为突出的问题,所以,并行通信用在

12、传输速率要求较高,而传输距离较短的场合。并行通信需要用并行接口实现。并行接口指外设与I/O 接口之间有多根数据线,实现的是并行数据传送。并行接口需要用并行接口芯片设计。主要芯片有不可编程芯片74LS273、74LS244、74LS374等。常用的可编成并行接口芯片是 8255、 8253 等。7.5.1 可编程并行接口芯片8255AIntel 8255A 是一个通用的可编程的并行接口芯片,它有三个并行I/O 口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel 系列的芯片连接使用,在中小系统中有着广泛的应用。一、8255A的编程结构8255A由以下几部分组成:见图7-31

13、 .三个数据端口 A, B, C这三个端口均可看作是I/O 口,但它们的结构和功能也稍有不同。 A 口:是一个独立的8位I/O 口,它的内部有对数据输入/输出的锁存功能。 B 口:也是一个独立的8位I/O 口,仅对输出数据的锁存功能。 CD:可以看作是一个独立的8位I/O 口;也可以看作是两个独立的 4位 I/O 口。也是仅对输出数据进行锁存。2 . A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设 有控制寄存器,可以根据 CPU送来的编程命令来控制8255A的工作方式,也可 以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制 A

14、口及C 口的高4位;B组控制电路用来控制B 口及C 口的低4位。K组想 二皿“口(中 一IESE7CS端口下 (6)E翅控制数提总线第中读/写摔制逻辑B蛆 端口 C 下半郃 DOFC、z FCoI2P PR)图7-3 8255A的编程结构3 . A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设 有控制寄存器,可以根据 CPU送来的编程命令来控制8255A的工作方式,也可 以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制 A 口及C 口的高4位;B组控制电路用来控制B 口及C 口的低4位。4 .数据总线缓冲器8位的双向的三态缓冲器。

15、作为8255A与系统总线连接的界面,输入/输出的 数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它 来传输的。5 .读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号诙及 系统读信号RD、写信号WR、复位信号RESET,还有来自系统地址总线的口地址 选择彳S号A0和Ai。二.8255A的引脚功能引脚信号可以分为 两组:一组是面向CPU的信号,一组是 面向外设的信号。40PA2RD 1CS 一GND一35PC PC PC PC PCPC PC PC PBPBPB7654 023 0101530254 _ PA4 -PA6 一 PA7 一

16、PA 一WR 二 DESET d; D3 二 D, -D6 D 二 D77 二 PB6 一 pb5 一 PB3 PB图7-3 8255A外部引脚图1 .面向CPU的引脚信号及功能 D0-D7: 8位,双向,三态数据线,用来与系统数据总线相连; RESET:复位信号,高电平有效,输入,用来清除 8255A的内部寄存器, 并置A 口,B 口,C 口均为输入方式; CS:片选,输入,用来决定芯片是否被选中; RD :读信号,输入,控制8255A将数据或状态信息送给 CPU; WR:写信号,输入,控制CPU将数据或控制信息送到8255A; Ai, Ao:内部口地址的选择,输入。这两个引脚上的信号组合决

17、定对 8255A 内部的哪一个口或寄存器进行操作。8255A内部共有4个端口: A 口,B 口,C 口和控制口,两个引脚的信号组合选中端口见下表。CS , rd , WR , Ai, Ao这几个信号的组合决定了 8255A的所有具体操作,表7-18255A的操作功能表CSRDWRA1A0操作数据传送方式00i00读A 口A 口数据-数据总线00i01读B 口B 口数据-数据总线00i10读C 口C 口数据-数据总线0i000写A 口数据总线数据fA 口0i001写B 口数据总线数据fB 口0i010写C 口数据总线数据fC 口0i011写控制口数据总线数据控制口2.面向外设的引脚信号及功能?

18、PAoPA7: A组数据信号,用来连接外设;? PBoPB7: B组数据信号,用来连接外设;? PCoPC7: C组数据信号,用来连接外设或者作为控制信号。三.8255A的工作方式8255A有三种工作方式、用户可以通过编程来设置。方式0简单输入/输出一一查询方式;A, B, C三个端口均可。方式1选通输入/输出一一中断方式;A , B,两个端口均可。方式2双向输入/输出一一中断方式。只有 A端口才有。工作方式的选择可通过向控制端口写入控制字来实现。1 .方式0:为一种简单的输入/输出方式,没有规定固定的应答联络信号,可用 A, B, C三个口的任一位充当查询信号,其余I/O 口仍可作为独立的端

19、口和外设 相连。方式0的应用场合有两种:一种是同步传送;一种是查询传送。2 .方式1方式1是一种选通I/O方式,A 口和B 口仍作为两个独立的8位I/O数据通 道,可单独连接外设,通过编程分别设置它们为输入或输出。而 C 口则要有6位 (分成两个3位)分别作为A 口和B 口的应答联络线,其余2位仍可工作在方式0, 可通过编程设置为输入或输出。(1)方式1的输入组态和应答信号的功能图7-5给出了 8255A的A 口和B 口方式1的输入组态。方揄端口始方式1端口功T-STBb -IBFe-INg图7-4方式1输入组态C 口的PC3-PC5用作A 口的应答联络线,PC0-PC2则作用B 口的应答联络

20、 线,余下的PC6PC7则可作为方式0使用。应唾络线的功能如下: STB选通输入,用来将外设输入的数据打入 8255A的输入缓冲器。 IBF:输入缓冲器满,作为STB的回答信号,。 INTR :中断请求信号。INTR置位的条件是 STB为高且 旧F为高且INTE 为高。 INTE :中断允许。对A 口来讲,是由PC4置位来实现,对B 口来讲,则 是由PC0置位来实现。事先将其置位。A 口B 口STB :PC4PC2IBF :PC5PC1INTR :PC3PC0INTE :PC4 置 1PC2 置 1(2)方式1的输出组态和应答信号功能C 口的PC3、PC6、PC7用作A 口的应答联络线,PC0

21、-PC2则作用B 口的应 答联络线,余下的PC4PC5则可作为方式0使用。应答联络线的功能如下: OBF:输出缓冲器满。当CPU已将要输出的数据送入8255A时有效,用 来通知外设可以从8255A取数。 ACK:响应信号。作为对OBF的响应信号,表示外设已将数据从 8255A 的输出缓冲器中取走。 INTR :中断请求信号。INTR置位的条件是ACK为高且OBF为高且INTE 为高。 INTE :中断允许。对A 口来讲,由PC6的置位来实现,对B 口仍是由PC2的置位来实现。A 口B 口OBF:PC6PC2Ack :PC7PC1INTR :PC3PC0INTE:PC6 置 1PC2 置 13.

22、方式2方式2为双向选通I/O方式,只有A 口才有此方式。这时,C 口有5根 线用作A 口的应答联络信号,其余3根线可用作方式0,也可用作B 口方式 1的应答联络线。方式2:就是方式1的输入与输出方式的组合,各应答信号的功能也相 同。而C 口余下的PC0PC2正好可以充当B 口方式1的应答线,若B 口不 用或工作于方式0,则这三条线也可工作于方式0o(1)方式2的组态STB :PC4IBF:PC5OBF :PC6ACK :PC7INTR :PC3图7-6方式2的输出组态(2)方式2的应用场合方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备, 又可以作为输出设备,并且输入输出动作不

23、会同时进行。(3)方式2和其它方式的组合 方式2和方式0输入的组合: 控制字:11XXX01T 方式2和方式0输出的组合:控制字:11XXX00T 方式2和方式1输入的组合:控制字:11XXX11X 方式2和方式1输出的组合:控制字:11XXX10X其中X表示与其取值无关,而T表示视情况可取1或00四.8255A的编程及应用1) 8255A的编程对8255A的编程涉及到两个内容:写控制字设置工作方式等信息,使C 口的指定位置位/复位的功能。注:均写入控制端口(1)控制字格式控制字要写入8255A的控制口,写入控制字之后,8255A才能按指定的工作 方式工作。8255A的控制字格式与各位的功能如

24、图7-11所示。=11 -输入0 -方式00 -输出1 -方式146图7-7 8255A的控制字格式例1某系统要求使用8255A的A 口方式0输入,B 口方式0输出,C 口高4位 方式0输出,C 口低4位方式0输入则控制字为:10010001即91H初始化程序为:MOV AL, 91HOUT CTRL_PORT, AL2) ) C 口的置位/复位功能只有C 口才有、它是通过向控制口写入按指定位置位 /复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。按位置位/复位的控制字格式如图7-12所示。=0控制字标志D7D6D5D4D3D2D1D0置位/复位引脚编码

25、无意义1 -置位0 -复位000 - PC0 001 - PC1111 - PC7图7-8 位置位/复位控制字格式7.5.2 可编程计数/定时芯片82531定时与计数在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态, 或者对外部过程进行计数。定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。2定时与计数的实现方法(1) 硬件法专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路

26、制成之后,定时值及计数范围不能改变。(2) 软件法利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU 不能从事其它工作,降低了机器的利用率。(3) 软、硬件结合法即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU 的正常工作。Intel8253 是 8086/8088微机系统常用的定时/计数器芯片,它具有定时与计数两大功能,同类型的定时/计数器芯片还有Intel8254等。1、 8253 的一般性能概述1 每个8253芯片有3个独立的16位计数器通道2

27、每个计数器通道都可以按照二进制或二十进制计数3 每个计数器的计数速率可以高达2MHz4 每个通道有6种工作方式,可以由程序设定和改变5 所有的输入、输出电平都与TTL 兼容2、 8253的内部结构8253的内部结构如图7-9所示,它主要包括以下几个主要部分:1 数据总线缓冲器8253 内部实现与CPU 数据总线连接的8 位双向三态缓冲器,用以传送CPU 向 8253 的控制信息、数据信息以及CPU 从 8253 读取的状态信息,包 括某一方面时刻的实时计数值。2读/写控制逻辑控制 8253的片选及对内部相关寄存器的读/写操作,它接收CPU 发来的地址信号以实现片选、内部通道选择以及对读/写操作

28、进行控制。3 .控制字寄存器数据总统崔冲器FD»- 而一- An Al CS内鬻据整在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式, 此寄存器只能写入,不能读出。读一写 避福控制宇寄存需图7-98253的内部结构4 .计数通道0#、1#、2#这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数寄存器,用以存放计数初始值,和一个16位的减法计数器和一个16 位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU 发来的读计数值命令时,用以锁存计数值,供 CPU读取,读取完毕之后,输出 锁存器又跟随减1计数器变化。另外,计数器

29、的值为0的状态,还反映在状态锁存器中,可供读取。三、8253的外部引脚8253芯片是具有24个引脚的双列直插式集成电路芯片,具引脚分布如图7- 10所示。8253芯片的24个引脚分为两组,一组面向 CPU,另一组面向外部设备,各 个引脚及其所传送信号的情况,介绍如下:1. D7D0:双向、三态数据线引脚,用以与系统的数据线连接,传送控制、数据 及状态信息。2. RD:来自于CPU的读控制信号输入引脚,低电平有效。3. WR:来自于CPU的写控制信号输入引脚,低电平有效。4. CS :芯片选择信号输入引脚,低电平有效。数据线,技制线工电送及霹192021别工87&543ZL1O 543

30、667 _y 1« J1 1- 1- 1- 1« J1 1-CLKO 一闲期 *-ouro计数留口号CLK1 1 一州m计数器 f 0叮1口二麒卜十碧图710 8253的引脚5. Ai、A0:地址信号输入引脚,一般接 CPU地址总线的Ai、A0位,用以选 择8253芯片的通道及控制字寄存器。 A0、A1的状态与8253端口地址的对应 关系如表64所示(P161)表 6-4。A1A0000#通道011 #通道102#通道11控制端口6. Vcc及GND: +5V电源及接地引脚7. CLKi: i=0,1,2,第i个通道的计数脉冲输入引脚,8253规定,加在CLK引脚 的输入时

31、钟信号的频率不得高于 2.6MHZ,即时钟周期不能小于380nso8. GATEi: i=0,1,2,第i个通道的门控信号输入引脚,门控信号的作用与通道 的工作方式有关。9. OUTi: i=0,1,2,第i个通道的定时/计数到信号输出引脚,输出信号的形式 由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向CPU发出的中断请求信号。8253的控制字8253有一个8位的控制字寄存器,其格式如下:计数器康出格式工作方式数制T7 比 DS Id Us m Bl DoI匕二迸制1. 1=BCD roao方式aMl方式1 .xlO方式Z 1 Kll方式3IDO才44L101方式5QU计数器

32、模存命令10只读/写量面有效字节 (高8位】01只谈/考易便有效宇节 (低9位)U作速/写最低有效字节 夔后读/尊最高有效字节I器器器数数计请计选择择择选选选韭o 1 L nW D图7-11 8253的控制字其中:Do:数制选择控制。为1时,表明采用BCD码进行定时/计数;否则, 采用二进制进行定时/计数。D3D1:工作方式选择控制。000, 0; 001, 1; X10, 2; X11, 3; 100, 4; 101, 5;D5、D4:读写格式。00,计数锁存命令;01,读/写高8位命令;10,读/写低8位命令;11,先读/写低8位,再读写高8位命令。D7、D6:通道选择控制。00 0通道;

33、01, 1通道;10, 2通道;11,非1. 8253的初始化编程要使用8253,必须首先进行初始化编程,初始化编程包括设置通道控制字和 送通道计数初值两个方面,控制字写入8253的控制字寄存器,而初始值则写入相应通道的计数寄存器中。初始化编程包括如下步骤:(1) .写入通道控制字,规定通道的工作方式(2) .写入计数值,若规定只写低8位,则高8位自动置0,若规定只写高8位, 则低8位自动置00若为16位计数值则分两次写入,先写低 8位,后写高8位。D0:用于确定计数数制,0,二进制;1, BCD码2.读取8253通道中的计数值8253可用控制命令来读取相应通道的计数值,由于计数值是 16位的

34、,而读 取的瞬时值,要分两次读取,所以在读取计数值之前,要用锁存命令,将相应通 道的计数值锁存在锁存器中,然后分两次读入,先读低字节,后读高字节。当控 制字中,D5、D4=00时,控制字的作用是将相应通道的计数值锁存的命令,锁存 计数值在读取完成之后,自动解锁。四、8253在系统中的典型连接8253在系统中的连接如图 7-11所示。hl 皿 253Intel QOSS74LS33A.14Afl GATEiiOCT。D,-D( tLKKU GAIi<1K.Ts C; XTTi计效稣冲计数愿种vcc _ft图7-11 Intel8253在系统中的连接五、8253的工作方式8253共有6种工作

35、方式,各方式下的工作状态是不同的,输出的波形也不同, 其中比较灵活的是门控信号的作用。由此组成了8253丰富的工作方式、波形。8253使用时应注意:(1)控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始 状态。初始状态对不同的模式来说不一定相同。(2)计数初始值写入之后,要经过一个时钟周期上升沿和一个下降沿,计数执行 部件才可以开始进行计数操作,第一个下降沿将计数寄存器的内容送减 1计数器。(3)通常,在每个时钟脉冲 CLK的上升沿,采样门控信号 GATE。不同的工作方 式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是边沿触 发,在有的模式中,两种触发方式都

36、是允许的。其中0、2、3、4是电平触发方式,1、2、3、5是上升沿触发。(4)在时钟脉冲的下降沿,计数器作减1计数,0是计数器所能容纳的最大初始值。 二进制相当于216,用BCD码计数时,相当于104。1 .方式0一计数结束产生中断方式0的波形如图6-19所示,当控制字写入控制字寄存器后,输出 OUT就 变低,当计数值写入计数器后开始计数,在整个计数过程中, OUT保持为低,当 计数到0后,OUT变高;GATE的高低电平控制计数过程是否进行。2 .方式1可编程的硬件触发单拍脉冲CPU向8253写入控制字后OUT变高,并保持,写入计数值后并不立即计数, 只有当外界GATE信号启动后(一个正脉冲)

37、的下一个脉冲才开始计数,OUT变 低,计数到0后,OUT才变高,此时再来一个GATE正脉冲,计数器又开始重新 计数,输出OUT再次变低,因此输出为一单拍负脉冲。3 .方式2一速率发生器方式2下,CPU输出控制字后,输出OUT就变高,写入计数值后的下一个 CLK脉冲开始计数,计数到1后,输出OUT变低,经过一个CLK以后,OUT恢复为高,计数器重新开始计数,因此在这种方式下,只需写入一次计数值,就能连续工作,输出连续相同间隔的负脉冲(前提:GATE 保持为高),即周期性地输出,4方式 3方波速率发生器方式 3 下的输出与方式2 都是周期性的,不同的是周期不同,CPU 写入控制字后,输出OUT 变

38、高,写入计数值后开始计数,不同的是减2 计数,当计数到一半计数值时,输出变低,重新装入计数值进行减2 计数,当计数到0 时,输出变高,装入计数值进行减2 计数,循环不止。5方式4软件触发的选通信号发生器方式 4 下,也是当CPU 写入控制字后,OUT 立即变高,写入计数值开始计数,当计数到0 后, OUT 变低,经过一个CLK 脉冲后, OUT 变高,这种计数是一次性的(与方式0 有相似之处),只有当写入新的计数值后才开始下一次计数。6方式5硬件触发的选通信号发生器方式 5 下,当控制字写入后,OUT 立刻变高,写入计数值后并不立即开始计数,而是由GATE 的上升沿触发启动计数的,当计数到0

39、时,输出变低,经过一个 CLK 之后,输出恢复为高,计数停止,若再有GATE 脉冲来,则重新装入计数值开始计数,上述过程重复。尽管 8253 有 6 种工作模式,但是从输出端来看,仍不外乎为计数和定时两种工作方式。作为计数器时,8253在 GATE 的控制下,进行减 1 计数, 减到终值时,输出一个信号。作为定时器工作时,8253 在门控信号GATE 控制下,进行减1 计数。减到终值时,又自动装入初始值,重新作减1 计数,于是输出端会不断地产生时钟周期整数倍的定时时间间隔。7 8253 的工作方式小结(1) 方式2、 4、 5 的输出波形是相同的,都是宽度为一个CLK 周期的负脉冲,但方式 2

40、 连续工作,方式4 由软件触发启动,方式5 由硬件触发启动。(2) 方式 5与方式 1 工作过程相同,但输出波形不同,方式1 输出的是宽度为 N 个为 N 个 CLK 脉冲的低电平有效的脉冲(计数过程中输出为低),而方式 5 输出的为宽度为一个CLK 脉冲的负脉冲(计数过程中输出为高)。(3) 输出端 OUT 的初始状态,方式0在写入方式字后输出为低,其余方式,写入控制字后,输出均变未能高。(4) 任一种方式,均是在写入计数初值之后,才能开始计数,方式0、 2、 3、4 都是在写入计数初值之后,开始计数的,而方式1 和方式 5 需要外部触发启动,才开始计数。(5) 6 种工作方式中,只有方式2

41、 和方式 3 是连续计数,其它方式都是一次计数,要继续工作需要重新启动,方式0、 4 由软件启动,方式1、 5 由硬件启动。(6) .门控信号的作用通过门控信号GATE,可以干预8253某一通道的计数过程,在不同的工作 方式下,门控信号起作用的方式也不一样,其中0、2、3、4是电平起作用,1、2、3、5是上升沿起作用,方式2、3对电平上升沿都可以起作用。(7) .在计数过程中改变计数值,它们的作用有所不同。(8) .计数到0后计数器的状态,方式0、1、4、5继续倒计数,变为FF、FEoooooo 而方式2、3、,则自动装入计数初值继续计数。六、8253的编程应用IBM PC/XT中,8253作

42、为定时计数器电路,它的三个通道的作用分别为:计数器0编程为方式3, GATE0固定为高电平,OUT0作为中断请求信号接 至8259A中断控制器的第0级IRQ0。这个定时中断(约55ms)用于报时时钟的 时间基准。计数器1编程为方式2, GATE1固定为高电平,OUT1的输出经过一个D触 发器后作为8237A-5DMA控制器通道0的DMA请求DREQ0,用于定时(约 15us)启动刷新动态 RAM,这样在2ms内可以有132次刷新,大于128次(128 次是系统的最低要求)。计数器2编程为方式3, 1KHZ的方波输出,通过滤波,去除高频分量后送 扬声器,GATE2是8255的PB0, OUT输出

43、经一与门控制,控制信号为 8255的 PB1,这样利用PB0、PB1同时为高的时间来控制发长音还是发短音。_ ,定时时间T N 定时时间N=时钟频率F为1.19MHZ, T=1/FT7.6串行接口串行通信就是把一个字符的各位用1根线进行传输。传输速度慢,信息率低, 需要电缆少。适合传输距离较远的场合。串行通信需要用串行接口实现。用行接口指外设与I/O接口之间有1根数据线,实现的是申行数据传送。串行接口需要用串行接口芯片设计。主要芯片有可 编成并行接口芯片是8250、8251等。7.6.1 可编程串行接口芯片 8251A一.8251A的基本性能8251A是可编程的串行通信接口芯片,基本性能:1

44、.两种工作方式:同步方式,异步方式。同步方式下,波特率为064K,异步方式下,波特率为 019.2K2 .同步方式下的格式每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从 而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。 3.异步方式下的格式每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的 1、16 或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加 1 个、1. 5个或2个停止位。可以检查假启动位,自动检测和处理终止字符。4,全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。5.提供出错检测具有硬禺、溢出码

45、帧错误三种校验电路。二.8251A的内部结构(如图7-12所示)1 . 发送器发送器由发送缓冲器和发送控制电路两部分组成。采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起 始位开始,经移位寄存器从数据输出线 TXD逐位串行输出。图7-12 8351内部结构图采用同步方式、则在发送数据之前、发送器将自动送出1个或2个同步字符, 然后才经移位寄存器从数据输出线 TXD逐位串行输出数据。如果CPU与8251A之间采用中断方式交换信息,那么 TXRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器

46、已空。2 .接收器接收器由接收缓冲器和接收控制电路 两部分组成。接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。异步方式:在RXD线上检测低电平,将检测到的低电平作为起始位,8251A 开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据 后,送到数据输入寄存器,同时发出 RXRDY信号送CPU,表示已经收到一个可 用的数据。同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一 个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比 较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存 器的内容比较

47、相等时,8251A的SYNDET升为高电平,表示同步字符已经找到, 同步已经实现。采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存 器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符 寄存器的内容相同。如果相同,则认为同步已经实现。在外同步情况下,同步输入端 SYNDET加一个高电位来实现同步的。实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收 器利用时钟信号对RXD线进行采样,并把收到的数据位送到移位寄存器中。在 RXRDY引脚上发出一个信号,表示收到了一个字符。3 .数据总线缓冲器数据总线缓冲器是CPU与8251A之间的数据接口。包含

48、3个8位的缓冲寄存 器:两个寄存器分别用来存放 CPU向8251A读取的数据或状态信息。一个寄存 器用来存放CPU向8251A写入的数据或控制。4 .读/写控制电路读/写控制电路用来配合数据总线缓冲器的工作。功能如下:(1)接收写信号WR,并将来自数据总线的数据和控制字写入 8251A;(2)接收读信号而,并将数据或状态字从8251A送往数据总线;(3)接收控制/数据信号C/D ,高电平时为控制字或状态字;低电平时为数据。(4)接收时钟信号CLK完成8251A的内部定时;(5)接收复位信号RESET,使8251A处于空闲状态。5 .调制解调控制电路调制解调控制电路用来简化 8251A和调制解调

49、器的连接8251A接口电路1. 8251A和CPU之间的连接信号图7-13 8251串行接口连接图8251A和CPU之间的连接信号可以分为四类:(1)片选信号?CS:片选信号,它由CPU的地址信号通过译码后得到。(2)数据信号D0-D7: 8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251A 的编程命令字和8251A送往CPU的状态信息及数据。(3)读/写控制信号? RD :读信号,低电平时,CPU当前正在从8251A读取数据或者状态信息。? WR :写信号,低电乎时,CPU当前正在往8251A写入数据或者控制信息。?C/D :控制/数据信号,用来区分当前读/写的是数据还是控制

50、信息或状态信 息。该信号也可看作是8251A数据口/控制口的选择信号。由此可知,RD > WR、C/D这3个信号的组合,决定了 8251A的具体操作, 它们的关系如表7-3所小:注:数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合 用同一个奇地址。(4)收发联络信号? TXRDY :发送器准备好信号,用来通知 CPU, 8251A已准备好发送一个字符。?TXE:发送器空信号,TXE为高电平时有效,用来表示此时 8251A发送器中并 行到串行转换器空,说明一个发送动作已完成。? RXRDY:接收器准备好信号,用来表示当前8251A已经从外部设备或调制解调 器接收到一个字符

51、,等待 CPU来取走。因此,在中断方式时,RXRDY可用来作 为中断请求信号;在查询方式时,RXRDY可用来作为查询信号。? SYNDET :同步检测信号,只用于同步方式。2. 8251A与外部设备之间的连接信号8251A与外部设备之间的连接信号分为 两类:(1)收发联络信号? DTR :数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。? DSR :数据设备准备好信号,表示当前外设已经准备好。? RTS:请求发送信号,表示CPU已经准备好发送。? cts :允许发送信号,是对RTS的响应,由外设送往8251A。实际使用时,这4个信号中通常只有CTS必须为低电平,其它3个信号可以悬空。

52、(2)数据信号? TXD :发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行 数据后,通过TXD送往外设。?RXD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入 8251A后被转变为并行方式。3. 时钟、电源和地8251A除了与CPU及外设的连接信号外,还有电源端、地端和 3个时钟端。? CLK:时钟输入,用来产生8251A器件的内部时序。同步方式下,大于接收数据或发送数据的波特率的30倍,异步方式下,则要大于数据波特率的 4.5倍。? TXD :发送器时钟输入,用来控制发送字符的速度。同步方式下,TXC的频率等于字符传输的波特率,异步方式下,TXC的频率可以为字符

53、传输波特率的1倍、16倍或者64倍。? RXD:接收器时钟输入,用来控制接收字符的速度,和 TXC一样。在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供,CLK则由另一个频率较高的外部时钟来提供。? VCC:电源输入?GND:地四.两台微型计算机通过 8251A相互通信的举例通过8251A实现相距较远的两台微型计算机相互通信的系统连接简化框图如下。这时,利用两片8251A通过标准串行接口 RS-232C实现两台8086微机之问的申M/IO036 cru而 而8036 Ai 皿A1J隗址晴罂地址语码器图7-14利用8251A实现双机通讯电路连接图行通信,可采用异步或同步工作方式。

54、分析:设系统采用查询方式控制传输过程,异步传送。初始化程序由两部分组成:是将一方定义为发送器。发送端 CPU每查询到TXRDY有效,则向8251A并 行输出一个字节数据;是将对方定义为接收器。接收端CPU每查询到RxRDY有效,则从8251A输入 一个字节数据,一直进行到全部数据传送完毕为止。妗送端初始化程序与妗送捽制程序如下所示:STT: MOV DX, 8251A 控制端口MOV AL , 7FHOUT DX, AL ;将8251A定义为异步方式,8位数据,1位停止位MOV AL, 11H ;偶校验,取波特率系数为64,允许发送。OUT DX, ALMOV DI ,发送数据块首地址MOV CX ,发送数据块字节数NEXT: MOV DX, 8251A 控制端口 IN AL ,

温馨提示

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

评论

0/150

提交评论