接口访问设备未就绪怎么解决_微机的输入输出接口概述

e6ce23c0d093027acb801310b631bfa0.png
自动化人 - 知乎​www.zhihu.com
9d50871ffc3e6a64199199713e05107c.png

微机系统输入输出接口(I/O接口)的概念:

接口就是微处理器CPU与“外部世界”的连接电路,是CPU与外界进行信息交换的中转站。

cf94ca90df7a4cf973708b544223b41a.png
I/O接口连接框图

一、I/O信息组成

数据信息:数字量、模拟量、开关量。

状态信息:外设送给CPU,说明外设工作状态。

控制信息: CPU送给外设的命令信息。

以CPU为参照,信息专递是有方向的。

习惯上把分别传送这三种信息的端口称为数据口、状态口、控制口

1.数据信息

(1)数字量:

通常以8位或16位的二进制数以及ASCII码的形式传输,主要指由键盘、磁盘、光盘等输入的信息或主机送给打印机、显示器、绘图仪等的信息。

(2)模拟量:

模拟的电压、电流或者非电量。对模拟量输入而言,需先经过传感器转换成电信号,再经A/D转换器变成数字量;如果需要输出模拟控制量的话,就要进行上述过程的逆转换。

(3)开关量:

用“0”和“1”来表示两种状态,如开关的通/断、电机的转/停、阀门的开/关等。

2.状态信息

CPU在传送数据信息之前,经常需要先了解外设当前的状态。如输入设备的数据是否准备好、输出设备是否忙等。

用于表征外设工作状态的信息就叫做状态信息,它总是由外设通过接口输入给CPU的。

状态信息的长度不定,可以是1个二进制位或多个,含义也随外设的具体情况不同而不同。

3.控制信息

用来发布控制命令、控制外设工作的信息,例如A/D转换器的启停信号。

控制信息总是CPU通过接口发出的。

为什么要在CPU与外设之间设置接口?

  • 信号不兼容(功能定义、逻辑定义、时序关系)
  • 速度不兼容
  • 为了提高CPU的效率
  • 为了利于外设自身的发展

通常CPU并不直接和I/O设备进行信息交换,而要借助于I/O接口。

二、接口的组成

1.硬件电路 :

基本逻辑电路(在接口芯片中)

命令寄存器、状态寄存器、数据寄存器——核心。每个寄存器称为一个端口。

端口地址译码电路(独立于接口芯片)

b6e86ff7a27b883a89ad2f22db15d1ce.png

2.供选电路:

数据传送方式——PIC或DMAC;

速率控制、发声——T/C;

数据宽度转换——移位寄存器

一个接口可以多个不同类型的端口组成。从编程角度看,接口内部主要包括一个或多个CPU可以进行读/写操作的临时寄存器,又称I/O端口(Port)。各I/O端口由端口地址区分(80X86 64K) ----寻址方式。

按存放信息的不同分类

  • 数据端口:用于存放CPU与外设间传送的数据信息
  • 状态端口:用于暂存外设的状态信息
  • 控制端口:用于存放CPU对外设或接口的控制信息,控制外设或接口的工作方式。

CPU对外设输入/输出的控制,通过对接口电路中各I/O端口的读/写操作完成。

端口: 地址编号

3.软件编程

1)初始化程序段

可编程接口芯片初始化

2)传送方式处理程序段

查询——检测状态

中断——向量修改、允许/屏蔽、中断结束

DMA——通道开放/屏蔽

(相互渗透)

3)主控程序段

4)程序终止与退出程序段 对系统硬件进行保护

5)辅助程序段 人机对话、菜单设计

三、I/O接口功能

I/O接口:CPU控制外部设备的必经通道 实现:LSI/VLSI专用或通用接口芯片。

功能:

(1)地址译码I/O设备的选择:分时数据传送

(2)信息输入与输出(I/O接口按命令工作)

(3)数据的缓冲及锁存:时序匹配。(打印机)

(4)信息的转换(设备的信息类型(数字、模拟量等)、电平(TTL电平、非TTL。电平等)及码制(二进制、十进制等)和信息格式(并行到串行或反之))。

接口的基本功能

1. 数据缓冲功能

接口电路中一般都设置有数据寄存器或锁存器数据口,以解决高速的主机与低速的外设之间的速度匹配问题,避免因主机与外设的速度不匹配而丢失数据。

2.端口选择功能

微机系统中常有多个外设,而CPU在任一时刻只能与一个端口交换信息,因此需要通过接口的地址译码电路对端口进行寻址。

3.信号转换功能

外设所提供的数据、状态和控制信号可能与微机的总线信号不兼容,所以接口电路应进行相应的信号转换。

4.接收和执行CPU命令的功能

CPU对外设的控制命令一般以代码形式输出到接口电路的控制端口,接口电路对命令代码进行识别、分析,分解成若干控制信号,传送到I/O设备,并产生相应的具体操作。

5.中断管理功能

当外设需要及时得到CPU的服务,特别是出现故障需要CPU立即处理时,就要求接口中设置中断控制器,以便于CPU处理有关中断事务(如中断请求、中断优先级排队、提供中断向量等)。

6.可编程功能

由于I/O接口电路大多由可编程接口芯片组成,因此就有可能在不改变硬件电路的情况下,只要修改接口驱动程序就可以改变接口的工作方式,提高了接口的灵活性和可扩充性,使接口向智能化方向发展。

7.返回外设状态的功能

接口电路在执行命令之前、执行命令过程中和执行命令之后,外部设备及接口电路都会有一些情况发生,包括正常工作状态和故障状态。

“忙”、“闲”、“准备就绪”、“未准备就绪”、“满”、“空”、“溢出错”、“格式错”等

接口中一般都设置状态寄存器,称“状态口”。状态信号以状态代码形式存放在接口电路的状态寄存器中。

CPU从状态口读取状态信息,供CPU作出判断与处理。

8.数据宽度与数据格式转换的功能

CPU所处理的是并行数据,而有的外设只能处理串行数据,接口应具有数据“并串”、 “串并”的转换能力。

CPU与有些外设交换数据时,要求按照一定的数据格式传送,所以在CPU与通信设备之间进行数据格式转换。

四、CPU与外设之间的数据传送方式

  • 程序控制方式
  • 中断传送方式
  • 直接存储器存取方式

1.程序控制方式

程序控制方式是指CPU与外设间的数据传送是在程序的控制下完成的一种数据传送方式。

分为

1)无条件传送方式

所谓无条件,就是假设外设已处于就绪状态,数据传送时,程序就不必再去查询外设的状态,而直接执行I/O指令进行数据传输。

当简单外设作为输入设备时,其输入数据的保持时间相对于CPU的处理时间要长得多,所以可直接使用三态缓冲器与系统数据总线相连。

当简单外设作为输出设备时,由于外设的速度较慢,CPU送出的数据必须在接口中保持一段时间,以适应外设的动作,因此输出采用锁存器。

449fc7d6d95fd5057957e5105f287850.png
无条件传送方式的接口电路

这种方式要求外设和CPU同步工作,传送速度快。乒乓开关、LED数码管等的连接一般是用这种方式。

2)查询传送方式

查询传送方式在传送数据前先查询外设的状态,当外设准备好时,CPU执行I/O指令传送数据;若未准备好时,则CPU等待。

9da839edd6bb9bded656c7eabbd28bfa.png
查询传送方式输入接口电路

要求CPU与外设间的接口电路需要两个端口:数据端口和状态端口。

优点:能较好地协调外设与CPU之间的定时关系,因而比无条件传送方式容易实现准确传送。

缺点:该方式需要不断查询外设的状态,大量时间花在等待循环中,当主机与中、低速外设交换信息时,大大降低了CPU利用率。

查询传送

9c55b455151c0051d0789c2f5dbd62c4.png

例子:设接口电路中状态端口的地址为STATUS,数据端口的地址为DATA,则CPU读取输入设备的数据应执行下列程序段:

POLL: IN AL, STATUS ;①

TEST AL, 80H ;②

JE POLL ;③

IN AL, DATA ;④

查询式输出:

通过查询,实现了快速的CPU与慢速外设之间同步交换信息,效率低。只适用于CPU负担不重,要求服务的外设对象不多且任务相对简单的场合。

为了提高CPU的工作效率以及使系统具有更好的实时性能,通常采用中断传送方式。

245ad3d4124b71f4299887122632cfbf.png
查询传送方式输出接口电路

8b07a248e805c34efd9b33b2c9805957.png

举例:设接口电路中状态端口的地址为STATUS,数据端口的地址为DATA,则CPU将内存STORE单元的内容送至输出设备应执行下列程序段:

POLL: IN AL, STATUS ;①

TEST AL, 80H ;②

JNE POLL ;③

MOV AL, STORE ;④

OUT DATA, AL ;⑤

2.中断传送方式

含义:在中断方式下,外设掌握向CPU申请服务的主动权,当输入设备将数据准备好,或者输出设备已做好接收数据的准备时,向CPU发出中断请求信号,要求CPU为其服务。若此时中断允许触发器是开放的,则CPU暂停目前的工作,与外设进行一次数据传输,等I/O操作完成以后,CPU继续执行原来的程序。

优点:保证了CPU对外设的实时服务,又不会因对各I/O设备的随时关照而花费CPU太多的机时,使高速运行的CPU与速度参差不齐的各种外设之间形成了良好的匹配(并行工作)关系,确保了CPU的高效率。

缺点:为了实现中断传送,要求在CPU与外设之间设置中断控制器,增加了硬件开销。

64b422f0ae0365c63c5a126a04d3b69b.png
中断方式输入的接口电路

3.直接存储器存取方式

即DMA方式,中断传送方式虽可大大提高CPU的效率,但仍然要占用CPU的时间,对于高速I/O设备,以及成组数据传送,仍显速度太慢。

DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。

优点:传送速率很高,这对高速度大批量数据传送特别有用。

缺点:要求设置DMA控制器,电路结构复杂,硬件开销大

自动化人 - 知乎​www.zhihu.com
9d50871ffc3e6a64199199713e05107c.png

注:版权属笔者所有,如需转载请务必联系!

最后说一句:码字不易,若此文对你有启发,收藏前请点个赞、点点喜欢,是对知乎主莫大的支持!!

参考

1.^如有侵犯您的权益,请联系作者删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值