1 / 117

补充 微型计算机和外设的数据传输

补充 微型计算机和外设的数据传输. 一 为什么要用接口电路 二 CPU 和输入输出设备之间的信号 三 接口部件的 I/O 端口 四 CPU 和外设之间的数据传送方式. 一 为什么要用接口电路. (1)接口电路按功能可分为两类: 使 微处理器正常工作 所需的辅助电路:时钟信号或中断请求等 输入输出( I/O) 接口电路 : CPU 与外设 收发数据. 存储器: 功能单一 :保存信息 品种有限 : ROM 和 RAM 工作速度: 与 CPU 基本匹配. 外部设备: 功能多样 :输入、输出、输入/输出

dafydd
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. 补充 微型计算机和外设的数据传输 一 为什么要用接口电路 二 CPU和输入输出设备之间的信号 三 接口部件的I/O端口 四 CPU和外设之间的数据传送方式

  2. 一 为什么要用接口电路 (1)接口电路按功能可分为两类: 使微处理器正常工作所需的辅助电路:时钟信号或中断请求等 输入输出(I/O)接口电路:CPU与外设收发数据

  3. 存储器: 功能单一:保存信息 品种有限:ROM和RAM 工作速度:与CPU基本匹配 外部设备: 功能多样:输入、输出、输入/输出 品种繁多: A/D、D/A转换(格式不同),串口(串并转换),并口,中断控制,DMA控制,定时器等 工作速度:一般较慢,无法与CPU速度匹配(降低效率) (2)为什么要用接口电路

  4. (3)什么是微机接口技术 • 处理微机系统与外设间联系的技术 • 注意其软硬结合的特点 • 根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备

  5. C P U 接 口 电 路 I/O 设 备 什么是I/O接口(电路) • I/O接口是位于CPU与外设间、用来协助完成数据传送和控制任务的逻辑电路 • PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路

  6. 二 CPU和输入输出设备之间的信号 (1)数据信息:(外设与CPU之间) 数字量:键盘、磁盘到CPU,CPU到打印机、磁盘、显示器等,一般为二进制数、ASCII码等 模拟量:通过A/D转换器输入,通过D/A转换器输出 开关量:控制开关、电机、阀门、继电器等等

  7. (2)状态信息:(从外设到CPU) 显示外部设备的工作状态,如空闲还是忙 (3)控制信息: (CPU到外设) 使外设按要求工作,如启动、停止、控制字、命令字等信号 以上三种信号都可通过DB传送,此时,数据信息送接口中的数据缓冲器;状态信息送状态寄存器;控制信息送控制寄存器。

  8. 三 接口部件的I/O端口 1.什么是端口: 接口电路中,用于存放不同种类信息的寄存器,称这些寄存器为端口。每个端口对应一个端口地址。 2.端口分类: 数据端口:数据信息 状态端口:状态信息 控制端口或命令端口:控制信息

  9. 3. I/O端口的编址: 接口电路占用的I/O端口有两类编址形式 • I/O端口单独编址 • I/O地址空间独立于存储地址空间 • 如8086/8088 • I/O端口与存储器统一编址 • 它们共享一个地址空间 • 如M6800

  10. 4.端口地址分配方法: • 一般一个接口包含多个I/O端口,必须分配不同端口地址。 • 例如:一个双向I/O接口电路包含4个端口,即数据输入、状态端口、数据输出和控制端口。因为前两者只读不能写,后两者只写不能读,所以只需分配2个端口地址,即数据输入/输出一个端口,控制/状态一个端口。 • 对于外设的操作就可以转化为对端口的操作。

  11. FFFFF 内存 空间 FFFF I/O 空间 0 I/O端口单独编址 • 优点: • I/O端口的地址空间独立 • 控制和地址译码电路相对简单 • 专门的I/O指令使程序清晰易读 • 缺点: • I/O指令没有存储器指令丰富

  12. FFFFF 内存 部分 存储器空间 I/O 部分 00000 I/O端口与存储器统一编址 • 优点: • 不需要专门的I/O指令 • I/O数据存取与存储器数据存取一样灵活 • 缺点: • I/O端口要占去部分存储器地址空间 • 程序不易阅读(不易分清访存和访问外设)

  13. 外设通过接口和系统的连接 输入口 输出口 控制口 状态口

  14. 四 CPU和外设之间的数据传送方式 四种传送方式: 程序方式(无条件、条件传送) 中断方式 DMA方式 输入/输出处理机方式

  15. 一 程序方式 1. 无条件传送方式 (1)定义:确认计算机外设已经准备好,就不必查询外设状态而直接进行数据传输。 (2)适用条件:传送不能太频繁,外设通常比较简单,如开关、数码LED显示器等

  16. (3)工作原理 OUT DX, AL IN AL, DX

  17. 说明: • 输入时要使用缓冲器,因为输入数据的保持时间相对CPU速度要长,可以直接用缓冲器与DB相连而不需锁存。 • 输出时要使用锁存器,因为外设速度一般较慢,需要让数据保存一段时间,以便外设能取到数据。

  18. 10K x 8 +5V 74LS244 数据总线 G1 G2 CS RD 无条件传送:输入实例 MOV DX, 160H IN AL, DX 160H

  19. +5V Rx 8 数据总线 74LS 373 LE OE CS WR 无条件传送:输出实例 MOV DX, 160H MOV AL, 0FEH OUT DX, AL D0 D7 160H

  20. IOR IOW G 无条件传送:输入输出接口 译码 A0~A15 next: mov dx,8000h ;DX指向数据端口 in al,dx ;从输入端口读开关状态 not al ;反相 out dx,al ;送输出端口显示 call delay ;调子程序延时 jmp next ;重复 +5V 8000H K0 K1 LS244 三态 缓冲器 … K7 +5V LED0 CLK LS06 反相 驱动器 LS273 8D 锁存器 … D0~D7 LED7

  21. 2 条件传送方式 (1)条件传送的概念: 又叫查询方式传送,CPU通过程序不断读取并检测外设状态,一旦发现输入设备处于准备好或输出设备空闲状态时,就执行输入/输出指令完成信息交换。

  22. 输入状态 N 就绪? Y 数据交换 (2)条件传送的三个环节: CPU从接口中读取状态字 CPU检测状态字 传送数据 查询式输出程序流程示意

  23. 1 查询式输入的接口电路 0 0 0 0 1 0 1 RD

  24. 输入 设备 STB IOR IOR 查询输入接口举例: 8位 三态 缓冲器 mov dx,8000h ;DX指向状态端口 status:in al,dx ;读状态端口 test al,01h ;测试标志位D0 jz status ;D0=0,未就绪,继续查询 inc dx ;D0=1就绪,DX指向数据端口 in al,dx ;从数据端口输入数据 8D 锁存器 D0~D7 +5V 8001H 1位 三态 缓冲器 R D0 译码 D Q A0~A15 8000H

  25. 1 查询式输出的接口电路 0 0 1 0 0 0 1 1

  26. IOW ACK IOR 输出 设备 查询输出接口举例: 8D 锁存器 mov dx,8000h ;DX指向状态端口 status:in al,dx ;读取状态端口的状态数据 test al,80h ;测试标志位D7 jnz status ;D7=1,未就绪,继续查询 inc dx ;D7=0,就绪,DX指向数据端口 mov al,buf ;变量buf送AL out dx,al ;将数据输出给数据端口 D0~D7 +5V Q D R 8001H 1位 三态 缓冲器 D7 译码 A0~A15 8000H

  27. 主程序 中断服务程序 中断请求 一个字(节) 的信息 传送 断点 继续执行 返回断点 三 中断方式 • 适用于低速外设与CPU的信息交换 • 高速外设可能产生信息丢失,故不采用 程序流程

  28. 中断传送方式的原理(输入) 0 0 0 1 1 0 0 0 1 1

  29. 三 DMA方式 • 定义:直接存储器存取方式 • 特点:外设利用专用的DMA接口电路直接与存储器进行高速数据交换,而不经过CPU,完全不需要一些额外的操作,只决定于存储器和外设的速度。 • 方法:由专用的DMA控制器完成,如8237,要进行DMA传送时,只需向CPU发总线请求信号,CPU让出总线后即可进行。

  30. 四 输入/输出处理机方式 • 硬件:8089(输入/输出协处理器),包含2个DMA通道,本身有专用的指令系统用于数据传送。 • CPU状态:最大工作模式 • 特点:数据信息交换完全由8089实现,此时CPU可做其他事情。

  31. 传送方式的比较 • 无条件传送:慢速外设与CPU保持同步 • 查询传送: 简单实用,效率较低 • 中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销 • DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送 • 输入/输出处理机控制:8089控制,DMA方式的升级版。

  32. 第8章 输入/输出接口 8.1 微型计算机的输入/输出接口 8.2 并行通信和并行接口 8.3 可编程并行通信接口8255A

  33. 8.1 微型计算机的输入/输出接口 • 8.1.1 CPU和输入输出设备之间的信号 • 8.1.2 CPU和外设之间的数据传送方式

  34. 8.1.1 CPU和输入输出设备之间的信号 (1)数据信息:(外设与CPU之间) 数字量:键盘、磁盘到CPU,CPU到打印机、磁盘、显示器等,一般为二进制数、ASCII码等 模拟量:通过A/D转换器输入,通过D/A转换器输出 开关量:控制开关、电机、阀门、继电器等等

  35. (2)状态信息:(从外设到CPU) 显示外部设备的工作状态,如空闲还是忙 (3)控制信息: (CPU到外设) 使外设按要求工作,如启动、停止、控制字、命令字等信号 以上三种信号都可通过DB传送,此时,数据信息送接口中的数据缓冲器;状态信息送状态寄存器;控制信息送控制寄存器。

  36. 8.1.2 CPU和外设之间的数据传送方式 四种传送方式: 程序方式(无条件、条件传送) 中断方式 DMA方式 输入/输出处理机方式

  37. 一 程序方式 1. 无条件传送方式 (1)定义:确认计算机外设已经准备好,就不必查询外设状态而直接进行数据传输。 (2)适用条件:传送不能太频繁,外设通常比较简单,如开关、数码LED显示器等

  38. (3)工作原理 OUT DX, AL IN AL, DX

  39. 说明: • 输入时要使用缓冲器,因为输入数据的保持时间相对CPU速度要长,可以直接用缓冲器与DB相连而不需锁存。 • 输出时要使用锁存器,因为外设速度一般较慢,需要让数据保存一段时间,以便外设能取到数据。

  40. 2 条件传送方式 (1)条件传送的概念: 又叫查询方式传送,CPU通过程序不断读取并检测外设状态,一旦发现输入设备处于准备好或输出设备空闲状态时,就执行输入/输出指令完成信息交换。

  41. 输入状态 N 就绪? Y 数据交换 (2)条件传送的三个环节: CPU从接口中读取状态字 CPU检测状态字 传送数据 查询式输出程序流程示意

  42. 1 查询式输入的接口电路 0 0 0 1 0 1

  43. 1 查询式输出的接口电路 0 0 1 0 0 0 1 1

  44. 主程序 中断服务程序 中断请求 一个字(节) 的信息 传送 断点 继续执行 返回断点 二 中断方式 • 适用于低速外设与CPU的信息交换 • 高速外设可能产生信息丢失,故不采用 程序流程

  45. 三 DMA方式 • 定义:直接存储器存取方式 • 特点:外设利用专用的DMA接口电路直接与存储器进行高速数据交换,而不经过CPU,完全不需要一些额外的操作,只决定于存储器和外设的速度。 • 方法:由专用的DMA控制器完成,如8237,要进行DMA传送时,只需向CPU发总线请求信号,CPU让出总线后即可进行。

  46. 四 输入/输出处理机方式 • 硬件:8089(输入/输出协处理器),包含2个DMA通道,本身有专用的指令系统用于数据传送。 • CPU状态:最大工作模式 • 特点:数据信息交换完全由8089实现,此时CPU可做其他事情。

  47. 8.2 并行通信和并行接口 定义: 一个字符的各位数用几条线同时进行传输。 特点: 优点:传输速度快,信息率高 缺点:用电缆多,不适应远距离传输

  48. 数据输入 准备好 数据 数据输入 回答 RD# INTR 数据 数据输入过程 : 输入准备好 状态位 外设 CPU 8255

  49. 数据输出 回答 数据 数据输出 准备好 WR# INTR 数据 数据输出过程 : 输出准备好 状态位 外设 CPU 8255

More Related