13,339
次編輯
變更
I/O接口
,無編輯摘要
[[File:I-O接口1.jpg|缩略图|I/O接口[http://www.tudoupe.com/dataimg/allimg/170210/3-1F2101526054B.jpg 原图链接][http://www.tudoupe.com/dataimg/allimg/170210/3-1F2101526054B.jpg 图片来源优酷网]]]l/O 接口是主机与被控对象进行信息交换的 [[ 纽带 ]] 。主机通过I/O 接口与外部设备进行 [[ 数据交换 ]] 。绝大部分I/O 接口电路都是可编程的,即它们的工作方式可由程序进行控制。在 [[ 工业控制机 ]] 中常用的接口有:1、并行接口,如8155和8255; 2、串行接口,如8251;3、直接数据传送接口,如8237;4、 中断控制接口,如8259; 5、 定时器/计数器接口,如8253 等。此外,由于计算机只能接收数字量,而一般的连续化生产过程的被测参数大都为 [[ 模拟量 ]] ,如温度、压力、流量、液位、速度、电压及 [[ 电流 ]] 等,因此,为了实现计算机控制,还必须把模拟量转换成数字量,即进行A/D 转换。<ref>[潘新民.微型计算机控制技术:电子工业出版社,2013年]</ref>
· 向CPU提供I/O设备的状态信息和进行命令译码。
· 进行定时和相应时序控制。
· 对传送数据提供缓冲,以消除 [[ 计算机 ]] 与外设在“定时”或数据处理速度上的差异。
· 提供计算机与外设间有关信息格式的相容性变换。提供有关电气的适配
[[File:I-O接口2.jpg|缩略图|I/O接口[https://resource.shangmayuan.com/droxy-blog/2019/12/08/245b11b6e66d40f89d350c10ba94ff3d-1.jpg 原图链接][https://resource.shangmayuan.com/droxy-blog/2019/12/08/245b11b6e66d40f89d350c10ba94ff3d-1.jpg 图片来源优酷网]]]
· 还可以中断方式实现CPU与外设之间信息的交换。
I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:
(1)I/O接口芯片
这些芯片大都是 [[ 集成电路 ]] ,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断 [[[ 控制器 、DMA ]]、[[DMA 控制器 ]] 、并行 [[ 接口 ]] 等。
(2)I/O接口控制卡
有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为 [[ 串行接口 ]] 、并行接口、 [[ 键盘接口 ] 和 [[ 磁盘接口 ]] 等。 == 接口功能 编辑 语音== 由于计算机的外围设备品种繁多,几乎都采用了 [[ 机电传动设备 ]] ,因此,CPU在与I/O设备进行数据交换时存在以下问题: 速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不 同,他们之间的速度差异也很大,例如硬盘的传输速度就要比 [[ 打印机 ]] 快出很多。
时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传 输数据,无法与CPU的时序取得统一。
信息格式不匹配:不同的I/O设备存储和 [[ 处理信息 ]] 的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。 信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而 有些是 [[ 模拟信号 ]] ,因此所采用的处理方式也不同。
基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能:
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些 [[ 寄存器 ]] 或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;
(2)能够进行信息格式的转换,例如串行和并行的转换;
(3)能够协调CPU和外设两者在信息的类型和电平的差异,如 [[ 电平转换驱动器 ]] 、数/模或模/数 [[ 转换器 ]] 等;
(4)协调时序差异;
(5)地址译码和设备选择功能;
(6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成 [[ 中断处理 ]] 和DMA传输。 == 控制方式 编辑 语音==
CPU通过接口对外设进行控制的方式有以下几种:
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低
(2)中断处理方式
在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦 [[ 外设 ]] 为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。 中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个 [[ 中断控制器 ]] (I/O接口芯片)管理I/O设备提出的中断请求,例如设置中 [[ 断屏蔽 ]] 、 [[ 中断请求 ]] 优先级等。
此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。
(3)DMA(直接存储器存取)传送方式
DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制 [[ 内存 ]] 与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。 在进行DMA [[ 数据传送 ]] 之前,DMA控制器会向CPU申请总线控制 权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。
(4)无条件传送方式
(5)I/O通道方式
(6)I/O处理机方式