文章目录

  • 概述
    • 内部结构图和具体引脚功能
      • 端口A
      • 端口B![在这里插入图片描述](https://img-blog.csdnimg.cn/20210607164952661.png)
      • 端口C
      • 与处理器的接口
  • 工作方式0
    • 写在时序前面的话
    • 输入时序
    • 输出时序
  • 工作方式1
    • 输入
      • 结构功能图
      • 输入时序
    • 输出
      • 结构功能图
      • 输出时序
  • 工作方式2
  • 时序图
  • 关于时序的分析与总结

概述

  • 具有多种功能的可编程并行接口电路芯片

    • 最基本的接口电路:三态缓冲器和锁存器
    • 与CPU间、与外设间的接口电路:状态寄存器和控制寄存器
    • 还有端口的译码和控制电路、中断控制电路.
  • 分3个端口,共24个外设引脚
  • 共三种输入输出工作方式
内部结构图和具体引脚功能

端口A


端口B

端口C


与处理器的接口

工作方式0

  • 概述:基本输入输出方式

    • 适用于无条件传送和查询方式的接口电路
写在时序前面的话

  • 关于时序的理解我是有很多的问题的,首先就是对一个芯片组来说,如果对数据写入和写出,必须同时选中当前的芯片也就是地址码和片选信号,然后就是输入控制信号,才能进行读和写.

  • 针对读入外部数据而言,数据一定要在能够读入之前就要准备好,不然就不能顺利读入/。

  • 针对写出CPU内部的数据而言,数据一定要能够在写出之前就已经准备好

  • 基本得顺序就是

    • 先选中对应的内存单元,才能够对其进行控制读和写。
    • 读也好,写也罢,都是要先将被操作的数据在被操作之前准备好。
    • 而变化之后时间点,实在操作时间中间发生的。
  • 时序是人为规定,为了让整个程序合理运行设定的,并不是相互触发引起的。最后写入或者读出的那一部分时候别的事件引起和变化,并不是有自身决定的

输入时序

输入无锁存,这里就有问题了,那这里哪来的数据缓冲作用
只有选中了对应的信号,并且对应的输入符合对应有效电平要求才能对数据进行输入

  • 对地址进行译码,选中芯片,cs和A0,A1
  • 输入端口也就是PA0,按照周期读入数据,并且一定要在控制信号来之前准备好,控制信号走之后消失
  • RD控制信号,读入外部的数据,遇到第一个低电平,将data中的数据写入到缓存器中,其实这个时候输入端口的数据就可以消失了。
  • 在遇到一个高电平,就会将缓存器中的数据写到数据总线上,也就是D0到D7
输出时序

  • 对地址进行译码,选中芯片,cs和A0,A1
  • 在接通写出端之前,数据应该是已经准备好的,也就是data,**但这里并没有准备好??**而且比写的信号来的之后,但这无伤大雅,已经接通了,直接写出到输出端口??
  • 这里难以理解的就是为什么数据写出到输出端口会出现的延迟,是有什么控制,这个时序应该是由外部事件决定的,不是有自身决定的

工作方式1

  • 概述:选通输入输出方式

    • 适用于查询和中断方式的接口电路
      我的问题,就是这还是用的那个芯片吗?咋没看见cs,A0和A1等等
输入
结构功能图

  • 数据选通信号,表示外设已经准备好数据。strobe,阀门

    • 选通信号,低电平有效,当其有效时,将输入设备送来的数据锁存在输入锁存器中
  • 输入缓冲器满信号,表示A口已经接收到数据,input buffer full 输入缓冲区满。
    • 输出的联络信号,当其有效时,数据已经锁存在输入锁存器中。高电平有效
  • 中断请求信号,请求CPU接收数据
    • 用于向CPU提出中断请求,要求CPU读取外部数据
  • 中断允许触发器,允许中断发生。
  • 方式一需要借用端口C用作联络信号他,同时具有中断请求和屏蔽功能
输入时序

  • 当外设数据送到8255A的某个端口的数据线上时,发出STB低电平,输入端口的数据已经存入输入锁存器中。
  • 输入缓冲区的数据已经满了,然后IBF变高,表示输入缓冲区已经满了,告诉外设停止输入数据。同时这是给CPU用来查询数据的状态位,在IBF变高的这段时间,都表示数据有效。
  • 选通输入信号结束之后,向CPU发送中断请求信号,INTR变高,箭头2。
  • 中断请求服务发出读的信号,读信号的下降沿,将中断信号消除,对应的是箭头三
  • 当输入读入完毕时,将IBF数据区清空,对应箭头4,也就是箭头4
输出
结构功能图

  • 外设响应信号,表示外设已经接收到数据,ack信号有效之后,会使OBF变成无效的高电平。acknowledge。

  • 输出缓冲器满信号,表示CPU已经输出了数据。output buffer full

  • 中断请求信号,请求CPU再次输出数据。

  • 中断允许触发器

输出时序

  • 输出指令写信号下降沿出现后使它变为无效的低电平,简而言之就是关闭中断,对应的是箭头1
  • 输出指令写信号的上升沿出现后,将输出缓冲区OBF变为低电平,说明数据已经输出到输出缓冲区
  • 当应答信号ACK变为有效低电平的时候,说明外设已经接收到了信号,OBF就可以清空了,没有必要显示为空了,产生了OBF的上升沿,对应就是箭头3
  • 接收信号ack的上升沿出现时,说明信号已经完全接受了,所以就会打开中断,接受外部的中断响应。对应的就是箭头4

工作方式2

  • 概述:双向选通传送方式

    • 适用于双向传送数据的外设
    • 书用于查询和中断方式的接口电路
  • 注意:
    • 方式二只适用于A端口,一个八位的双向端口和一个五位的控制端口
    • 输入和输出都可以被锁存,

时序图

工作时序相当于方式一的选通输入时和选通输出时的时序的组合

  • 读数据时,WR的下降沿使得中断信号intr关闭,屏蔽外界中断,对应的是箭头1
  • 读数据的上升沿2,将数据送入到OBF中,OBF处于下降沿,表示数据已经保存到输出缓存区,即输出缓存区已经满了。OBF的下降沿使得ACK的成功接收数据,处于下降沿,处于有效位,对应箭头3
  • ack的上升沿,会打开intr的中断,使得中断有效。可以继续接受外部的数据。
  • 写数据时,stb低电平有效,送来的数据已经保存在锁存器中,其下降沿使得IBF,输入数据缓冲区产生上升沿,对应的是箭头7
  • stb上升沿,打开中断,使得intr高电平有效,同之cpu调用中断处理程序,中断处理程序发出读指令RD,低电平有效,读出IBF中的数据,使得IBF从高电平变为低电平,数据清空,对应箭头9

关于时序的分析与总结

  • 地址在读数据以前就一定要稳定,并且前后都要有一定的保险时间,对应的就是CS,A1,A0
  • D0~D7表示的是总线上获取的数据,紧紧跟在RD后,RD是在下降沿写入,在上升输出到总线上
  • 主要分清两种情况,一种是有外界事件引起的,一种是由当前的状态变化引起的。

并行接口电路8255A的基本使用——三种工作方式的时序图的具体讲解相关推荐

  1. linux 学习 vi简介; vi下三种工作方式。

    VI Visual Interface 三种工作方式 1.命令方式 应举例举,例我们在查询时 /session 时,其实就是在 命令模式下 按下 / 进行的. 2.输入方式 我们可以在这里对文件进行编 ...

  2. ipvs负载均衡(三)ipvs三种工作方式

    IPVS负载均衡(三)IPVS三种工作方式之NAT模式 IPVS是LVS(Linux Virtual Server)项目重要组成部分,目前包含于官方Linux Kernel,IPVS依赖于netfil ...

  3. Android的surface的三种工作方式

    注:文章内容是基于kitkat进行的粗线条分析,做为学习过程中的小结. Surface的三种使用方式 Native层的Surface工作方式有:仅在Proxy端.Proxy和Service端协同.仅在 ...

  4. LVS三种工作方式八种算法

    一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算 ...

  5. 动词常见三种变形方式总结

    动词常见三种变形方式总结 一.动词原形 讲解:标日书上写的一类动词二类动词三类动词分别对应下面的内容. 一类动词:五段动词 二类动词:一段动词 三类动词:サ变动词:カ变动词 ① 五段动词:(一类动词) ...

  6. Squid三种工作模式搭建及配置文件解析

    目录 一.Squid软件及配置文件简介 1.Squid软件 2.Squid配置文件详解 二.Squid三种工作方式搭建 传统模式搭建流程: 1.按照网络拓扑图搭建网络环境: 2.web服务器端安装Ap ...

  7. Buck电路工作原理以及三种工作模式分析

    一.Buck电路原理图 Buck电路,又称降压电路,其基本特征是DC-DC转换电路,输出电压低于输入电压.输入电流为脉动的,输出电流为连续的. 二.Buck电路工作原理 当开关管Q1驱动为高电平时,开 ...

  8. FPGA之道(41)HDL的三种描述方式

    文章目录 前言 三种描述方式 结构化描述方式 数据流描述方式 行为级描述方式 前言 常编写Verilog代码的就会知道,我们对于某一功能的描述,可以通过门电路来描述,也可以直接描述其功能等,这就牵扯到 ...

  9. 【 Verilog HDL 】HDL的三种描述方式

    当我们使用HDL代码描述硬件功能的时候,主要有三种基本描述方式,即结构化描述方式.数据流描述方式和行为级描述方式.通过本次总结,我们将明白到底我们描述的电路是什么方式描述的. 结构化描述方式 结构化描 ...

最新文章

  1. 如何在JSP页面中获取当前系统时间转
  2. ELK6.0已取消filebeat配置document_type
  3. 事业单位招 计算机面试实践技能操作,2019山东事业单位卫生类招聘面试实践技能概论...
  4. python列表list的基本性质
  5. 【转】DICOM通信 - PDU数据包(1)
  6. 【转】WebServices:WSDL的结构分析
  7. LeetCode MySQL 1777. 每家商店的产品价格(行列转换)
  8. Excel 表单控件之 CheckBox 集合事件响应
  9. 超34款吸费手机被曝光下架 天语TCL大显等在其中
  10. 如何通过NSLOOKUP 命令查看MX 记录
  11. java写的小米商城_Taru-Xmall
  12. Quartus17打开RTL视图
  13. centos 设置时间为北京时间
  14. python:TKinter获取Text文本框的输入内容(python图形化界面)
  15. matlab定积分矩形法实验,MATLAB实验三 定积分的近似计算
  16. OpenSocial版的51虚拟支付--ROCKYOU
  17. Visual Paradigm 如何清除系统代理设置
  18. export PATHONPATH的用法
  19. volumes是什么意思中文翻译_volume是什么意思_volume的翻译_音标_读音_用法_例句_爱词霸在线词典...
  20. linux开发环境工具

热门文章

  1. Mysql视图和触发器
  2. 强引用置为null,会不会被回收及内存分配及年轻代年老代算法回收
  3. Java中字符数组转换为字符串
  4. JAVA初级工程师面试36问(一)
  5. VMware打开以后黑屏的解决办法
  6. Kindeditor 图片粘贴上传后设置图片属性
  7. 计算机电缆的表示方式,各种电缆型号的表示方法
  8. Maya 2013 下载以及破解教程
  9. weblogic常见问题QA
  10. 1414,成绩(C++一本通评测系统)