微型计算机原理与接口技术第二版-刘彦文 等-第5章

上传人:油条 文档编号:1275392 上传时间:2017-06-04 格式:PPT 页数:133 大小:6.30MB
返回 下载 相关 举报
微型计算机原理与接口技术第二版-刘彦文 等-第5章_第1页
第1页 / 共133页
微型计算机原理与接口技术第二版-刘彦文 等-第5章_第2页
第2页 / 共133页
微型计算机原理与接口技术第二版-刘彦文 等-第5章_第3页
第3页 / 共133页
微型计算机原理与接口技术第二版-刘彦文 等-第5章_第4页
第4页 / 共133页
微型计算机原理与接口技术第二版-刘彦文 等-第5章_第5页
第5页 / 共133页
点击查看更多>>
资源描述

《微型计算机原理与接口技术第二版-刘彦文 等-第5章》由会员分享,可在线阅读,更多相关《微型计算机原理与接口技术第二版-刘彦文 等-第5章(133页珍藏版)》请在金锄头文库上搜索。

1、第5章 输 入 输 出,教学提示: 微处理器同外设的连接和信息交换,是微型机系统要解决的主要问题之一。 本章描述了输入输出的基础知识,包括外设接口的一般结构、I/O端口的寻址方式和数据传送的控制方式,以及PC机I/O地址空间、基本输入和输出接口等内容。 另外还描述了DMA控制器8237A的结构、功能及实际应用。,教学目标: 了解微处理器同外设接口交换的3种信息;清楚端口与接口的区别;了解I/O端口的编址方式。深刻理解程序控制传送方式的原理、特点及应用场合,能够编写简单的应用程序。深刻理解PC机I/O地址空间、基本输入和输出接口、地址译码器等内容。 理解DMA方式数据传输的基本工作原理。熟知82

2、37A芯片内部结构以及外部引脚的连接方法;熟知8237A的4种工作方式;熟知8237A内部寄存器的作用;能够读懂并编写简单的初始化程序和应用程序。,5.1 概 述,5.1.1 接口的功能 如图5.1所示,用户可以根据自己的需要,选择不同类型的外设,配置相应的接口电路,通过接口将不同类型的外设连接到系统总线上,构成不同用途、不同规模的应用系统。,一般情况下,存储器接口电路及相应的控制比较单一,而I/O设备种类和型号繁多,相应I/O接口电路逻辑不同,控制较复杂。因此本章及后续章节接口多指I/O接口,也称为外设接口。虽然接口因外设的种类繁多而结构各异,但作为连接计算机系统总线与外部设备的桥梁,一般均

3、有如下的功能:,图5.1 CPU与外设连接示意图,1. 数据缓冲功能和接口状态的表示 数据缓冲功能主要解决CPU的高速度与外设的低速度之间的矛盾,从而避免了因速度不一致而导致的数据丢失。一般在接口中通过设置数据缓冲器或锁存器解决此类矛盾,通常把具有缓冲或锁存数据能力的寄存器称为数据端口。 接口从系统总线或外设接收一个数据,通过发出“准备好”联络信号,通知外设或CPU取走数据。一次数据传输完成后,接口又可发出“数据缓冲区空”信号,准备进行下一次传输。接口有向CPU提供接口状态或外设工作状态的能力。在接口电路中这些用于表示 “空”、“满”、“准备好”、“忙”、“闲”等状态信号的寄存器称为状态端口。

4、,2. 接收和执行CPU命令的功能 CPU对I/O设备的控制命令一般均以代码的形式发送到接口的命令寄存器,命令寄存器称为控制端口或命令端口。接口电路将这些命令代码进行识别和分析,产生若干个控制信号。这些控制信号的作用一般有两个:一是控制所连接外设的工作,二是用于设置接口的工作方式。,3. 信号转换功能 因为外设所需的控制信号与外设提供的状态信号往往与微型机总线的信号不匹配,信号转换是不可以避免的。信号转换的主要内容是对信号之间的逻辑关系、时序配合以及电平匹配进行转换。,4. 设备选择功能 微型机系统中可能带有多种外设,或者多台同种外设,需要CPU通过地址信号来标识和选择不同的接口。因此接口应对

5、系统总线上传输的地址进行译码,检测到本端口地址时,产生相应的“选中”信号,并按CPU的要求进行信息传输。一般情况下,端口寻址方法类似存储器的寻址方法,通过高位地址译码产生片选信号选择外设接口芯片,低位地址选择芯片内部寄存器或锁存器。,5. 中断管理功能 外设需要及时得到CPU的服务,所以接口必须要有简单的中断管理功能。如:发出中断请求,提供中断类型码等。在PC机中,有些功能由专门的中断控制器实现。6. 数据格式转换功能 CPU能直接处理的是并行数据,如8位、16位和32位等。而有些外设只能处理串行数据,如串行通信设备、终端机等。所以当外设使用的数据格式与CPU数据格式不同时,接口要进行两种数据

6、格式之间的相互转换。,7. 可编程功能 目前接口芯片大部分是可编程的,可以用命令字或控制字来设定其工作方式、工作参数。所以在不改动硬件电路的情况下只修改相应的命令字或控制字,就可以改变接口的工作方式,大大增加了接口的灵活性和可扩充性。,8. 错误检测及复位功能 许多数据传输量大、传输速率高的接口,具有检测信号传输错误的功能。常见的信号传输错误有以下两种:物理信道上的传输错误(主要由干扰造成)和数据传输中的覆盖错误(主要由数据收发不及时造成)。在数据传输的过程中接口应能及时检错和纠错。常用的检错方法有奇偶校验法、方阵码校验法和CRC冗余校验法等。同时,接口在收到系统的复位信号后,应能将接口电路和

7、所连的外部设备置为初始状态。,5.1.2 接口与端口 图5.2所示的I/O接口,称为输入/输出接口,也称为外设接口。 外设接口是CPU与外设之间传送信息的一个界面、一种连接电路。 外设接口一端通过系统三总线(数据总线、地址总线、控制总线)与CPU相连,另一端与外设相连并与外设交换三种信息:数据信息、状态信息和控制信息。,图5.2 I/O接口典型结构,1. 数据信息 数据信息是CPU与外设接口交换信息的主要部分。外设有数字量、模拟量和开关量三种信号。 接口电路将输入设备的输入信号,转变成CPU能够接收的数据信息,保存在寄存器中等待CPU读取;接口电路将CPU输出到外设的数据信息,转变成外设能够接

8、收的信号,送往外设。,2. 状态信息 状态信息表明外部设备或接口当前所处的工作状态,用来协调CPU与外部设备之间的输入/输出操作。 输入设备在完成一次输入操作后,发出就绪信号(READY),表明输入设备已经把数据送到接口,等待CPU给予处理。 输出设备接口在接收从CPU送出的一批数据信息进行输出的过程中,发出忙信号(BUSY),表明目前接口不能接收新的数据信息。 状态信息用于协调CPU与外设之间的通信。,3. 控制信息 控制信息是CPU向接口发出的命令,用于控制外设及接口的工作方式以及外设的启动或停止。控制信息的格式因设备及接口而异。控制信息也可以设置接口芯片的工作方式。,数据信息、状态信息和

9、控制信息通常都通过接口与CPU交换,这些信息分别存放在外设接口的不同的寄存器中。 CPU同外设之间的信息传送,实际上是CPU对接口中的寄存器进行读或写操作。 接口中这些可以由CPU进行读或写的寄存器被称为端口。,按存放信息的不同类型,这些端口可以分为: “数据端口” “状态端口” “控制端口” 分别存放数据信息、状态信息和控制信息。CPU通过向控制端口发送控制字,对接口工作方式进行设置。 CPU访问设备是通过访问相关的端口来实现的。,5.1.3 I/O端口的编址方式 在一个外设接口中往往有多个I/O端口。 将接口中的端口进行编号,将编号加上所在接口的基地址即为该端口的I/O端口地址。 对I/O

10、端口的编址有存储器映象编址和独立编址两种方式。,1. 存储器映象编址(存储器与I/O端口统一编址) 存储器映象编址的地址空间分配如图5.3所示。这种编址方式的特点是存储器和I/O端口共用统一的地址空间,它把内存的一部分地址分配给I/O端口,一个8位端口占用一个内存单元地址。已经用于I/O端口的地址,存储器不能再使用。,图5.3 统一编址方式地址空间分配,这种编址方式的优点是:访问内存单元和I/O端口可以使用相同的指令,不需要专用的I/O指令,这有助于降低CPU控制电路的复杂性,同时可使系统变得比较灵活;I/O端口的地址空间是内存空间的一部分,其地址空间可大可小,从而使连接外设的数目几乎不受限制

11、。但是,这种编址方式也存在着一定的缺点,即I/O端口占用内存地址,相对减少了内存的可用空间;而且难以区分指令是访问内存还是访问I/O,降低了程序的可读性和可维护性。,2. 独立编址(I/O端口单独编址) 独立编址方式的地址空间分配如图5.4所示。这种方式的特点是内存储器和I/O端口各自有自己独立的地址空间。 访问I/O端口需要专门的I/O指令。 8086CPU采用这种编址方式。,图5.4 单独编址方式地址空间分配,这种编址方式的优点是:I/O端口地址码较短,译码电路较简单;存储器和I/O 端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计;指令执行速度较快。其

12、缺点是:需要专用的I/O指令,这些指令的功能一般不如存储器访问指令丰富,导致程序设计的灵活性较差。,5.2 数据传送的控制方式,计算机的各种操作中最基本和最频繁的操作是数据传送,在微型机系统中,数据传送主要在CPU、存储器和I/O接口之间进行。由于CPU与外设的工作速度相差很大,所以在CPU与外设的数据传送过程中,需要解决数据传送的控制方式,即CPU何时从输入设备读取数据以及何时向输出设备写入数据。按照I/O控制组织的发展顺序以及外设与CPU并行工作的程度,微型机系统中数据传送的控制方式主要有两种:程序控制传送方式和直接存储器存取(DMA)方式。,5.2.1 程序控制传送方式 1. 无条件传送

13、方式,图5.5 无条件传送方式电路原理图,例如:要求某数据采集系统每秒钟定时采样某点的温度信号2次。温度传感器已经将温度信号转换成电信号,经过A/D转换器转变为数字量送入输入端口。当CPU读取端口数据时,端口中的温度数字量已“准备好”。若端口地址为40H,2次采集之间需要适当延时,并且读端口数据同时启动了下一次A/D转换。相应的采集程序如下:,ADSTART:MOVCL,2;置采集次数MOVBX,2000H;置存放温度值首地址LOOPAINAL,40H;取温度值 MOVBX,AL;存入内存 INCBX;修改内存偏移地址CALL DELAY;调用延时子程序 DECCL;修改采集次数 JNZLOO

14、PA;未采完返回LOOPA继续 RET,2. 查询传送方式查询传送方式也称为条件传送方式。在这种传送方式下,当CPU需要与一个I/O设备进行数据传送时,它首先通过程序不断读取并测试接口的状态。如果输入设备处于准备好状态,则CPU执行输入指令从对应端口输入数据,反之CPU就等待。输出时,当输出设备处于空闲状态,CPU向该设备接口对应端口输出数据。,为此,接口电路除了有传送数据的端口外,还应有传送状态的端口。对于输入过程来说,外设将数据送到接口时,同时使接口状态端口中“准备好”标志位置1。对于输出过程来说,外设取走一个数据后,接口便将状态端口的对应标志位清零。表示当前输出寄存器已经处于“空”状态,

15、可以接收CPU传送的下一个数据。,查询方式输入接口电路原理图见图5.6。从图中可以看出:当输入设备将准备好的数据传送到接口的锁存器的同时,发出一个选通信号,该选通信号一方面将数据锁入锁存器,同时通过D触发器置1表示数据准备好。CPU在输入数据前,应先通过状态端口读取状态信息(在此系统中,使用数据总线的D0位),以便查询输入设备的数据是否准备好。若未准备好,则CPU处于等待外设的状态;如准备好,则执行输入指令,该指令同时将触发器清0,表示数据已被CPU读取。相应的汇编语言程序段如下:,LOOP1:IN AL,STATUS_PORT;读状态端口, ;D0=1表示“数据就绪” TEST AL,01H ;判断“数据就绪”位 JZ LOOP1;未就绪,循环读状态端口等待 IN AL, DATA_PORT;已就绪, ;从数据端口读取数据 ,图5.6 查询方式输入接口电路原理图,图5.7表示用查询方式进行输出的接口电路工作原理图。输出传送的工作原理及编程方式与输入传送有许多的类似之处。当CPU需要向外设输出数据时,先读取状态端口中的状态位(在此系统中使用数据总线的D0位),如果状态位表明外设空闲(或不忙),则执行输出指令,向外设输出数据,否则CPU需查询等待。 相应的汇编语言程序段如下:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号