文档介绍:第六章基本输入/输出接口
输入/输出接口概述
输入/输出同步控制方式
简单的I/O接口芯片应用
直接存储器存取(DMA)方式
为什么需要输入/输出接口?
速度匹配问题
信号类型匹配问题
数据传输格式一致问题
什么是输入/输出接口?
——主机与外部外备进行数据传输所需要的信息交换中间环节(interface)。接口本身不是外设,但它承担了与外设通信的任务。
输入/输出接口概述
输入/输出接口概述
计算机的输入输出(即I/O)是计算机系统中不可缺少的重要组成部分,没有它,计算机只是一个聪明的“瞎子和哑巴”,既不知道人要它做什么,也不知道把计算机的结果反映出来,没有I/O,再高档的计算机也无法为人服务。现代计算机系统中外部设备种类繁多,各类外部设备不仅结构和工作原理不同,而且与主机的连接方式也可能完全不同。为了方便地将主机与各种外设连接起来,并且避免主机陷入与各种外设打交道的沉重负担之中,我们需要一个信息交换的中间环节,这个主机与外设之间的交接界面就称作输入/输出接口。
I/O在计算机中是处于怎样一个位置?一台计算机一般包括主机、显视器、打印机、键盘、鼠标及一系列设备,而主机又包含了电源、主板,还能进一步分为CPU、RAM、ROM、硬盘、软驱。其实这些东西组成应该叫计算机系统,显视器、键盘等都是计算机的外围设备,而主板上的CPU加上ROM、 RAM才是真正意义上的“脑”,它们具备了“思考”和“记忆”的能力,但仅有它们的记忆和思考却是不够的,必须通过键盘告诉电脑该做什么,这些事该怎么做,而电脑也要把执行程序的结果显示在屏幕上才能说完成了它的任务。计算机的CPU怎样和外围设备(也称外设)进行沟通,必须通过输入/输出接口。
输入/输出接口概述
对于计算机在工业控制中的应用,I/O更是一个重要的课题,实时、有效的输入/输出是计算机控制的关键所在。计算机具有很强的计算能力,由于计算机的加入,工业控制的内容有了很大的丰富,各种现代控制算法显示出其强大的活力,它们往往比经典的控制算法更快、更准,但这些算法赖以生存的实时数据要通过I/O系统从传感器取得,再通过I/O将处理后的结果送往执行器执行。
输入/输出接口概述
接口与端口的基本概念
1. 输入/输出接口基本功能
设置I/O接口的主要目的就是解决主机和外设之间的这些差异:I/O接口一方面应该负责接收、转换、解释并执行CPU发来的命令,另一方面应能将外设的状态或请求传送给CPU,从而完成CPU与外设之间的数据传输。具体地说,I/O接口应具有以下主要功能或其中的一部分功能:
实际上,任何主机与外设之间的信息交换都必须通
过I/O接口来完成。也就是说,在主机和外设之间必须
存在相应的I/O接口,这是因为主机与外设之间存在以
下主要差异:
1) 主机和外设的工作速度一般相差几个数量级;
2) 主机和外设处理的信息格式有较大的差异:
(1) 主机与外设的通信联络控制功能
因为主机与外设的工作速度有较大的差别,所以I/O接口的基本任务之一就是必须能够解决两者之间的时序配合问题。如:CPU应该能通过I/O接口向外设发出启动命令;外设在准备就绪时应能通过I/O接口送回“准备好”信息或请求中断的信号;等等。
(2) 设备选择功能
微机系统中一般有多个外设,主机在不同时刻可能要与不同的外设进行信息交换,I/O接口必须能对CPU送来的外设地址进行译码以产生设备选择信号。
(3) 数据缓冲功能
解决高速主机与低速外设矛盾的另一个常用方法是在I/O接口中设置一个或几个数据缓冲寄存器或锁存器,用于数据的暂存,以避免因速度不一致而丢失数据;另一方面,采用数据缓冲或锁存也有利于增大驱动能力。有时I/O接口还需要能向CPU提供内部寄存器空或满的联络信号。
(4) 错误检测功能
在很多情况下,系统还需要I/O接口能够检测和纠正信息传输过程中引入的错误。常见的有传输线路上噪声干扰导致的传输错误和接收和发送速率不匹配导致的覆盖错误。
外设直接输出的信号和所需的驱动信号多与微机总线信号不兼容,主机只能处理并行的二进制数据;而不同的外设可能处理的数据种类非常繁多,可能是串行数据,也可能是并行数据,可能是二进制数据,也可能是十进制数据或ASCII码数据,可能是数字量,也可能是如声音、温度之类的模拟量。因此I/O接口必须具有实现信号格式转换的功能,如:电平转换功能、A/D转换功能、D/A转换功能、串/并转换功能、并/串转换功能、数据宽度变换功能等等。
(5) 信号格式转换功能
(6) 可编程功能
可编程功能意味着I/O接口具有较强的通用性、灵活性和可扩充性,即在不改变硬件设计的条件下,I/O接口可以接收并解释C