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

下载本文档

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

文档简介

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

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

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

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

5、、流量、位移、湿度等,这些物理量通过传感器并经放大处理得到模拟电压或电流,这些模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也必须先经过数字量向模拟量的转换(D/A转换),把数字量转换成模拟量才能去控制现场开关量:开关量可表示两个状态,只要用一位二进制数即可表示。利用开关量可以控制开关的断开和闭合,机器的运转与停止,阀门的打开与关闭,继电器的接通与断开等。这些开关量通常要经过相应的电平转换才能与计算机连接。 2. 状态信息状态信息作为CPU与外设之间交换数据时的联络信息,如:“准备好”(READY)信号、“忙”(BUSY)等信号。状

6、态信息反映了当前外设所处的工作状态,是外设通过接口送往CPU的信息。状态信息能够保障CPU与外设正确地进行数据交换,外设直接将状态信息传送到接口中的状态寄存器中,CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。对于输入设备,一般用准备好(READY)信号的高低来表明待输入的数据是否准备就绪;对于输出设备,则用忙(BUSY)信号的高低表示输出设备是否处于空闲状态,如空闲,则可接收CPU输出的信息,否则CPU要暂停送数。3控制信息控制信息是CPU通过执行输出指令将其存放在接口中的控制寄存器中,再由接口传送给外设,以实现对外设的控制。CPU通过发送控制信息设置

7、外设(包括接口)的工作模式、控制外设的开启、停止等工作。控制信息往往随着外设的具体工作原理不同而含义不同。6.4 I/O接口的组成一个完整的I/O接口如图6-1所示。图6-1 一个典型的I/O接口组成图l 任何外设都必须通过I/O接口电路与计算机总线连接。外设要与计算机主机间I/O信息还必须通过执行对应的I/O控制程序来完成。l CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口有一个端口地址。用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端口。用来存放外部设备或者接口部件本身的状态,称为状态端口。用来存放C

8、PU发出的命令,以便控制接口和设备的动作,这类端口叫控制端口。l 一个完整的I/O接口主要由数据端口寄存器、状态端口寄存器、控制端口寄存器组成,如图6-1所示。每个端口寄存器设计时由其译码电路确定其必须有其端口地址,微机通过执行输入指令和输出指令完成其数据的写入或读出。l 外设不同,其I/O接口电路设计不同,接口中端口寄存器的数目不同,对应端口地址不同,微机通过不同的端口地址识别不同的外设。6.4 I/O接口与系统的连接.接口电路位于CPU与外设之间,从结构上看,可以把一个接口分为两个部分(见图6-2):用来和I/O设备相连,通过I/O接口和外设的连接线,可以实现外设串行或并行数据的输入(输入

9、到I/O接口中的数据端口),实现外设状态信息的输入(输入到I/O接口中的状态端口供CPU查询),实现CPU对外设的传送控制(通过I/O接口中的控制端口)。用来和系统总线相连,这部分接口电路结构类似,连在同一总线上。通过此连接实现CPU与I/O接口间的并行通讯。图6-2 打印机接口电路连接图6.5 输入输出的寻址方式正如每个存储单元都有一个物理地址一样,每个端口必须有一个地址与之相对应,该地址称为端口地址。有了端口地址,CPU对外设的输入/输出操作实际上就是对I/O接口中各端口的读/写操作。微型计算机系统中I/O端口编址方式有两种:I/O端口与内存单元统一编址和 I/O端口与内存单元独立编址。6

10、.5.1 I/O端口与内存单元统一编址l 统一编址方式是对I/O端口和存储单元按照存储单元的编址方法统一编排地址号,由I/O端口地址和存储单元地址共同构成一个统一的地址空间。l 采用统一编址方式后,CPU对I/O端口的输入/输出操作如同对存储单元的读/写操作一样,所有访问内存的指令同样都可用于访问I/O端口,因此无需专门的I/O指令(即内存与外设的I/O采用相同的指令),从而简化了指令系统的设计;但由于I/O端口占用了一部分存储器地址空间,故相对减少了内存的地址可用范围。6.5.2 I/O端口与内存单元独立编址l 独立编址方式中,建立了两个地址空间,一个为内存地址空间,一个为I/O地址空间。内

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

12、可编程芯片74LS273、74LS244、74LS374等。常用的可编成并行接口芯片是8255、8253等。6.5.1 可编程并行接口芯片8255AIntel 8255A是一个通用的可编程的并行接口芯片,它有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。一、8255A的编程结构8255A由以下几部分组成:见图6-31三个数据端口A,B,C 这三个端口均可看作是I/O口,但它们的结构和功能也稍有不同。·A口:是一个独立的8位I/O口,它的内部有对数据输入/输出的锁存功能。·B口:也是一个

13、独立的8位I/O口,仅对输出数据的锁存功能。·C口:可以看作是一个独立的8位I/O口;也可以看作是两个独立的4位I/O口。也是仅对输出数据进行锁存。2A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。 图6-3 8255A的编程结构2A组和B组的控制电路这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据

14、CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对C口的指定位进行置/复位的操作。A组控制电路用来控制A口及C口的高4位;B组控制电路用来控制B口及C口的低4位。3数据总线缓冲器8位的双向的三态缓冲器。作为8255A与系统总线连接的界面,输入/输出的数据,CPU的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。4读/写控制逻辑读/写控制逻辑电路负责管理8255A的数据传输过程。它接收片选信号及系统读信号、写信号、复位信号RESET,还有来自系统地址总线的口地址选择信号A0和A1。二8255A的引脚功能引脚信号可以分为两组:一组是面向CPU的信号,一组

15、是面向外设的信号。WRD0D1D2D3D4D5D6D7VCCPB7RDCSGNDA1A0PA4PA5PA6PA7PB5PB6PB4PB3RESETPB1PB2PB0PC3PC2PC1PC0PC4PC5PC6PC7PA3PA2PA1PA05110153540302521图6-3 8255A外部引脚图1面向CPU的引脚信号及功能·D0-D7:8位,双向,三态数据线,用来与系统数据总线相连;·RESET:复位信号,高电平有效,输入,用来清除8255A的内部寄存器,并置A口,B口,C口均为输入方式;·:片选,输入,用来决定芯片是否被选中;·:读信号,输入,控制8

16、255A将数据或状态信息送给CPU;·:写信号,输入,控制CPU将数据或控制信息送到8255A;·A1,AO:内部口地址的选择,输入。这两个引脚上的信号组合决定对8255A内部的哪一个口或寄存器进行操作。8255A内部共有4个端口:A口,B口,C口和控制口,两个引脚的信号组合选中端口见下表。,A1,A0这几个信号的组合决定了8255A的所有具体操作, 表6-1 8255A的操作功能表 A1 A0操 作数 据 传 送 方 式 0 0 1 0 0读 A 口A口数据 数据总线 0 0 1 0 1读 B 口B口数据 数据总线 0 0 1 1 0读 C 口C口数据 数据总线 0 1

17、0 0 0写 A 口数据总线数据 A口 0 1 0 0 1写 B 口数据总线数据 B口 0 1 0 1 0写 C 口数据总线数据 C口 0 1 0 1 1写控制口数据总线数据 控制口2面向外设的引脚信号及功能 PA0PA7:A组数据信号,用来连接外设; PB0PB7:B组数据信号,用来连接外设; PC0PC7:C组数据信号,用来连接外设或者作为控制信号。三8255A的工作方式8255A有三种工作方式,用户可以通过编程来设置。方式0简单输入/输出查询方式;A,B,C三个端口均可。方式1选通输入/输出中断方式;A ,B,两个端口均可。方式2双向输入/输出中断方式。只有A端口才有。工作方式的选择可通

18、过向控制端口写入控制字来实现。 1方式0:为一种简单的输入/输出方式,没有规定固定的应答联络信号,可用A,B,C三个口的任一位充当查询信号,其余I/O口仍可作为独立的端口和外设相连。方式0的应用场合有两种:一种是同步传送;一种是查询传送。2方式1 方式1是一种选通I/O方式,A口和B口仍作为两个独立的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为输入或输出。 (1) 方式1的输入组态和应答信号的功能 图6-5给出了8255A的A口和B口方式1的输入组态。 图6-4

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

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

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

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

23、指定的工作方式工作。8255A的控制字格式与各位的功能如图6-11所示。D7D6D5D4D3D2D1D0 =1 控制字标志 C口低4位 A组工作方式 1 - 输入 00 - 方式0 A口控制 0 - 输出 01 - 方式1 1 - 输入 B口控制 1x - 方式2 0 - 输出 1 - 输入 C口高4位控制 B组工作方式 0 - 输出 1 - 输入 0 - 方式0 0 - 输出 1 - 方式1 图6-7 8255A的控制字格式例1 某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入。 则控制字为: 10010001 即91H 初始化程序为: M

24、OV AL,91H OUT CTRL_PORT,AL(2) C口的置位/复位功能只有C口才有,它是通过向控制口写入按指定位置位/复位的控制字来实现的。C口的这个功能可用于设置方式1的中断允许,可以设置外设的启/停等。 按位置位/复位的控制字格式如图6-12所示。D7D6D5D4D3D2D1D0 =0 控制字标志 1 - 置位 无意义 置位/复位引脚编码 0 - 复位 000 - PC0 001 - PC1 . 111 - PC7 图6-8 位置位/复位控制字格式7.5.2 可编程计数/定时芯片82531定时与计数 在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外

25、部过程进行计数。定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。2定时与计数的实现方法(1)硬件法专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。(2)软件法利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU不能从事其它工作,降低了机器的利用率。(3)软、硬件结合法即设计一种专门的具有可编程特性的芯片,来控制定时和计

26、数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工作。Intel8253是8086/8088微机系统常用的定时/计数器芯片,它具有定时与计数两大功能,同类型的定时/计数器芯片还有Intel8254等。一、 8253的一般性能概述1每个8253芯片有3个独立的16位计数器通道2每个计数器通道都可以按照二进制或二十进制计数3每个计数器的计数速率可以高达2MHz4每个通道有6种工作方式,可以由程序设定和改变5所有的输入、输出电平都与TTL兼容二、8253的内部结构8253的内部结构如图6-9所示,它主要包括以下几个主要部分:1数据总线缓冲器 8

27、253内部实现与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包 括某一方面时刻的实时计数值。2读/写控制逻辑 控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来 的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。3控制字寄存器 在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式, 此寄存器只能写入,不能读出。 图6-9 8253的内部结构4计数通道0#、1#、2# 这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一 个16位的计数寄存器,用以存放计数初始值,和一个1

28、6位的减法计数器和一个16位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存计数值,供CPU读取,读取完毕之后,输出锁存器又跟随减1计数器变化。 另外,计数器的值为0的状态,还反映在状态锁存器中,可供读取。三、 8253的外部引脚 8253芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图610所示。 8253芯片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:1D7D0:双向、三态数据线引脚,用以与系统的数据线连接,传送控制、数据及状态信息。2:来自于CPU的读控制信号输入引脚,低

29、电平有效。3:来自于CPU的写控制信号输入引脚,低电平有效。4:芯片选择信号输入引脚,低电平有效。 图610 8253的引脚5A1、A0:地址信号输入引脚,一般接CPU地址总线的A1、A0位,用以选择8253芯片的通道及控制字寄存器。、的状态与8253端口地址的对应关系如表64所示(P161) 表6-4。000通道011通道102通道11控制端口6VCC及GND:+5V电源及接地引脚7CLKi:i=0,1,2,第i个通道的计数脉冲输入引脚,8253规定,加在CLK引脚的输入时钟信号的频率不得高于2.6MHZ,即时钟周期不能小于380ns。8GATEi:i=0,1,2,第i个通道的门控信号输入引

30、脚,门控信号的作用与通道 的工作方式有关。 9OUTi:i=0,1,2,第i个通道的定时/计数到信号输出引脚,输出信号的形式 由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向 CPU发出的中断请求信号。三、 8253的控制字8253有一个8位的控制字寄存器,其格式如下: 图6-11 8253的控制字其中:D0:数制选择控制。为1时,表明采用BCD码进行定时/计数;否则, 采用二进制进行定时/计数。D3D1:工作方式选择控制。000,0;001,1;X10,2;X11,3;100, 4;101,5;D5、D4:读写格式。00,计数锁存命令;01,读/写高8位命令;10,读 /写低

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

32、数值8253可用控制命令来读取相应通道的计数值,由于计数值是16位的,而读取的瞬时值,要分两次读取,所以在读取计数值之前,要用锁存命令,将相应通道的计数值锁存在锁存器中,然后分两次读入,先读低字节,后读高字节。当控制字中,D5、D4=00时,控制字的作用是将相应通道的计数值锁存的命令,锁存计数值在读取完成之后,自动解锁。四、 8253在系统中的典型连接 8253在系统中的连接如图6-11所示。 图6-11 Intel8253在系统中的连接五、 8253的工作方式8253共有6种工作方式,各方式下的工作状态是不同的,输出的波形也不同,其中比较灵活的是门控信号的作用。由此组成了8253丰富的工作方

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

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

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

36、软件触发的选通信号发生器方式4下,也是当CPU写入控制字后,OUT立即变高,写入计数值开始计数,当计数到0后,OUT变低,经过一个CLK脉冲后,OUT变高,这种计数是一次性的(与方式0有相似之处),只有当写入新的计数值后才开始下一次计数。6方式5硬件触发的选通信号发生器方式5下,当控制字写入后,OUT立刻变高,写入计数值后并不立即开始计数,而是由GATE的上升沿触发启动计数的,当计数到0时,输出变低,经过一个CLK之后,输出恢复为高,计数停止,若再有GATE脉冲来,则重新装入计数值开始计数,上述过程重复。尽管8253有6种工作模式,但是从输出端来看,仍不外乎为计数和定时两种工作方式。作为计数器

37、时,8253在GATE的控制下,进行减1计数,减到终值时,输出一个信号。作为定时器工作时,8253在门控信号GATE控制下,进行减1计数。减到终值时,又自动装入初始值,重新作减1计数,于是输出端会不断地产生时钟周期整数倍的定时时间间隔。78253的工作方式小结 (1)方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲, 但方式2连续工作,方式4由软件触发启动,方式5由硬件触发启动。 (2)方式5与方式1工作过程相同,但输出波形不同,方式1输出的是宽度 为N个为N个CLK脉冲的低电平有效的脉冲(计数过程中输出为低),而方 式5输出的为宽度为一个CLK脉冲的负脉冲(计数过程中输出为

38、高)。 (3)输出端OUT的初始状态,方式0在写入方式字后输出为低,其余方式, 写入控制字后,输出均变未能高。 (4)任一种方式,均是在写入计数初值之后,才能开始计数,方式0、2、3、 4都是在写入计数初值之后,开始计数的,而方式1和方式5需要外部触发启动,才开始计数。(5)6种工作方式中,只有方式2和方式3是连续计数,其它方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式1、5由硬件启动。(6)门控信号的作用通过门控信号GATE,可以干预8253某一通道的计数过程,在不同的工作方式下,门控信号起作用的方式也不一样,其中0、2、3、4是电平起作用,1、2、3、5是上升沿起作用

39、,方式2、3对电平上升沿都可以起作用。(7)在计数过程中改变计数值,它们的作用有所不同。(8)计数到0后计数器的状态,方式0、1、4、5继续倒计数,变为FF、FE。,而方式2、3、,则自动装入计数初值继续计数。六、 8253的编程应用IBM PC/XT中,8253作为定时计数器电路,它的三个通道的作用分别为:计数器0编程为方式3,GATE0固定为高电平,OUT0作为中断请求信号接至8259A中断控制器的第0级IRQ0。这个定时中断(约55ms)用于报时时钟的时间基准。计数器1编程为方式2,GATE1固定为高电平,OUT1的输出经过一个D触发器后作为8237A5DMA控制器通道0的DMA请求DR

40、EQ0,用于定时(约15us)启动刷新动态RAM,这样在2ms内可以有132次刷新,大于128次(128次是系统的最低要求)。计数器2编程为方式3,1KHZ的方波输出,通过滤波,去除高频分量后送扬声器,GATE2是8255的PB0,OUT输出经一与门控制,控制信号为8255的PB1,这样利用PB0、PB1同时为高的时间来控制发长音还是发短音。 时钟频率F为1.19MHZ,T=1/F6.6 串行接口串行通信就是把一个字符的各位用1根线进行传输。传输速度慢,信息率低,需要电缆少。适合传输距离较远的场合。串行通信需要用串行接口实现。串行接口指外设与I/O接口之间有1根数据线,实现的是串行数据传送。串

41、行接口需要用串行接口芯片设计。主要芯片有可编成并行接口芯片是8250、8251等。6.6.1 可编程串行接口芯片8251A一8251A的基本性能 8251A是可编程的串行通信接口芯片,基本性能:1两种工作方式:同步方式,异步方式。同步方式下,波特率为064K,异步方式下,波特率为019.2K。2同步方式下的格式每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。3异步方式下的格式每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为

42、每个数据增加1个、15个或2个停止位。可以检查假启动位,自动检测和处理终止字符。 4全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。5提供出错检测具有奇偶、溢出和帧错误三种校验电路。二8251A的内部结构 (如图6-12所示)1 发送器 发送器由发送缓冲器和发送控制电路两部分组成。采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。 图6-12 8351内部结构图采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才经移位寄存器从数据输出线TXD逐位串行输出数据。如果CPU与8251A之间采用中断方

43、式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。2接收器接收器由接收缓冲器和接收控制电路两部分组成。接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。异步方式:在RXD线上检测低电平,将检测到的低电平作为起始位, 8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RXRDY信号送CPU,表示已经收到一个可用的数据。同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时

44、,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。 在外同步情况下,同步输入端SYNDET加一个高电位来实现同步的。 实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对RXD线进行采样,并把收到的数据位送到移位寄

45、存器中。在RXRDY引脚上发出一个信号,表示收到了一个字符。3数据总线缓冲器 数据总线缓冲器是CPU与8251A之间的数据接口。包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。一个寄存器用来存放CPU向8251A写入的数据或控制。4读/写控制电路读/写控制电路用来配合数据总线缓冲器的工作。功能如下:(1)接收写信号,并将来自数据总线的数据和控制字写入8251A;(2)接收读信号,并将数据或状态字从8251A送往数据总线; (3)接收控制/数据信号C/,高电平时为控制字或状态字;低电平时为数据。 (4)接收时钟信号CLK完成8251A的内部定时; (5)接

46、收复位信号RESET,使8251A处于空闲状态。5调制解调控制电路调制解调控制电路用来简化8251A和调制解调器的连接。三8251A接口电路1. 8251A和CPU之间的连接信号图6-13 8251串行接口连接图8251A和CPU之间的连接信号可以分为四类: (1) 片选信号 :片选信号,它由CPU的地址信号通过译码后得到。(2) 数据信号D0-D7:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。(3) 读/写控制信号 :读信号,低电平时, CPU当前正在从8251A读取数据或者状态信息。 :写信号,低电乎时, CPU当

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

48、前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。因此,在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为查询信号。 SYNDET:同步检测信号,只用于同步方式。28251A与外部设备之间的连接信号8251A与外部设备之间的连接信号分为两类:(1) 收发联络信号 :数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。 :数据设备准备好信号,表示当前外设已经准备好。 :请求发送信号,表示CPU已经准备好发送。 :允许发送信号,是对的响应,由外设送往8251A。实际使用时,这4个信号中通常只有必须为低电平,其它3个信号可以悬空。(2) 数据信号 TXD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TXD送往外设。 RXD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。3. 时钟、电源和地8251A除了与CPU及外设的连接信号外,还有电源端、地端和3个时钟端。 CLK:时钟输入,用来产生8251A器件的内部时序。同步方式下,大于

温馨提示

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

评论

0/150

提交评论