第八章基本的IO接口.ppt
《第八章基本的IO接口.ppt》由会员分享,可在线阅读,更多相关《第八章基本的IO接口.ppt(183页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 基本的基本的I/O接口(接口(22学时)学时)第二节第二节 中断系统(中断系统(6学时)学时)退 出 第一节第一节 接口技术(接口技术(4学时)学时)知知 识识 概概 述述 第三节第三节 DMA系统(系统(4学时)学时)第四节第四节 计数计数/定时器(定时器(2学时)学时)第五节第五节 并行接口(并行接口(2学时)学时)第六节第六节 串行接口(串行接口(4学时)学时)第七节第七节 微机接口芯片组介绍微机接口芯片组介绍第八章第八章接口:CPU与外设间的中间电路。接口的分类如下图所示:接口分类接口分类基本接口:基本接口:8259,8237,8254通用接口:通用接口:8255,825
2、1 专用接口:键盘接口,显示器接口专用接口:键盘接口,显示器接口退 出第一节第一节 接口技术(接口技术(4学时)学时)接口设计涉及到两个基本问题:一是CPU如何寻址I/O设备,实现多个I/O设备的识别;二是CPU如何与I/O设备连接,进行数据、状态和控制 信号的交换。退 出8.1.1 接口技术的基本概念接口技术的基本概念 一、一、I/O接口的主要功能接口的主要功能 1.I/O设备选择功能;2.对输入/输出数据进行缓冲、隔离和锁存;3.对信号的形式和数据的格式进行变换;4.与CPU和I/O设备进行联络;退 出8.1.1二、二、I/O接口的典型结构接口的典型结构1内部结构内部结构 图8.1为I/O
3、接口的典型结构。1)端口:接口电路中的寄存器。2)接口中一般设有数据口、状态口、控制口。3)对于数据口,在I/O设备输入时,保存I/O设备输入的数据;在I/O设备输出时,保存向I/O设备输出的数据。有些数据寄存器同时支持输入/输出,那是因为其内部具有输入和因为其内部具有输入和输出两个寄存器,但共用输出两个寄存器,但共用个端口地址个端口地址,随读写控制的不随读写控制的不同分别访问其中的输入或输出奇存器。同分别访问其中的输入或输出奇存器。4)通过数据总线通过数据总线,CPU从状态口中读取当前的状态,也可向控制口写入命令,以控制I/O设备的工作。退 出8.1.12.外部特性外部特性 接口引脚根据其连
4、接的对象又分为面向面向CPU一侧的信一侧的信号和面向外设一侧的信号号和面向外设一侧的信号。对于面向CPU一侧的信号,一般都引出了数据线、地址线和控制线。因为I/O接口是连接CPU系统和外设的桥梁,所以对对其外部特性的掌握是实现其外部特性的掌握是实现I/O接口物理连接的基础,是接接口物理连接的基础,是接口是技术的一个重点口是技术的一个重点。3.接口的可编程性接口的可编程性1)“可编程”的:是指接口芯片的功能和工作方式可通过程序 设定。2)初始化程序初始化程序:对接口芯片功能和工作方式等的定义,是对接口芯片功能和工作方式等的定义,是通过向一些寄存器写入相应的信息来完成的,这样的写入通过向一些寄存器
5、写入相应的信息来完成的,这样的写入程序一般称为接口芯片的初始化程序程序一般称为接口芯片的初始化程序。3)对可编程寄存器的掌握是学习接口技术的另一个重点对可编程寄存器的掌握是学习接口技术的另一个重点。退 出8.1.1三、三、I/O接口的编址方法接口的编址方法1.I/O接口的统一编址接口的统一编址 统一编址方式也称为存储器映象I/O寻址方式。即每一个端口占一个存储单元地址。1)这种编址方法的优点是:(1)不需要专门的I/O指令;(2)端口寻址方式也就是内存的寻址方式,有利于I/O程序的设计。2)缺点是:(1)I/O端口占用一部分存储器的地址空间;(2)在程序中不容易区分哪些指令是访问存储器、哪些指
6、令是访问外设,所以程序不易阅读。退 出8.1.12.I/O接口的独立编址接口的独立编址 独立编址方式,就是将存储器和I/O端口建立两个完全独立的地址空间。CPU使用专门的控制信号来区分是对存储器访问还是对I/O端口进行访问。这些控制信号的产生,是由指令来控制。1)这种方法的优点是:(1)由于使用了专门的I/O指令,所以程序清晰易读;(2)又因为I/O接口的地址空间独立且般小于存储器的存储空间,所以其不占用存储器的存储空间,且地址译码电路相对简单。2)其缺点是:(1)访问端口的指令没有访问存储器的指令丰富。(2)CPU需设置专门的控制信号,区分存储器与端口访问。退 出8.1.2 输入/输出传送方
7、式 一、程序方式一、程序方式 指用输入、输出指令,来控制信息传送的方式。1.无条件输入无条件输入/输出输出 CPU与外设交换信息时,如果输入/输出的时刻,都可以保证外设总是处于“准备好”状态,则可以直接利用输入/输出指令进行信息的输入/输出操作。其硬件实现原理图如8.2所示。假设,地址译码器的译码为380H,我们可用指令:MOV DX,380H IN AL,DX 把外设的数据输入到AL寄存器。同样,我们可用指令:MOV DX,380H OUT DX,AL 把AL的值输出外设。退 出8.1.22.条件输入条件输入/输出方式输出方式 输入/输出操作的程序流程如图8.3所示。图8.4、8.5分别给出
8、了实现条件输入/输出方式的硬件原理图。例如,假设从某输入设备上输入一组数据送缓冲区,接口电路如图8.4,若缓冲区已满则输出一组信息“BOFFER OVERFLOW”,然后结束。设该设备的数据端口为382H,状态端口为383H。见程序 当CPU需对多个设备进行输入/输出时,就出现了所谓的优先级问题,即究竟先为哪个设备服务。一般来讲,在这种情况下都是采用轮流查询的方式来解决,如图8.6所示。退 出8.1.2二、中断方式二、中断方式1.为什么要采用中断传送方式为什么要采用中断传送方式 CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高。中断方式程序执行流程如所示。2
9、.中断方式下的接口电路中断方式下的接口电路 以输入方式为例,接口电路如图8.8所示。3.中断优先级中断优先级 解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法。现在通常采用专用的硬件方法,也就是用专用的芯片,如Intel8259A。其连接方法如图8.9所示。4.中断服务子程序中断服务子程序 中断服务子程序的流程如图8.10所示。退 出8.1.2三、三、DMA方式方式1.为什么要采用为什么要采用DMA方式方式 DMA数据传送,它是在内存的不同区域之间,或者在内存与外设端口之间直接进行数据传送,而不经过CPU中转的、由硬件直接控制一种数据传送方式,可以大大提高数据的传送速度
10、。2.DMA方式下的接口方式下的接口 其接口电路如图8.11所示。3.DMA优先级优先级 与中断一样,DMA的请求判优也是由专门的芯片完成,即DMA控制器完成。4.DMA方式下的支持程序方式下的支持程序退 出第二节第二节 中断系统(中断系统(6学时)学时)8.2.1 中断的基本原理中断的基本原理 一、中断及其相关概念一、中断及其相关概念1.中断的基本概念中断的基本概念1)中断:是微处理器程序运行的一种方式。计算机在 执行正常程序的过程中,当出现某些紧急情 况,异常事件或其它请求时,处理器会暂时 中断正在运行的程序,转而去执行对紧急情 况或其它请求的操作处理。处理完成以后,CPU回到被中断程序的
11、断点处接着往下继续 执行,这个过程称为中断。退 出8.2.12)中断的作用:第一,实现CPU与I/O设备之间的数据传送。第二,实时的硬件故障处理。第三,通过软中断指令可以使得应用程序调用操作系统的底层功能。2.中断源中断源 1)中断源:引起中断的原因或设备称为中断源。2)中断源的种类如图8.12所示。3.禁止中断与中断屏蔽禁止中断与中断屏蔽 禁止中断:中断允许触发器通过指令CLI复位,以达到禁止CPU的 INTR中断,称为禁止中断。中断屏蔽:将中断源对应的中断屏蔽触发器置1,则该中断源的中断请 求被屏蔽,称为中断屏蔽。4.中断嵌套中断嵌套 当CPU正在处理某种类型的中断时,又有级别更高的新的中
12、断源申请中断,这时CPU就会暂停当前的中断服务程序,而转去执行新的中断处理,这种中断的处理方式就叫中断嵌套。退 出8.2.15.中断类型号和中断向量表中断类型号和中断向量表1)中断类型号:为每个中断源指定的一个8位的编号,以识别不同的中断源,这8位的编号称为中断类型号。2)中断向量:每一个中断服务程序的入口地址,称为中断向量。3)中断向量表:把系统中所有的中断向量集中起来,根据中断类型号从小到大的顺序存放到存储器的某一个区域内,这个存放中断向量的存储区称为中断向量表。8088CPU以存储器的00000003FFH共l024个单元作为中断向量的存储区,每个中断向量占用4个存储单元。CPU响应中断
13、后,怎样从中断向量表找到该中断服务程序的中断向量呢?是通过中断类型号4得到中断向量在中断向量表中的首地址。中断类型号和中断向量所在的位置关系如图8.13所示。退 出8.2.1二、中断的过程二、中断的过程 下面以可屏蔽中断为例。CPU在INTR引脚上接到一个中断请求信号,如果此时IF1,并且,当前具有最高的优先级,CPU就会在当前指令执行完以后开始响应外部的中断请求,这时,CPU通过引脚连续发两个负脉冲,外设接口在接到第二个负脉冲以后,在数据线上发送中断类型码,CPU接到这个中断类型码后,CPU做如下操作:第一,将中断类型码放入暂存器保存;第二,将标志寄存器内容压入堆栈,以保护中断时的状态;第三
14、,将IF和TF标志清0;第四,保护断点;第五,根据取到的中断类型码,在中断向量表中找出相应的中断向量,将其装入IP和CS,这样就实现自动转向中断服务子程序的执行;第六,中断返回。可以看出,中断的工作过程可以概括为五大步骤:即中断请求、中断判优、中断响应、中断服务和中断返回。退 出8.2.1三、三、8088的中断优先级别及对中断源的管理的中断优先级别及对中断源的管理 CPU设立的中断源的优先级别顺序如表8.1所示。8088对各中断源的管理如图8.14所示。退 出8.2.2 中断控制器8259A Intel8259A是一种可编程的中断控制器,有如下功能:可管理8个中断源电路的中断,并对其进行优先级
15、管理;具有8级中断优先控制,通过级连可以扩展至64级优先权控制;对中断源有屏蔽或允许申请中断的操作;CPU响应中断时,能自动提供中断类型码。退 出8.2.2一、一、8259A的内部结构的内部结构 8259A的内部结构及引脚如图8.15所示,它主要由下列主要部分组成:1.数据总线缓冲器 它是8259A与系统数据总线的接口,是8位双向三态缓冲器。2.读/写控制逻辑 CPU通过它实现对8259A的读/写操作。3.级连缓冲器 用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。4.控制逻辑电路 对整个芯片内部各部件的工作进行协调和控制。退 出8.2.25.中断请求寄存器IRR 用以分别
16、保存8个中断请求信号,当相应的中断请求输入引脚有中断请求时,该寄存器的相应位置1。6.中断屏蔽寄存器IMR 对应位用以对8个中断源的中断请求信号进行屏蔽控制。7.中断服务寄存器ISR 当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。8.优先级比较器 用以比较正在处理的中断和正在请求的中断源的优先级别,以决定是否产生中断嵌套。退 出8.2.2二、二、8259的外部引脚的外部引脚1.与CPU相连的引脚 D7D0:数据线,双向、三态。一般直接与系统的数据总线相连,用以与CPU进行信息交换。A0:奇/偶地址选择信号,输入。A00:ICW1、OCW2、OCW3 A01:ICW2ICW
17、4、OCW1 :片选信号,输入、低电平有效。一般由系统地址总线的高位地址译码后形成,决定了8259A的端口地址范围。:写控制信号,输入、低电平有效。一般与系统控制总线的 相连。退 出8.2.2 :读控制信号,输入、低电平有效。一般与系统控制总线的 相连。INT:中断请求信号,输出、高电平有效。一般与CPU的INTR相连,用以向CPU发出中断请求。:中断响应信号,输入、低电平有效。一般与CPU的 相连,在CPU发出第二个 时,8259A将其中最高级别的中断请求的中断类型码传送给CPU。2.与外设相连的引脚与外设相连的引脚 IR7IR0:8个中断请求信号,输入,有效电平由程序设定。退 出8.2.2
18、2.与外设相连的引脚与外设相连的引脚 IR7IR0:8个中断请求信号,输入,有效电平由程序设定。3.其它引脚其它引脚 CAS2-CAS0:级连信号。当8259A为主片时,为输出;当8259A为从片时,为输入。与 信号配合,实现芯片的级连,这三个引脚信号000111的不同组合,刚好对应于8个从片号。:从片开启/缓冲信号,这是一个多功能引脚。在非缓冲方式下,为输入,若8259A在系统中作从片使用,则 =0;主片则 =1;在缓冲方式下,为输出,用作8259A外部数据总线缓冲器的启动信号。+5V、GND:电源和接地引脚。退 出8.2.2三、三、8259可编程寄存器可编程寄存器1.8259的初始化字的初
19、始化字1)ICW1字 8259A开始必定写入的是ICW1,由引脚A0=0和ICW1内的D4=1确定。ICW1的格式如图8.16所示。2)ICW2字中断类型号 是8259A必定写入的字,由引脚A0=1确定。其格式如图8.17所示。3)ICW3字级连控制字 是8259A可选写入字,由引脚A0=1确定。该命令字仅用于级连方式,对主片和从片都必须写人ICW3,但两者含义不同。对于主8259A芯片,ICW3的格式如图8.18所示,从片8259A的格式如图8.19所示。退 出8.2.2 4)ICW4字格式中断方式字 是8259A可选写入字,由引脚A0=1和D7D5=000确定。只有当ICW1中的D01时才
20、需要设置,其格式如图8.20所示。8259A作为中断控制器 D2:M/S位,主/从选择位。在缓冲方式下,若D2=1,则表示为主8259A;若D2=0,则表示为从8259A。在非缓冲方式下,该位无效。D3:BUF位,设定8259是否工作于缓冲方式。若D3=1,则8259A工作于缓冲方式;若D3=0,则8259工作于非缓冲方式。D4:SFNM位,嵌套方式选择为。若D4=1,则8259工作于特殊的全嵌套模式;若D4=0,则工作于普通的全嵌套模式。普通全嵌套方式 特殊全嵌套方式退 出8.2.22.8259的操作命令字的操作命令字1)OCW1中断屏蔽控制字 OCW1是中断屏蔽操作命令字,由引脚A0=1确
21、定,格式如图8.21所示。2)OCW2中断结束和优先级循环控制字 OCW2用来设置非自动中断结束和优先级循环方式的操作命令字,由引脚A0=0及D4D3=00确定,格式如图8.22所示。3)OCW3屏蔽和读状态控制字 OCW3由A0=0及D4D3=01确定。其格式如图8.23所示。D1D0:为读命令。D1D0=11,表示读中断服务寄存器;D1D0=10,表示读中断请求寄存器;D1=0,D0无意义。D2:决定8259A是否设置为查询工作方式。查询字的格式如图8.24 所示。D6D5:决定8259A是否设置为特殊屏蔽模式命令。若D6D5=11,则 为设置特殊屏蔽模式命令;若D6D5=01,则为撤消特
22、殊屏蔽 模式、返回普通屏蔽模式命令;若D6=0,则D5无意义。退 出8.2.2四、四、8259A的实例应用的实例应用 我们可以认为,现在微机系统中断控制器的连接原理如图8.25所示。这里,主片的端口地址仍为20H、21H,从片的端口为A0H、A1H。见BIOS中初始化主片8259A的程序。需要注意,主、从片8259都采用的是普通的EOI方式,对于从片提出的中断,其服务程序返回前应发两个EOI命令,一个给从片8259,一个给主片8259:MOVAL,20H OUT 0A0H,AL OUT 20H,AL退 出8.2.22.主片中断子程序的编程举例主片中断子程序的编程举例下面给出的程序是PC机中的日
23、时钟中断子程序,也就是主8259的IR0中断子程序。它占用的是外部中断的最高优先级,每隔(1/18.2)s时间自动产生一次中断请求。;数据段DATA,段地址为0040H,其中包括有关的伪指令:wTimer_lowDW?;地址为0040:006CHwTimer_highDW?;地址为0040:006EHbTimer_oflDB?;地址为0040:0070HbMotor_statusDB?bmotor_countDB?eoiEQU20H;中断子程序(见连接)退 出8.2.23.从片中断子程序的编程举例从片中断子程序的编程举例 下面我们通过系统保留的中断源IR9展示从片中断子程序的编写方法。IR9系
24、统保留给用户,其信号线接到了系统总线的引脚B4,下面我们利用该中断源,通过图8.26设计的电路,向CPU提出中断请求,CPU响应中断后显示“Interrupt was acknowledged!”。所以8086 PC机的可屏蔽中断服务程序的设计主要有两个方面。第一,根据8259中断输入线对应的中断类型码,将中断服务程序的入口地址填入中断向量表;第二,向8259写入操作命令字对中断屏蔽与中断结束进行处理(初始化字系统已设置)。实现程序(见连接)退 出8.2.3 32位机的中断系统 32机的中断系统的逻辑结构仍然采用主、从两片8259相连的结构,但实模式下与保护模式下中断的处理过程有很大的差别。一
25、、一、32机实模式下的中断机实模式下的中断 在实模式下,32机的中断处理过程与16机是一样的,仅仅在于种类的增多,如图8.27所示。退 出8.2.3二、二、32机保护模式下的中断机保护模式下的中断 保护模式下的中断机理与实模式中断机理的本质和目的是一致的,指令的格式也完全一样,但中断的处理过程差别很大。第一,保护模式下用中断门对应实模式下的中断向量,数量仍然是256个,每个中断门用一个描述符来表示。第二,保护模式下用中断描述符表对应实模式下的中断向量表。第三,实模式中断服务入口地址寻址空间限制在最低端的1MB之内,只需一次性查找中断向量表就直接获取了中断服务程序的入口地址。保护模式中断子程序的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八章 基本的IO接口 第八 基本 IO 接口
限制150内