第五章并行输入输出接口.ppt
《第五章并行输入输出接口.ppt》由会员分享,可在线阅读,更多相关《第五章并行输入输出接口.ppt(71页珍藏版)》请在三一文库上搜索。
1、第五章 并行输入输出接口,本章内容在书上第七章和第八章第五、六节 第一节 I/O接口的基本概念 一、 I/O接口的基本功能 1、 I/O接口的作用 解决高速主机与低速外围设备间的矛盾,即 速度配合; 处理外围设备与CPU之间的不同的信息格式 即信号格式配合; 使主机与外设协调工作,即时序配合; 外设和主机在信号电平一致,即电平配合。,2、 I/O接口传送信息的类型 I/O接口传送的信息可分为三类:数据信息,状态信息 和控制信息。 数据信息:数据信息可分为四种 数字量,二进制数据,最小单位是一个bit( 位),还 有字节、字等。 模拟量,现场信号大多是由传感器来的模拟电压或 电流,他们必须经过A
2、/D转换,变成数字量才能进入计算 机,有些接口有处理模拟量的电路,称为模拟接口。 开关量,开关量只有两种状态,即“开”或“关”,可 用一位二进制数表示,如“1”表示“开”,“0”表示“关”。 脉冲量,脉冲量是以脉冲形式表示的一种信号,如 计算机中用到的定时脉冲或控制脉冲等。 状态信息:状态信息是反映外设当前所处的工作状 态,以作为CPU与外设间可靠交换数据的条件。当输入,时,它告诉CPU,有关的输入设备是否准备好(Ready =1?);输出时它告诉CPU,输出设备是否空闲(Busy = 0?)。 控制信息:它用于控制外设的启动和停止,以及给 出命令字,用于设置接口的工作方式。 通常接口中三种信
3、息有不同的寄存器传送,如数据输 入寄存器、数据输出寄存器、状态寄存器和控制(命令) 寄存器,他们使用不同的端口地址来区分不同性质的信 息。 3、 I/O接口的主要功能 数据缓冲功能,接口中有数据输入寄存器和输出寄 存器,用于解决主机与外设在工作速度上的矛盾。, 提供联络信息,接口中有状态寄存器 信息格式的转换,包括电平转换、并串转换等。 设备选择,每台外设都有设备地址,用于与其他设备区别。 中断管理,将在中断一章中详细介绍。 可编程功能,使接口具有多功能和灵活设置。 对外设的控制和监测功能 二、 I/O接口的基本结构 如图5.1所示。电路包括四组寄存器和一个中断逻辑。 这些寄存器也被称为端口,
4、每个端口有一个端口地址, CPU通过这些端口与外设交换数据。 接口有两个界面,一面是计算机总线;另一面是外围 设备。,图5.1 接口电路的基本结构,三、I/O端口的编址方式 1、 I/O端口和存储器统一编址 该方式是将存储器地址空间的一部分作为I/O设备的地 址空间,所以I/O端口地址也是一个存储器地址。 优点是CPU访问存储器的指令都可以访问I/O端口, 不需要专门的I/O指令。二是使I/O控制逻辑简单,其引脚 减少。 缺点是I/O端口占用了一部分存储器空间;二是访存 指令通常比专用的I/O指令长,所以执行时间较长。 MOTOROLA的微机系列如MC6800系列,MC68000 系列都采用这
5、一方法。APPLE公司如6502系列也采用这 一方法。,2、 I/O端口和存储器单独编址 基本想法是I/O端口地址和存储器地址分开,单独编 址,在指令系统中分别设立存储器读写指令和I/O端口读 写指令。 在地址总线上的地址信息究竟是存储器地址还是I/O 地址,一般是在CPU上设置专门的控制线,如 =1 为I/O操作,= 0 为存储器操作。 优点: I/O端口不占用存储器地址空间;单独I/O指令 比较短,地址译码方便,指令执行速度快。 缺点:需要单独的I/O指令,这些指令一般功能简单, 通常只有读写功能;需专门的I/O控制线,增加了CPU本 身控制逻辑的复杂性。Intel系列和Zilog系列采用
6、此方法。,四、 I/O接口的地址分配 每台微机都给I/O端口分配相应的端口地址。 IBM/PC-XT使用10位地址作为I/O端口地址,即可用端口 有1024个,以后的PC机(8086)用16位地址作为I/O端口地址, 即可用端口有65536个。书上P165页表7-1和表7-2是PC/XT机 的I/O端口地址分配。 可用测试工具QAPLUS等软件检测系统配置及其端口地址 使用情况;也可查阅每台机器的硬件手册。 五、 I/O端口地址的译码及片选信号的产生 I/O端口地址的生成一般是由地址信号A9-A0的高位产生译 码的片选信号 CS ,低位产生片内的寄存器地址。在I/O操作 时,CPU执行IN或O
7、UT指令,首先是端口地址有效,然后是 IOR或IOW有效。,1、利用门电路进行译码,如图5.2所示,端口地址为348H-34FH,由于A0-A2三位地址没有参加译码,所以一个片选信号占用8个地址单元。实际上这低三位地址加到芯片上,产生片内寄存器的地址。 A9A8A7A6A5A4A3A2A1A0 1 1 0 1 0 0 1 ,2、用集成译码器进行译码 如图5.3所示,使用74LS138集成译码器译出8个端 口地址。由于所有A0-A9地址线都参加译码,所以称,为全译码,这时每条线对应一个端口地址。,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 = 11,0101,1 1 1 0 1
8、0 1 1 = 3 5 8-F,3、开关式可选择译码电路,如果用户希望译码器能适应不同的地址分配场合,则 可采用开关式地址可选择译码电路,如图5.4所示。电路 用DIP开关选择地址,并使用了一片74LS688八位数据比 较器。当输入端P0-P7的地址与设置端Q0-Q7的状态一致 时,输出P=Q 为低,其输出控制地址译码芯片74LS138的 译码。图中,上面一片74LS138产生读端口地址,下面一 片74LS138产生写端口地址,这样使8个口地址作16个口 地址用。此电路必须A9=1,AEN=0时才能有效译码。( AEN=0是CPU控制总线, AEN=1时DMA控制总线)。 4、使用可编程芯片进
9、行地址译码 目前大多数地址译码采用可编程芯片,如GAL或PAL 器件。把译码电路的逻辑关系按说明文件格式写入一文 件,然后用编程器把逻辑关系写入GAL器件中。,第二节 I/O数据传送控制方式,CPU与外设之间数据传送的方式通常有3种,即程序控 制方式,中断控制方式和直接存储器方式(DMA)。 一、程序控制方式 程序传送是指CPU与外设间交换数据在程序控制(即 IN或OUT指令控制)下进行。 1、无条件传送 这种方式适合于外设总是处于准备好的情况,因此 程序不必检查外设的状态。如图5.5所示,端口地址译码 器产生选通信号,RD信号为读,WR信号为写,开放三 态缓冲器(读)或写入锁存器,进行数据读
10、或写。,图5.5 无条件传送方式,例1:一个采用无条件传送的数据采集系统,图5.6 无条件输入的数据采集系统,这是一个16位精度的数据采集系统。被采集的8个模拟 量,由继电器绕组P0、P1、P7分别控制触点K0、K1 、 、K7逐个接通。每次采样转换成16位BCD码,高8 位和低8位通过两个端口(端口地址为11H和10H)输入 到计算机。CPU通过端口20H输出控制信号,以控制继电 器的吸合,实现采集不同通道的模拟量。 采集过程如下: (1)先断开所有的继电器触点,不采集数据; (2)延迟一段时间后,使K0闭合,采集第1个通道的模 拟量,并保持一段时间,以使数字电压表将模拟电压转 换为16位B
11、CD码; (3)分别将高8位与低8位BCD码存入内存,并转存到 DSTOR开始的数据区; (4)利用移位与循环实现8个模拟量的依次采集和存储。,数据采集程序如下: START: MOV DX,0100H ;01H置吸合第一个继电器 ;00断开所有继电器代码 LEA BX,DSTOR ;置数据缓冲区地址指针 XOR AL,AL ;清AL和CF AGAIN: MOV AL,DL OUT 20H,AL ;断开所有继电器 CALL NEAR DELAY1 ;继电器触点释放时间 MOV AL,DH OUT 20H,AL ;先使P0吸合 CALL NEAR DELAY2 ;继电器触点闭合和转换时间 IN
12、AL,10H ;输入低8位 IN AH,11H ;输入高8位 MOV BX,AX ;存入内存 INC BX ;地址指针加2 INC BX RCL DH,1 ;DH带进位循环左移一位 JNC AGAIN ;8个通道完了吗?没有,循环 DONE: ;已完,则执行其他程序,2、程序查询传送方式 程序查询式输入,图5 .7 查询式输入的接口电路,如图5.7所示,CPU从接口读取状态信息,判断READY 是否为1?即是否准备好,若已准备好,则读入数据。 查询部分程序如下: POLL: in al, status_port ;读状态端口的信息 test al, 80H ;设READY信息在D7位 je P
13、OLL ;未就绪,则循环再查 in al, data_port ;已就绪,则读入数据 其中:status_port是状态口地址, data_port是数据口地 址。 查询式输出 如图5.8所示, CPU从接口读取状态信息,判断BUSY 是否为1?BUSY=0表示外设不忙,则CPU执行输出指令,,输出数据到外设。,图5.8 查询式输出接口电路,查询式输出的部分程序如下: POLL: in al, ststus_port ;读状态口,查D7位 test al, 80H jne POLL ;D7=1即忙线=1,则循环 mov al, store ;否则外设空闲,从内存取数 out data_port
14、, al ;输出到外设的数据口 3、一个查询方式的数据采集系统 如图5.9所示,有8个模拟量输入的数据采集系统,8个 模拟量经多路开关选择其中一路,每次一个模拟量到A/D 转换器;同时A/D转换器由端口4输出的D4控制启动与停 止。 A/D转换器的READY信号由端口2的D0输出至CPU 数据总线; A/D转换后的数据由端口3输至数据总线。,图5.9 查询式数据采集系统,这里用到三个端口地址,端口2为状态口,端口3为 数据口,端口4为控制口用于选择那一路。,数据采集过程的程序如下: START:mov dl, 0F8H ;设置启动信号,低3位选通多路开关 mov ax, seg dstor;设
15、置输入数据的内存地址指针 mov es, ax ;段地址送es lea di, dstor ;偏移地址送di AGAIN:mov al, dl and al, 0efH ;使D4=0 out 04, al ;停止A/D转换 call delay ;等待停止A/D转换操作完成 mov al, dl ;使al=0F8H,D4=1 out 04,Al ;选输入通道并启动A/D转换 POLL: in al, 02 ;从02端口输入状态信息 shr al, 1 ;查AL的D0 jnc POLL ;判READY=1?若D0=0,未准备好,则循环 in al, 03 ;若已准备好,则经端口3输入采样数据到A
16、L STOSB ;输入数据转送至内存单元,地址指针自动加1 inc dl ;输入模拟通道号加1 jne AGAIN ;8个模拟量未完则循环 ;输入已完,执行别的程序,二、中断传送 程序查询传送方式明显的缺点是CPU利用率低,不能满足 实时输入输出的需要,中断方式可以较好地解决这一问题。 所谓中断是指程序运行中出现了某种紧急事件,CPU必须 中止现正在执行的程序,转去处理该紧急事件(执行一段中 断服务程序),并在处理完后返回原运行的程序的过程。 完整的中断处理过程包括中断请求、中断判优、中断响应、 中断处理和中断返回。 为了使中断服务程序不影响主程序的执行,需把主程序断 点处的有关寄存器的内容保
17、存下来,称之为保护现场;在中 断服务程序操作完成后再恢复这些寄存器的内容,称之为恢 复现场。 用中断方式时,外设处于就绪状态时,例如输入设备数据 准备好时,,或输出设备不忙可以接收数据时,便向CPU发出中断请求, CPU暂停当前执行的主程序进入中断响应,与外设进行一次 数据交换,操作完成后再继续执行原来的主程序。 通常CPU在执行每一条指令的末尾处会检查外设是否有中 断请求(这种查询是由硬件完成的,不占用CPU的工作时 间),如果有,在中断允许(即IF=1)的情况下,CPU将保 留下一条指令的地址(断点)和当前标志寄存器的内容,转 去执行中断服务程序,操作完成后恢复断点和标志寄存器的 内容,继
18、续执行原来被中断的程序。 中断方式的优点很明显,大大提高了CPU的工作效率,而 且外设有申请中断服务的主动权。 有关中断的详细工作情况将在第六章中介绍。,三、DMA方式 利用程序中断方式,虽然可以提高CPU的工作效率 ,但它仍需要由程序来传送数据,并在中断处理时要 “保护现场”和“恢复现场”等,要占用一定时间,是每 传送一个字节大约要几十微秒到几百微秒,这对于高 速外设就显得太慢了。 DMA方式是一种由专门的硬件电路执行I/O交换的 传送方式,它让外设接口与内存直接进行高速的数据 交换,而不必经过CPU,实现对存储器的直接存取。 这种专门的硬件叫DMA控制器,简称DMAC,如图 5.10。,如
19、图所示,当接口准备好就向DMAC发DMA请求,接着CPU通过 HOLD引脚接收DMAC发出的总线请求;CPU在完成当前总线操,作后,就发出HLDA的总线响应信号给DMAC, DMAC 收到此信号后便接管对总线的控制权,开始DMA操作。 当DMA传送结束,DMAC将HOLD信号变成低电平,并 放弃对总线的控制权。CPU检测到HOLD为低后,也将 HLDA变成低,并恢复对总线的控制权。 第三节 DMA接口技术 参见课本P170-174页。 第四节 可编程DMA控制器8237 参见课本P174-188页。,第五节 并行通信及接口电路,通用接口可分为并行接口和串行接口两大类。并行传 送是把一个字节或多
20、个字节用多条信号线同时进行传输, 即并行接口是按字节传送的;串行接口和CPU之间按并 行传送,而和外设之间是一个二进制位一个二进制位的 传送,即串行接口是按位传送的。参见图5.11所示。 一、并行接口的组成及其与CPU和外设的连接 1、并行接口的基本组成(如图5.12所示) 两个或两个以上的具有缓冲能力的数据寄存器, 可供CPU访问的控制及状态寄存器 片选和内部控制逻辑电路 与外设进行数据交换的控制和联络信号线 与CPU用中断方式传送数据的相关中断控制 2、与CPU的连接 与CPU的连接主要是双向数据总线,读、写控制线,复 位信号,中断请求以及状态信号和地址译码产生的片选信 号。 3、与外设的
21、连接 与输入设备的连接:并行输入数据线,数据传输应答信号 (输入准备好和输入回答信号); 与输出设备的连接:并行输出数据线,数据传输应答信号 (输出准备好和输出回答信号);,二、并行接口的数据输入输出过程 1、数据输入 外设将数据传送到并行接口,同时给出“输入数据准备好” 信号; 接口把数据接收到输入缓冲寄存器,给出“输入回答”信号 (高电平)到外设; 若采用中断方式,则接口向CPU发中断请求信号,并使 状态寄存器中的“输入缓冲器满”位置1(也可以用查询方式); CPU响应接口的中断请求(或查询相应的状态位),在 中断服务程序中执行IN指令读取接口中的数据; 接口给外设的“输入回答”信号变成低
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 并行 输入输出 接口
链接地址:https://www.31doc.com/p-2561768.html