微机第6章 输入输出技术_第1页
微机第6章 输入输出技术_第2页
微机第6章 输入输出技术_第3页
微机第6章 输入输出技术_第4页
微机第6章 输入输出技术_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

第6章输入/输出技术2024/1/142本章内容1输入/输出接口2输入/输出的控制方式3DMA控制器8237A及应用4微计算机功能扩展及总线标准2024/1/1436.1输入/输出接口6.1.1接口电路的作用6.1.2接口电路中的信息6.1.3接口电路的组成6.1.4I/O端口的编址方法6.1输入/输出接口2024/1/1446.1.1接口电路的作用6.1.1接口电路的作用信号类型不匹配(A/D,D/A)速度不匹配(CPU速度,外设接口速度)传输方式不匹配(串行,并行)

计算机

外设I/O接口键盘,鼠标,CRT,打印机,绘图仪…开关、传感器,执行机构…I/O接口电路作用:对CPU与外设间的工作进行协调,以进行信息交换6.1输入/输出接口2024/1/1456.1.2接口电路中的信息6.1.2接口电路中的信息I/O电路中的信息:数据信息、状态信息及控制信息数据信息

CPU与外设之间要交换的数据本身,存放在I/O电路的数据寄存器中。有3种形式的数据信息数字量按一定的编码标准(二进制,ASCII码)由若干位组合所表示的数或字符。如键盘、CRT、打印机等设备与CPU交换的信息。模拟量现场信息(如温度、压力、流量、位移等非电量)经过传感器而转换成电量(电压、电流)模拟量经过A/D、D/A转换器在CPU与外设间交换。开关量一位2状态信息:0、1。如开关的断开与闭合;控制电机的启、停等。通常开关量要经过相应的电平转换才能与计算机连接。6.1输入/输出接口2024/1/1466.1.2接口电路中的信息状态信息为保证速度匹配,用来表征外设的工作状态对输入接口,

外设是否准备好发送数据,“READY”准备好?对输出接口,外设是否准备好接收数据,“BUSY”外设忙吗?存放在I/O电路的状态寄存器中,长度不定。控制信息

CPU发出的控制外设工作的命令,存放在控制寄存器中CPU通过接口发出用来控制外设能否进入数据交换工作状态如A/D转换器的启/停信号,设置外设的工作模式等。6.1输入/输出接口2024/1/147

接外设一侧接CPU一侧接口6.1.3接口电路的组成6.1输入/输出接口CPU外设

总线驱动DB控制逻辑CB地址译码AB数据信息数据寄存器状态信息状态寄存器控制信息控制寄存器实现对CPU数据总线速度和驱动能力的匹配实现各寄存器端口寻址操作

实现接口电路中的各寄存器端口的读/写操作和时序控制数据输入缓冲器:外设→CPU数据输出缓冲器:CPU→外设保存外设的当前状态信息,供CPU查询接收存放CPU发来的控制命令(控制字)及其他信息端口端口可由程序进行读写,类似存储单元,分配唯一的地址码2024/1/1486.1.3接口电路的组成6.1.3接口电路的组成接口(interface)与端口(port):接口:CPU与外设进行数据交换的电路的总称。端口:传送数据、状态、控制这三种信息的接口电路中的寄存器称为数据、状态和控制端口。不同的寄存器有不同的端口地址,即用地址来访问。关系:接口由若干个端口加上相应的控制逻辑组成,地址不是对接口而言。端口由一个或多个寄存器组成。每个端口有唯一地址。6.1输入/输出接口2024/1/1496.1.4I/O端口的编址方法I/O端口编址方式存储器映像方式、I/O独立编址方式存储器映像方式指I/O端口与存储器共享一个寻址空间,又称为统一编址。在这种系统中,CPU可以用同样的指令对I/O端口和存储器单元的进行访问。优点:对I/O口的访问灵活方便,有利于提高端口数据的处理能力。缺点:I/O端口占用了主存地址,相对减少了主存的可用范围。6.1输入/输出接口优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访问内存和访问外设)内存部分I/O部分存储空间0FFFFF2024/1/14116.1.4I/O端口的编址方法I/O独立编址指主存地址空间和I/O端口地址空间相互独立,分别编址。CPU通过不同指令来区分是访问I/O端口还是存储单元。优点:主存和I/O端口的地址可用范围都比较大;缺点:I/O指令的功能一般比较弱,在I/O操作中必须借助CPU的寄存器进行中转。6.1输入/输出接口2024/1/14126.1.4I/O端口的编址方法80X86系列微处理器采用独立I/O编址方式CPU通过M/IO来区分对MEM还是对I/O操作。对存储器寻址,该信号线输出低电平。对I/O端口寻址,该信号线输出高电平。CPU使用地址总线中的A0-A15来寻址I/O口,A16-A19为0,故最大I/O空间是64K个字节端口(或32K个字端口)寻址方式直接寻址方式寻址外设,可寻址256个端口,A0~A7译码。DX间接方式寻址外设,端口地址是16位的,用A15~A0译码。6.1输入/输出接口2024/1/14136.1.4I/O端口的编址方法I/O端口地址选用的原则自行设计接口电路或给微机系统添加接口卡时,必须避免端口地址发生冲突。声明保留的地址(0F8H~0FFH),不要使用。IBMPC/XT扩展总线上用A9~A0作为外设端口译码(部分译码方式),共可寻址210=1K个端口。当A9=0时,寻址主机板上的512个端口;当A9=1时,寻址I/0卡上的512个端口。用户可使用300H-31FH地址。6.1输入/输出接口2024/1/14146.1.4I/O端口的编址方法I/O接口的访问控制每个端口分配唯一的端口地址。端口读写控制的关键:由译码器产生片选信号外,还必须将读/写控制信号(RD、WR、M/IO)参加接口电路的选通或控制。I/O端口的地址译码将来自地址总线上的地址翻译成为所需要访问端口的选通信号I/O端口地址译码电路结构

接口电路(芯片)寻址:高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口电路的片选信号CS,实现系统中的。

片内端口寻址:低位地址线直接接到I/O接口电路(芯片)的地址引脚,进行I/O接口芯片内的端口寻址。

端口的读写控制:输入需要缓冲,输出需要锁存6.1输入/输出接口I/O端口单独编址优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富内存空间I/O空间FFFFF0FFFF080x86采用I/O端口独立编址补充:8088/8086的输入输出指令输入指令INAL,i8/DX ;字节输入INAX,i8/DX ;字输入输出指令OUTi8/DX,AL ;字节输出OUTi8/DX ;字输出功能演示功能演示2024/1/14176.2输入/输出的控制方式CPU与外设之间数据交换的控制方式程序控制的输入和输出中断控制的输入和输出直接存储器存取(DMA)6.2输入/输出的控制方式2024/1/14186.2.1程序控制方式程序控制方式靠程序来控制CPU与外设之间实现同步而实现数据交换二种具体方式无条件传送查询传送无条件传送传送方式:CPU与外设同步操作(外设始终是准备好的),无需查询外设状态而直接进行输入输出。接口特点:

简单,适用于慢速外设(CPU认为需要时,随时与外设交换数据)。如:LED(输出),乒乓开关(输入)6.2输入/输出的控制方式2024/1/1419INAL,DX

;地址DX有效(相应片选信号有效),

RD=0,M/IO=0(IOR=0)6.2.1程序控制方式微处理器系统外部输入设备A0B0A1B1A2B2A3B3A4B4A5B5A6B6A7B7OEDIR234567891817161514131211119译码片选IORDIR=1,A→BDIR=0,B→A74LS2456.2输入/输出的控制方式无条件传送

CPU的DB←I/O接口(输入缓冲器)←外设

CPU的DB→I/O接口(输出锁存器)→外设2024/1/1420OUTDX,AL

;地址DX有效(相应片选信号有效),

WR=0,M/IO=0(IOW=0)6.2.1程序控制方式微处理器系统外部输出设备D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7CLKCLR34781314171825691215161974LS37311译码片选IOW74LS32+5V16.2输入/输出的控制方式无条件传送

CPU的DB←I/O接口(输入缓冲器)←外设

CPU的DB→I/O接口(输出锁存器)→外设1.无条件传送方式及其接口在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送适合于简单设备,如LED数码管、按键/按纽等无条件传送的接口和操作均十分简单这种传送有前提:外设必须随时处于就绪状态无条件传送:输入输出接口K7K1K0+5VD0~D7A0~A15CLKLS06反相驱动器LS2738D锁存器LS244三态缓冲器8000H译码+5VLED0LED7…-G-IOW-IORnext: movdx,8000h ;DX指向数据端口

inal,dx

;从输入端口读开关状态

notal ;反相

outdx,al

;送输出端口显示

calldelay ;调子程序延时

jmpnext ;重复无条件传送2024/1/14246.2.1程序控制方式查询传送一种CPU主动、外设被动的I/O操作方式输出:CPU查询“外设BUSY?”,不忙则输出。输入:CPU查询“外设数据READY?”,准备好则读入。接口特点:避免了对端口的“盲读”、“盲写”,数据传送的可靠性高,硬件接口相对简单。缺点:CPU工作效率低,I/O响应速度慢;6.2输入/输出的控制方式2024/1/14256.2.1程序控制方式查询传送

外设要求:包括状态端口和数据端口在有多个外设的系统中,CPU的查询顺序由外设的优先级确定(P247例6-6)查询控制的程序流程6.2输入/输出的控制方式状态端口复位读/写数据端口YNREADY?读取状态端口2024/1/1426程序查询方式的输入接口电路数据缓冲器(输入端口)状态缓冲器(输入端口)输入设备数据端口读选通状态端口读选通DB(数据、状态)锁存器输入数据输入选通RQD+5V①②④6.2.1程序控制方式6.2输入/输出的控制方式查询传送READYD0③⑤2024/1/1427程序查询方式输出接口电路③⑥⑤输出选通数据锁存器(输出端口)状态缓冲器(输入端口)输出设备RQD+5VDB(数据、状态)BUSY(1bit)ACK状态端口读选通数据端口写选通①②6.2.1程序控制方式6.2输入/输出的控制方式查询传送④2024/1/14288086CPU04H02H03HA/D转换器多路开关数据端口读选通A0D7D4D0D2D1A7状态端口读选通控制端口写选通6.2.1程序控制方式6.2输入/输出的控制方式查询方式数据采集系统P245例6-4READY2024/1/14296.2.1程序控制方式

DSTOR DB8DUP(?)START: MOV DL,11111000B MOV DI,OFFSETDSTOR

CLDAGAIN: MOV AL,DL AND AL,11101111B;AL=11101000B

OUT 04H,AL

;输出控制命令到控制端口

CALL DELAY MOV AL,DL ;AL=11111000B

OUT 04H,AL

;输出控制命令到控制端口POLL: IN AL,03H

;读状态端口

SHL AL,1 JNC POLLIN AL,02H

;读入数据端口STOSBINC DLJNE AGAIN输出A/D转换命令选择输入模拟量检查是否已经完成A/D转换保存数据修改输入模拟量6.2输入/输出的控制方式读入A/D转换数据选择输入模拟量2024/1/14306.2.2中断控制方式6.2输入/输出的控制方式

6.2.2中断控制方式CPU被动而外设主动的I/O操作方式较大提高了CPU工作效率,并使系统具有了实时处理功能中断工作过程外设需要CPU服务时外设→I/O接口→向CPU发中断请求,INTR=H

(中断请求有效)CPU执行完当前指令后,(注:若IF=1)CPU→I/O接口→向外设发中断响应,INTA=LCPU执行中断服务程序,CPU←→I/O接口←→外设读写数据中断方式下CPU执行程序流程发申请中断服务程序外设主程序2024/1/14316.2.2中断控制方式6.2输入/输出的控制方式中断传送方式的特点CPU和外设大部分时间处在并行工作状态只在CPU响应外设中断申请后,进入数据传送的过程。中断传送方式提高了CPU的效率。接口特点:避免了CPU反复低效率的查询,适用于CPU任务繁忙、而数据传送不太频繁的系统中。缺点:

硬件电路(中断控制芯片)和处理过程都比较复杂2024/1/14326.2.3直接存储器存取(DMA)控制方式6.2输入/输出的控制方式

6.2.3直接存储器存取(DMA)控制方式中断方式不足:虽提高了CPU的效率,但仍然是通过CPU执行程序来实现数据传送。中断响应和处理需要消耗CPU一定时间。DMA方式:外设与内存间直接传送数据。DMA的速度取决于MEM的工作速度。早期DMA仅限于外设内存间,随着大规模集成电路技术的发展,还可在外设外设间,内存内存间进行DMA传送。DMA特点:传输过程不需要CPU;数据传输速度快,适合大批量数据传输缺点:增加了硬件复杂性和成本;可能影响中断响应处理2024/1/1433

DMA

传送过程CPUDMAC内存外设总线响应总线请求DMA请求DMA响应发送存储器地址传送数据传送结束修改地址并计数DMA结束流程图6.2.3直接存储器存取(DMA)控制方式6.2输入/输出的控制方式DMA时,CPU让出总线(如AB、DB、IO/M、RD、WR等)由DMA控制器(DMAC)接管后,用DMA方式的工作过程为:①

初始化:CPU设置DMAC的工作方式,将存贮区首址、传送字节数

DMAC的内部Reg。②

请求:外设向DMAC发出DMA请求,DMAC向CPU发出HOLD信号。③CPU接收到HOLD信号后,在现行的机器周期结束后发出HLDA信号,暂停正在执行的程序,且放弃对三总线的控制。④

DMAC回应外设,表示响应该请求⑤DMAC向存贮器送存贮单元地址,并分别向外设及内存送IOR及MEMW,完成一次字节传送。⑥数据块长度计数器减一,重复⑤,直到传送完毕。⑦DMA结束,撤消DMA请求(HOLD变低),CPU再次恢复对总线控制权。6.2.3可编程DMA控制器8237A6.2..3.18237A的内部结构6.2.3.28237A的外部引脚及其功能特性6.2.3.38237A内部寄存器及其作用返回本章首页6.2.3.18237A的内部结构其内部结构如图6.1所示。1.地址寄存器地址寄存器、基地址寄存器、当前地址寄存器

2.字节数寄存器字节数寄存器、基本字节寄存器、当前字节计数器图6.18237A的内部结构图返回本节6.2.3.28237A的外部引脚及其功能特性8237A的外部引脚共有40个,如图6.2所示。各引脚功能特性如下:CLK:时钟频率,为输入信号。它控制DMA数据传送的速率及8237A内部操作的定时。CS:片选信号,为输入信号。低电平有效。RESET:复位信号,为输入信号,高电平有效。READY:准备就绪信号,为输入信号,高电平有效。ADSTB:地址选通信号,为输出信号,高电平有效。AEN:地址允许信号,为输出信号,高电平有效。MEMR:寄存器读信号,为输出信号,低电平有效。当此信号有效时,被选中的寄存器单元的内容被读到数据总线上。MEMW:寄存器写信号,为输出信号,低电平有效。当此信号为低电平时,数据总线上的内容被写入被选中的寄存器单元。IOR:I/O设备读信号,为双向信号,低电平有效。IOW:I/O设备写信号,双向信号,低电平有效。EOP:DMA传输结束信号,双向信号,低电平有效。DREQ:DMA请求信号,属输入信号,高电平有效。DACK:DMA响应信号,属于输出信号,高电平有效。HRQ:总线请求信号,属于输出信号,高电平有效。HLDA:总线响应信号,属于输入信号,高电平有效A7~A4:高4位地址线,双向信号在进行DMA传输时提供高4位地址。A3~A0:低4位地址线,双向信号。DB7~DB0:8位双向数据线。图6.28237A引脚功能图返回本节6.2.3.38237A内部寄存器及其作用1.工作方式(1)单字节传输方式(2)块传输方式(3)请求传输方式(4)级连传输方式2.方式寄存器8237A的方式寄存器格式如下:其中各位说明如下:D7D6:工作方式选择。可以在四种工作方式中任选一种,见表4.1。表6.1工作方式选择逻辑D5:地址寄存增减方式选择。

D4:DMA自动预置功能选择。D3D2:数据传输类型选择。其含义如表4.2所示。D1D0:通道选择。它用来选择四个通道。其选择如表4.3所示。表6.2DMA数据传输类型选择3.控制存储器

表6.3通道选择D7:DMA响应位D6:DMA请求位D5:扩展写信号位D4:优先级管理D3:时序选择位D2:允许操作位D0:存储器间数据传输允许位各数据位说明如下:4.状态寄存器状态寄存器的格式如下:5.请求寄存器其格式如下:各位的含义如下:D7~D3:未定义。D2:DMA请求标志位。D1~D0:通道选择位。如表4.4所示。D1D0功

能00011011选择0通道选择1通道选择2通道选择3通道表6.4通道选择标志位6.屏蔽寄存器其格式如下:各位的含义如下:D7~D3:未定义。D2:DMA屏蔽设置位。D1~D0:通道选择位。如表4.5所示。DMA屏蔽标志是通过往屏蔽寄存器中写入屏蔽字节来进行设置的。表6.5通道屏蔽选择D1D0功

能00选择0通道01选择1通道10选择2通道11选择3通道8237A也可以用综合屏蔽命令来设置通道的屏蔽触发器,其格式如下:7.先/后触发器先/后触发器是为控制DMA通道中地址寄存器和字节计数器的初值而设置的,先/后触发器就用来控制这两次传输数据的次序的。8.8237A各寄存器的端口地址表6.68237A操作端口地址与命令一览表返回本节6.38237ADMA可编程控制在微机系统中的应用6.2.3.3.18237A的编程及其应用6.2.3.3.2编程实例6.2.3.3.38237ADMA可编程控制与微机系统的接口电路返回本章首页11.3.18237A的编程及其应用1.DMA的系统结构及主要性能图6.3DMA系统逻辑结构示意图表6.7PC/AT微机DMA系统的基本性能2.8237A编程(1)初始化通道方式寄存器。(2)预置该通道的基地址和当前地址寄存器(低16位)与页面寄存器(高4位或高8位)。(3)求传输的字节数,将其值减1并预置该通道的基地址及当前字节(或字节计数器)。(4)判断传输的数据量是否已经超出边界,若出界则返回错误代码。(5)开放通道,并允许DREQ请求。返回本节6.2.3.3.3.2编程实例(1)初始化通道方式寄存器。(2)预置该通道的基地址和当前地址寄存器与页面寄存器。(3)求传输的字节数,将其值减1并预置该通道的基地址及当前字节。(4)判断传输的数据量是否已经超出边界,若出界则返回错误代码。(5)开放通道,并允许DREQ请求。;初始化通道2;入口参数:AL=DMA方式字节;读盘(DMA写)=046H;写盘(DMA读)=04AH;DH=传输的扇区数;ES:BX=RAM缓冲区首地址;定义要使用的符号DMAEQU0;第0片DMA通道端口下面为PC/AT机的软盘驱动器与存储器RAM之间进行数据交换的实例。DMA1EQU0C0H;第1片DMA通道端口DAM08EUQ08;第0片DMA命令寄存器地址DMA18EUQ0D0H;第1片DMA命令寄存器地址D—SETPROCNEAR;DMA初始化过程

PUSHCX ;保存CX寄存器

CLI ;关中断OUTDMA+12,AL;清除先/后触发器JMPSHORT$+2;满足DMA的I/O定时要求;初始化方式寄存OUTDMA+11,AL;写方式寄存MOVAX,ES;取寄存器RAM段地址MOVCL,4;ROLAX,CL;循环左移4MOVCH,AL;高4位保存在CHANDAL,0F0H;取低落6位地址ADDAX,BXJNCJ1INCCH;有进位加到高4位地址;初始化地址寄存器和页面寄存器J1:PUSHAX;保存16位地

温馨提示

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

评论

0/150

提交评论