简单的并行接口电路PPT课件.ppt_第1页
简单的并行接口电路PPT课件.ppt_第2页
简单的并行接口电路PPT课件.ppt_第3页
简单的并行接口电路PPT课件.ppt_第4页
简单的并行接口电路PPT课件.ppt_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

第14章并行通信及其接口电路 1 本章主要内容1 简单并行接口电路 2 可编程并行接口电路8255A的结构及工作原理 3 8255A的应用 2 14 1概述 在计算机和数据通信系统中 有两种基本的数据传送方式 即串行数据传送方式和并行数据传送方式 也称串行通信和并行通信 数据在单条一位宽的传输线上按时间先后一位一位地进行传送 称为串行传送 数据在多位宽的传输线上各位同时进行传送 称为并行传送 和串行传送相比 在同样的时钟速率下 并行传送的数据传输率较高 3 并行通信往往适用于信息传输率要求较高 而传输距离较短的场合 在本章 我们重点介绍并行通信及其所要求的并行接口电路 研究它们的组成 功能及典型的并行接口芯片的工作原理及使用方法 首先介绍几种简单的 不可编程 并行输入输出接口电路 然后着重介绍可编程并行接口电路8255A及其典型应用 4 14 2简单的并行接口电路 在输入输出接口电路中 经常要对所传送的信号进行缓冲 驱动和锁存 能实现这种功能的接口芯片通常是简单的数据锁存器 缓冲器以及双向总线收发器等 本节扼要介绍三种常用的简单并行输入输出接口芯片 它们是 锁存器74LS373 缓冲器74LS244 数据总线收发器74LS245 5 14 2 1锁存器74LS373 74LS373是一种8位D锁存器电路 D Latch 具有三态控制输出 其逻辑电路及引脚图如图14 1所示 图中小括号内的数字编号为芯片的引脚号 6 图14 174LS373锁存器 G 选通 DGQ 3 8 4 13 7 17 14 2 11 6 5 12 9 19 15 16 3D 4D 5D 6D 7D 8D 18 2D 1D 3Q 4Q 5Q 6Q 7Q 8Q 2Q OE 1 a 逻辑电路 1Q 7 由图14 1可见 该电路由8个D锁存器构成 图中仅画一个 其余与此相同 有8个输入端1D 8D 8个输出端1Q 8Q 两个控制端 选通端G和输出允许端OE 当选通端G为高电平时 则D锁存器的输出跟随相应输入数据端的逻辑电平 当G变为低电平时 则D锁存器中的当前内容被锁存 只有当输出允许信号OE有效 为低电平 时 锁存器中的信息才出现在输出端1Q 8Q上 如果OE为高电平 则输出处于高阻态 8 74LS373的真值表如表14 1所示 该表中H为高电平 L为低电平 Q0为原状态 Z为高阻态 X表示任意值 为H或L均可 9 表14 174LS373真值表 10 锁存器工作时间图 锁存器的应用 选通 n位数据总线 11 从表14 1可以看到74LS373的功能为 当选通端G为高电平 同时输出允许端OE为低电平时 则输出Q 输入D 输出Q跟随输入D 当选通端G为低电平 而输出允许端OE也为低电平时 则输出Q Q0 Q0为原状态 即选通端G由高电平变为低电平时输出端Q的状态 当输出允许端OE为高电平时 无论选通端G为何值 输出端Q总为高阻态 12 74LS373是十分常用的锁存器电路 主要用来在总线传输电路中锁存地址信息或数据信息 并实现总线信号的缓冲与驱动 与74LS373锁存器功能类似的芯片还有Intel8282 8283等 13 14 2 2缓冲器74LS244 74LS244是一种三态输出的8位缓冲器 驱动器电路 其逻辑电路图和引脚图如图14 2所示 14 图14 274LS244缓冲器 15 由图14 2可见 74LS244有8个输入端 分为两路 1A1 1A4和2A1 2A4 有8个输出端 也分为两路 1Y1 1Y4和2Y1 2Y4 两路数据传送分别由两个控制信号1G和2G控制 当1G有效 为低电平 时 1Y1 1Y4的电平与1A1 1A4的电平相同 即输出反映输入的逻辑电平 同样 当2G有效时 2Y1 2Y4的电平与2A1 2A4的电平相同 而当1G 或2G 无效 为高电平 时 输出1A1 1A4 或2A1 2A4 为高阻态 16 74LS244缓冲器主要用于存储器地址驱动器 单向总线接收器和发送器等 例如 可将其8个输入端的某几位接地 其余接 5V 即可提供特定的8位二进制代码 如为某设备接口提供8位中断类型码 17 14 2 3数据总线收发器74LS245 74LS245是一种三态输出的8位双向总线收发器 transceiver 其逻辑电路图和引脚图如图14 3所示 18 图14 3数据总线收发器74LS245 GDIR A2 A3 A5 A6 A7 A8 A1 b 引脚图 B3 B4 B5 B6 B7 B8 B2 B1 19 由图14 3可见 74LS245有16个双向传输的数据端 即A1 A8和B1 B8 另有两个控制端 即允许端G和方向控制端DIR G用于允许该收发器的操作 DIR用于控制数据传送的方向 A B或B A 由图14 3 a 可见 若G信号无效 为高电平 则无论DIR为何种电平 下面两个 与门 的输出均为低电平 从而使两个方向上的三态门的输出均为高阻态 收发器处于 隔开 状态 即两个方向上的数据传送均不能进行 20 若G信号有效 为低电平 则可在某一个方向上进行数据传送 到底在哪个方向上进行传送 则由方向控制端DIR的逻辑电平来决定 74LS245的真值表如表14 2所示 74LS245通常用于数据的双向传送 缓冲与驱动 与74LS245功能类似的双向总线收发器电路还有Intel8286 8287等 21 表14 274LS245的真值表 22 14 2 4应用举例 1 锁存器74LS373的应用在80386DX微机系统中 需在地址总线上对30位地址信号A2 A31和4个字节允许信号BE0 BE3进行锁存 图14 4给出了使用5片74LS373芯片对这些信息进行锁存的电路配置情况 23 图14 474LS373用于地址信号锁存 字节允许BE0 BE3 A2 A31 74LS373 G OE 经锁存的地址总线 AL24 AL31 AL16 AL23 AL8 AL15 AL2 AL7 BEL0 BEL3 地址总线A24 A31 A16 A23 A8 A15 A2 A7 ALE 24 注意 由于电路中74LS373的OE固定接为逻辑0 所以其输出AL2 AL31和BEL0 BEL3将始终处于允许状态 由图14 4可见 各片74LS373的选通端G均由ALE AddressLatchEnable 信号来驱动 ALE即地址锁存允许信号 它是专门用来控制地址锁存器的一个总线信号 25 2 数据总线收发器74LS245的应用图14 5给出了用74LS245实现的总线接口中数据总线收发器电路配置图 对于像80386DX这样的32位微机系统 其外部数据总线为32位 所以需4块74LS245这样的电路来实现双向总线驱动 图14 5中 74LS245的DIR输入是由总线信号DT R来控制 而G是由DEN控制 DT R和 是系统中总线控制逻辑的输出信号 26 图14 5数据总线收发器的应用 D0 D31 74LS245 DIR 74LS245 74LS245 74LS245 DB24 DB31 DB16 DB23 DB8 DB15 DB0 DB7 D24 D31 D16 D23 D8 D15 D0 D7 DEN DT R 系统数据总线 G G G G DIR DIR DIR 微处理器数据总线 27 数据总线收发器的一个主要功能是对数据总线信号进行缓冲与驱动 缓冲能力的大小取决于该电路在其输出端能够吸收多少电流 74LS245的IOL 输出低电平负载电流 额定值为64mA 而80386DX数据总线最多仅能吸收4mA电流 所以 通过增设数据总线收发器电路可以极大地增强总线的驱动能力 28 14 3可编程并行接口 14 3 1可编程并行接口的组成及其与CPU和外设的连接通常 一个可编程并行接口电路应包括下列组成部分 1 两个或两个以上具有缓冲能力的数据寄存器 2 可供CPU访问的控制及状态寄存器 3 片选和内部控制逻辑电路 29 4 与外设进行数据交换的控制与联络信号线 5 与CPU用中断方式传送数据的相关中断控制电路 典型的可编程并行接口及其与CPU和外设的连接示意图如图14 6所示 30 图14 6可编程并行接口电路及其与CPU和外设的连接 CPU 输出设备 输入设备 并行接口电路 数据总线 读控信号 写控信号 复位信号 中断响应信号 中断请求信号 地址 译码器 片选 输出缓冲寄存器 输入缓冲寄存器 控制寄存器 状态寄存器 中断逻辑 并行输出数据 并行输入数据 输出准备好 输出回答 输入准备好 输入回答 31 14 3 2可编程并行接口的数据输入输出过程将以8255A为例进行讨论 32 14 4可编程并行通信接口8255A 14 4 18255A的性能概要Intel8255A是一个为Intel8080和8085微机系统设计的通用可编程并行接口芯片 也可应用于其他微机系统之中 8255A采用40脚双列直插封装 单一 5V电源 全部输入输出与TTL电平兼容 用8255A连接外部设备时 通常不需要再附加其他电路 给使用带来很大方便 33 8255A有三个输入输出端口 端口A 端口B 端口C 每个端口都可通过编程设定为输入端口或输出端口 但有各自不同的方式和特点 端口C可作为一个独立的端口使用 但通常是配合端口A和端口B的工作 为这两个端口的输入输出提供控制联络信号 34 14 4 28255A芯片引脚分配及引脚信号说明 8255A芯片引脚分配如图14 7所示 8255A芯片的40条引脚 大致可分为三类 1 电源与地线共2条 Vcc GND 2 与外设相连的共24条 PA7 PA0 端口A数据信号 PB7 PB0 端口B数据信号 PC7 PC0 端口C数据信号 35 图 14 78255 A 芯片引脚分配 36 37 3 与CPU相连的共14条 RESET 复位信号 高电平有效 当RESET信号有效时 所有内部寄存器都被清除 同时 3个数据端口被自动设置为输入端口 D7 D0 双向数据线 在8080 8085系统中 8255A的D7 D0与系统的8位数据总线相连 在8086系统中 采用16位数据总线 8255A的D7 D0通常是接在16位数据总线的低8位上 38 CS 片选信号 低电平有效 该信号来自译码器的输出 只有当CS有效时 读信号RD和写信号WR才对8255A有效 RD 读信号 低电平有效 它控制从8255A读出数据或状态信息 39 WR 写信号 低电平有效 它控制把数据或控制命令字写入8255A A1 A0 端口选择信号 8255A内部共有4个端口 即寄存器 3个数据端口 端口A 端口B 端口C 和1个控制端口 当片选信号CS有效时 规定A1 A0为00 01 10 11时 分别选中端口A 端口B 端口C和控制端口 CS RD WR A1 A0这五个信号的组合决定了对三个数据端口和一个控制端口的读写操作 如表14 3所示 40 表14 38255A端口选择和基本操作 41 14 4 38255A内部结构方块图 8255A内部结构方块图如图14 8所示 42 图14 88255A内部结构方块图 RESET 43 由图14 8可以看出 8255A由以下几部分组成 1 数据总线缓冲器这是一个双向三态8位数据缓冲器 它是8255A与CPU数据总线的接口 输入数据 输出数据以及CPU发给8255A的控制字和从8255A读出的状态信息都是通过该缓冲器传送的 44 2 端口A 端口B 端口C8255A有三个8位端口 端口A 端口B 端口C 各端口可由程序设定为输入端口或输出端口 在使用中 端口A和端口B常常作为独立的输入端口或输出端口 端口C也可以作为输入端口或输出端口 但往往是用来配合端口A和端口B的工作 在方式字的控制下 端口C可以分成两个4位的端口 分别用来为端口A和端口B提供控制和状态信息 45 3 A组控制和B组控制A组控制 控制端口A及端口C的高4位 B组控制 控制端口B及端口C的低4位 4 读写控制逻辑读写控制逻辑负责管理8255A的数据传输过程 47 14 4 48255A的控制字 1 方式选择控制字方式选择控制字的格式如图14 9所示 48 图14 98255A方式选择控制字 49 假定要求8255A的各个端口工作于如下方式 端口A 方式0 输出 端口B 方式0 输入 端口C的高4位 方式0 输出 端口C的低4位 方式0 输入 那么 相应的方式选择控制字应为10000011B 83H 50 在实验系统中8255A控制口的地址为28BH 则执行如下三条指令即可实现上述工作方式的设定 MOVDX 28BHMOVAL 83HOUTDX AL 将方式选择控制字写入控制口 51 2 端口C按位置1 置0控制字可以用专门的控制字实现对端口C按位置1 置0操作 用以产生所需的控制功能 这种控制字就是 端口C按位置1 置0控制字 该控制字的具体格式如图14 10所示 52 图14 10端口C按位置1 置0控制字 53 需要指出的是 端口C按位置1 置0控制字是对端口C的操作控制信息 因此该控制字必须写入控制口 而不应写入端口C 控制字的D0位决定是置 1 操作还是置 0 操作 但究竟是对端口C的哪一位进行操作 则决定于控制字中的D3 D2 D1位 54 例如 要实现对端口C的PC6位置 0 则控制字应为00001100B 0CH 设8255A的控制口地址同上 则执行下列指令即可实现指定的功能 MOVDX 28BHMOVAL 0CH OUTDX AL 将 端口C按位置1 置0控制字 写入控制口 实现对PC6位置 0 55 14 4 58255A的工作方式 1 方式0方式0也叫基本输入 输出方式 在这种方式下 端口A和端口B可以通过方式选择控制字规定为输入口或者输出口 端口C分为高4位 PC7 PC4 和低4位 PC3 PC0 两个4位端口 这两个4位端口也可由方式选择控制字分别规定为输入口或输出口 56 这四个并行口共可构成24 16种不同的使用组态 利用8255A的方式0进行数据传输时 由于没有规定专门的应答信号 所以这种方式常用于与简单外设之间的数据传送 如向LED显示器的输出 从二进制开关装置的输入等 57 2 方式1 方式1也叫选通的输入 输出方式 和方式0相比 最主要的差别就是当端口A和端口B工作于方式1时 要利用端口C来接收选通信号或提供有关的状态信号 而这些信号是由端口C的固定数位来接收或提供的 即信号与数位之间存在着对应关系 这种关系不可以用程序的方法予以改变 58 1 方式1输入当端口A和端口B工作于 方式1输入 时 端口C控制信号定义如图14 11所示 该图中还给出了相应的方式选择控制字 59 图14 118255A方式1输入 60 对于图14 11中所示的控制信号说明如下 STB Strobe 选通信号 低电平有效 它是由外设送给8255A的输入信号 当其有效时 8255A接收外设送来的一个8位数据 IBF InputBufferFull 输入缓冲器满 信号 高电平有效 它是一个8255A送给外设的联络信号 61 当IBF为高电平时 表示外设的数据已送进输入缓冲器中 但尚未被CPU取走 通知外设不能送新数据 只有当IBF变为低电平时 即CPU已读取数据 输入缓冲器变空时 才允许外设送新数据 IBF信号是由STB使其置位 变为高电平 而由读信号RD的上升沿使其复位 变为低电平 62 INTR InterruptRequest 中断请求信号 高电平有效 它是当STB为1 IBF为1且INTE也为1 中断允许 时被置为高电平 也就是说 当选通信号结束 STB 1 已将一个数据送进输入缓冲器 IBF 1 并且端口处于中断允许状态 INTE 1 时 8255A的INTR端被置为高电平 向CPU发出中断请求信号 当CPU响应中断读取输入缓冲器中的数据时 由读信号RD的下降沿将INTR置为低电平 63 INTEA InterruptEnable 端口A中断允许信号 INTEA没有外部引出端 它实际上就是端口A内部的中断允许触发器的状态信号 INTEA由PC4的置位 复位来控制 PC4 1时 使端口A处于中断允许状态 INTEAcontrolledbybitset resetofPC4 64 INTEB 端口B中断允许信号 与INTEA类似 INTEB也没有外部引出端 它是端口B内部的中断允许触发器的状态信号 由PC2的置位 复位来控制 PC2 1时 使端口B处于中断允许状态 65 另外 在方式1输入时 PC6和PC7两位还闲着未用 如果要利用它们 可用方式选择控制字中的D3位来设定 方式1输入工作时序图如图14 12所示 66 图14 12方式1输入工作时序图 来自外设的输入数据 STB IBF INTR RD tRIB tST tSIB TSIT tRIT tPS tPH 67 图14 12中的参数说明 68 2 方式1输出当端口A和端口B工作于方式1输出时 方式选择控制字及相应的端口C控制信号定义如图14 13所示 69 图14 138255A方式1输出 INTEA PC7PC6 PC4 5 2 I O OBFAACKA PA7 PA0 WR PC3 D7 D0 INTRA 方式1输出 端口A INTEB PC1PC2 OBFBACKB PB7 PB0 WR PC0 D7 D0 INTRB 方式1输出 端口B 70 对图14 13中所示的控制信号说明如下 OBF OutputBufferFull 输出缓冲器满 信号 低电平有效 它是8255A输出给外设的一个控制信号 当其有效时 表示CPU已经把数据输出给指定端口 通知外设把数据取走 它是由写信号WR的上升沿置成有效 低电平 而由ACK信号的有效电平使其恢复为高电平 71 ACK Acknowledge 外设响应信号 低电平有效 当其有效时 表明CPU通过8255A输出的数据已经由外设接收 它是对OBF的回答信号 INTR InterruptRequest 中断请求信号 高电平有效 它是8255A的一个输出信号 用于向CPU发出中断请求 INTR是当ACK OBF和INTE都为 1 时才被置成高电平 向CPU发出中断请求信号 写信号WR的上升沿使其变为低电平 清除中断请求信号 72 INTEA 端口A中断允许信号 由PC6的置位 复位来控制 PC6 1时 端口A处于中断允许状态 INTEB 端口B中断允许信号 由PC2的置位 复位来控制 PC2 1时 端口B处于中断允许状态 另外 在方式1输出时 PC4 PC5两位还闲着未用 如果要利用它们可用方式选择控制字的D3位来设定 73 图14 14方式1输出工作时序图 74 图14 14中参数说明 75 14 4 68255A的状态字 8255A工作于方式1和方式2时的状态字是通过读端口C的内容来获得的 1 方式1状态字格式方式1状态字格式如图14 16所示 76 图14 16方式1状态字格式 77 2 方式2状态字格式方式2的状态字也是从端口C读取 方式2状态字的格式如图14 17所示 78 图14 17方式2状态字格式 79 14 4 78255A应用举例 例14 18255A工作于方式0 利用8255A将外设开关的二进制状态从端口A输入 经程序转换为对应的LED段选码 字形码 后 再从端口B输出到LED显示器 具体连线图如图14 18 a 所示 LED显示器如图14 18 b 所示 80 图 14 188255 A 的应用 地 址 译 码 地址 CPU 8088 RD WR A 0 A 1 D 7 D 0 8255 A RD WR A 0 A 1 PA 0 PA 1 PA 2 PA 3 PB 0 PB 1 PB 2 PB 3 PB 4 PB 5 PB 6 PB 7 5 V 2 K 4 K0 K1 K2 K3 a b c d e f g h 5 V 120 74 LS04 LED a 连线图 地 址 译 码 地址 CPU 8088 RD WR A 0 A 1 D 7 D 0 8255 A RD WR A 0 A 1 PA 0 PA 1 PA 2 PA 3 PB 0 PB 1 PB 2 PB 3 PB 4 PB 5 PB 6 PB 7 5 V 2 K 4 K0 K1 K2 K3 81 设8255A的端口地址为 端口A D0H 端口B D1H 端口C D2H 控制口 D3H 则本例的初始化及输入 输出控制程序如下所示 DATASEGMENTSSEGCODEDB3FH 06H 5BH 4FH 66H 6DH 7DH 07HDB7FH 67H 77H 7CH 39H 5EH 79H 71HDATAENDSCODESEGMENTASSUMECS CODE DS DATASTART MOVAX DATAMOVDS AXMOVAL 90H 设置方式选择控制字 A口工作于方式0输入 B口工作于方式0输出OUT0D3H ALRDPORTA INAL 0D0H 读A口ANDAL 0FH 取A口低4位MOVBX OFFSETSSEGCODE 取LED段选码表首地址XLAT 查表 AL BX AL 82 OUT0D1H AL 从B口输出LED段选码 显示相应字形符号MOVAX XXXXH 延时DELAY DECAX JNZDELAY MOVAH 1 判断是否有键按下INT1

温馨提示

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

评论

0/150

提交评论