100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【微机原理与接口技术】具体芯片(1)并行接口8255A(1):全局观

【微机原理与接口技术】具体芯片(1)并行接口8255A(1):全局观

时间:2023-02-16 09:18:05

相关推荐

【微机原理与接口技术】具体芯片(1)并行接口8255A(1):全局观

并行接口8255A

首先,它是传输并行数据的,与CPU一样,然后,它是可编程的,也是多功能的,CPU可以对其进行一些控制。

管脚

先从最宏观层面分类

一部分引脚与外设相连一部分引脚与CPU相连GND和Vcc

注意:该芯片没有时钟(clk)信号!

关于并行,这里也清楚了,因为使用的是多根总线,与CPU一样的,数据不是一位一位传输而是并行传输的吧!

然后,我们再来按照这个分类,看看管脚的细节。

黄色部分是与外设相连的A、B和C三个并行端口,能够传输8位二进制数。红色部分是电源和地紫色部分是读写控制逻辑,由CPU发出控制命令,是单向的蓝色部分是端口地址,也是读写控制逻辑的一部分,是单向的,用于选择接口内的4个寄存器肉色部分是与CPU数据总线相连的,CPU通过它来给接口发送二进制数,进而控制接口和外设

跟这个图对比下不难发现,8255A的相关引脚功能,都有完整的体现。

进一步放大细节:8255A的结构

之前我们把接口芯片当作黑箱子,只看了外部引脚和它连接的器件,现在,我们来看看它的内部结构,这个结构依旧在一个抽象层面

我们给它分分类,再逐一理解和展开。

接口内部:4个寄存器

我们知道接口一个重要的功能就是数据缓冲,以解决外设和CPU速度严重不匹配的问题,所以,接口内部一定有存储数据的器件

在8255A中,是4个8位存储器

那么,寄存器的内容,是数据、控制还是状态?不一定!因为8255A是可编程的,信息的含义是可以改变的。

我们现在只需要知道,8255A有4个存储器,每个存储器能够存储8位二进制数,并且对应了4个端口地址,以便于外部访问它们。

它也有一个初级的分类

ABC三个端口寄存器,是与外设相连的控制字寄存器,是接口内部的,专门用于 “被编程” 的

与CPU交互的部分:数据传送与读写控制

毫无疑问,读写控制逻辑,是决定了D0 ~ D7的数据能否进行读写的,我们看功能表。

对于地址控制端,是A1A0可以选中4个存储器,具体对应关系看表。

然后就是~RD ~WR ~CS三个信号,分别是读、写和片选,控制逻辑看表即可。

我们很容易知道,数据什么时候写入/读取哪个寄存器的值,特别注意,控制字是只写不可读的

另外,数据总线是双向的,读写控制逻辑的单向(CPU --> 接口)的。

至于RESET复位信号,不需要解释,就是clear寄存器。

现在,我们已经明白了CPU与接口之间信息的基本交互控制方式了

接口与外设的交互

下面,我们看看接口和外设之间的交互。

这个事情很简单,也有些复杂。

很明显,我们宏观上的理解是

对吧,就是这样的,三个端口,对应3个外设嘛,端口的二进制位都是数据

复杂的是,有的时候,端口C的二进制位代表的是状态,它被添加到A、B端口二进制位中,作为补充信息描述A、B端口的、除了数据之外的其他信息

这也是芯片多功能的体现。

我们逐一去分析,就能明白了。

控制字的作用

我们现在知道一些事实

ABC三个端口,还有D,都是双向的8255A是多功能的

那么问题来了,这几个端口,什么时候输入?什么时候输出?芯片什么时候采用什么功能?如何选择功能?

因此我们需要一个控制器,来控制我们需要控制的东西,这个东西就是控制字寄存器,它有8位,不同的位代表不同的信息,我们通过编码,就能完成上述我们需要的功能的选择。

具体控制字如何控制的?不同编码下,不同器件的功能又是什么?信息又是什么含义?我们之后展开。

最后一个发现:8255A就是组合逻辑和状态器件的组合

我们可以发现,8255A没有时钟信号,只是一些组合逻辑,再加上一些暂存信息的器件,这很神奇,这说明它更多地,我们需要思考的是功能的设计,组合逻辑电路实现起来也不是那么困难不是吗?

这个芯片的最底层本质,就是组合逻辑电路,又加了一些存储器件,就是如此简单!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。