微机接口芯片及应用_第1页
微机接口芯片及应用_第2页
微机接口芯片及应用_第3页
微机接口芯片及应用_第4页
微机接口芯片及应用_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 微机接口芯片及应用,PC机中断系统 8253定时/计数器 8255并行接口 8237DMA控制器,PC机接口芯片主要用于系统设备(如键盘)管理,以及I/O操作功能(如中断、DMA等)的实现,主要有用于硬件中断管理的8259、DMA操作管理的8237、提供控制信号的8255和提供系统定时的8253等。,3.1 PC机中断系统,中断方式是根据中断源的不同来划分的。所谓中断源就是引起CPU中断的事件,这可以是运算、软件运行、软件调试和外部设备、故障等。,3.1.1 80X86中断方式,1内部中断 内部中断的中断源在处理器(CPU)的内部,主要是由INT指令、运算过程中的错误、设置的断点、单步

2、执行而引起的中断。 (1) INT指令 当CPU执行INT N指令时会自动产生一个内部中断,并调用系统中的相应中断服务程序来完成中断功能,INT指令中的操作数N即为中断类型号。 (2) 处理器(CPU)的错误 处理器在执行程序时,若出现某些错误(如溢出),为及时处理这些错误,CPU就以中断方式终止程序执行,等待操作人员修改错误。 除法错中断 溢出中断 (3) 为调试程序设置的中断 为了检查程序执行的中间结果或寻找程序中存在的问题,往往在程序中适当的位置设置断点或使程序单步运行,以便发现或查找程序中的问题。 单步中断 断点中断,2外部中断 80X86处理器(CPU)有两条外部中断请求线:NMI(

3、非屏蔽中断)和INTR(可屏蔽中断)。 (1) 可屏蔽中断(INTR) 可屏蔽中断(INTR)又称硬件中断,它是由外部设备请求,通过中断控制器8259管理的一类中断。当在INTR线上出现中断请求(INTR=1)时,处理器(CPU)是否响应要取决于处理器的标志寄存器中的IF标志,若IF=1,则处理器(CPU)就响应(处理器处于开中断状态)该中断请求;若IF=0,处理器(CPU)就不响应(处理器处于关中断状态)该中断请求。 (2) 非屏蔽中断(NMI) 非屏蔽中断(NMI)不受处理器(CPU)标志寄存器IF标志的影响,主要是为处理某些计算机故障而设计的,在IBM PC系列的计算机中,非屏蔽中断(N

4、MI)仅在存储器奇偶校验出错、I/O通道数据奇偶校验出错和80X87协处理器(NPU)异常三种情况时发生。 中断的处理优先权顺序为:内部中断非屏蔽中断可屏蔽中断单步执行。,3.1.2 硬件中断的优先权,中断优先权是指有多个中断同时发生时,CPU(或8259A中断控制器)优先响应其中断的顺序。硬件中断也就是可屏蔽中断,主要用于实现计算机系统对外部设备的管理。 80286以上为中央处理器的计算机系统中,整个系统的硬件中断由两片8259A中断控制器构成,可管理16级硬件中断(IRQ15IRQ0)。优先权顺序为(从高到低):IRQ0IRQ1IRQ2IRQ8 IRQ15IRQ3IRQ7。,3.1.3 中

5、断向量表,80X86为处理器的计算机系统均采用矢量中断,80X86处理器(CPU)能处理256级中断向量,类型号为0H0FFH。一个中断向量占用4字节,分别存放中断服务程序的IP和CS,因此,整个中断向量(0H0FFH)共占用1024字节,用以存放各个中断向量的中断服务程序的入口地址(CSIP)。,3.1.4 8259A中断控制器,8259A中断控制器用于管理PC机的硬件中断,在接口技术中的中断编程是指通过中断方式实现控制、数据采集等功能。 18259A功能 具有8级优先权控制,通过级连可扩展至64级优先权控制。 每一级中断都可以独立被屏蔽或允许。 在中断响应周期,8259A可提供中断向量,从

6、而快速地转入中断服务程序。 8259A有多种工作方式,均可通过程序来选择。,28259A引脚及结构 Intel8259A为28脚双列直插式芯片,主要引脚功能如下。,3初始化字和命令字 8259A的初始化包含24个初始化命令字(ICW)和3个工作方式命令字(OCW),ICW必须依次连续写入,OCW在需要时写入。 (1) 初始化字(ICW) 当CPU用一条输出指令向8259A写入一个命令字(D4=1,指令地址的A0=0),则将解释为初始化命令字ICW1。,(1)ICW,(2)OCW,在PC机中BIOS对8259A初始化程序段如下: MOV AL,13H OUT 20H,AL ;ICW1:要ICW4

7、、单8259、地址间隔4、边沿触发 MOV AL,08H OUT 21H,AL ;ICW2:初始中断向量08H MOV AL,09H OUT 21H,AL ;ICW4:8086系统、正常EOI、缓冲方式 ,3.2 8253定时/计数器,计算机的控制过程有以下三个方面: 定时数据采集:对被控参数的瞬间值进行检测,并输入计算机; 实时决策:对采集到的参数进行比较分析,并按相应的控制规律决定下一步的控制过程; 实时控制:根据决策,适时地对控制机构发出控制信号。 (1) 软件定时 (2) 硬件定时 (3) 可编程定时/计数器,3.2.1 定时技术概述,3.2.2 8253工作原理,8253有3个独立的

8、16位计数器通道,是减法计数器,根据计数器特性有:输出频率f0=输入频率fi/计数器计数值N,即:f0=fi/N,采用周期表示T0=N*Ti。因此,若固定Ti(PC机的f0=1.19MHz),则定时时间与N成比例变化。 18253主要功能 一片上有3个独立的16位计数器通道,最大计数范围为065535; 每个计数器都可以按照二进制或二十进制(BCD码)计数; 每个计数器的计数速度可高达2MHz; 每个通道有6种工作方式,可通过程序设置来改变; 所有的输入和输出都与TTL兼容。,2内部结构及引脚功能 8253内部可分为6个模块,如图3.17所示。,3控制字寄存器 当A1A0=11时,选中控制字寄

9、存器,然后它从总线接收数据,并存入到寄存器中。控制字寄存器存储的信息控制每个计数器的工作方式和计数方式,控制字寄存器的信息只能写入,不能读出。控制字寄存器的功能定义如图3.18所示。,3.2.3 8253工作方式,8253中的3个独立计数器,每个都有6种工作方式供用户选择。 1方式0 (计数结束中断) 计数器计一次数,当计数到0时OUT保持高电平,重新写入初值后,再开始计数; 8253内部计数在的上升沿,当写入初值后,8253在上升沿才开始计数; 在计数过程中,若GATE=0计数暂停,当GATE恢复为高后接着计数; 在计数过程中,若改变初值,计数器将重新开始计数; 8253没有中断控制电路和中

10、断请求线,若要用于中断,可用OUT作为8259A的中断请求线,通过8259A产生中断。,2方式1 (程序可控单拍脉冲) 若计数初值为N,则单拍脉冲宽度为N个输入脉冲间隔; 当计数到0后,可再次由GATE触发启动下一次计数,输出同样宽度的单拍脉冲; 在计数过程中,可通过GATE脉冲再触发。在再触发脉冲上升沿后的一个CLK的下沿,计数器重新开始计数; 在计数过程中,若改变初值,计数器不受影响。若再次由GATE触发,则以新的计数值开始计数(即计数值是下次有效)。,3方式2 (速率发生器) 不用重新设置计数初值,就能够连续计数,输出固定频率的脉冲; 在计数过程中,若GATE=0计数暂停,当GATE恢复

11、为高后的下一个CLK脉冲,计数器恢复初值重新计数; 在计数过程中,若改变初值,计数器不受影响。在下次计数时,则以新的计数值开始计数(即计数值是下次有效)。,4方式3 (方波速率发生器) 不用重新设置计数初值,就能够连续计数,输出固定频率的脉冲; 在计数过程中,若GATE=0计数暂停,当GATE恢复为高后的下一个CLK脉冲,计数器恢复初值重新计数; 在计数过程中,若改变初值,计数器不受影响。在下次计数时,则以新的计数值开始计数(即计数值是下次有效)。,5方式4 (软件触发选通) CPU写入初值后的再下一个CLK才开始计数,所以实际上是写了N+1初值才输出一个负脉冲; 在计数过程中,若GATE=0

12、禁止计数,当GATE恢复为高后的下一个CLK脉冲,计数器重新计数; 在计数过程中,若改变初值则按新值重新开始计数(本次有效)。,6方式5 (硬件触发选通) 若设置初值为N,在门控脉冲触发经过N+1个CLK才输出一个负脉冲; 在计数过程中使用GATE脉冲,使计数器重新开始计数,但对输出状态没有影响; 在计数过程中,若改变初值,只要没有GATE脉冲触发不影响计数过程。写入新的初值后,若有GATE脉冲触发,则立即按新值开始计数。,3.2.4 8253编程与应用,8253的编程比较简单,一般过程如下: 输入控制字:通过控制字可设置计数通道、I/O方式、工作方式和计数方式等。计数方式根据计数范围来选择,

13、当计数范围大于9999时必须采用二进制计数方式,计数范围小于9999时用二进制或二十进制均可。 写入初值:初值根据要求的输出频率或时间间隔来确定,计算公式为: N=fi/f0 或 N=T0/Ti (f0为要求输出的频率,fi为8253输入频率) 如fi=1MHz,要求输出800Hz的方波信号,则N=1000000/800=1250。在写入初值时必须先写低8位,然后在写入高8位。,3.3 8255并行接口,并行接口芯片具有以下功能: 两个或两个以上的具有锁存器或缓冲器的数据端口; 每个数据端口都具有与CPU用应答方式交换信号所必须的控制和状态信息,也有与外设交换信息所必须的控制和状态信息; 通常

14、每个数据端口有能用中断方式与CPU交换信息所必须的电路; 片选和控制电路; 可用程序选择数据端口,选择端口的数据传送方向,选择与CPU交换信息的方法等。,3.3.1 8255工作原理,1基本特征 8255具有两个8位(PA和PB)和两个4位(PC高/低4位)并行输入/输出端口,PC端口具有按位复位/置位功能; 有0方式、1方式和2方式等,可适应CPU和I/O接口的多种数据传送方式,分别对应无条件传送、应答查询传送和中断传送等; PC端口除作数据端口外,当工作在1方式和2方式时,它的部分引线被分配为专用联络信号,PC端口可单独指定按位控制,作状态信号使用等; 8255A内部主要由控制寄存器、状态

15、寄存器和数据寄存器组成,PA、PB和PC均具有输出锁存、输入缓冲功能。,28255A内部结构 8255A采用40线双列直插封装,其中24线用于连接I/O设备,内部结构如图3.26所示。,38255A控制字 控制字用于控制8255A各个端口的工作方式和端口的输入/输出,它通过+11端口输入到8255A。8255A控制字格式如图3.27所示。,4PC置位/复位 为了实现控制的需要,PC可按位置位/复位,置位/复位格式定义如下:,3.3.2 8255工作方式,8255A有三种工作方式: 0方式是一种基本输入输出工作方式,0方式把8255A的24条I/O线全部都用作传送数据,不设置应答信号线,常用于简

16、单(无条件)传送,在0方式下,输出有锁存,输入只有缓冲能力而无锁存功能。 1方式是一种选通输入输出方式,PA和PB用于传送数据,PC的部分引脚被指定为固定的专用应答信号,这种方式常用于查询(条件)传送或中断传送,数据的输入输出都具有锁存能力。 2方式是双向选通输入输出方式,PA作为双向数据输入输出端口,PC的部分线用作专用的应答信号线,8255A只有PA才可以工作在2方式。,10方式及其应用 0方式是一种基本输入输出工作方式,8255A的PA、PB和PC端口的24条I/O线全部都用作传送数据,常用于简单数据传送。 (1) 简单输入输出 简单输入输出也就是无条件传送方式,认为外设始终是准备就绪,

17、随时可以提供或接收数据。如CPU读取系统配置、内存数据等,在外设中如信息LED显示、CRT显示等均属于这种情况。在工业控制中,步进电机的运行方式也是一种简单的输入输出。简单输入输出不需要查询外设的工作状态,因此可以获得较高的传输速率。 (2) 应答输入输出 在0方式下,也可分配适当的端口信号作为应答状态线,通常PA和PB作为数据传送端口,PC的部分线作为状态或应答信号线。在实际应用中,可任意指定PC的哪些线作为状态线或应答线,只要程序与之匹配即可。,21方式及其应用 1方式是一种选通输入输出方式,PA和PB用于传送数据,PC的部分引脚被固定地指定为专用应答信号,这种方式常用于查询(条件)传送或

18、中断传送,数据的输入输出都具有锁存能力。 (1) 1方式数据输入 当PA或PB为1方式输入时, 各指定PC的3条线作为8255与 外设及CPU之间应答信号,如 图3.31所示。,(2) 1方式数据输出 当PA或PB为1方式输出时,各指定PC的3条线作为8255与外设及CPU之间应答信号,如图3.33所示。,(3) 1方式状态字 8255A的1方式既可工作于查询传送,也可工作于中断传送,状态字就是为查询传送提供的标志,如IBF和。同时,由于8255A不能直接提供中断向量,当8255A采用中断传送时也需通过状态字来确定其中断源,实现查询中断。,32方式及其应用 8255A的2方式是一种双向选通输入

19、输出工作方式,PA作为双向数据输入输出端口,PC的部分线用作专用的应答信号线,8255A只有PA才可以工作在2方式。,2方式是1方式输入和输出的组合,因此时序也为1方式输入和输出的组合,如图3.38所示。,3.4 8237DMA控制器,3.4.1 DMA概述 实现DMA操作一般有三种方法。 1周期挪用 周期挪用就是把CPU不访问存储器的哪些总线周期挪用来进行DMA操作。这种方法不影响CPU的工作,主要的问题是如何识别可挪用的周期,以避免与CPU的冲突。该方法所需电路比较复杂,而且数据的传送是不连续和不规则的,所以目前使用很少。 2周期扩展 这种方法需使用专门的时钟/驱动电路,当需要进行DMA操

20、作时,将CPU的总线周期展宽,对存储器等操作使用正常的周期,其展宽部分用来进行DMA操作。这种方法会降低CPU的处理速度,并且周期不可能无限展宽,所以这种方法一次只能传送一个字节数据。 3CPU停机 这是最常用也是最简单一种DMA传送方式,在这种方式下,DMA需要进行DMA传送时,向CPU发出DMA请求信号,使CPU让出总线的控制权,处于等待状态;DMA结束后,CPU再恢复对总线的控制权,继续进行被中断的操作。,3.4.2 8237工作原理,Intel 8237/8237-2是一种高性能的可编程DMA控制器,5MHz的8237-2的数据传输速率可达1.6MB/s。 18237主要功能 有4个独

21、立的DMA通道,每个通道的DMA请求都可分别被允许或禁止; 每个DMA请求有不同的优先权,优先权可以是固定的,也可是旋转的(由程序确定); 每个DMA通道一次最大可传送64KB的数据,可进行存储器与外设、存储器与存储器之间传送数据; 8237的DMA传送可采用单字节、数据块、请求传送、级连等4种方式。每种方式都能接收外设的请求信号DREQ和向外设发出应答信号DACK,向CPU发出DMA请求信号HRQ,接收CPU的DMA应答信号HLDA。 有结束处理的输入信号EOP,允许外部用EOP信号结束DMA传送或重新初始化; 8237可以级连,任意扩展DMA通道。,28237的结构 8237的方框图如图3

22、.41所示,图中的通道部分仅画出了一个通道的情况,即每个通道都有一个基地址寄存器(16位),基字节数计数器(16位),现行地址寄存器(16位)和现行字节数计数器(16位),每一个通道都有一个6位的模式寄存器,以控制不同的工作模式。,38237工作周期 (1) 空闲周期 当8237的任一通道无DMA请求时进入空闲周期,在空闲周期8237始终处于SI状态,每一个时钟周期都采样I/O请求输入线DREQ。 (2) 有效周期 8237脱离SI进入S0状态,S0状态是DMA服务第一个状态,在这个状态8237接收到I/O设备请求,并向CPU发出了HRQ请求,还未收到CPU的HLDA应答信号。,48237的引

23、脚 8237 DMA控制器是一个40引脚的双列直插封装芯片,通过这些引脚与存储器及I/O设备连接,发挥系统主控者的作用,其引脚排列如图3.43所示。,58237工作模式 (1) 单字节传送模式 这种模式一次只能传送一个字节数据,数据传送后字节计数器减1,地址相应修改,HRQ变为无效,释放系统总线。若传送至字节计数器为0,则产生TC信号,终结DMA传送。 (2) 块传送方式 8237由DREQ启动后就连续地传送数据,直至字节计数器减到0产生TC信号,或由I/O设备输入有效的信号。在这种方式下,DREQ只需维持到DACK有效即可,不需要持续到数据传送结束。 (3) 请求传送方式 8237可以连续进

24、行数据传送,当出现:字节计数器到0,产生TC、外部送来有效的、I/O设备的DREQ变为无效时结束数据传送。若因DREQ无效,而停止的传送可在I/O设备的DREQ恢复有效后继续传送。 (4) 级连方式 8237可以多级级连,扩展DMA通道。一般由二级8237的HRQ和HLDA连接到一级8237的DREQ和DACK上。,68237寄存器组与编程 8237有多种寄存器,用于存放地址、字节计数等,8237寄存器组如表3-5所示。,(1) 现行地址寄存器 (2) 现行字节数寄存器 (3) 基地址和基字节数寄存器,(4) 命令寄存器 命令寄存器是一个8位的寄存器,用于控制8237的工作。命令寄存器的格式如图3.45所示。,(5) 模式寄存器 每一个通道有一个6位的模式寄存器,用于规定通道的工作模式,如图3.47所示。,(6) 请求寄存器 8237每个通道有一条硬件DREQ请求线,当工作在数据块传送方式时可以由软件发出DREQ请求,如图3.48所示。,(8) 屏蔽寄存器 每个通道外设通过DREQ线发出DMA请求,可单独地被屏蔽或允许,所以8237内部有一个屏蔽寄存器,如图3.50所示。,(9) 软件命令 8237在编程状态有两种软件命令,软

温馨提示

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

评论

0/150

提交评论