1 / 91

微机原理、汇编与接口技术

微机原理、汇编与接口技术. 朱定华. 2008.8. 第六章 输入输出和接口技术. 6 .1. 接口的基本概念. 6 .2. I / O 指令和 I / O 地址译码. 6 .3. 数字通道接口. 6 . 4. 模拟通道接口. 输入输出 (I/O) 是指微型计算机与外界的信息交换,即通信 (communication) 。微型计算机与外界的通信,是通过输入输出设备进行的,通常一种 I/O 设备与微型机连接,就需要一个连接电路,我们称之为 I/O 接口。.

berk-holt
Download Presentation

微机原理、汇编与接口技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 微机原理、汇编与接口技术 朱定华 2008.8

  2. 第六章 输入输出和接口技术 6.1 接口的基本概念 6.2 I/O指令和I/O地址译码 6.3 数字通道接口 6.4 模拟通道接口

  3. 输入输出(I/O)是指微型计算机与外界的信息交换,即通信(communication)。微型计算机与外界的通信,是通过输入输出设备进行的,通常一种I/O设备与微型机连接,就需要一个连接电路,我们称之为I/O接口。输入输出(I/O)是指微型计算机与外界的信息交换,即通信(communication)。微型计算机与外界的通信,是通过输入输出设备进行的,通常一种I/O设备与微型机连接,就需要一个连接电路,我们称之为I/O接口。 接口是用于控制微机系统与外设或外设与系统设备之间的数据交换和通信的硬件电路。接口设计涉及到两个基本问题,一是中央处理器如何寻址外部设备,实现多个设备的识别;二是中央处理器如何与外设连接,进行数据、状态和控制信号的交换。

  4. 6.1 接口的基本概念 6.1.1 接口的功能 1.接口的一般定义 接口是一组电路,是中央处理器与存储器、输入输出设备等外设之间协调动作的控制电路。 接口电路并不局限在中央处理器与存储器或外设之间,也可在存储器与外设之间,如直接存储器存取DMA接口就是控制存储器与外设之间数据传送的电路。

  5. 6.1 接口的基本概念 2.接口电路的功能 接口电路的作用就是将来自外部设备的数据信号传送给处理器,处理器对数据进行适当加工,再通过接口传回外部设备。 所以,接口的基本功能就是对数据传送实现控制,具体包括以下5种功能:地址译码、数据缓冲、信息转换、提供命令译码和状态信息以及定时和控制。

  6. 6.1 接口的基本概念 3.接口电路的基本结构

  7. 6.1 接口的基本概念 控制命令逻辑电路一般由命令字寄存器和控制执行逻辑组成,这一部分是接口电路的“中央处理器”,用来完成全部接口操作的控制。 状态设置和存储电路主要由一组数据寄存器构成,中央处理器和外设就是根据状态寄存器的内容进行协调动作的。 数据存储和缓冲电路也是一组寄存器,用于暂存 中央处理器和外设之间传送的数据,以完成速度匹配 工作。

  8. 6.1.2 接口控制原理 (1)并行数据传送 在微机系统内,如,大系统部件之间的数据传送都采用并行数据传送方式。 并行数据的每一位都对应独立的传输线路,所以数据传送速度快,但线路多,一般只用于较短距离的数据传送。 1.数据传送方式

  9. 6.1.2 接口控制原理 (2)串行数据传送 串行数据传送是将构成字符的每个二进制数据位,按一定的顺序逐位进行传送的方式。 串行数据传送主要用于远程终端或经过公共电话网的计算机之间的通信。 远距离数据传送采用串行方式比较经济,但串行数据传送比并行数据传送控制复杂。

  10. 6.1.2 接口控制原理 异步串行通信协议规定字符数据的传送格式: 异步串行通信中,接收设备和发送设备必须保持相同的传送波特率,并与每个字符数据的起始位同步。 起始位、数据位、奇偶位和停止位约定,在同一 次传送过程中必须保持一致。

  11. 6.1.2 接口控制原理 (1)查询方式 查询方式是中央处理器在数据传送之前通过接口的状态设置存储电路询问外设,待外设允许传送数据后才传送数据的操作方式。 2. 传送控制方式 传送控制方式有查询、中断和DMA3种。

  12. 6.1.2 接口控制原理 (1)查询方式 2. 传送控制方式 传送控制方式有查询、中断和DMA3种。 在查询方式下,CPU需要完成以下操作: (1)CPU向接口发出传送命令,输入数据或输出数据; (2)中央处理器查询外设是否允许传送? 在查询方式下,中央处理器需要花费较多的时间去不 断地“询问” 外设,外设的接口电路处于被动状态。

  13. 6.1.2 接口控制原理 (2)中断方式 中断方式是在外设要与中央处理器传送数据时,外设向中央处理器发出请求,中央处理器响应后再传送数据的操作方式。 在中断方式下,中央处理器不必查询外设,提高了系统的工作效率,但中央处理器管理中断的接口比管理查询复杂。

  14. 6.1.2 接口控制原理 (3)直接存储器存取(DMA)方式 DMA 方式是数据不经过中央处理器在存储器和外 设之间直接传送的操作方式。DMA方式是这3种方式中 效率最高的一种传送方式,DMA 方式控制接口也最复 杂,需要专用的DMA控制器。 DMA 方式适合数据量较大的传送,如存储器与磁盘之间的数据传送。

  15. 6.1.3 接口控制信号 总线控制信号包括数据线、地址线、 、 、等。 接口控制信号可分为两类:总线控制信号 和 输入输出控制信号。 输入输出控制信号比较复杂,不同控制方式的接口信号不同。一般包括数据线、输入输出应答信号等。 中断接口和DMA接口的控制信号更复杂一些,通常由接口芯片提供专用控制信号来完成数据传送控制。 接口控制信号图

  16. 6.2I/O指令和I/O地址译码 微处理器进行I/O操作时,对I/O接口的寻址方式与存储器寻址方式相似。即必须完成两种选择:一是选择出所选中的I/O接口芯片(称为片选);二是选择出该芯片中的某一寄存器(称为字选)。 通常有两种I/O接口结构:一种是标准的I/O结构,另一种是存储器映象I/O结构(memory mapped I/O)。与之对应的有两种I/O寻址方式。

  17. 6.2.1 标准的I/O寻址方式 (3) CPU对I/O设备的读/写控制是用I/O读/写控制信号( 、 )。 标准的I/O寻址方式有以下3个特点: (1) I/O设备的地址空间和存储器地址空间是独立的、分开的,即I/O接口地址不占用存储器的地址空间。 (2)微处理器对I/O设备的管理是利用专用的IN(输入)和OUT(输出)指令来实现数据传送的。 一个外设常有若干个端口地址。

  18. 6.2.2 存储器映像I/O寻址方式 (3)CPU用存储器读/写控制信号( 、 )对I/O设备进行读/写控制。 1.存储器映象I/O寻址方式又称为存储器对应I/O寻址方式,有3个特点: (1)I/O接口与存储器共用同一个地址空间。即在系统设计时指定存储器地址空间内的一个区域供I/O设备使用,故I/O设备的每一个寄存器占用存储器空间的一个地址。这时存储器与I/O设备之间的唯一区别是其所占用的地址不同。 (2)CPU利用对存储器的存储单元进行操作的指令来实现对I/O设备的管理。

  19. 6.2.2 存储器映像I/O寻址方式 2.存储器映象I/O寻址方式的优点: (1)CPU对外设的操作可使用全部的存储器操作指令,故指令多,使用方便,如可对外设中的数据(存于外设的寄存器中)进行算术和逻辑运算,进行循环或移位等; (2)存储器和外设的地址分布图是同一个; (3)不需要专门的输入/输出指令。 3.其缺点有以下两种: (1)外设占用了内存单元,使内存容量减小; (2)存储器操作指令通常要比I/O指令的字节多,故加长了I/O操作的时间。

  20. 6.2.3 输入输出指令 1.输入指令IN Acc,Port或IN Acc,DX 输入指令是把一个字节或一个字由输入端口传送至AL(8位Acc)或AX(16位Acc)。 端口地址若是由指令中的port所规定,则只可寻址 0~255。端口地址若用寄存器 DX间址,则允许寻址64K个输入端口。

  21. 6.2.3 输入输出指令 2.输出指令OUT Port,Acc或OUT DX,Acc 输出指令是把在 AL中的一个字节或在 AX中的一个字,传送至输出端口。端口寻址方式与IN指令相同。 输入输出指令传送字节还是字,取决于端口的宽度。PC XT机端口宽度只有8位,只能传送字节。

  22. 6.2.4 I/O接口的端口地址译码 80x86微处理器都由低16位地址线寻址 I/O端口,故可寻址64K个I/O端口,但在实际的80x86PC机中,只用了最前面 1K个端口地址,也即只寻址1K范围内的I/O空间。因此仅使用了地址总线的低10位,即只有地址线A9~A0用于I/O地址译码。 在DMA操作时,DMA控制器控制了系统总线。DMA控制器在发出地址的同时还要发出地址允许信号AEN,所以还必须将DMA控制器发出的地址允许信号AEN也参加端口地址的译码,用AEN限定地址译码电路的输出。当 AEN信号有效时即 DMA控制器控制系统总线时,地址译码电路无输出;当 AEN信号无效时,地址译码电路才有输出。

  23. 6.2.4 I/O接口的端口地址译码 无论是大规模集成电路的接口芯片,还是基本的输入输出缓冲单元,都是由一个或多个寄存器加上一些附加控制逻辑构成的。对这些寄存器的寻址就是对接口的寻址。 通常采用两级译码方法,译码地址的高位组确定一个地址区域,作为组选信号;低位组地址直接接到芯片的地址输入端,选择芯片内各寄存器。

  24. 6.2.4 I/O接口的端口地址译码 1.直接地址译码 直接地址译码是一种局部译码方法,按照系统分配给某接口的地址区域,对地址总线的某些位进行译码,产生对该接口包含的缓冲器和寄存器的组选信号,再由低位地址线对组内缓冲器和寄存器译码寻址。 图6-4是采用直接地址译码寻址端口的电路。 图6-4所示的直接地址译码电路的输出线分别用于输 入和输出。

  25. 6.2.4 I/O接口的端口地址译码 图6-5 输入输出直接地址译码 图6-5所示的直接地址译码电路的输出线,既可以用 于输入也可以用于输出。

  26. 6.2.4 I/O接口的端口地址译码 PC微机接口芯片的译码电路

  27. 6.2.4 I/O接口的端口地址译码 2.间接端口地址译码 间接端口地址译码仅使用两个端口地址就可以对多个端口进行寻址,第一个端口地址指向地址寄存器,第二个端口地址指向数据寄存器。端口寄存器的地址都要先送到地址存器,然后再根据地址寄存器的内容来选择端口寄存器。从处理器看来,系统只须对地址寄存器和数据寄存器进行寻即可,对端口各寄存器的第二次寻址由地址寄存器的内容确定。

  28. 6.2.4 I/O接口的端口地址译码 间接端口译码电路图 这种译码电路节省系统地址空间,但在寻址时必须把 间接地址作为数据输出,这样就多使用了一条OUT指令。

  29. 6.3 数字通道接口 在接口电路中,大量使用三态缓冲器、寄存器和三态 缓冲寄存器来作微处理器与外部设备的数字量通道,用来 输入输出数据或检测和控制与之相连接的外部设备。微处 理器可以将接口电路中的三态缓冲(寄存)器视为存储单元, 把控制或状态信号作为数据位信息写到寄存器中或从三态 缓冲(寄存)器中读出。寄存器的输出信号可以接到外部设 备上,外部设备的信号也可以输入到三态缓冲寄存器中。 一般说来,微处理器都是通过三态缓冲(寄存)器检测 外设的状态,通过输出寄存器发出控制信号。

  30. 6.3.1 数据输出寄存器 数据输出寄存器用来寄存微处理器送出的数据和命令。 74LS273可以用作无条件 传送的输出接口电路。 8D触发器74LS273

  31. 6.3.2 数据输入三态缓冲器 外设输入的数据和状态信号,通过数据输入三态缓冲 器经数据总线传送给微处理器。 74LS244可以用作无条 件传送的输入接口电路。 74LS244三态总线驱动器

  32. 6.3.3 三态缓冲寄存器 三态缓冲寄存器是三态缓冲器和寄存器组成的。数据 进入寄存器寄存后并不立即从寄存器输出,要经过三态缓 冲才能输出。三态缓冲寄存器既可以作数据输入寄存器, 又可作数据输出寄存器。寄存器既可以由触发器构成,也 可以锁存器构成。触发器与锁存器是有差别的。 74LS373就是三态缓冲锁存器,74LS374是三态缓冲触 发器,它的引线排列与74LS373相同。

  33. 6.3.4 寄存器和缓冲器接口的应用 寄存器和缓冲器接口的应用简单又灵活,只要处理好 它们的时钟端(选通端)或输出允许端与微型计算机的连接 即可。在下述应用接口电路中都使用图6-10所示的电路的 地址译码,该电路的8个输出端是对图6-5所示的输入输出 直接地址译码电路的进一步译码的输出。 图6-10 读缓冲器和写寄存器信号

  34. 6.3.4 寄存器和缓冲器接口的应用 需要注意的是图6--5中的不仅仅是对地址信号译码的输出信号,其中也包含有输入和输出的读或写信号。若使用的仅仅是对地址信号译码的输出信号,则要将它和 或者 相与后才能用作读缓冲器或写寄存器的信号。

  35. 6.3.4 寄存器和缓冲器接口的应用 1.七段发光二极管显示器接口 发光二极管显示器(LED)是微型计算机应用系统中常用的输出装置。

  36. 七段显示器动态显示接口电路

  37. 把从PC机的键盘键入的六位十进制数送七段显示器显示的程序如下: stack segment stack stack dw 32 dup(0) stack ends data segment IBF DB 7,0,7 DUP(0) SEGPT DB 40H,79H,24H,30H,19H,12H,2,78H,0,18H data ends code segment start proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV DX,OFFSET IBF ;键入 MOV AH,10 INT 21H AGANO: MOV BP,OFFSET IBF+2 ;建立指针 MOV AH,20H ;位指针代码 MOV BH,0 ;将键入数的ASCII码变为BCD数 AGANI: MOV BL,DS:[BP] AND BL,0FH

  38. MOV AL,SEGPT[BX] ;取BCD数的七段显示代码 MOV DX,380H ;输出段码 OUT DX,AL MOV AL,AH ;输出位码 MOV DX,384H OUT DX,AL MOV CX,1000 ;延时 LOOP $ INC BP ;调整BCD数存放指针 SHR AH,1 ;调整位指针 AND AH,AH ;键入的6位数都输出否? JNZ AGANI ;6位数都已输出则退出内循环 MOV AH,11 ;系统功能调用检查键盘有无输入 INT 21H CMP AL,0 ;键盘有输入AL=0FFH,无输入AL=0 JE AGANO ;有键入结束程序运行,无键入循环 ret start endp code ends end start

  39. 6.3.4 寄存器和缓冲器接口的应用 2.键盘接口 本节介绍的键盘是由若干个按键组成的开关矩阵,用 于向计算机输入数字、字符等代码,是最常用的输入电路。 在键盘的按键操作中,其开或闭均会产生10~20ms的 抖动,可能导致一次按键被计算机多次读入的情况。通常 采有RC吸收电路或RS触发器组成的闩锁电路来消除按键抖 动;也可以采用软件延时的方法消除抖动。这里设开关为 理想开关即没有抖动。

  40. 77 B7 D7 E7 7B BB DB EB 7D BD DD ED 7E BE DE EE 按键与编码的对应关系 下图是一个4×4键盘及其接口电路,用它向计算机 输入0~F 16个十六进制数码。

  41. 6.3.4 寄存器和缓冲器接口的应用 3. BCD码拨盘及其接口 拨盘种类很多,使用最方便的是十进制数输入,BCD 码输出的BCD码拨盘。

  42. 将图6-15拨盘组输入的8位十进制数读入数据区并送 PC机的显示器显示。 图6-15 8位拨盘组及其接口电路

  43. 程序如下: stack segment stack stack dw 32 dup(0) stack ends data segment KEYTAB DB 7EH,7DH,0BDH,0DDH,7BH,0BBH,0DBH,77H DB 0B7H,0D7H,0E7H,0EBH,0EDH,0EEH,0DEH,0BEH data ends code segment start proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax mov ax,data mov ds,ax MOV BX,0 ;拨盘输入数据区的位移量 MOV AH,80H ;拨盘位选值 LOP1: MOV DX,384H ;拨盘位选值输出 MOV AL,AH NOT AL

  44. OUT DX,AL MOV DX,380H ;读入一位拨盘的值,存入输入数据区 IN AL,DX AND AL,0FH MOV IBUF[BX],AL INC BX ;改变输入数据区的位移量 SHR AH,1 ;改变拨盘的位选值 AND AH,AH ;检测8位是否已读入 JNZ LOP1 MOV SI,OFFSET IBUF+7 ;将输入值变为ASCII码送输出数据区 MOV DI,OFFSET OBUF+7 MOV CX,8 LOP2: MOV AL,[SI] ADD AL,30H MOV [DI],AL DEC SI DEC DI LOOP LOP2 MOV OBUF+8,$ MOV DX,OFFSET OBUF   ;将8位拨盘值送显示器显示 MOV AH,9 INT 21H  ......

  45. 6.3.5 打印机适配器   较早期的打印机适配器是以板卡形式插在主机板的总 线槽中的,随着芯片集成度的提高,主机板集成了越来越 多的部件和相应功能,打印机适配器也因此作为一个部件 集成于主机板中,但原理和对外信号连接仍然相同。本节 介绍较早期的打印机适配器的工作原理,该适配器不仅可 以用作连接打印机的接口电路,也可以作为通用输入输出 接口。   打印机适配器由输入电路、输出电路、地址译码电路 和数据总线隔离电路4部分组成。

  46. 1.地址译码电路和数据总线隔离电路 打印机适配器的译码电路采用直接译码与跳线开关相结合的方法提供 两个地址区域的端口地址,其地址为378H~37FH和278H~27FH 。 图6-16 打印机适配器的地址译码电路和数据总线隔离电路

  47. 数据总线隔离电路使用的是双向总线驱动器74LS245,74LS245的输入由地址译码电路的输出信号和控制,仅在对端口378H~37FH或278H~27FH进行输入或输出操作时,74LS245才将双向三态门单方向打开。 图6-16 打印机适配器的地址译码电路和数据总线隔离电路

  48. 2.输出电路和命令字 打印机适配器的输出电路包括数据输出电路和命令输 出电路,如图6-17所示。数据输出电路由 74LS374 组成, 地址译码电路的将打印数据送到外部数据线DATA7~DATA0。 命令输出电路由输出控制字寄存器74LS174组成,地址译码 电路的将打印机适配器的输出控制字送输出控制字寄存器 74LS174锁存。 输出控制字寄存器74LS174只有5位有效信号,这5位信 号与控制命令字各位一一对应。

  49. 输入电路包括状态输入电路、命令输入电路和数据回 送电路,如图6-19所示。数据DATA7~DATA0通过74LS244 回送,由 选通。而状态信号和回送命令都通过74LS240送 到数据线BD7~BD0上,状态信号由 选通输入,命令由 选通回送。 5位状态信号与状态输入字各位一一对应如图6-20所示。 图6-20 打印机适配器的状态输入字 3.输入电路和状态字

  50. 图6-21 打印机与并行口的连接 4.打印机适配器与打印机的连接 打印机适配器通过并行口(25芯D型插座)与打印机 (36芯D型插座)的连接如图6-21所示。

More Related