1 / 51

第 6 章

第 6 章. 第 6 章 输入输出和接口技术. 教学重点 接口与接口控制原理 I/O 端口地址的译码方法 数字通道接口及其应用 模拟通道接口. 6.1 接口基本概念. 为什么需要 I/O 接口(电路)? 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与 CPU 直接相连 必须经过中间电路再与系统相连 这部分电路被称为 I/O 接口电路. 多种外设. CPU. 接口 电路. I/O 设备. 6.1 接口基本概念 (续 1 ). 什么是 I/O 接口(电路)?

Download Presentation

第 6 章

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. 第 6 章

  2. 第6章 输入输出和接口技术 教学重点 接口与接口控制原理 I/O端口地址的译码方法 数字通道接口及其应用 模拟通道接口

  3. 6.1 接口基本概念 为什么需要I/O接口(电路)? • 微机的外部设备多种多样 • 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 • 它们不能与CPU直接相连 • 必须经过中间电路再与系统相连 • 这部分电路被称为I/O接口电路 多种外设

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

  5. 数据寄存器 I/O接口电路 数据总线DB CPU 外设 数据 地址总线AB 状态 控制总线CB 控制 状态寄存器 控制寄存器 6.1.2 I/O接口的典型结构 1. 接口电路的内部结构 2. 接口电路的外部特性 3. 接口电路芯片的分类 4. 接口电路的可编程性

  6. 1. 接口电路的内部结构 • CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: ⑴ 数据寄存器 • 保存外设给CPU和CPU发往外设的数据 ⑵ 状态寄存器 • 保存外设或接口电路的状态 ⑶ 控制寄存器 • 保存CPU给外设或接口电路的命令 理解端口

  7. 2. 接口电路的外部特性 • 主要体现在引脚上,分成两侧信号 面向CPU一侧的信号: • 用于与CPU连接 • 主要是数据、地址和控制信号 面向外设一侧的信号: • 用于与外设连接 • 提供的信号五花八门 • 功能定义、时序及有效电平等差异较大

  8. 3. 接口电路芯片的分类 • 接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片): • 通用接口芯片 • 支持通用的数据输入输出和控制的接口芯片 • 面向外设的专用接口芯片 • 针对某种外设设计、与该种外设接口 • 面向微机系统的专用接口芯片 • 与CPU和系统配套使用,以增强其总体功能

  9. 4. 接口电路的可编程性 • 许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种 • 接口需要进行物理连接,还需要编写接口软件 • 接口软件有两类: • 初始化程序段——设定芯片工作方式等 • 数据交换程序段——管理、控制、驱动外设,负责外设和系统间信息交换

  10. 6.1.3 接口控制原理 • 1. I/O数据的传送方式 • 并行 • 一个数据单位(通常为字节)的各位同时传送 • 速度快、距离短、成本高 • 例:PC机的并行接口(通常用于连接打印机) • 串行 • 数据按位进行传送 • 速度慢、距离远、成本低 • 例: PC机的串行接口(通常用于串行通信)

  11. 串行通信 • 串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传送的方式 • 串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本 • 串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送 • PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送

  12. 异步串行通信 • 串行通信时的数据、控制和状态信息都使用同一根信号线传送 • 收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题 • 串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议

  13. 字符 起始位 数据位 校验位 停止位 空闲位 … 1 0 1 1 1 高位 低位 0/1 0/1 0/1 0/1 起止式异步通信协议 • 起始位——每个字符开始传送的标志,起始位采用逻辑0电平 数据位——数据位紧跟着起始位传送。由5~8个二进制位组成,低位先传送 校验位——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位 停止位——表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位 空闲位——传送字符之间的逻辑1电平,表示没有进行传送

  14. 数据传输速率 • 数据传输速率也称比特率(Bit Rate) • 每秒传输的二进制位数bps • 字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数 • 当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(Baud Rate) • 过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps或更高

  15. 2. 数据传送方式 • 查询方式——通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送 • 中断方式--外设要与CPU传送数据时,向CPU发送请求,CPU响应后再传送数据 • 直接存储器存取(DMA)——传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送 • I/O处理机——CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理

  16. (1)无条件传送方式及其接口 • 在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送 • 适合于简单设备,如LED数码管、按键或按纽等 • 无条件传送的接口和操作均十分简单 • 这种传送有前提:外设必须随时就绪

  17. (2)查询传送方式及其接口 • CPU需要选了解(查询)外设的工作状态,然后在外设可以交换信息的情况下(就绪)实现数据输入或输出 • 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换 • 查询传送的特点是:工作可靠,适用面宽,但传送效率低 就绪?

  18. 输入状态 N 就绪? Y 数据交换 查询传送的两个环节 ⑴ 查询环节 • 寻址状态口 • 读取状态寄存器的标志位 • 若不就绪就继续查询,直至就绪 ⑵ 传送环节 • 寻址数据口 • 是输入,通过输入指令从数据端口读入数据 • 是输出,通过输出指令向数据端口输出数据 传送流程

  19. 主程序 中断服务程序 中断请求 对外设 进行处理 断点 继续执行 返回断点 (3) 中断传送方式 • CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序 传送流程

  20. 中断传送与接口 • 中断传送是一种效率更高的程序传送方式 • 进行传送的中断服务程序是预先设计好的 • 中断请求是外设随机向CPU提出的 • CPU对请求的检测是有规律的:一般是在每条指令的最后一个时钟周期采样中断请求输入引脚 • 中断除了在输入和输出方面的应用外,中断还有着非常广泛的应用

  21. (4)DMA传送方式 • 希望克服程序控制传送的不足: 外设→CPU→存储器 外设←CPU←存储器 • 直接存储器存取DMA: 外设→存储器 外设←存储器 • CPU释放总线,由DMA控制器管理

  22. DMA传送的工作过程 ⑴ CPU对DMA控制器进行初始化设置 ⑵ 外设、DMAC和CPU三者通过应答信号建立联系:CPU将总线交给DMAC控制 ⑶ DMA传送 • DMA读存储器:存储器 → 外设 • DMA写存储器:存储器 ← 外设 ⑷ 自动增减地址和计数,判断传送完成否 传送流程

  23. HLDA 发存储器地址 修改地址指针 传送数据 传送结束? DMA结束 DMA传送流程

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

  25. 6.1.4 接口控制信号 • 两类:总线控制信号、输入输出控制信号 总线控制信号:数据线、地址线、IOW*、IOR*等 输入输出控制信号:数据线、输入输出应答信号等 • 现代微机系统都是采用总线接口方式

  26. 6.2 I/O指令和I/O地址译码 • 微处理器进行I/O操作时完成两种选择:片选、字选; • 两种I/O接口结构:标准的I/O接口、存储器映射I/O结构。

  27. 6.2.1 I/O端口的编址 • 接口电路占用的I/O端口有两类编排形式 • I/O端口单独编址(标准的I/O接口) • I/O地址空间独立于存储地址空间 • 如8086/8088 • I/O端口与存储器统一编址(存储器映射I/O结构) • 它们共享一个地址空间 • 如M6800

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

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

  30. 6.2.2 8088/8086的输入输出指令 • 输入指令 IN AL,i8 ;字节输入 IN AX,DX ;字输入 • 输出指令 OUT i8,AL ;字节输出 OUT DX,AX ;字输出 功能演示 功能演示

  31. 控制总线:IOW有效、IOR无效、MEMR/MEMW无效、 AEN无效。 译 码 器:根据DX高位译码,Y2有效,其他Yx无效。 I/O指令与接口实现 执行CPU指令:MOV DX,42H OUT DX,8AH 地址总线:将42H写入A9~A0。 接口芯片:8253工作,其他接口芯片不工作。 接口电路:8253对应接口电路应答选中信号,8253根据DX低位选择相应的寄存器。 8253: 接受数据总线(D7~D0)数据(8AH),写入所选寄存器。

  32. 6.2.3 I/O地址的译码 • 因为对I /O端口的寻址与存贮器寻址相似,即必须进行片选和字选。所以其译码方法也相似。通常采用两级译码方法,译码地址的高位作为片选,以选择某一组(某一片 I /O)。低位组地址直接接到I /O接口芯片的地址输入端,以选择片内寄存器(即具体端口)或低位再译码,以选择多个寄存器。 • PC机的I /O端口地址译码只用低10位地址(A0~A9)。210 = 1024 个口地址,而实际上并未配上1K个外设端口,所以常采用部分译码法对10位地址的高位译码作为片选信号,片内对低位地址译码以选择具体寄存器端口。

  33. 1. 直接地址译码

  34. ALS138译码器 DMA控制器1(00H~1FH) 中断控制器1 (20H~3FH) 定时计数器(40H~5FH) 并行接口电路(60H~7FH) DMA页面寄存器(80H~9FH) 中断控制器2 (A0H~BFH) DMA控制器2 (C0H~DFH) 协处理器(E0H~FFH) A5 A6 A7 A8 A9 A B C G2A G2B G1 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 AEN A0~A4 接口芯片内部译码 IBM PC/AT主机板的I/O译码电路

  35. IBM PC/AT主机板的I/O译码(续) * 所有I /O译码必须有AEN(Address Enable 地址允许) 参与译码,此信号用来隔离处理器,其他装置与I /O通道,而使DMA传送得以进行。即AEN=1,DMA控制三总线,进行DMA传送。 在此AEN=1,即AEN=0开启I /O系统,并非DMA周期。 * 部分译码,如 y0DMA的CS , 地址000~01FH,而A3~A0 DMA的A3~A0端片内译码,而A4并未参与译码,所以地址有重叠。

  36. 以上都是直接利用低位AB线参与再次译码直接地址译码;实际应用中,当端口地址不够用时,可利用低位DB线参与再次译码间接端口地址译码;以选择多个I/O端口地址,如下面图 所示 。 这种电路可节省系统地址空间,但必须把地址作为DB输出寄存,所以多使用一条OUT指令输出DB做地址。即由 D1、D0及IOR、IOW译码8个I /O端口。

  37. 2. 间接地址译码

  38. 6.3 IBM PC的输入/输出系统 • 主机和外设交换数据即输入/输出;利用DOS系统功能INT 21H,和BIOS功能调用,可实现对各种标准外设的 输入/输出。此时,可不考虑输入/输出设备的 特性,也不必了解数据的 传送方式,只要按子程序的约定方法调用标准子程序即可。但实际应用上往往不全是标准的 接口设备,而是自行设计接口。此时则利用I/O指令实现输入/输出操作,则应了解内部细节,内部结构。

  39. PC机的输入/输出能力强,主要表现在其输入/输出的地址空间的分配和I/O通道的 设计上。 • PC系统结构可描述为: • 总线接口——即时序中的CPU系统,地址锁存器373,双向数据收发器245,总线控制器8288,产生系统三总线。 • I/O通道(扩展槽)——外设和主机连接的通道,每个槽均为62个插脚的插座,本质就是提供了系统总线——PC总线。用户开发接口,就是利用该总线。

  40. 1.系统I/O端口地址分配 • 本来8088的AB的低16位都可作为I/O端口地址, 216=64K个端口地址,但实际上PC设计中仅使用A9-A0低10位AB作为I/O端口地址, 210=1024个端口地址,即0~3FFH,但实际上PC系统已占用大部分地址,用户自己开发接口时,一定要避口已用地址,以免发生地址冲突。

  41. 设计前应了解系统I/O端口分配。详细分配查手册。具体机器有些区别。 大致: 000~ 1FFH( A9=0)512口地址为系统板占用。 (包括8237DMA控制器,8259中断控制器,8253定时/计数器,8258并行接口)。 200~3FFH( A9=1 ) 512个口地址为I/O扩展槽占用。 自行开发接口在此部分寻找空闲地址。

  42. 2. 系统总线 • PC机有极强的扩充能力,主要表现在其系统总线的设计上。系统总线是把微机各部分连接起来的公共通道。系统总线的性能直线关系到计算机的总体性能,系统总线也随着CPU的不断升级发展也在不断更新和发展。 • IBM PC机的I/O扩展槽的62个信号线,本质上就是系统总线PC总线,后修改为80286微机的系统总线,即PC AT总线,后定名为(16位)ISA总线,后继续发展为80386/80486的系统总线EISA总线(32位ISA总线)。 • ISA总线,结构简单,成本低,价格便宜,主要用于低速外设。随着高速外设的发展,92年都推出了PCI总线外部设备互连局部总线,它是介于CPU总线和系统总线之间的一级总线。它一则直接面向CPU总线,另一则面向系统总线。局部总线离CPU更近,所以通过它与CPU之间的数据传送速率大大加快。

  43. PCI总线传输速率高,多总线共存(通过 • PCI-ISA/EISA桥接组件芯片,将PCI总线与 • ISA/EISA总线桥接,构成一个分层次的多总线 • 系统),独立于CPU,自动识别与配置的外设。

  44. 3. I/O通道及总线信号 • 即I/O扩展槽,即有5个(PC机)或8个(XT机)62芯插座,它适用于未来的发展,便于扩展开发系统。连到插座上的即62个信号线PC系统总线。 • 用户自己开发接口,即插入此扩展槽即可。 • 62根信号线。注意:元件面为A面,A1~A31. 焊接面为B面,B1~B31. 可分为五类信号: ①地址总线: 20位地址。 ②数据总线 : 8位数据线。 ③控制总线:22根。 ④时钟与复位:3根。 ⑤地源与地线:8根+保留1根。 • 一般用户接口设计最常用的是:地址线﹑数据线﹑AEN(地址允许)、IOR﹑IOW﹑RESET﹑CLK﹑IRQ9(中断请求)、电源。

  45. 常见系统总线 图示 • 在微机发展和应用中出现了许多种内、外总线标准 • 第一个标准化的微机总线S-100总线 • 面向工业控制领域的STD总线 • 32位PC机上的ISA系统总线、EISA总线、VESA总线、PCI总线、USB总线等

  46. 4. 简易通用I/O接口保护卡 • 为了在PC系列微机上学习,扩展用户的接口,我们设计了一通用型接口保护卡。因为在实验中接口错误可能损坏主机。将简易保护口插入扩展槽,通过扁平电缆将系统三总线引到主机机箱的实验装 置即可实验。

  47. 保护卡由三部分组成: ①地址译码PS低有效。地址范围:380H~39FH。注意:IOR和IOW参与译码控制。 ②数据线隔离(由数据收发接收器245,由PS控制允许端G,PS为高则隔离;由IOR控制传送方向,IOR有效时,B→A(即输入),IOR无效时,A→B(即输出)。 ③部分地址与控制线隔离电路由三态缓冲器74LS244组成,它是单向传送A→Y,G为输出控制,8个三态门分成两组。因为地址线在此使用的控制线都是单向传送。 ④还直接引出+5V,地,CLK,共20个信号至实验板。

More Related