第5章微型计算机和外设的数据传输1第5章微型计算机和外设的数据传输第5章微型计算机和外设的数据传输2第5章微型计算机和外设的数据传送教学重点I/O接口电路的典型结构无条件传送方式查询传送方式中断工作过程第5章微型计算机和外设的数据传输3微型机和外设的数据传输5.1为什么要用I/O接口5.2CPU和I/O设备之间的信号5.3接口部件的I/O端口5.4接口的功能以及在系统中的连接5.5CPU和外设之间的数据传送方式第5章第5章微型计算机和外设的数据传输45.1为什么要用I/O接口5.1.1为什么要用I/O接口5.1.2什么是I/O接口5.1.3什么是微机接口技术第5章微型计算机和外设的数据传输55.1.1为什么要用I/O接口1、外设多种多样2、CPU与外设速度的匹配3、CPU与多个外设并行第5章微型计算机和外设的数据传输6微型计算机通过外设与外界之间的通信和交换数据称为输入/输出(I/O)5.1.1为什么要用I/O接口为什么需要I/O接口(电路)?微机的外部设备多种多样工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大它们不能与CPU直接相连必须经过中间电路再与系统相连这部分电路被称为I/O接口电路多种外设第5章微型计算机和外设的数据传输85.1.2什么是I/O接口1、CPU和外设之间的逻辑电路2、大规模集成电路芯片3、可编程芯片第5章微型计算机和外设的数据传输9什么是I/O接口(电路)?I/O接口是位于CPU(或系统总线)与外设间,用来进行速度和工作方式的匹配,并协助完成数据传送和控制任务的逻辑电路。PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路CPU接口电路I/O设备5.1.2什么是I/O接口第5章微型计算机和外设的数据传输105.1.3什么是微机接口技术1、硬件连接2、工作原理3、软件编程实现第5章微型计算机和外设的数据传输11什么是微机接口技术?处理微机系统与外设间联系的技术注意其软硬结合的特点根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支持和连接有关的设备5.1.3什么是微机接口技术第5章微型计算机和外设的数据传输125.2CPU和I/O设备之间的信号5.2.1数据信息5.2.2状态信息5.2.3控制信息第5章微型计算机和外设的数据传输13控制总线CB地址总线ABI/O接口电路数据控制状态数据总线DBCPU外设控制寄存器状态寄存器数据寄存器5.2.1数据信息第5章微型计算机和外设的数据传输145.2.1数据信息(Data)1、数字量2、模拟量3、开关量第5章微型计算机和外设的数据传输151、数字量•由键盘等输入设备读入的信息。•送给打印机、显示器等输出设备的信息。•与磁盘驱动器交换的信息。•是二进制形式或ASCII码表示。第5章微型计算机和外设的数据传输162、模拟量•当计算机用于控制时。•大量的现场信息经过传感器输入。•连续变化的物理量。•温度、湿度、压力•位移、速度、流量第5章微型计算机和外设的数据传输173、开关量•有两种状态的量:01•一位二进制即可表示。•电机的运转和停止•开关的闭合与断开•阀门的打开和关闭第5章微型计算机和外设的数据传输185.2.2状态信息(Status)1、外设的工作状态2、输入信息3、输入设备的状态4、输出设备的状态第5章微型计算机和外设的数据传输191、外设的工作状态•状态信息反映了外设的工作状态。•在接口芯片中有状态寄存器。•是通过接口输入到CPU的。第5章微型计算机和外设的数据传输202、输入信息从CPU看是输入信息。执行IN指令得到•经过外设送入接口。•存放在接口中的状态寄存器中。•经接口由数据总线送往CPU。第5章微型计算机和外设的数据传输213、输入设备的状态•在输入时:输入设备的数据是否准备好READY=1?•READY=0时:输入设备的数据未准备好READY=1时:输入设备的数据已经准备好第5章微型计算机和外设的数据传输224、输出设备的状态•在输出时:输出设备是否空闲BUSY=1?•READY=0时:输出设备不忙READY=1时:输出设备忙第5章微型计算机和外设的数据传输235.2.3控制信息(Control)1、由CPU送往外设2、输出信息3、经过DB到接口再到外设4、例子第5章微型计算机和外设的数据传输241、由CPU送往外设•是由CPU送出,最终到了外设。•执行OUT指令完成。第5章微型计算机和外设的数据传输252、输出信息•由CPU数据总线送出•当然是输出信息。第5章微型计算机和外设的数据传输263、经过DB到接口再到外设•OUTPORT,AL•PORT是接口中的寄存器,又叫端口。•在由接口的某根线到外设,实现控制。第5章微型计算机和外设的数据传输275.3接口部件的I/O端口5.3.1I/O端口5.3.2端口的编址第5章微型计算机和外设的数据传输285.3.1I/O端口1、三种端口2、对端口的理解第5章微型计算机和外设的数据传输295.3.1I/O端口CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:⑴数据寄存器保存外设给CPU和CPU发往外设的数据⑵状态寄存器保存外设或接口电路的状态⑶控制寄存器保存CPU给外设或接口电路的命令理解端口第5章微型计算机和外设的数据传输315.3.2端口的编址1、两种端口的编址2、统一编址3、单独编址第5章微型计算机和外设的数据传输325.3.2端口的编址接口电路的I/O端口有两类编址形式I/O端口单独编址I/O地址空间独立于存储地址空间如8086/8088I/O端口与存储器统一编址它们共享一个地址空间如M6800第5章微型计算机和外设的数据传输33I/O端口与存储器统一编址优点:不需要专门的I/O指令I/O数据存取与存储器数据存取一样灵活缺点:I/O端口要占去部分存储器地址空间程序不易阅读(不易分清访存和访问外设)内存部分I/O部分存储器空间00000FFFFF第5章微型计算机和外设的数据传输34I/O端口单独编址优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富内存空间I/O空间FFFFF0FFFF8086采用I/O端口单独编址第5章微型计算机和外设的数据传输35复习8088/8086的输入输出指令输入指令INAL,i8/DX;字节输入INAX,i8/DX;字输入输出指令OUTi8/DX,AL;字节输出OUTi8/DX;字输出功能演示功能演示第5章微型计算机和外设的数据传输365.4接口的功能以及在系统中的连接5.4.1接口的功能5.4.2接口与系统的连接5.4.3接口电路芯片的分类5.4.4接口电路的可编程性第5章微型计算机和外设的数据传输375.4.1接口的功能⑴对输入输出数据进行缓冲和锁存调整接口与CPU工作速度的差异⑵对信号的形式和数据的格式进行变换⑶对I/O端口进行寻址⑷与CPU和I/O设备进行联络第5章微型计算机和外设的数据传输385.4.2接口与系统的连接主要体现在引脚上,分成两侧信号面向CPU一侧的信号:用于与CPU连接主要是数据、地址和控制信号面向外设一侧的信号:用于与外设连接提供的信号五花八门功能定义、时序及有效电平等差异较大第5章微型计算机和外设的数据传输395.4.3接口电路芯片的分类接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片):通用接口芯片支持通用的数据输入输出和控制的接口芯片面向外设的专用接口芯片针对某种外设设计、与该种外设接口面向微机系统的专用接口芯片与CPU和系统配套使用,以增强其总体功能第5章微型计算机和外设的数据传输405.5.4接口电路的可编程性许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种接口需要进行物理连接,还需要编写接口软件接口软件有两类:初始化程序段——设定芯片工作方式等数据交换程序段——管理、控制、驱动外设,负责外设和系统间信息交换第5章微型计算机和外设的数据传输415.5CPU和外设之间的数据传送方式5.5.1程序方式5.5.2中断方式5.5.3DMA方式5.5.4输入输出过程中的几个问题5.5.5接口部件与多字节总线的连接第5章微型计算机和外设的数据传输425.5.1程序方式1、无条件方式2、查询方式3、中断方式第5章微型计算机和外设的数据传输435.5CPU和外设的数据传送方式(续)程序控制下的数据传送——通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送、中断传送直接存储器存取(DMA)——传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送I/O处理机——CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理5.5.0无条件传送方式及其接口5.5.1程序传送方式5.5.2中断传送5.5.3DMA传送方式第5章微型计算机和外设的数据传输441、无条件传送方式及其接口在CPU与外设交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送。就绪?传送流程第5章微型计算机和外设的数据传输45这种传送有前提:外设必须随时就绪特点:无条件传送的接口和操作均十分简单适合于简单设备,如LED数码管、按键或按钮等第5章微型计算机和外设的数据传输46(1)、无条件传送:输入接口的结构RD三态缓冲器OEI/O设备地址译码器D7~D0A15~A0M/IO0160HMOVDX,160HINAL,DX数据输入端口第5章微型计算机和外设的数据传输47无条件传送:输入实例MOVDX,160HINAL,DX74LS244+5V10Kx8G1G2数据总线CSRD第5章微型计算机和外设的数据传输48(2)、无条件传送:输出接口的结构地址译码器数据锁存器WR0160H输出设备D7~D0MOVDX,160HMOVAL,[BX]OUTDX,ALA15~A0M/IO数据输出端口第5章微型计算机和外设的数据传输49无条件传送:输出实例MOVDX,160HMOVAL,[BX]OUTDX,AL+5V74LS373300x8LEOE数据总线CSWR第5章微型计算机和外设的数据传输50无条件传送:输入输出接口LS06反相驱动器LS2738D锁存器LED7输出端口+5VK7K1K0D0~D7A0~A15LS244三态缓冲器8000H译码+5VLED0……GWRRD………输入端口M/IOnext:movdx,8000h;DX指向数据端口inal,dx;从输入端口读开关状态notal;反相outdx,al;送输出端口显示calldelay;调子程序延时jmpnext;重复第5章微型计算机和外设的数据传输512、查询方式CPU需要选了解(查询)外设的工作状态,在外设可以交换信息的情况下(就绪)才实现数据输入或输出查询传送的特点是:工作可靠,适用面宽,但传送效率低第5章微型计算机和外设的数据传输52查询传送的两个环节⑴查询环节寻址状态端口读取状态寄存器的相应位若不就绪则继续查询,直至就绪⑵传送环节寻址数据口是输入,通过输入指令从数据端口读入数据是输出,通过输出指令向数据端口输出数据输入状态就绪?数据交换YN传送流程第5章微型计算机和外设的数据传输54(1)、查询输入接口IOR+5V锁存器数据缓冲器译码三态缓冲器RQA0~A158000H8001HD0~D7D0(READY)D输入设备IORSTB数据输入端口状态端口movdx,8000h;DX指向状态端口status:inal,dx;读状态端口testal,01h;测试标志位D0jzstatus;D0=0,未就绪,继续查询movdx,8001h;D0=1,就绪,DX指向数据端口inal,dx;从数据端口输入数据第5章微型计算机和外设的数据传输55(2)、查询输出接口8D锁存器译码三态缓冲器RQA0~A158000H