提到接口,我们最常听到的一种说法是“USB接口”,我们可以利用其将两个符合接口配置的设备连接起来。 其实,接口的意义非常广泛,它不仅可以应用在硬件和硬件之间,同样适用于软件和软件之间,甚至是软件和硬件之间。
下面我们将在计算机的IO系统(主机和IO设备)来讨论接口。包括了接口电路和控制软件。
概述
为什么要使用接口
其实在总线那一章的笔记中提到,我们是通过总线的方式来完成外部设备和系统主机的连接,我们需要与外部设备进行数据传输。
此篇文章有图示,可以帮助理解
- 实现设备的选择
那么具体是哪个设备呢?这就由主机通过外部设备的地址来进行外部设备的选择。
- 实现数据缓冲达到速度匹配
主机和外部设备之间传输速度和数据处理的速度差异大,所以通过接口可以起到一个缓冲的作用。
- 实现数据串——并格式转换
可能会有这么一种情况,主机和接口时并行数据传输,而接口与外部设备时串行传输,利用接口可以实现这一转换。
- 实现电平转换
主机和IO设备工作的电平可能不一致。
- 传送控制命令
主机通过接口将命令传输给外部设备,控制外部设备进行工作。
- 反映设备的状态
接口中应该存在一些状态标志,用于反映该外部设备是否处于的状态(“忙”,“就绪”,“中断请求”)
接口的功能和组成
上述六点其实就是接口的功能。我们直接进入组成
总线连接方式的I/O接口电路
这个图比较好理解,就是在I/o总线上又接了四条总线进行外部设备的控制。
介绍一下四条线:
- 设备选择线(单向):这条线传输的是参与本次数据交换的设备的设备码或端口号。有点绕口,说白了就是主机选择哪个设备来进行本次工作,这条线上传的该设备的地址信息。
- 数据线(双向):传输数据的
- 命令线(单向):主机让外部设备干啥活。主机用这根传话给外部设备。
- 状态线(单向):外部设备这个时间干嘛着呢。给主机用这条说一声
将功能和组成对应起来,就如下图所示:
图中的各种触发器,都是反映设备状态功能的工作部件
通过上图IO接口的概况的四大主要功能,将IO接口的基本组成做一个总结:
接口类型
按数据传送方式分类
- 串行接口 inter8255
- 并行接口 inter8251
按功能选择的灵活性分类
- 可编程接口 inter8255 inter8251
- 不可编程接口 inter8212
按通用性分类
- 通用接口
- 专用接口
按数据传送的控制方式分类
数据控制方式主要有程序查询,中断控制、DMA(下节具体讲讲这三个)
程序查询不需要接口,所以只有:
- 中断接口
- DMA接口
创作不易,转载可私信。未经同意禁止转载!!!