第六章微型计算机和外设的数据传输.ppt_第1页
第六章微型计算机和外设的数据传输.ppt_第2页
第六章微型计算机和外设的数据传输.ppt_第3页
第六章微型计算机和外设的数据传输.ppt_第4页
第六章微型计算机和外设的数据传输.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第六章 微型计算机和外设的数据传输,.1 接口技术的基本概念 .2 I/O端口编址方式 .3 I/O端口地址分配 .4 I/O端口地址译码 .5 I/O程序传送方式,2,.1 接口技术的基本概念,一、 接口的概念和功能 二、 接口电路的典型结构 三、 外部设备特点 四、 I/O接口和 I/O端口,3,一、 接口的概念和功能,1、接口和接口技术 2、为什么要用接口电路?,4,1、接口和接口技术,5,6,外设是用来实现人机交互的一些机电设备。 外设处理信息的类型、速度、通信方式与CPU不匹配, 不能直接挂在总线上,必须通过接口和系统相连,2、为什么要用接口电路?,7,二、接口电路的典型结构,从

2、编程角度看,接口内部主要包括一个或多个 CPU可以进行读/写操作的寄存器,又称为I/O端口。 各I/O端口由端口地址区分。,8,按存放信息的不同,I/O端口可分为三种类型 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息, 控制外设或接口的工作方式。,1001 0101 (状态端口),0110 1010 (数据端口),1100 0110 (控制端口),地址 译码,数据 缓冲,控制 电路,外 设,AB,DB,CB,C P U,9,CPU对外设输入/输出的控制, 是通过对接口电路中各I/O端口的读/写操作完成。,10,

3、三、外部设备特点,由以上特点,对I / O 部分设计必须考虑两个问题: A 外设如何与CPU连接-必须通过I/O接口. B CPU如何寻址相应的I / O 设备-通过寻址与设备对应的I/O端口.,(1)品种繁多。 (2)工作速度一般比CPU慢,且速度的分布也相当宽。 (3)信号类型与电平种类多样化。 (4)信息结构形式复杂。,11,四、 I/O接口和 I/O端口,1.I/O接口 (1) I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成.它是CPU和I/O设备之间交换信息的媒介和桥梁.,(2)I/O接口的基本功能为: 进行端口地址译码设备选择

4、向CPU提供I/O设备的状态信息和进行命令译码 进行定时和相应时序控制。 对传送数据提供缓冲,以消除计算机与外设在“定时” 或数据处理速度上的差异。 提供计算机与外设间有关信息格式的相容性变换。 提供有关电气的适配 还可以中断方式实现CPU与外设之间信息的交换,12,(3)CPU与I / O之间的接口信号,数字:如二进制表示的字母.BCD码.ASC2码或字符。,开关量:一些两个状态的量。,状态信号:表示I/O装置状态的量。,控制信号:如CPU发出的R/W信号和从外设发来的中断信号等。,CPU,I / O 设置,数据,状态,控制,13,对CPU来说,外设状态信息须作为数据输入,而其控制命令作为数

5、据输出,为使它们与数据相互区别-这三者必须从各自端口出入。,14,2. I/O端口 是 I/O接口中可通过编程实现寻址并进行读写的寄存器。CPU 与外设之间交换信息具体是通过I/O端口来进行的。 即 端口 寄存器,注意:1.一个外设与CPU交换信息往往需要几个端口: 数据端口 控制端口 状态端口,有时可以合用,15,2.在微机系统中,每个端口 分配有唯一的地址码,称之为端口地址。 3.CPU对外设的访问实际上是通过对I/O端口的访问来实现的-因为端口与设备是一一对应的关系 4.I/O通道也就是可以传送和暂存数据的实际通路,所以 I/O端口有时也称作I/O通道。,16,CPU与外设通过I/O接口

6、通信示意图:,17, 5.2 I/O端口编址方式,一、 存储器映象I/O寻址 二、 独立I / O 的寻址方式 三、 80X86的I/O指令,18,一、 存储器映象I/O寻址 1. 基本结构 从存储器空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。,19,2.特点 (1) 主存单元与I/O端口一起编址。 (2) 据地址区分访问是I/O端口还是主存。 (3) 系统中可以不设I/O指令。 3.优缺点 (1)指令兼容性,存储器指令也可用于I/O数据。 (2)I/O接口有较大的编址空间。 (3)I/O部分的控制逻辑比较简单。 但是,其指令功能

7、不强,且处理机芯片有额外的对I/O进行操作的控制引脚。,20,二、独立I / O 的寻址方式,1. 特点 (1) 主存单元与I/O端口分开寻址 (2) 设置I/O指令 (3) 指明是访问I/O端口,还是主存单元? 2. 基本结构: 略 3. 优缺点: (1) 独立的控制结构,使其可与存储器分开进行设计。,21,但是,其指令功能不强,且处理机芯片有额外的对I/O进行操作的控制引脚。,(2) 单独的I/O指令,可与访问存储器的指令区分。 (3) 指令地址较短,所需译码硬件较少。 (4) 指令格式较短,执行时间也短。,22,三、 80X86的I/O指令,1. 输入指令 IN IN AL , n IN

8、 AX , n IN AL , DX IN AX , DX 2. 输出指令 OUT OUT N , AL/AX; OUT DX ,AL/AX; 说明: 两种指令均可传送一个字节或字,且只能通过AL或者AX传送。 如:IN指令中的目的操作数必须是AL(字节传送)或AX(字传送),23,四、独立编址方式的端口访问 1. I/O指令中端口地址的宽度 IBM-PC系列采用I/O(input/output)指令访问端口,实现数据的I/O传送。,在I/O指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作业端口地址,则最多可访问256个端口。其指令格式为: IN AL,PORT ;输入 OUT P

9、ORT,AL ;输出 这里,PORT是一个8位的字节地址。,例如: IN AL,60H ;60H为系统板8255A的PA端口地址 OUT 61H,AL ;61H为系统板8255A的PB端口地址,24,双字节地址作为端口地址,则最多可寻址216=64K个端口。 MOV DX, H IN AL, DX ;8位传送 MOV DX, H OUT DX,AL ;8位传送 这里, H 为16位的两字节地址。,例如: MOV DX,300H ;300H为扩展板8255A的PA端口 IN AL,DX MOV DX,301H ; 301H为扩展板8255A的PB端口 OUT DX,AL,25,2. I/O端口访

10、问 所谓对端口的访问就是CPU对端口的读/写。将端口的数据传送存储器 例如: 输入时 MOV DX,300H ;I/O端口 IN AL, DX ;从端口读数据到AL MOV DI,AL ;将数据从AL存储器 输出时 MOV DX,301H ;I/O端口 MOV AL,SI ;从内存取数到AL OUT DX,AL ;数据从AL端口,26,.3 I/O端口地址分配,一、I/O接口硬件分类 二、I/O端口地址分配 三、I/O端口地址选用的原则,27,一、I/O接口硬件分类 I/O接口的硬件分成两类: 1.系统板上的I/O芯片 如定时/计数器、中断控制器、DMA控制器、并行接口等。 2. I/O扩展槽

11、上的接口控制卡 如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。,28,二、I/O端口地址分配 PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。 PC微机I/O地址线可有16根,对应的I/O端口编址可达64K字节,其端口地址译码是采用部分译码法,即只使用了低10位地址线一个A0A9,故其I/0端口地址范围是0000H003FFH,总共只有1024个端口。,29,表1 系统板上接口芯片的端口地址 I/O芯片名称 端口地址 DMA控制器1 00001FH DMA控制器2 0C00DFH DMA页面寄存器 08009FH 中断控制器1 02003FH 中断控制器2 0A00BF

12、H 定时器 04005FH 并行接口芯片(键盘接口) 06006FH RT/CMOS RAM 07007FH 协处理器 0F00FFH,30,表2 扩展槽上接口控制卡的端口地址 I/0接口名称 端口地址 游戏控制卡 20020FH 并行口控制卡1 37037FH 并行口控制卡2 27027FH 串行口控制卡1 3F83FFH 串行口控制卡2 2F02FFH 原型插件板(用户可用) 30031FH 同步通信卡1 3A03AFH 同步通信卡2 38038FH 单显MDA 3B03BFH 彩显CGA 3D03DFH 彩显EGG/VGA 3C03CFH 硬驱控制卡 1F01FFH 软驱控制卡 3F03

13、F7H PC网卡 36036FH,31,三、I/O端口地址选用的原则 凡是被系统配置占用了的地址一律不能使用; 未被占用的地址,用户可以使用,但申明保留的地址,不要使用。 用户可使用300H31FH地址。,32,.4 I/O端口地址译码,一、I/O地址译码电路工作原理及作用 二、I/O地址译码方法 三、I/O端口地址译码电路设计,33,一、I/O地址译码电路工作原理及作用 译码电路的输入信号 I/O地址译码电路不仅仅与地址信号有关,而且与控制信号有关。 二、I/O地址译码方法 高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片CS的片选。 低位地址线不参加译码,直接连到I/O接

14、口芯片,进行I/O接口芯片的片内端口寻址,即寄存器寻址。,34,三、I/O端口地址译码电路设计 1.固定式端口地址译码 固定式是指接口中用到的端口地址不能更改。 例1:使用74LS20/30/32和74LS04设计I/O端口地址为2F8H的只读译码电路。 分析:若要产生2F8H端口地址,则译码电路的输入地址线就应具有如下所示的 值。 译码电路输入地址线的值 地址线 0 0 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 二进制 0 0 1 0 1 1 1 1 1 0 0 0 十六进制 2 F 8,35,译码电路输入: 地址线:10根,地址值:2F8H A9A0=1011111000

15、B 控制线:AEN=0 IOR=0 译码电路输出:Y=0 为译码选中。,/AEN是总线选通信号,36,37,当执行指令: MOV DX,2F8H I N AL,DX 时, Y=0 ,对应端口被选中,38,2.可选式端口地址译码-即 采用比较器设计可选址的译码电路,地址线:A1A0不参加译码。 A4A3A2输入组合使74LS138译码器输出八个片选信号。 A5=0,A9A8A7A6采用比较器和跳线开关变址。 比较器为74LS85,A0A1A2A3和B0B1B2B3为待比较的数据。 输入“A=B”为高选择相等比较。 输出“A=B”为1输入两组数据相等,否则 输入两组数据不相等。,39,40,一、无

16、条件传送方式 二、有条件传送方式 三、中断传送方式 四、DMA传送方式, 5.5 I/O程序传送方式,41,无条件程序控制方式(一),最简单的I/O控制方式,CPU可以随时根据需要无条件地读写I/O端口 外设要求:简单,数据变化缓慢,操作时间固定,如一组开关或LED显示管。外设被认为始终处于就绪状态 接口特点 CPU的DBI/O接口(输出锁存器)外设 CPU的DBI/O接口(输入缓冲器)外设,41,42,无条件程序控制方式(二),42,43,无条件程序控制方式(三),例 START: MOV DX,INPORT IN AL,DX;读入按键状态 TEST AL,01H;判断最低位按键 JNZ K

17、1;最低位按键没闭合,转 MOVAL,01H;最低位发光 JMPDISP K1:TEST AL,02H; JNZ K2;次低位按键没闭合,转 MOVAL,03H;最低2位发光 JMPDISP .,DISP: MOV DX,OUTPORT OUT DX,AL; JMP START,43,44,程序查询输入方式(条件传送方式 ),接口特点:避免了对端口的“盲读”、“盲写” ,数据传送的可靠性高,并且硬件接口相对简单。缺点是CPU工作效率低,I/O响应速度慢;,外设要求:状态口和数据口,在有多个外设的系统中,CPU的查询顺序由外设的优先级确定,一种CPU主动、外设被动的I/O操作方式,很好地解决了C

18、PU与外设之间的同步问题,44,45,查询控制的程序流程,45,46,程序查询方式的输入接口电路,46,47,数据端口(8位),状态端口(1位),状态信息占用数据线的D0位,查询程序如下: QUERY:IN AL,S_PORT;状态口地址SAR AL,1JNCQUERYINAL,D_PORT;D_PORT是数据口地址,查询输入程序,47,48,查询方式的A/D采样,WAIT:IN AL,51H;读状态端口的值 TESTAL,10H;判断D4是否为1? JZ WAIT;不是1,等待 IN AL,50H;读数据端口的值 MOVBUF,AL;将数据送到数据缓冲单元,48,49,程序查询输出方式,49

19、,50,数据端口(8位),状态端口(1位),BUSY,输入状态信息,BUSY?,输出数据信息,N,Y,QUERY:INAL,S_PORT;状态口地址 SARAL,1 JCQUERYOUT D_PORT,AL;D_PORT数据口地址,查询输出程序,50,51,查询方式的打印机接口,WAIT:IN 7AH,AL;读状态端口 TEST AL,04H;判断D2是否为0? JNZ WAIT;不是0,等待 MOV AL,BUF;取数据 OUT 78H,AL;将数据送到打印机接口,51,52,多个外设的查询,CPU周期性地依次查询每个外设的状态 优先权决定了查询次序 不具有实时性,52,53,中断控制方式,

20、接口特点:避免了CPU 反复低效率的查询,适用于CPU任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;(中断控制芯片),CPU被动而外设主动的I/O操作方式,较大地提高了CPU的工作效率,并使系统具有了实时处理功能,53,54,中断控制方式,数据缓冲,控制端口,外 设,INTR,中断可被响应的条件: 中断请求触发器置位;中断屏蔽触发器清零;CPU内部开放中断;CPU未处理更高级中断;CPU现行指令执行完,54,55,中断工作过程,外设需要CPU服务时 外设I/O接口向CPU发中断请求,INTR=H(中断请求有效) CPU执行完当前指令后, (注: 若IF = 1) C

21、PU I/O接口 外设发中断响应,/INTA = L CPU执行中断服务程序, CPUI/O接口外设读写数据,55,56,DMA控制方式(存储器直接存取),内存与外设间有大量数据交换时,采用中断方式,每传送一次数据,就必须经历中断处理的全部步骤,而且一般需要借助CPU内部的寄存器作为中介 DMA方式:不用CPU的寄存器作传数中介, 完成存储器和外设间的直接传数,CPU必须将系统总线的控制权让给DMAC,56,57,DMA方式原理方框图,DB HOLD CPU HLDA AB,DMAC,MEM,I/O,57,58,DMA的工作流程,DMAC发存储器地址,在总线上传送数据,传送结束?,修改地址指针

22、,DMA结束,交还总线权,Y,N,58,59,能实现上述操作的DMA控制器的硬件方框图下如图所示。,60,随着大规模集成电路技术的发展,DMA传送已不局限于存储器与外设间的信息交换,而可以扩展为在存储器的两个区域之间,或两种高速外设之间进行DMA传送,如右图所示。,61,DMA操作的基本方法,(1). 周期挪用 (Cycle Stealing) 利用CPU不访问存储器的那些周期来实现DMA操作。此时,DMAC可以使用总线而不通知CPU也不会妨碍CPU的工作。但关键是如何识别CPU可挪用的周期,以免与CPU的操作发生冲突。某些CPU能产生一个表示存储器是否正在被使用的信号(M6800的VMA)。 特点:不影响不减慢CPU的操作; 需要复杂的时序电路; 数据传送过程是不连续的和不规则的。,61,62,(2).周期扩展 当需要进行DMA操作时,由DMAC发出请求信号给专门的时钟电路,时钟电路将供给CPU的时钟周期加宽,而提供给存储器器和DMAC的时钟周期不变。CPU在加宽的时钟周期内操作不往下进行,而这加宽的时钟周期相当于若干个正常的时钟周期,用于进行DMA操作。加宽的时钟周期结束后,CPU仍按正常的时钟继续操作。 特点:降低了CPU的处理速度; 需要专门的时钟发生器/驱动电路; 数据一次只能传送一个字节。,62,63,(3).CPU停机 当需要进行DMA操作时,D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论