ImageVerifierCode 换一换
格式:PPTX , 页数:257 ,大小:2.63MB ,
文档编号:7570963      下载积分:15 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-7570963.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《微机原理与接口技术》课件第8章.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《微机原理与接口技术》课件第8章.pptx

1、第8章 输入/输出与接口技术第8章 输入/输出与接口技术8.1 接口技术概接口技术概述述8.2 CPU与外设之间的数据传送方与外设之间的数据传送方式式8.3 DMA控制器控制器8237及其应及其应用用8.4 可编程定时可编程定时/计数器接口电路及计数器接口电路及其应用其应用8.5 可编程并行接口电路可编程并行接口电路8255A及及其其应应用用8.6 可编程串行接口电路可编程串行接口电路8251A及及其其应用应用习题习题8第8章 输入/输出与接口技术8.1 接口技术概述接口技术概述8.1.1 CPU与外部设备之间的接口信息与外部设备之间的接口信息CPU通过接口与外部设备的连接如图8.1所示,其中

2、既有数据端口,又有状态端口,还有控制端口,每一个I/O端口对应一个I/O地址。从硬件角度看,端口可以理解为寄存器。数据端口可以是双向的,状态端口只作输入操作,控制端口只作输出操作。CPU用I/O指令对其直接访问。在I/O操作中,主要有三类信息:数据信息、状态信息和控制信息。第8章 输入/输出与接口技术图8.1 简单的外设接口第8章 输入/输出与接口技术状态信息反映了当前外设的工作状态,它是由外设通过接口送入CPU的。对于输入设备来说,用Ready信号来表示待输入的数据是否准备就绪;对于输出设备来说,用Busy信号来表示输出设备是否处于空闲状态,如空闲,则可接收CPU送来的数据信息,否则CPU等

3、待。第8章 输入/输出与接口技术8.1.2 输入输入/输出指令及其寻址方式输出指令及其寻址方式在微型计算机系统中,端口的编址通常有两种不同的方式,一是I/O端口与存储器单元统一编址;二是I/O端口独立编址。1.I/O端口与存储器单元统一编址端口与存储器单元统一编址所谓I/O端口与存储器单元统一编址,也称为存储器映像(Memory Mapped)I/O方式,即把每个I/O端口都当做一个存储器单元看待,I/O端口与存储器单元在同一个地址空间中进行统一编址。通常是在整个地址空间中划分出一小块连续的地址分配给I/O端口。被分配给I/O端口的地址,存储器不能再使用,如图8.2所示。第8章 输入/输出与接

4、口技术图8.2 内存映射与I/O映射编址第8章 输入/输出与接口技术采用这种编址方式的微处理器有6800、6502、68000等,其优点是简化指令系统的设计,同时I/O控制信号与存储器的控制信号共用,给应用带来了极大的方便。另外,由于访问存储器的指令种类多,寻址方式多样化,因此给访问外设带来了很大的灵活性。第8章 输入/输出与接口技术2.I/O端口独立编址端口独立编址所谓I/O端口独立编址(I/O Mapped),也称为I/O隔离编址或I/O指令寻址方式,即I/O端口地址区域和存储器地址区域分别各自独立编址。访问I/O端口使用专门的I/O指令,而访问内存则使用MOV指令。CPU在寻址内存和外设

5、时,使用不同的控制信号来区分当前是对内存操作还是对I/O操作。第8章 输入/输出与接口技术3.输入输入/输出指令及其寻址输出指令及其寻址1)8086/8088采用的IN和OUT指令I/O指令可以采用8位(单字节)或16位(双字节)地址两种寻址方式。如采用单字节作为端口地址,则最多可以有256个端口(端口地址号为00HFFH),并且是直接寻址(直接端口寻址)方式,指令格式如下:第8章 输入/输出与接口技术输入:IN AX,Port;从Port端口输入16位数据到AXIN AL Port;从Port端口输入8位数据到AL输出:OUT Port,AX;从AX输出16位数据到Port端口OUT Por

6、t,AL;从AL输出 8位数据到Port端口这里Port是一个单字节的8位地址。第8章 输入/输出与接口技术如用双字节地址作为端口地址,则最多可以有64 K个端口(端口地址号为0000HFFFFH),并且是间接寻址方式,即把端口地址放在DX寄存器内(间接端口寻址)。其指令格式如下:第8章 输入/输出与接口技术第8章 输入/输出与接口技术2)80286和80386/486的数据传送80286和80386/486还支持I/O端口直接与内存之间的数据传送。其指令格式如下:第8章 输入/输出与接口技术从上述输入/输出指令可以看出,对于PC系列的机器,I/O端口内的数据也有8位与16位之分。通常16位数

7、据的端口地址安置在偶数地址号上,CPU在一次总线周期内就可以存取16位的数据;8位数据的端口地址可以安置在偶地址号或奇地址号上,偶地址使用数据总线D7D0传送数据,奇地址使用数据总线D15D8传送数据。表8-1列出了8位或16位数据端口在奇数或偶数端口地址号上,单字节直接寻址的输入/输出指令。第8章 输入/输出与接口技术第8章 输入/输出与接口技术8.1.3 CPU的输入的输入/输出时序输出时序为了说明CPU的输入和输出时序,下面以8086为例简要介绍读写I/O端口的总线时序。1.I/O读总线周期时序读总线周期时序一般I/O设备的工作速度较慢,所以在I/O总线周期的T3和T4之间插入一个等待状

8、态TW,使整个周期由4个T状态变为5个,各个信号也都要相应地延长或推迟一个时钟周期。CPU仍是在T4状态的开始采样数据线,由于CPU只用A15A0寻址I/O端口,因此地址总线上没有A19A16的状态。其时序如图8.3所示。第8章 输入/输出与接口技术图8.3 8086 I/O读写时序第8章 输入/输出与接口技术2.I/O写总线周期时序写总线周期时序I/O写总线周期的时序与I/O读相比,除 信号换成了信号外,数据信号也提前产生,但仍必须保持到T4状态的上升沿之后,以便I/O端口在T4为低电平的某个时刻写入数据。第8章 输入/输出与接口技术8.1.4 常用外围接口芯片常用外围接口芯片一般来说,微处

9、理器都是通过三态缓冲(寄存)器检测外设的状态,通过输出寄存器发出控制信号。微处理器可以将接口电路中的三态缓冲(寄存)器视为存储单元,把控制或状态信号作为数据位信息写到寄存器中或从三态缓冲(寄存)器中读出。寄存器的输出信号可以接到外部设备上,外部设备的信号也可以输入到三态缓冲寄存器中。第8章 输入/输出与接口技术1.三态缓冲器三态缓冲器74LS244外设输入的数据和状态信号,通过三态缓冲器经数据总线传送给微处理器。74LS244芯片的8位三态总线驱动器如图8.4所示。第8章 输入/输出与接口技术图8.4 74LS244结构及引脚第8章 输入/输出与接口技术2.数据收发器数据收发器74LS2457

10、4LS245是一种三态输出的8总线收发器,其逻辑电路和引脚如图8.5所示。该收发器有16个双向传送的数据端,即A1A8和B1B8,另有两个控制端使能端 和方向控制端DIR,该芯片的功能见表8-2。74LS245通常用于数据的双向传送、缓冲和驱动。第8章 输入/输出与接口技术第8章 输入/输出与接口技术图8.5 74LS245结构及引脚第8章 输入/输出与接口技术3.输出寄存器输出寄存器(74LS273)数据输出寄存器用来寄存微处理器送出的数据和命令。数据输出接口通常是用具有信息存储能力的双稳态触发器来实现的。最简单的输出接口可用D触发器构成。8D触发器74LS273如图8.6所示。第8章 输入

11、/输出与接口技术图8.6 74LS273引脚及其真值表第8章 输入/输出与接口技术4.锁存器锁存器74LS373锁存器是由三态缓冲器和寄存器组成的。数据进入寄存器寄存后并不立即从寄存器输出,要经过三态缓冲才能输出。锁存器既可以作数据输入寄存器,又可以作数据输出寄存器。74LS273的数据锁存输出端Q是通过一个一般的门(二态门)输出的。也就是说,只要74LS273正常工作,其Q端总有一个确定的逻辑状态(0或1)输出。因此,74LS273无法直接用作输入接口,即它的Q端绝对不允许直接与系统的数据总线相连接。74LS373是一种8D锁存器,具有三态驱动输出,其引线图和真值表如图8.7所示。第8章 输

12、入/输出与接口技术图8.7 74LS373结构及引脚第8章 输入/输出与接口技术从引线上可以看出,它比74LS273多了一个输出允许端。只有当 =0时,74LS373的输出三态门才导通;=1时,呈高阻状态。使能端 有效时,将D端数据打入锁存器中D门,当输出允许端 有效时,将锁存器中锁存的数据送到输出端Q。其功能如表8-3所示。第8章 输入/输出与接口技术第8章 输入/输出与接口技术8.2 CPU与外设之间的数据传送方式与外设之间的数据传送方式8.2.1 程序控制方式程序控制方式程序控制方式的特点是依靠程序的控制来实现微机和外设的数据传送,可分为无条件传送方式和有条件传送方式。第8章 输入/输出

13、与接口技术1.无条件传送无条件传送无条件传送是一种最简单的输入/输出控制方法,一般用于控制CPU与低速I/O接口之间的信息交换,如开关、继电器和速度、温度、压力、流量等变换器(即A/D转换器)。实现无条件输入的方法是:在程序的适当位置直接安排IN输入指令,当程序执行到这些指令时,外部设备的数据早已准备就绪,可以在执行当前指令时间内完成接收数据的全部过程。第8章 输入/输出与接口技术无条件传送方式的工作过程:输入时,外界将数据送到缓冲器输入端(外界可以是开关、A/D转换器等),当CPU执行IN AL,07H指令时,CPU首先向地址译码器送来启动信号,并把端口地址07H送到74LS138译码器输入

14、端,译码器的作用是把端口地址转变为使其某一根输出线为有效低电平。需要注意的是,输入时,当CPU执行IN指令时,要确保输入的数据已经准备好,否则就可能读入不正确的数据;在输出时,当CPU执行OUT指令时,需确保外部设备已将上次送来的数据取走,它就可以接收新的数据了,否则会发生数据“冲突”。无条件传送控制方式一般用于定时已知或数据变化十分缓慢的外部设备。第8章 输入/输出与接口技术2.有条件传送有条件传送有条件传送方式又称为程序查询方式。这种传送方式在接口电路中,除具有数据缓冲器或数据锁存器外,还应具有外设状态标志位,用来反映外部设备数据的情况。使用有条件传送方式控制数据的输入/输出,通常要按图8

15、.8的流程进行,即首先读入设备状态标志信息,再根据所读入的状态信息进行判断,若设备未准备就绪,则程序转移去执行某种操作,或循环回去重新执行读入设备状态信息,若设备准备好,则执行完成数据传送的I/O指令。数据传送结束后,CPU转去执行其他任务,刚才所操纵的设备脱离CPU的控制。第8章 输入/输出与接口技术图8.8 有条件传送示意图第8章 输入/输出与接口技术8.2.2 中断控制方式中断控制方式有条件传送除了占用CPU较多的工作时间外,还难以满足实时控制系统对I/O工作的要求。因为在查询方式中,CPU处于主动地位,而外设接口处于消极被查询的被动地位。而在一般实时控制系统中,外设要求CPU为它服务是

16、随机的,而且支持系统的外设往往有几个甚至几十个,若采用查询方式工作,则很难实现系统中每一个外设都工作在最佳工作状态。所谓工作在最佳状态,是指一旦某个外设请求CPU为它服务时,CPU应该以最快的速度响应其请求。这就要求系统中的外设具有主动申请CPU为其服务的权力。第8章 输入/输出与接口技术8.2.3 直接存储器存取直接存储器存取(DMA)控制方式控制方式采用中断方式,信息的传送是依靠CPU执行中断服务程序来完成的,所以,每进行一次I/O操作,都需要CPU暂停执行当前程序,把控制转移到优先权最高的I/O程序。在中断服务程序中,需要有保护现场和恢复现场的操作,而且I/O操作都是通过CPU来进行的。

17、用DMA方式传送数据时,在存储器和外部设备之间直接开辟高速的数据传送通路。数据传送过程不要CPU介入,只用一个总线周期就能完成存储器和外部设备之间的数据传送。因此,数据传送速度仅受存储器的存取速度和外部设备传输特性的限制。第8章 输入/输出与接口技术DMA的工作过程大致如下:(1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出DMA传送请求信号(DRQ)。(2)DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,申请占用总线。(3)CPU在完成当前总线周期后会立即对HOLD信号进行响应。响应包括两个方面:一是CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放

18、弃对总线的控制权;另一方面,CPU向DMA控制器发出“总线响应”信号(HLDA)。第8章 输入/输出与接口技术(4)DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号。(5)DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送。(6)DMA控制器自动修改地址和字节计数器,并据此判断是否需要重复传送操作。规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线时,继续执行原来的程序。第8章 输入/输出与接口技术DMA主要适用以下几种场合:(1)硬盘

19、和软盘I/O。可以使用DMAC作磁盘存储介质与半导体主存储器之间传送数据的接口。(2)快速通信通道I/O。(3)多处理机和多程序数据块传送。(4)扫描操作。在图像处理中,对CRT屏幕送数据,也可以采用DMA方式。(5)快速数据采集。(6)在PC/XT中还采用DMA方式进行DRAM的刷新操作。第8章 输入/输出与接口技术DMA工作过程波形如图8.9所示。图8.9 DMA工作波形第8章 输入/输出与接口技术8.2.4 I/O处理机方式处理机方式8089是专门用来处理输入/输出的协处理器。它共有52条指令、1MB寻址能力和两个独立的DMA通道。当8086/8088加上8089组成系统后,8089能代

20、替8086/8088,以通道控制方式管理各种I/O设备。以通道控制方式管理I/O设备,目前只有在大中型计算机中才普遍使用,因此,8089为微机的输入/输出系统设计带来了换代性的变化。一般情况下,通过接口电路控制I/O外设,必须依靠CPU的支持,对于非DMA方式,从外部设备每读入一个字节或发送给外部设备一个字节,都必须由CPU执行指令来完成。第8章 输入/输出与接口技术对I/O数据的处理,如对数据的变换、拆、装、检查等,更加需要CPU支持,CPU控制I/O如图8.10(a)所示。图8.10 8086、8089控制I/O第8章 输入/输出与接口技术8089控制I/O如图8.10(b)所示。图8.1

21、0 8086、8089控制I/O第8章 输入/输出与接口技术8.3 DMA控制器控制器8237及其应用及其应用DMA是指外部设备直接对计算机存储器进行读写操作的I/O方式。这种方式下数据的I/O不需要CPU执行指令,也不经过CPU内部寄存器,而是利用系统的数据总线,由外设直接对存储器写入或读出。通常情况下,系统的地址总线、数据总线和一些控制信号(如IO/、等)是由CPU管理的。在DMA方式中,对这一数据传送过程进行控制的硬件称为DMA控制器。第8章 输入/输出与接口技术8.3.1 DMA控制器的功能控制器的功能通用的DMA控制器应具有以下功能:(1)编程设定DMA的传输模式及其所访问内存的地址

22、区域。(2)屏蔽或接收外部设备的DMA请求(DREQ)。当有多个设备同时请求时,还要进行优先级排队,首先接收最高级的请求。(3)向CPU转达DMA请求。DMA控制器要向CPU发出总线请求信号HOLD(高电平有效),请求CPU放弃对总线的控制。第8章 输入/输出与接口技术(4)接收CPU的总线响应信号(HLDA)。接管总线控制权,实现对总线的控制。(5)向相应外部设备转达DMA允许信号DACK。在DMA控制器的管理下,实现外部设备和存储器之间的数据直接传送。(6)在传送过程中进行地址修改和字节计数。在传送完要求的字节数后,向CPU发出DMA结束信号(EOP),撤销总线请求(HRQ),将总线控制权

23、交还给CPU。第8章 输入/输出与接口技术DMA控制器一方面可以接管总线,直接在其他I/O接口和存储器之间进行读写操作,就像CPU一样成为总线的主控器件,这是有别于其他I/O控制器的根本不同之处。另一方面,作为一个可编程I/O器件,其DMA控制功能正是通过初始化编程来设置的。当CPU用I/O指令对DMA控制器写入或者读出时,它又和其他I/O电路一样成为总线的从属部件。第8章 输入/输出与接口技术8.3.2 可编程可编程DMA控制器控制器Intel 8237 DMAC的主要性能和内的主要性能和内部结构部结构8237 DMAC是Intel 8080、8085、8086、8088系列通用的一种高性能

24、可编程DMA控制器芯片,它的性能如下:(1)使用单一的+5 V电源、单相时钟、40条引脚、双列直插式封装。时钟频率为35 MHz,最高速率可达1.6 MB/s。(2)具有四个独立的通道。可以采用级联方式扩充用户所需要的通道,每个通道都具有16位地址寄存器和16位字节计数器。第8章 输入/输出与接口技术(3)用户通过编程,可以在四种操作类型和四种传送方式之中任选一种。(4)每个通道都具有独立的允许/禁止DMA请求的控制。所有通道都具有独立的自动重置原始状态和参数的能力。(5)有增1和减1自动修改地址的能力。(6)具有固定优先权和循环优先权两种优先权排序的优先权控制逻辑。(7)每个通道都有软件的D

25、MA请求。各有一对联络信号线(通道请求信号DREQ和响应信号DACK),而且DREQ和DACK信号的有效电平可以通过编程来设定。第8章 输入/输出与接口技术(8)具有终止DMA传送的外部信号输入引脚,外部通过此引脚输入低电平有效的过程终止信号,可以终止正在执行的DMA操作。每个通道在结束DMA传送后,会产生过程终止信号输出,可以用它作为中断请求信号输出。8237的内部寄存器的类型和数量如表8-4所示。第8章 输入/输出与接口技术第8章 输入/输出与接口技术8237由I/O缓冲器、时序和控制逻辑、优先编码器和循环优先逻辑、命令控制逻辑和内部寄存器组五部分组成,如图8.11所示。其中图(a)是82

26、37A内部结构框图,图(b)是四通道示意图。通道部分只画出了一个通道的情况,即每个通道都有一个基地址寄存器、基字节数寄存器、当前地址寄存器和当前字节数寄存器(16位),每一个通道都有一个6位的模式寄存器以控制不同的工作模式。第8章 输入/输出与接口技术图8.11 8237结构第8章 输入/输出与接口技术图8.11 8237结构第8章 输入/输出与接口技术8.3.3 8237的引脚和时序的引脚和时序8237 DMAC是一种40条引脚、双列直插式封装芯片,其引脚配置如图8.12所示。第8章 输入/输出与接口技术图8.12 8237引脚第8章 输入/输出与接口技术下面介绍这三种操作周期的时序。1.空

27、闲周期空闲周期SI8237在编程进入允许DMA工作状态之前或虽已编程进入允许DMA,但无DMA请求时,8237处于空闲周期,执行空闲状态SI。在空闲周期内,在每个SI的下降沿,8237采样DREQI输入信号,以确定是否有通道请求DMA服务。同时,还采样 输入引脚,判断CPU是否要对该8237芯片进行编程写入或读出,若8237采样到 有效,只要HLDA是低电平,便可以进入编程工作状态(即CPU可以访问8237)。CPU可以访问由地址信息A3A0寻址的内部寄存器。第8章 输入/输出与接口技术2.请求应答周期请求应答周期S0对8237编程完成后,在SI的下降沿采样到DREQI有效后,8237将在SI

28、的上升沿向CPU输出占有总线的请求信号HRQ,并向CPU请求DMA服务,进入S0状态,等待CPU同意让出总线的回答信号HLDA,在HLDA有效之前的S0状态中,CPU仍可以访问8237。S0状态是8237送出HRQ信号向CPU提出控制总线的请求信号HRQ后,到它接收到CPU发回同意让出总线的HLDA有效信号之间的周期状态。这是8237从被动状态到主动状态的过渡时期。第8章 输入/输出与接口技术3.DMA操作周期操作周期在HLDA到达之后,8237开始进入数据传送周期,开始以DMA方式传送数据。一个完整的DMA传送周期包括S1、S2、S3和S4共四个状态。如果是慢速的存储器或I/O设备,可以由R

29、EADY引脚输入低电平,当S3结束的下降沿采样READY为低电平时,就在S3和S4之间插入SW状态(见图8.13(c),以达到速度的匹配。第8章 输入/输出与接口技术对于存储器至存储器之间的数据传送,每传送一个数据,需先从源存储器单元读出数据,将它存入暂存器,再写入目的存储器单元中,这样传送一个数据要八个状态。因此,状态标注采用两位数标注,从存储器读出要用S11、S12、S13和S14共四个状态,写入存储器用S21、S22、S23和S24共四个状态(见图8.13(b)。第8章 输入/输出与接口技术图8.13 8237操作时序第8章 输入/输出与接口技术图8.13 8237操作时序第8章 输入/

30、输出与接口技术图8.13 8237操作时序第8章 输入/输出与接口技术8.3.4 8237 DMAC的工作方式的工作方式8237的每个通道都有自己的模式寄存器,通过对模式寄存器写入不同的内容,各通道可以独立地选择不同的工作模式(传送方式)和操作类型。1.工作模式工作模式在DMA传输时,每个通道有四种工作模式。(1)单次传送方式。单次传送方式也称单字节传送方式。(2)成组传送方式。成组传送方式也称为连续传送或块传送方式。第8章 输入/输出与接口技术(3)请求传送方式。请求传送方式也可以用于成块数据传输。(4)级联方式。级联方式是用来扩充DMA的通道数的。2.操作类型操作类型 根据传输过程中数据的

31、流向,操作类型可以分为三种。(1)DMA写传送(I/O设备存储器)。它是将I/O设备(如磁盘接口)传送来的数据写入存储器。(2)DMA读传送(存储器I/O设备)。它是将存储器中的数据写入I/O设备。(3)DMA校验。该方式实际并不进行数据传送,只是完成某种校验过程。第8章 输入/输出与接口技术上述三种操作中,被操作的数据都不进入DMAC内部,而且校验方式也仅由DMAC控制系统总线,并响应I/O设备的DMA请求,在每个DMA周期向I/O设备发出一个DMA响应信号DACK,I/O设备利用此信号作为片选信号去进行某种校验。第8章 输入/输出与接口技术8.3.5 8237的控制字和编程的控制字和编程1

32、.内部寄存器内部寄存器8237内部寄存器如表8-4所示,现对这些寄存器的功能进行说明。1)当前地址寄存器每个通道都有一个16位长的当前地址寄存器,当进行DMA传送时,由它提供访问存储器的地址。在每次数据传送之后,地址值自动增1或减1。CPU是以连续两字节按先低字节后高字节的顺序对其进行写入或读出的。在自动预置方式下,当 有效后,将它重新预置为初始值。第8章 输入/输出与接口技术2)当前字节计数器每个通道都有一个16位长的当前字节计数寄存器,它保存当前DMA传送的字节数。实际传送的字节数比编程写入的字节数大1,例如,编程的初始值为10,将导致传送11个字节,每次传送以后,字节计数器减1。第8章

33、输入/输出与接口技术3)基地址寄存器和基字节计数器每个通道均有一个16位的基地址寄存器和一个16位的基字节计数寄存器,它们用来存放所对应的地址寄存器和字节计数器的初始值。在编程时,这两个寄存器由CPU以连续两字节方式与对应的当前寄存器同时写入,但它们的内容不能读出。在自动预置方式下,基地址寄存器的内容被用来恢复当前寄存器的初始值。第8章 输入/输出与接口技术4)命令寄存器命令寄存器 这是DMAC四个通道公用的一个8位寄存器,它控制8237的操作。编程时,CPU对它写入命令字,而由复位信号(RESET)和软件清除命令清除它。其命令格式如图8.14所示。第8章 输入/输出与接口技术图8.14 命令

34、寄存器格式第8章 输入/输出与接口技术下面介绍命令寄存器各位的意义。(1)D0位用于允许或禁止存储器至存储器的传送操作。这种传送方式能以最小的程序工作量和最短的时间,成组地将数据从存储器的一个区域传送到另一个区域。(2)D1位用于设定在存储器至存储器传送过程中,源地址保持不变或按增1或减1改变。(3)D2位为允许或禁止DMAC工作的控制位。(4)D3、D5为与时序有关的控制位,详见后面的时序说明。(5)D4位用来设定通道优先权。(6)D6、D7位用于设定DREQ和DACK的有效电平极性。第8章 输入/输出与接口技术5)模式寄存器模式寄存器每个通道都有一个8位的模式寄存器,它用于指定DMA的操作

35、类型、传送方式、是否自动预置和传送一字节数据后地址是按增1还是减1规律修改。由CPU写入工作方式寄存器的控制字。下面介绍各位的作用。(1)命令字的D0、D1两位是通道的寻址位,即根据D0、D1两位的编码,确定此命令字写入的通道。其格式如图8.15所示。第8章 输入/输出与接口技术图8.15 模式寄存器格式第8章 输入/输出与接口技术(2)D3、D2位为当D7、D6位不同时为1时,由这两位的编码设定通道的DMA的传送类型:读、写和校验。注意:当设定命令寄存器为存储器至存储器的传送方式时,应将工作方式寄存器D3、D2位设定为00。(3)D4位用于设定通道是否进行自动预置。当选择自动预置时,在接收到

36、 信号后,该通道自动将基地址寄存器内容装入当前地址寄存器,将基字节计数器内容装入当前字节计数器,不必通过CPU对8237进行初始化,就能执行另一次DMA服务。第8章 输入/输出与接口技术(4)D5位用于设定每传送一字节数据后,存储器地址是进行加1还是减1修改。(5)D7、D6这两位的不同编码决定了该通道DMA传送的方式。8237进行DMA传送时,有4种传送方式:单次传送、请求传送、成组传送和级联传送。第8章 输入/输出与接口技术6)请求寄存器请求寄存器DMA请求可以由I/O设备发出DREQ信号,也可以由软件发出,请求寄存器就是用于由软件来启动DMA请求的设备。存储器到存储器传送,必须利用软件产

37、生DMA请求,这种软件请求DMA传送操作必须是成组传送方式。该寄存器只能写,不能读。对某个通道的请求标志进行置位和复位的命令字格式如图8.16所示。第8章 输入/输出与接口技术图8.16 请求寄存器格式第8章 输入/输出与接口技术7)屏蔽寄存器屏蔽寄存器8237每个通道均有一屏蔽标志位。当某通道的屏蔽标志位置1时,禁止该通道的DREQ请求,并禁止该通道DMA操作。其命令字有两种格式:第一种格式是与图8.16的请求标志命令字相同,这种格式用来单独为每个通道的屏蔽位进行置位或复位,其中D2位为0表示清除屏蔽标志,D2位为1表示置位屏蔽标志,由D1和D0的编码指出通道号。第二种格式是可以同时设定四个

38、通道的屏蔽标志。其命令字格式如图8.17所示。第8章 输入/输出与接口技术图8.17 屏蔽寄存器格式第8章 输入/输出与接口技术注意:这两种不同格式的命令字,在写入DMAC时,有不同的口地址。写单个通道的屏蔽寄存器的口地址为0AH,而同时写四个通道的屏蔽寄存器的口地址为0FH。第8章 输入/输出与接口技术8)状态寄存器状态寄存器是一个8位寄存器,用来存放8237的状态信息,它可以由CPU读出。状态寄存器的格式如图8.18所示。它的低4位表示四个通道的终止计数状态,高4位表示当前是否存在DMA请求。只要通道到达计数终点TC,或外界送来有效的 信号,D3D0相应的位就被置1,RESET信号和CPU

39、每次读状态后都清除D3D0位。D7D4位表示通道30请求DMA服务,但未获得响应的状态。第8章 输入/输出与接口技术图8.18 状态寄存器格式第8章 输入/输出与接口技术9)暂存寄存器暂存寄存器暂存寄存器为8位的寄存器,在存储器至存储器传送期间,用来暂存从源地址单元读出的数据。当数据传送完成时,所传送的最后一个字节数据可以由CPU读出。用RESET信号可以清除此暂存器中的数据。第8章 输入/输出与接口技术10)命令寄存器命令寄存器8237设置了3条软件命令,它们是:主清除命令、清除字节指示器命令和清除屏蔽寄存器命令。这些软件命令只要对某个适当地址进行写入操作就会自动执行清除命令。(1)主清除命

40、令。该命令在8237内部所起作用和硬件复位信号RESET相同。(2)清除字节指示器命令。字节指示器又称为先/后触发器或字节地址指示触发器。(3)清除屏蔽寄存器命令。这条命令清除四个通道的全部屏蔽位,使各通道均能接受DMA请求。第8章 输入/输出与接口技术2.内部寄存器的寻址内部寄存器的寻址对8237内部寄存器的寻址和执行与控制器有关的软件命令,都由芯片选择信号、I/O读信号、I/O写信号 和A3A0地址线的不同状态编码来完成。在 为0、A3为1时,CPU对状态和控制寄存器的寻址及给出的软件命令归纳如表8-5所示。每片8237占有16个口地址,暂存寄存器只能在存储器至存储器传送完成后进行读出。第

41、8章 输入/输出与接口技术第8章 输入/输出与接口技术3.8237的编程步骤的编程步骤(1)输出主清除命令;(2)写入基址与当前地址寄存器;(3)写入基址与当前字节数地址寄存器;(4)写入模式寄存器;(5)写入屏蔽寄存器;(6)写入命令寄存器;(7)写入请求寄存器。若有软件请求,就写入到指定通道,可以开始DMA传送过程;若无软件请求,则在完成(1)(7)的编程后,由通道的DREQ启动DMA传送过程。第8章 输入/输出与接口技术8.3.6 Intel 8237的应用举例的应用举例1.8088访问访问8237的寻址的寻址当8237处于SI空闲状态时,CPU可以对它进行访问,但是否访问此8237,这

42、要取决于它的片选引脚是否出现低电平。主系统板内部的8237片选引脚,接到系统板中I/O接口电路的选中信号产生电路的译码输出(Y0)DMA 上。8237的A3A0接系统地址总线A3A0,在系统的BIOS中,安排8237内部寄存器使用的I/O端口地址为00H0FH。DMAC内部寄存器与I/O端口地址的对应关系如表8-5所示。CS第8章 输入/输出与接口技术2.8237的初始化编程的初始化编程在进行DMA传输之前,CPU要对8237进行编程。DMA传输要涉及RAM地址、数据块长、操作方式和传输类型。因此,在每次DMA传输之前,除自动预置外,都必须对8237进行一次初始化编程。若数据块超过64 KB界

43、限时,还必须将页面地址写入页面寄存器。第8章 输入/输出与接口技术IBM-PC/XT中,BIOS对8237的初始化程序如下。1)对8237A-5芯片的检测程序在系统上电后,要对DMA系统进行检测,其主要内容是对8237A-5芯片所有通道的16位寄存器进行读/写测试,即对四个通道的八个16位寄存器先写入全“1”后,读出比较,再写入全“0”后,读出比较。若写入内容与读出结果相等,则判断芯片可用;否则,视为致命错误。下面是PC/XT的DMA系统检测的例程。第8章 输入/输出与接口技术第8章 输入/输出与接口技术第8章 输入/输出与接口技术第8章 输入/输出与接口技术2)对动态存储器刷新初始化和启动对

44、动态存储器刷新初始化和启动DMA8237的通道0用于对动态存储器的刷新,当启动刷新时,对8237的初始化设置如下:(1)设定命令寄存器命令字为00H。禁止存储器至存储器传送、允许8237操作、正常时序、固定优先权、滞后写、DREQ高电平有效、低电平有效。(2)设置存储器起始地址为0。(3)设置字节计数初值为FFFFH(64 KB)。DACK第8章 输入/输出与接口技术(4)设置CH0工作方式:读操作、自动预置、地址加1、单次传送。(5)设置CH1(为用户保留)工作方式:校验传送、禁止自动预置、地址加1、单次传送。(6)CH2(软磁盘)、CH3(硬磁盘)工作方式的设置均与CH1相同。第8章 输入

45、/输出与接口技术第8章 输入/输出与接口技术第8章 输入/输出与接口技术3.利用利用8237的的CH1实现实现DMA数据传送数据传送假定利用PC/XT主系统板内的8237DMA控制器的通道1,实现DMA方式传送数据。要求将存储在存储器缓冲区的数据,传送到I/O设备中。当 为低电平时,将锁存在74LS374的数据送到LED显示器上显示。应用的例子如图8.19所示。OE第8章 输入/输出与接口技术图8.19 应用例子图示第8章 输入/输出与接口技术第8章 输入/输出与接口技术第8章 输入/输出与接口技术第8章 输入/输出与接口技术第8章 输入/输出与接口技术8.4 可编程定时可编程定时/计数器接口

46、电路及其应用计数器接口电路及其应用在微型计算机及应用中常有定时或计数的需要,例如,产生实时时钟,定时对动态存储器刷新,时间延时以及控制扬声器发声等。如果由CPU来定时或计数,则CPU在计数和定时过程中就不能进行其他工作,这样会使得微机效率降低、性能下降。定时/计数器接口电路可以代替CPU完成这项工作。本节将首先介绍定时/计数的基本概念,然后着重讨论Intel系列的16位可编程定时/计数器8253/8254的性能和结构、外部性能,以及控制字和编程、工作方式和应用。第8章 输入/输出与接口技术8.4.1 定时定时/计数的基本概念计数的基本概念所谓定时/计数就是通过硬件或软件的方法产生一个时间基准,

47、以此来实现对系统的定时或延时控制。要实现定时或延时控制,有三种主要方法:软件定时、纯硬件定时及可编程的硬件定时/计数器。1软件定时软件定时执行每条指令都需要时间,执行一个程序段就需要一个固定的时间,通过适当地挑选指令和安排循环次数可以实现软件定时。这种方法要完全占用CPU的时间,因而降低了CPU的利用率。第8章 输入/输出与接口技术2纯硬件定时纯硬件定时采用固定的电路实现定时。如采用小规模集成电路555,外接电阻和电容构成单稳延时电路。这样的定时电路简单,而且通过改变电阻和电容,可以使定时在一定的范围内调整。但它由纯硬件来完成,给使用带来不便。3可编程硬件定时可编程硬件定时/计数器计数器这是目

48、前在控制系统中广泛使用的方法,它通过编程来控制电路的定时值及定时范围,功能强,使用灵活。在计算机系统中,像定时中断、定时检测、定时扫描等都是用可编程定时器来完成定时控制的。Intel 系列的8253、8254就是常用的可编程定时/计数器。第8章 输入/输出与接口技术8.4.2 可编程定时可编程定时/计数器计数器8253/82541.主要性能和内部结构主要性能和内部结构1)主要性能主要性能Intel 8253/8254-PIT(Programmable Interval Timer),即可编程间隔计数器有3个独立的16位计数器,每个计数器都可以按照二进制或BCD码进行计数,计数速率可达2 MHz

49、(8254为10 MHz),每个计数器有6种工作方式,可编程设置和改变。Intel 8253可用在多种场合,如方波发生器、分频器、实时时钟、事件计数等方面。第8章 输入/输出与接口技术2)Intel 8253/8254的内部结构Intel 8253/8254的内部结构如图8.20所示。图8.20 Intel 8253/8254的内部结构第8章 输入/输出与接口技术(1)数据总线缓冲器。它与CPU的数据总线相连,是8位双向三态缓冲器。CPU通过这个缓冲器对8253进行读/写操作。(2)控制字寄存器。此寄存器只能写入而不能读出。在8253初始化时,由CPU写入控制字来设置计数器的工作方式。(3)计

50、数器。计数器0、计数器1、计数器2是三个完全独立、结构相同的计数器,每一个都是由一个16位的可预置的减法计数器构成。第8章 输入/输出与接口技术2.外部性能外部性能Intel 8253/8254的外部引脚如图8.21所示。图8.21 Intel 8253/8254的外部引脚图第8章 输入/输出与接口技术GATE:门控信号,当GATE为低电平时,禁止计数器工作;GATE为高电平时,才允许计数器工作。CLK:计数脉冲输入。OUT:脉冲输出。当计数到“0”时,从OUT端输出信号,输出信号的波形取决于工作方式。、A0、A1:这五个信号共同结合,用于对8253/8254进行端口操作,如表8-6所示。第8

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|