并行通信与并行接口概述

并行通信就是把一个字符的各位用几条线同时进行传输。实现并行通信的接口就是并行接口,下图的并行接口用一个通道和输入设备相连,另一个通道和输出设备相连,每个通道都配有一定的控制线和状态线。

输入过程:
1.外设将数据送给接口,状态线“数据输入准备好”拉高。
2.接口把数据接收到输入缓冲寄存器中的同时,使“数据输入响应”线作为对外设的响应。
3.外设接到响应后,撤除“数据输入准备好”信号。
4.数据到达接口后,状态寄存器设置“输入准备好”,以便CPU对其进行查询,接口也可以通过外部连线向CPU发送一个中断请求。
5.CPU从并行接口读取数据后,接口会自动清除状态寄存器中的“输入准备好”状态位,并使数据总线处于高阻状态,以便下一个输入过程。

输出过程:
1.外设从接口取走一个数据后,接口就会将状态寄存器中的“输出准备好”状态位置1,表示CPU可以往接口传输数据,这个状态位可供CPU进行查询。此时,接口也可以通过外部连线向CPU发一个中断请求。故CPU既可以用软件查询的方式,也可用中断方式往接口中输出一个数据。
2.当CPU输出的数据到达接口的输出缓冲器之后,接口会自动清除“输出准备好”状态位,接口往外设发送一个“数据输出准备好信号”来启动外设接收数据。
3.外设收到启动后,便收取数据,并往接口发一个“数据输出响应”信号。
4.接口收到信号后,会将状态寄存器中的“输出准备好”状态位重新置1,以便CPU输出下一个数据。

可编程并行通信接口8255A

概述:8255A是Intel系列的并行接口芯片,由于它是可编程的,可通过软件来设置芯片的工作方式,所以,用8255A连接外设时,通常不需要附加外部电路。

8255A的内部结构


1.数据端口A、B、C
2.A组控制和B组控制
一方面接受芯片内部总线上的控制字,一方面接受来自读/写控制逻辑电路的读/写命令,据此决定两组端口的工作方式并实现读/写操作。
3.读/写控制逻辑电路
负责管理8255A的数据传输过程。它接受来自CPU的信号,将这些信号进行组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发给这两个部件,以完成对数据、状态信息和控制信息的传输。
4.数据总线缓冲器。

8255A的芯片引脚信号


注:A1、A0为端口选择信号。8255A有3个数据端口和1个控制端口。规定当A1,A0为00时,选中A端口;01时选中B端口;10时选中C端口;为11时选中控制口。

8255A的控制字

8255A用指令在控制端口中设置控制字来决定其工作。
控制字分为两类。
一类是各端口的方式选择控制字,可使8255A的3个数据端口工作在不同的方式。方式选择控制字常常将3个数据端口分为两组来设定工作方式,即端口A和端口C的高4位作为一组,端口B和端口C的低四位作为一组。
另一类是C端口的按位置1/置0控制字,它可使C端口中的任何一位进行置位或复位。

方式选择控制字

端口A可工作在三种工作方式中的任何一种,端口B只能工作在方式0或方式1,端口C常常配合端口A和端口B工作,为这两个端口的输入/输出传输提供控制信号和状态信息。
例:
端口A方式0,输出;
端口B方式0,输入;
端口C的高四位,输出;
端口C的低四位,输入;
控制字:1000 0011 即38H

端口C置1/置0控制字
8255A的端口C中的各位均可用置1/置0控制字单独设置,这使其很适合作为控制位使用。
1.D0位决定了是置1还是置0.。如为1,则对端口C中某位置1,为0,则对端口C中某位置0.
2.D3、D2、D1位决定了对C端口中的哪一位进行操作。
例:若要对端口C的PC7位置1,则控制位为00001111B,即0FH。

8255A的工作方式

方式0
也叫基本输入/输出方式。端口A和端口B可通过方式选择字规定为输入端口或输出端口,端口C分为两个4位端口,高4位为一个端口,低4位为一个端口。这两个4位端口也可以通过方式选择字规定为输入或输出端口。
特点:
1.任何一个端口可作为输入端口,也可作为输出端口
2.各个端口的输入或输出,可以有16种不同的组合
使用场合:
1.同步传送,此时发送方和接受方由一个时序信号来管理,所以,双方互相知道对方的动作,不需要应答信号,此时,对接口的要求很简单,只要可以传送数据即可。因此,三个数据端口都可以传输数据。
2.查询式传送,需要由应答信号。此时将端口A和端口B作为数据端口,把端口C的高4位或低4位规定为输出端口,用来输出一些控制信号,把端口C的另外4位规定为输入端口,用来读入外设的状态。

应用举例:
此例中,8255A作为连接打印机的接口,工作于方式0。

工作过程为:
当主机要往打印机输出字符时,先查询打印机忙信号,如打印机正在处理一个字符或正在打印一行字符,则忙信号BUSY为1,反之,忙信号为0。故当查询到忙信号为0时,可通过8255A往打印机输出一个字符。此时,要将选通信号STB 置成低电平,然后再使STB为高电平,这样,相当于在STB端输出一个负脉冲,此负脉冲作为选通脉冲将字符送到打印机输入缓冲器中。
现将A端口作为传送字符的通道,工作于方式0,输出方式;B端口未用;端口C也工作于方式0,PC2作为BUSY信号输入端,故PC3PC0为输入方式,PC6作为STB信号输出端,故PC7PC4为输出方式。
端口地址:
A:00D0H B:00D2H
C:00D4H 控制口:00D6H

PP:
1.设置控制字10000001B,A工作于方式0,输出;C高四位输出,低四位输入。
LPST1:
1.读取C端口的数据。
2.检测第3位,即PC2,若为1,继续查询。
3.设置控制字00001101B,拉高PC6。
LPST:
1.读取C端口的数据。
2.检测第3位,即PC2,若为1,继续查询。
3.将需要打印的字符存入AL。
4.将AL中的数据送到端口A。
5.设置AL为00001100B。
6.利用控制字的置C,将PC6拉低。
7.使AL加1.
7.PC6拉高。

方式1
也叫选通的输入/输出方式。和方式0相比,最重要的差别是A端口和B端口用方式1进行输入/输出传输时,端口C自动提供选通信号和应答信号,这些信号与端口C的若干位有着固定的对应关系,这种关系不是程序可改变的,除非改变工作方式。
特点:
1.端口A和端口B可分别作为两个数据端口工作在方式1,并且,任何一个端口可作为输入端口或输出端口。
2.如果端口A和端口B只有一个工作于方式1,那么,端口C中就有3位被规定为配合方式1工作的信号,此时,另一个端口可工作在方式0,端口C中的其他位也可工作在方式0,即作为输入或输出。
3.如果端口A和端口B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位仍可作为输入或输出。

(1)输入

STB :选通信号输入端,低电平有效。它由外设送往8255A,当STB有效时,8255A接收送来的一个8位数据,从而8255A的输入缓冲器中得到一个新的数据。
IBF:缓冲器满信号,高电平有效。它是8255A输出的状态信息,有效时,表示当前已有一个新的数据在输入缓冲器中,此信号供CPU查询用。IBF信号是由STB使其有效的,而由读信号RD 的后沿即上升沿使其复位。
INTR:8255A送往CPU的中断请求信号,高电平有效。INTR端在STB、IBF均为高时被置为高电平,从而可以向CPU发出中断请求信号。在CPU响应中断读取输入缓冲器中的数据时,由读信号RD 的下降沿将INTR降为低电平。
INTE:中断允许位。对PC4置1,则使A端口处于中断允许状态(我猜内部存在上拉?)。对PC2置1,则使B端口处于中断允许状态。
时序:

(2)输出

OBF :输出缓冲器满信号,低电平有效。OBF由8255A送给外设,当OBF有效时,表示CPU已向指定的端口输出了数据,所以,OBF是8255A用来通知外设取走数据的信号。OBF由写信号WR 的上升沿置成低电平,由ACK的有效信号使它恢复为高电平。
ACK:外设响应信号,由外设送给8255A,低电平有效。当ACK有效时,表明CPU通过8255A输出的数据已送到外设。
INTR:中断请求信号,当输出设备从8255A端口中提取数据,从而发出ACK信号后,8255A便向CPU发新的中断请求信号,以便CPU再次输出数据。所以,当ACK为高, OBF为高时,INTR便成为有效电平,而当WR 的下降沿来到时,INTR变为低电平。
INTE:中断允许位。PC6为1使端口A的INTE为1,PC2为1使端口B的INTE为1。
时序:

方式1的使用场合:
在方式1下,规定一个端口作为输入端口或输出端口的同时,自动规定了有关的控制信号和状态信号,尤其是规定了响应的中断请求信号。这样,在采用中断方式进行输入/输出 的场合,如外设能为8255A提供选通信号或数据接收应答信号,那么常常使8255A的端口工作于方式1。

应用举例:
此例中,8255A工作于方式1,作为用中断方式工作的打印机的接口。

8255A的A端口作为数据通道,工作在方式1,输出方式,此时,PC7自动作为OBF 信号输出端,PC6自动作为ACK 信号输入端,而PC3自动作为INTR信号输出端。

方式2
也叫双向传输方式。
特点:
1.只适用于端口A。此时,CPU对连在A端口的外设既可读,也可写,比如用于磁盘读写。
2.端口A工作于方式2时,端口C用5个数自动配合提供控制信号和状态信息。

方式2的控制信号和状态信号:
当端口A工作于方式2时,端口C中的PC3~PC7共5位分别作为控制信号和状态信号端。

INTE1和INTE2为中断允许位,分别由PC6和PC4软件决定。
端口A工作在方式2时,输入过程和输出过程的顺序以及各自的次数是任意的。
方式2的使用场合:
如果一个并行外设既可以作为输入设备,并且输入/输出动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使 它工作在方式2,就非常合适。比如,磁盘驱动器就是这样一个外设,主机既可往磁盘输出数据,也可从磁盘输入数据,但数据输出过程和数据输入过程总是不会重合,所以,可将磁盘驱动器的数据线和8255A的PA7 ~ PA0相连,再使PC7 ~ PC3和磁盘驱动器的控制线及状态线相连即可。

第六章——并行接口技术相关推荐

  1. 计算机原理与应用第六章——总线技术

    第六章--总线技术 文章目录 第六章--总线技术 一.总线的基本概念 (一)总线的概念 (二)具体读写操作 (三)实例:PC XT总线 (四)总线的性能指标 (五)总线时序 (六)串行总线 (七)总线 ...

  2. 软考网络管理员学习笔记6之第六章互联网技术

    第六章.互联网技术 考点1.IP地址分类 [考法分析] 本考点的基本考法是考察A.B.C.D四类IP地址的区分,公网地址和私网地址的区分,以及哪些地址可以做源地址,哪些地址可以做目的地址 [要点分析] ...

  3. 信安软考——第六章 认证技术原理和应用 笔记记录

        信息安全工程师教程笔记汇总(点我跳转呀(❁´◡`❁)) 认证概述※ 认证语认证过程 认证技术方法※ 认证主要产品于技术指标 认证技术应用      相对而言,就第一节和第三节比较重要,其它的熟 ...

  4. 第六章网络应用技术(比较简单)

    网络应用技术 一. 网络应用概述 网络应用 是直接面向计算机网络的用户,遵循相应的网络应用协议,为用户提供某个特定的网络服务或功能的一套完整的软件系统 1. 客户机/服务器模式 客户机/服务器模式 在 ...

  5. 【软考数据库】第六章 数据库技术基础

    目录 6.1 基本概念 6.1.1 关于数据的基本概念 6.1.2 数据库管理系统的功能 6.1.3 数据各个发展阶段的特点 6.1.4 数据库系统的体系结构 6.2 数据模型 6.2.1 三级模式两 ...

  6. 【软考】 信息安全工程师教程 第六章 认证技术原理与应用

    目录 6.1 认证概述 6.1.1 认证概念 6.1.2 认证依据 6.1.3 认证原理 6.1.4 认证发展 6.2 认证类型与认证过程 6.2.1 单向认证 6.2.2 双向认证 6.2.3 第三 ...

  7. 数据结构笔记 第六章 查找技术

    查找技术 在计算机科学中定义为:在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找.也就是根据给定的某个值,在查找表中确定一个关键字等于给定值的记录或数据元 ...

  8. 山东专升本计算机第六章-数据库技术

    数据库技术 SQL数据库与NOSQL数据库的区别 数据库管理系统 考点 6 数据库管理系统的组成和功能 组成 • 模式翻译 • 应用程序的翻译 • 交互式查询 • 数据的组织和存取 • 事务运行管理 ...

  9. 软件工程——理论、方法与实践 第六章

    第六章 面向对象技术是软件工程领域中的重要技术.主要讲 1.面向对象方法概述,面向对象=对象+类+继承+通信,然后介绍了其发展历史,,面向对象的软件工程方法分为面向对象分析.设计.编程.测试.维护. ...

最新文章

  1. 在网络推广外包中企业网站排名优化在网络推广外包中如何实现?
  2. (转)浅谈HTML5与css3画饼图!
  3. 【Linux 内核 内存管理】Linux 内核内存布局 ③ ( Linux 内核 动态分配内存 系统接口函数 | 统计输出 vmalloc 分配的内存 )
  4. 计算机专业人士读好书(30本经典)
  5. 服务发现框架选型,Consul还是Zookeeper还是etcd
  6. docker常用命令_docker常用命令整理
  7. python module错误_python 解决方法:ImportError: No module
  8. 电影'社交网络'获金球奖最佳影片,最佳编剧,最佳导演,最佳配乐奖
  9. java远程桌面_java – 实现远程桌面共享解决方案
  10. 关于神舟笔记本电脑结束睡眠后耳机没声音的解决方法
  11. 撇开PUE,评估数据中心增长的真正环境影响
  12. 广州大学数据结构实验一
  13. SpringBoot接入支付宝沙箱返回支付二维码
  14. 使用css和js实现刮刮乐(简单易懂还有趣)
  15. 天天拍车:2018年度个人卖车大数据报告
  16. 嵌入式开发—矩阵键盘原理及程序设计
  17. android13(T) 通过烧写客制分区(customer)实现替换默认壁纸
  18. 无法打印,必须将PrintToFileLicense属性设置到一个有效的许可证之后才可以打印
  19. 电子邮件相关_邮件传输协议简单了解
  20. 蓝桥杯STM32学习之G431、F103基础知识(二)

热门文章

  1. Java 算法 聪明的美食家
  2. python禁用警告
  3. Centos7 修改、更换源
  4. python报错:Cannot run the event loop while another loop is running
  5. mysql 创建用户并授权_教你MySQL-8.0.x数据库授权
  6. netty mysql 中间件_Cobar_基于MySQL的分布式数据库服务中间件
  7. 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。...
  8. CF1062E Company
  9. java开发C语言编译器
  10. 进程 线程 用户控件