微机原理及接口技术课件CH.ppt
第第6章章 输入输入/输出接口输出接口1输入输出接口基础输入输出接口基础1.接口的功能与结构接口的功能与结构2.端口编址端口编址2接口地址译码方式接口地址译码方式3接口信息传输方式接口信息传输方式 程序控制程序控制(无条件、条件)、(无条件、条件)、中断中断、DMA、通道通道四四.接口设计接口设计1.并行接口设计:并行接口设计:无握手(无条件)无握手(无条件)、带握手信号带握手信号、可编程并行接口可编程并行接口2.串行接口设计串行接口设计 同步、异步同步、异步关键:设置接口电路关键:设置接口电路计算机与直接相联的外围设备进行数据交换的过程计算机与直接相联的外围设备进行数据交换的过程通常称为通常称为输入输入/输出输出(In/Out),而与远方设备进行数据交换,而与远方设备进行数据交换的过程习惯上称为的过程习惯上称为数据通信数据通信(data communication)。3/811CPU与外设两者的信号不兼容,在信号类型、功能定义、逻辑定义和时序关系上都不一致。如:信号类型有机械的、物理的、电信号等,信号形式有脉冲、模拟量或数字量等;2两者的工作速度不匹配,CPU速度高,外设速度低;3若不通过接口,而由CPU直接对外设的操作实施控制,就会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率;4数据传输方式不同,有并行、串行之分。5它们不能与CPU直接相连,必须经过中间电路再与系统相连,这部分电路被称为I/O接口电路。接口结构与功能接口结构与功能1 1接口主要功能接口主要功能 数据缓冲数据缓冲 信号转换信号转换 联络控制联络控制2 2接口硬件结构接口硬件结构 存储器接口、外设接口存储器接口、外设接口3 3接口技术组成接口技术组成4 4 硬件:地址译码、读写控制、总线(数据)缓冲硬件:地址译码、读写控制、总线(数据)缓冲5 5 软件:驱动程序(初始化、传送控制、结束控制等)软件:驱动程序(初始化、传送控制、结束控制等)CPU与外设与外设都是都是面向接口面向接口而非直接联络!而非直接联络!端口和接口的区别?端口和接口的区别?端口(端口(PORT)一定要理解一定要理解1I/O接口通常设置有若干个接口通常设置有若干个寄存器寄存器,用来暂存,用来暂存CPU和外和外设之间传输的数据、状态和控制信息。设之间传输的数据、状态和控制信息。2一般有三类寄存器,分别是一般有三类寄存器,分别是数据寄存器、状态寄存器、数据寄存器、状态寄存器、控制寄存器控制寄存器。3 3接口内的寄存器通常被称为接口内的寄存器通常被称为接口内的寄存器通常被称为接口内的寄存器通常被称为端口端口端口端口。根据寄存器内暂存信根据寄存器内暂存信息的类型,分别称为数据端口、控制端口和状态端口。息的类型,分别称为数据端口、控制端口和状态端口。4每个端口有一个每个端口有一个独立的地址独立的地址独立的地址独立的地址,CPU可以用端口地址代码可以用端口地址代码来区别各个不同的端口,并对它们分别进行读来区别各个不同的端口,并对它们分别进行读/写操作。写操作。端口和接口的区别?端口和接口的区别?一定要理解一定要理解接口(接口(Interface)1、若干个、若干个端口端口加上相应的控加上相应的控制逻辑电路构成了制逻辑电路构成了接口接口2、一个接口包含多个端口,、一个接口包含多个端口,端口是接口的一部分端口是接口的一部分3、对接口的访问实质是对、对接口的访问实质是对寄寄存器(端口)存器(端口)的访问的访问接口举例接口举例-USB通用接口芯片通用接口芯片-支持支持USBUSB设备的控制传输、批量传输、中断传输。设备的控制传输、批量传输、中断传输。-内置控制传输的协议处理器,简化常用的控制传输。内置控制传输的协议处理器,简化常用的控制传输。-通过通过U U盘文件级子程序库实现单片机读写盘文件级子程序库实现单片机读写USB USB 存储设备中的文件。存储设备中的文件。-并行接口包含并行接口包含8 8位数据总线,位数据总线,4 4线控制线控制:读选通、写选通、片选、中断输出。读选通、写选通、片选、中断输出。-接口举例接口举例接口举例接口举例接口分类并行接口:一次传输多个数据位并行接口:一次传输多个数据位串行接口:一次只有一位数据串行接口:一次只有一位数据传输方式传输方式同步接口:总线相连,同步传输同步接口:总线相连,同步传输异步接口:无共同的基准时钟异步接口:无共同的基准时钟时序控制方式时序控制方式程序查询方式:程序的执行实现程序查询方式:程序的执行实现程序中断方式:传输时由中断请求信号触发程序中断方式:传输时由中断请求信号触发存储器直接存取访问方式(存储器直接存取访问方式(DMA)通道控制器,通道控制器,I/O处理机处理机传输控制方式传输控制方式外围接口:与外设无关,是系统的一部分外围接口:与外设无关,是系统的一部分外设接口:用于连接外设的接口外设接口:用于连接外设的接口工作对象工作对象端口编址端口编址 为了区分接口电路的各个寄存器,系统为它为了区分接口电路的各个寄存器,系统为它们各自分配了一个地址,称为们各自分配了一个地址,称为I/O端口地址端口地址,以,以便对它们便对它们进行寻址进行寻址并与并与存储器地址存储器地址相区别相区别 I/O端口有两种编址方式:端口有两种编址方式:存储器映像方式、存储器映像方式、I/O独立编址方式独立编址方式 端口编址方式端口编址方式1:独立编址:独立编址(如(如(如(如IntelIntel的系列芯片)的系列芯片)的系列芯片)的系列芯片)存储存储单元单元地址地址0000H0001HF0FFHF100HF101HFFFFH0000H0001HFF00HI/O端口端口地址地址FFFFH特点:特点:系统视端口和存储单元为不同的对象。系统视端口和存储单元为不同的对象。优点:优点:系统中存储单元和系统中存储单元和I/OI/O端口的数量可达到最大。端口的数量可达到最大。缺缺点点:需需专专门门信信号号来来指指示示系系统统地地址址线线上上出出现现的的是是存存储储单单元元地地址址还还是端口地址;专用的端口操作指令比较单一;是端口地址;专用的端口操作指令比较单一;独立端口编址总线结构端口编址方式端口编址方式2:存储器映像编址:存储器映像编址(如(如(如(如FreescaleFreescale的系列芯片)的系列芯片)的系列芯片)的系列芯片)特特点点:将将端端口口看看作作存存储储单单元元,仅以地址范围的不同来区分两者。仅以地址范围的不同来区分两者。优优点点:对对端端口口的的操操作作和和对对存存储储单单元元的的操操作作完完全全一一样样,因因此此系系统统简简单单,并并且且对对端端口口操操作作的的指指令令种类较多。种类较多。缺缺点点:CPUCPU对对存存储储单单元元和和I/OI/O端端口口的的实实际际寻寻址址空空间间都都小小于于其其最最大寻址空间。大寻址空间。统一编址总线结构I/O接口地址译码方法n地址译码的方法灵活多样地址译码的方法灵活多样 n低位地址线低位地址线直接接到直接接到I/O接口芯片的地址引脚,进接口芯片的地址引脚,进行行I/O接口芯片的接口芯片的片内端口寻址片内端口寻址 n高位地址线高位地址线与与CPU的的控制信号控制信号进行组合,经译码进行组合,经译码电路产生电路产生I/O接口芯片的片选信号接口芯片的片选信号CS,实现实现系统中系统中的接口芯片寻址的接口芯片寻址 接口地址译码的设计接口地址译码的设计 接口芯片的片选信号的生成仍然可以采用接口芯片的片选信号的生成仍然可以采用存储器存储器的译码的译码方式,即方式,即线译码、部分译码线译码、部分译码和和全译码全译码三种方式:三种方式:每组芯片使用每组芯片使用一根地址线作片选一根地址线作片选只有只有部分部分高位地址线参与译码形成片选信号高位地址线参与译码形成片选信号全部全部高位地址线都参与译码形成片选信号高位地址线都参与译码形成片选信号 地址信号不完全地址信号不完全确定,所以存在地确定,所以存在地址重叠问题,浪费址重叠问题,浪费寻址空间,并可能寻址空间,并可能导致误操作导致误操作u 线译码线译码u 部分译码部分译码u 全译码全译码课本课本P184 例例练习练习:分析图中分析图中74LS13874LS138输出端的译码地址范围输出端的译码地址范围 74LS1383-8译码器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY700010&A3A4A5+5VA6A7A8A9AENIORIOW&端口译码电路课本课本P184 例例输入输出控制方式输入输出控制方式程序控制方式程序控制方式1无条件控制 1.1.特点:特点:要求外设数据变化缓慢,操作时间固定,可以被认为始终处于要求外设数据变化缓慢,操作时间固定,可以被认为始终处于 就绪状态,如一组开关或就绪状态,如一组开关或LEDLED显示管。显示管。2.2.优点:优点:简单,简单,CPUCPU随时可无条件读随时可无条件读/写数据。写数据。3.3.缺点:缺点:无法保证数据总是有效,适用面窄。无法保证数据总是有效,适用面窄。2条件控制(查询控制)1.1.特点:特点:CPUCPU主动、外设被动。执行主动、外设被动。执行I/OI/O操作时操作时CPUCPU总要先查询外设状态;总要先查询外设状态;若传输条件不满足时,若传输条件不满足时,CPUCPU等待直到条件满足。等待直到条件满足。2.2.优点:优点:解决了解决了CPUCPU与外设之间的同步问题,可靠性高。与外设之间的同步问题,可靠性高。3.3.缺点:缺点:CPUCPU利用率低,低优先级外设可能无法及时得到服务。利用率低,低优先级外设可能无法及时得到服务。无条件控制方式举例无条件控制方式举例无条件控制无条件控制外设数据变化缓外设数据变化缓慢,始终慢,始终处于就处于就绪状态绪状态,如如开关开关或或LED接口结构接口结构简单(通常只需简单(通常只需要数据端口),要数据端口),适用面较窄适用面较窄无条件控制方式举例无条件控制方式举例条件控制(程序查询)方式条件控制(程序查询)方式输输入入设设备备数据端口读选通数据端口读选通状态端口读选通状态端口读选通输入选通输入选通输入数据输入数据RQD5VDB(数据、状态)(数据、状态)READY(1bit)数据锁存器数据锁存器(输出端口)(输出端口)状态缓冲器状态缓冲器(输入端口输入端口)输输出出设设备备输出选通输出选通RQD5VDB(数据、状态)(数据、状态)BUSY(1bit)ACK状态端口读选通状态端口读选通数据端口写选通数据端口写选通 接口避免了对端接口避免了对端口的口的“盲读盲读”、“盲写盲写”,数据传送,数据传送的可靠性高,且硬的可靠性高,且硬件接口相对简单。件接口相对简单。外设应具有必要的外设应具有必要的联络(握手)信号如联络(握手)信号如READY、ACK等;等;缺点是缺点是CPU工作效工作效率低,率低,I/O响应速度响应速度慢;在有多个外设的慢;在有多个外设的系统中,系统中,CPU的查询的查询顺序由外设的优先级顺序由外设的优先级确定,实时性差。确定,实时性差。程序查询方式的打印机接口程序查询方式的打印机接口状态位为状态位为0,则表明先前送出的数据已被打印,可以再送下一,则表明先前送出的数据已被打印,可以再送下一个数据;若状态位为个数据;若状态位为1,则表明先前送出的数据还没打印,就,则表明先前送出的数据还没打印,就不能再送数据出去不能再送数据出去接口信息传输方式接口信息传输方式中断控制方式中断控制方式 中断(软件层面)中断(软件层面)中断(软件层面)中断(软件层面):是指是指CPU在执行正常程在执行正常程序时,为处理一些紧急发生序时,为处理一些紧急发生的情况,的情况,暂时中止当前程序,暂时中止当前程序,转而对该紧急事件进行处理,转而对该紧急事件进行处理,并在处理完后返回正常程序并在处理完后返回正常程序的过程。的过程。烧水的过程方式1:查询 缺点:不停地到厨房查看方式2:中断机制 优点:可以同时做多件事情或 处理紧急情况中断(硬件层面)中断(硬件层面)中断(硬件层面)中断(硬件层面):“中断中断”是外设向是外设向CPU发出的信号(高电平或低发出的信号(高电平或低电平),它告诉电平),它告诉CPU已发已发生了某种需要特别处理的生了某种需要特别处理的事件,需要事件,需要CPU停止正在停止正在执行的程序,转而去处理执行的程序,转而去处理该事件或为其服务。该事件或为其服务。1在CPU正常运行程序时,2由于内部或外部某个非预料事件的发生,3使CPU暂停正在运行的程序,4而转去执行处理引起中断事件的程序 (中断服务子程序),五.然后再返回被中断了的程序,继续执行。六.这个过程就是计算机系统中的中断。计算机中断的过程main()int a,b,sum;a=123;b=456;sum=a+b;打印机中断服务程序打印机中断服务程序打印机中断服务程序打印机中断服务程序产生一个打印机中断产生一个打印机中断中中 断断 系系 统统计算机中断系统:计算机中断系统:计算机中实现中断功能的软、硬件的总称,计算机中实现中断功能的软、硬件的总称,一般包括一般包括CPU内部配置的内部配置的中断机构中断机构、外设接口中、外设接口中设计的设计的中断控制器中断控制器及各类及各类中断服务子程序中断服务子程序。中断的相关概念u中断源:中断源:引起中断的原因,或能够发出中断请求信引起中断的原因,或能够发出中断请求信号的外设号的外设可屏蔽中断可屏蔽中断 (INTR)不可屏蔽中断不可屏蔽中断(NMI)外部中断外部中断(硬件中断)(硬件中断)内部中断内部中断(软件中断)(软件中断)(执行指令所引起的)执行指令所引起的)中断的相关概念中断类型码:中断类型码:中断类型码:中断类型码:处理器对各类中断的中断源进行的统一处理器对各类中断的中断源进行的统一处理器对各类中断的中断源进行的统一处理器对各类中断的中断源进行的统一编号编号编号编号N N。中断系统相关概念中断系统相关概念中断向量:中断向量:中断向量即中断向量即中中断服务子程序断服务子程序的入的入口地址,也就是中口地址,也就是中断服务子程序的第断服务子程序的第一条指令在存储器一条指令在存储器中的存放地址。中的存放地址。内内 存存 MOV R1,#0 x60 MOV R2,#0 x10 ADD R0,R1,R20053H打印机子程序打印机子程序0FFFH中断向量表中断向量表0000H 键盘子程序键盘子程序中断向量中断向量10E2H中断向量中断向量中断系统相关概念中断系统相关概念中断优先级:在系统中多个中断源可能同时提出中断请求时,需要按中断的轻重缓急给每个中断源指定一个优先级别,这就是中断优先级。CPU按照中断优先权的高低顺序,依次响应。按照中断优先权的高低顺序,依次响应。同级优先级问题同级优先级问题断点:是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址。中断现场:是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。中断嵌套:若有更高级别的新中断源发出请求,且新中断源满足响应条件,则CPU中止当前的中断服务程序,转而响应高级中断。这种多级(重)中断的处理方式称为“嵌套”。中中 断断 系系 统统CPU执行流程执行流程中断服务程序中断服务程序1非预料事件非预料事件1中断服务程序中断服务程序2非预料事件非预料事件2新到来的中断应比原中断的优先级高;新到来的中断应比原中断的优先级高;中断嵌套必须具备的几个条件1正正处处于于响响应应状状态态的的中中断断服服务务程程序序中中,应应开开放放总总中中断断(IF位置位置1)2新新中中断断应应具具有有比比原原中中断断有有高高的的优优先先级级;同同级级或或低低级级均不能嵌套均不能嵌套3为为保保护护各各级级中中断断服服务务程程序序的的数数据据不不被被破破坏坏,所所有有服服务程序中均应有务程序中均应有保护现场、恢复现场保护现场、恢复现场的指令的指令4每每个个中中断断服服务务程程序序末末尾尾必必须须有有IRET指指令令以以示示结结束束,从而返回被中断的程序地址处从而返回被中断的程序地址处中断屏蔽:在某些情况下,CPU可能不对中断请求信号作出响应或处理,这就是中断屏蔽。1.中断屏蔽标志2.系统在处理优先级别较高的中断请求时,不会理睬后来的级别较低的中断请求。中断处理过程中断处理过程 l中断检测CPU内部硬件自动完成内部硬件自动完成 l中断判优是否已有中断,哪个优先级更高l中断响应CPU内部硬件自动完成l中断处理服务中断服务是根据用户自行编制的指令顺序完成各项操作的。l中断返回中断的全过程中断的全过程结束当前指令结束当前指令内部中断?内部中断?NMI中断?中断?NYINTR中断?中断?TF=1?NYIF=1?Y从总线上取中断类型号从总线上取中断类型号NN执行下一条指令执行下一条指令保护现场:保护现场:FLAG压栈压栈IF=0,TF=0保护断点:保护断点:PC压栈压栈根据中断类型号获取中断根据中断类型号获取中断向量,进入中断处理过程向量,进入中断处理过程恢复断点:恢复断点:PC出栈出栈恢复现场:恢复现场:FLAG出栈出栈中断响应过程中断响应过程中断返回过程中断返回过程YN中断响应周期时序CPU从引脚从引脚 INTA 发中断响应信号,发中断响应信号,接口芯片接口芯片接收此信号,把中断类型号准备好;接收此信号,把中断类型号准备好;CPU再从引脚再从引脚 INTA 发中断响应信号,发中断响应信号,接口芯片接口芯片接此信号后,将中断类型号送至数据总线上;接此信号后,将中断类型号送至数据总线上;CPU从数据总线获取中断类型号。从数据总线获取中断类型号。类型码类型码N INTACLKAD7AD0T1T2T3T4第第 一一 个个中断响应周期中断响应周期T1T2T3T4第第 二二 个个中断响应周期中断响应周期中断如何判优?中断如何判优?中断优先级的判决一个系统中可能有很多外设,而一个系统中可能有很多外设,而CPU可能只有有限的中断可能只有有限的中断请求引脚。在可能有多个外设同时发出中断请求信号的系统中,请求引脚。在可能有多个外设同时发出中断请求信号的系统中,应该设置外设的优先级判断机制。应该设置外设的优先级判断机制。1.软件查询软件查询2.硬件排队硬件排队3.可编程中断管理芯片可编程中断管理芯片 简单易修改,先查询的优先级别就高。但占用简单易修改,先查询的优先级别就高。但占用CPUCPU时间,时间,且中断源较多时响应慢。且中断源较多时响应慢。中断响应速度快,中断响应速度快,CPUCPU利用率高;但成本高,且硬件一旦确利用率高;但成本高,且硬件一旦确定后中断源的优先级别不可更改。定后中断源的优先级别不可更改。(如(如中断优先权编码电路中断优先权编码电路和和菊花链式排队电路菊花链式排队电路)结合了软件判优和硬件判优的特点。结合了软件判优和硬件判优的特点。(如(如Intel8259)中断的软件判优法至至CPU的的INTR引脚引脚+中断请求寄存器中断请求寄存器(外设可改变其内容)(外设可改变其内容)1 2 3 4 5 6 7 8可由程序设置的可由程序设置的中中断允许寄存器断允许寄存器1 2 3 4 5 6 7 8 设备优先级由软件查询流程确定。设备优先级由软件查询流程确定。试画出工作流程试画出工作流程(P193);接接 口口电电 路路部分部分中断优先权编码电路 8-3优先优先编码编码器器A2A1A0B2B1B0比比较较器器AB12中断请求信号中断请求信号+至至CPU的的INTR引脚引脚优先权失效信号优先权失效信号(CPU没有处理中断时,置位)没有处理中断时,置位)+优先优先权寄权寄存器存器CPU 1 2 3 4 5 6 7 8可由程序设置的可由程序设置的中断允许寄存器中断允许寄存器由外设改变的由外设改变的中断请求寄存器中断请求寄存器1 2 3 4 5 6 7 8设备优先级由编码器连接方式确定。设备优先级由编码器连接方式确定。1中断、中断、1中断后中断后2中断、中断、2中断后中断后1中断,中断,1和和2同时中断同时中断 设备优先级由链式设备优先级由链式电路连接顺序确定。电路连接顺序确定。菊花链式排队电路B1 B1 B2B2H1 H1 H2 H2 G1 G1 G2 G2 CPU的中断响的中断响应信号应信号INTA到设备到设备1的中断的中断响应信号输出响应信号输出到设备到设备2的中断的中断响应信号输出响应信号输出到设备到设备7的中断的中断响应信号输出响应信号输出到设备到设备8的中断的中断响应信号输出响应信号输出1 2 3 4 5 6 7 8 可由程序设置的可由程序设置的 中断允许寄存器中断允许寄存器由外设设置的由外设设置的中断请求寄存器中断请求寄存器至至CPU的的INTR引脚引脚+1 2 3 4 5 6 7 8A1 A1 A2 A2 接口的中断方式电路接口的中断方式电路(同(同P195图图6-22)程序中断与子程序调用的区别程序中断与子程序调用的区别 子程序的执行是程序员事先安排好的(由调用子程序的子程序的执行是程序员事先安排好的(由调用子程序的指令转入);中断服务子程序的执行指令转入);中断服务子程序的执行一般由随机的中断一般由随机的中断事件事件引发。引发。子程序的执行受到主程序或上层子程序的控制;中断服子程序的执行受到主程序或上层子程序的控制;中断服务子程序一般与被中断的现行程序无关。务子程序一般与被中断的现行程序无关。不存在同时调用多个子程序的情况,因此子程序不需要不存在同时调用多个子程序的情况,因此子程序不需要进行优先级排队;而不同中断源则可能同时向进行优先级排队;而不同中断源则可能同时向CPU提出提出服务请求。服务请求。微处理器中的中断设置其实和人类活动相似,微处理器毕竟是一门人造科学。直接存直接存储储器器访问访问(DMA)方式)方式l程序查询传送方式的特点l电路简单l不能实时响应l适用于简单的无实时性要求的场合l需要CPU参与l程序中断传送方式的特点l实时响应,需要中断控制电路l适用于传输数据量较少,而要求实时性较高的场合l需要CPU参与lDMA方式l解决一次性传输大量数据l一般用于存储器与I/O之间,CPU不参与传输而运行其他程序 DMA 控制方式控制方式内存与外设间有内存与外设间有大量数据大量数据交换时,采用中断方交换时,采用中断方式,每传送一次数据,就必须经历中断处理的式,每传送一次数据,就必须经历中断处理的全部步骤,而且一般需要全部步骤,而且一般需要借助借助CPU内部的寄存内部的寄存器作为中介器作为中介DMA方式:方式:不用不用CPU的寄存器作传数中介的寄存器作传数中介,完完成存储器和外设间的直接传数,成存储器和外设间的直接传数,CPU必须将系必须将系统总线的控制权让给统总线的控制权让给DMA控制器(控制器(DMAC)DMA 控制方式控制方式DMA特点:数据不通过特点:数据不通过CPU,而由,而由DMAC直接完成存储单直接完成存储单元或元或IO端口之间的数据传送。端口之间的数据传送。程序/中断控制方式:以以CPU为控制中心。为控制中心。DMA控制方式:DMAC管理大部分的管理大部分的I/O事物,完成传送后事物,完成传送后DMAC主动通主动通知知CPU。DMA方式原理方框图方式原理方框图 CPUDMA控制器控制器存储器存储器 IO外设外设请求响应HLDAHOLDDBAB&CBPC机中的DMA数据数据缓缓冲器冲器地址地址缓缓冲器冲器数据数据总线总线地址地址总线总线时时序控序控制制逻辑逻辑IOR MEMR MEMW片片选选IOWCLK计计数指示数指示总线请总线请求求复位复位总线总线仲仲裁裁逻辑逻辑DMA控控制制逻辑逻辑地址寄地址寄存器存器计计数寄数寄存器存器状状态态寄寄存器存器总线总线响响应应DMA请请求求DMA响响应应DMA控制器结构控制器结构 外外设设申申请请 DMA操作操作总线总线响响应应 DMADMAC初始化初始化DMAC传输传输DMAC具备的功能具备的功能l向CPU发出总线请求信号HOLD。l当CPU允许出让总线控制权时,能够接收CPU发出的总线应答信号HLDA,并接管总线进入DMA方式。l具有寻址功能,对存储器及I/O寻址并修改地址指针。l具有控制逻辑,能发出读/写控制信号。l决定传输的字节数,并判断DMA是否结束。l发出DMA结束信号,交出总线权,使CPU恢复正常工作状态存存储储器器CPUDMACI/O地址地址总线总线AB总线请总线请求求总线总线响响应应DMA请请求求DMA响响应应数据数据总线总线DB控制控制总线总线CBDMA传送过程传送过程I/ODMA请请求求DMAC总线请总线请求求CPU总线总线响响应应DMA响响应应n可在可在I/O设备设备和存和存储储器之器之间间直接直接传传送数据。送数据。n传传送送时时,源和目的均直接由硬件指定。,源和目的均直接由硬件指定。n传输传输的数据的数据块长块长度需要指定,度需要指定,计计数由硬件自数由硬件自动进动进行。行。n在一批数据在一批数据传输传输完成后,一般通完成后,一般通过过中断方式通知中断方式通知CPU进进行后行后续处续处理。理。nCPU和和I/O设备设备能在一定程度上并行工作,效率高。能在一定程度上并行工作,效率高。n一般用于高速批量数据的一般用于高速批量数据的传输传输 通道方式通道方式I/O处理机处理机:采用专用计算机(通道:采用专用计算机(通道Channel、外、外围处理机围处理机PPU)来负责)来负责I/O工作。工作。智能终端、智能外设智能终端、智能外设无握手并行接口无握手并行接口(对应无条件程序控制方式)(对应无条件程序控制方式)端口端口译码器译码器WRRDABDBu 外设数据变化缓慢,始终处于就绪状态外设数据变化缓慢,始终处于就绪状态,如开关或如开关或LEDLEDu 接口结构简单(通常只需要接口结构简单(通常只需要数据端口数据端口),适用面较窄),适用面较窄数据输入数据输入缓冲器端口缓冲器端口数据输出数据输出锁存器端口锁存器端口开关组开关组LED组组 实例键盘接口一、线性键盘:按键并联方式与接口连接1.每一个按键需要占用每一个按键需要占用I/O接口的一根口线接口的一根口线 2.由程序处理按键的操作情况由程序处理按键的操作情况二、矩阵键盘:按键按照行、列方式排列 1.比线性键盘节约比线性键盘节约I/O口线口线 2.非编码键盘:非编码键盘:CPU处理按键的操作,降低了处理按键的操作,降低了CPU效率效率 3.编码键盘编码键盘:专用的单片机处理按键操作,缓减了:专用的单片机处理按键操作,缓减了CPU的负担的负担 矩阵键盘结构矩阵键盘结构 8 8位位位位并行并行并行并行输入输入输入输入端口端口端口端口8 8位位位位并行并行并行并行输出输出输出输出端口端口端口端口+5V10k10k10k10k第0行第1行第2行第7行第0列 第1列 第2列 第3列 第7列采用行扫描法和行反转法识别按键采用行扫描法和行反转法识别按键 第一步:判断是否有键按下第一步:判断是否有键按下 1.令令输出端口输出端口的各位都为低电平,即各列都为的各位都为低电平,即各列都为0 2.读取读取输入端口输入端口数据,如果输入不等于数据,如果输入不等于FFH,则有键被按下则有键被按下 第二步:确定按键号第二步:确定按键号1.1.确定按键的列数:令确定按键的列数:令输出端口输出端口的某一列为的某一列为低电平低电平,其它列为高,其它列为高电平;读取电平;读取该列对应该列对应的输入端口的输入端口值,看是否有行线处于低电平值,看是否有行线处于低电平 2.2.确定按键的行数:低电平确定按键的行数:低电平0 0对应的那一位(采用右移一位的方对应的那一位(采用右移一位的方式找到该位)。式找到该位)。行扫描法(行扫描法(P199)采用行反转法的采用行反转法的8888矩阵键盘矩阵键盘(课本没有)(课本没有)8位位并并口口B+5V10k10k10k10k 1.A口输出全口输出全0(“00H”)。)。2.B口读入数据,若为全口读入数据,若为全1(“0FFH”)则表明无键按下,)则表明无键按下,退出;否则退出;否则B口读入值包含按键口读入值包含按键所在列信息(如所在列信息(如“0FEH”表示按表示按键在键在第第0列列)。3.B口输出步骤口输出步骤2中读入的数据中读入的数据(如(如“0FEH”)。)。口读入数据,即可判断按键所在口读入数据,即可判断按键所在行信息(如行信息(如“0FBH”表示按键在表示按键在第第2行行)。)。5.根根据据步步骤骤2及及4中中读读入入的的信信息息即可知道按键编码。即可知道按键编码。8位位并并口口A键盘接口实例键盘接口实例ARM也可通过也可通过GPIO口与键盘相连口与键盘相连AT89C52数码显示接口共阴结构:共阴结构:输入控制端为高电平时,对应的LED亮;共阳结构:共阳结构:输入控制端为低电平时,对应的LED亮;多位数码管组成的数码显示屏可以有动态和静态两种显示方式。68数码显示屏静态显示接口各各位位(每位(每位8段)输段)输入控制端分别与接入控制端分别与接口电路的输出端相口电路的输出端相连,占用连,占用I/O口线多;口线多;各各段段(LED数码管)数码管)恒定地导通或截止;恒定地导通或截止;68数码显示屏动态显示接口数码显示屏动态显示接口带锁存带锁存功能的功能的并行输并行输出端口出端口D0D7D7D6D5D4D3D2D1D0D5D4D3D2D1D0位位0位位1位位2位位3位位4位位5D0D5段选有效段选有效位选有效位选有效带锁存带锁存功能的功能的并行输并行输出端口出端口两种显示方式的比较一、静态显示:显示位数少时使用一、静态显示:显示位数少时使用1.各各位位(每位(每位8段)输入控制端分别与接口电路的输出端相段)输入控制端分别与接口电路的输出端相连,占用连,占用I/O端口资源多;端口资源多;2.各各段段(LED)恒定地导通或截止;)恒定地导通或截止;二、动态显示:显示位数多时使用二、动态显示:显示位数多时使用1.各位共享输入控制端,占用各位共享输入控制端,占用I/O端口资源少;端口资源少;2.需同时进行需同时进行位选位选(选中被点亮的位)和(选中被点亮的位)和段选段选(输入控制端(输入控制端确定各确定各LED的发光情况)的发光情况)3.各位轮流显示一遍的总时间不能过长(不大于各位轮流显示一遍的总时间不能过长(不大于20ms););带握手的并行接口带握手的并行接口(同本章条件查询方式同本章条件查询方式同本章条件查询方式同本章条件查询方式)输输入入设设备备数据端口读选通数据端口读选通状态端口读选通状态端口读选通输入选通输入选通输入数据输入数据RQD5VDB(数据、状态)(数据、状态)READY(1bit)数据锁存器数据锁存器(输出端口)(输出端口)状态缓冲器状态缓冲器(输入端口输入端口)输输出出设设备备输出选通输出选通RQD5VDB(数据、状态)(数据、状态)BUSY(1bit)ACK状态端口读选通状态端口读选通数据端口写选通数据端口写选通 接口避免了对端接口避免了对端口的口的“盲读盲读”、“盲写盲写”,数据传送,数据传送的可靠性高,且硬的可靠性高,且硬件接口相对简单。件接口相对简单。外设应具有必要的外设应具有必要的联络(握手)信号如联络(握手)信号如READY、ACK等;等;缺点是缺点是CPU工作效工作效率低,率低,I/O响应速度响应速度慢;在有多个外设的慢;在有多个外设的系统中,系统中,CPU的查询的查询顺序由外设的优先级顺序由外设的优先级确定,实时性差。确定,实时性差。例:打印机并行接口例:打印机并行接口带A/D、D/A接口的数字系统放放大大器器传传感感器器采样采样/保持保持器器A/D 计计 算算 机机 系系 统统控控制制对对象象执执行行部部件件多路多路模拟模拟开关开关IO接接口口IO接接口口D/A放放大大器器A/D功能功能:将模拟电压将模拟电压成正比地转换成数字量成正比地转换成数字量A/DUI输入模拟电压输入模拟电压D7D0输出数字量输出数字量01V1/82/83/84/85/86/87/801234567000001010011100101110111 分辨率分辨率ADC的主要性能指标 用于表示用于表示ADC对微小信号的分辨能力(数字量变化一个对微小信号的分辨能力(数字量变化一个最小量时模拟信号的变化量)。最小量时模拟信号的变化量)。其中,其中,n为转换器的位数,为转换器的位数,VFS为输入电压的满刻度值;为输入电压的满刻度值;由于分辨率与位数由于分辨率与位数n有直接关系,通常也用位数有直接关系,通常也用位数n来表示来表示ADC的分辨率。的分辨率。则分辨率为:则分辨率为:5V/24则分辨率为则分辨率为:5V/28=若数字量为若数字量为4bit,满量程为,满量程为5V若数字量为若数字量为8bit:量化误差量化误差 速度(转换时间)速度(转换时间)其它其它 完成一次完成一次A/D转换所需要的时间,即从它接到转换命令转换所需要的时间,即从它接到转换命令起直到输出端得到稳定的数字量输出所需要的时间。起直到输出端得到稳定的数字量输出所需要的时间。由于由于AD的有限分辨率而引起的误差。的有限分辨率而引起的误差。量程(输入电压范围)、输出电平、编码方式、功率、温度等。量程(输入电压范围)、输出电平、编码方式、功率、温度等。START 逐次比较;逐次比较;8路输入;路输入;8位输出(分辨率);时钟位输出(分辨率);时钟640kHz时转换时间时转换时间100s;ADC 0809的内部结构及基本功能的内部结构及基本功能八位三八位三态输出态输出锁存锁存通道地通道地址锁存址锁存与译码与译码控制控制八路八路模拟模拟通道通道选择选择开关开关比较比较器器逐次逼逐次逼近寄存近寄存器器SARD/AIN0IN1IN7AADAAADBAADCALEREF+REF-EOCOED07AADAAADBOE八路八路八位八位逐次逼逐次逼近近寄存寄存器器SARSTART输出允许输出允许(允许从锁存器中读取数据允许从锁存器中读取数据)转换结束信号(高电平有效)转换结束信号(高电平有效)例:例:AD接口接口典型的典型的AD转换芯片转换芯片ADC0809美国国家半导体公司美国国家半导体公司8路模路模数转换电路芯片,采用逐次数转换电路芯片,采用逐次逼近逼近AD转换原理转换原理9地址译码器+5VD7D0IORA0A9IOWIRQXD7D0VCCREF+IN0CLOCKOEADC0809STARTADDAADDBADDCALEREF-GNDEOC1.8路轮流采样;路轮流采样;2.ALE、START、OE信号信号3.EOC作为状态作为状态输入,供输入,供CPU查询查询使用;使用;1.只有只有1路采样;路采样;2.ALE、START、OE与地址译码有关;与地址译码有关;3.EOC为中断请为中断请求信号,求信号,CPU在在中断中断服务程序服务程序中读结果数据;中读结果数据;CPUCPU可编程接口电路可编程接口电路课本课本P205 图图6-34D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/数据数据控制控制VCCT1T2P0P0口引口引脚脚MCS-51系列单片机系列单片机可编程接口芯片可编程接口芯片8255 8255是一种通用的可编程并行是一种通用的可编程并行IO接口芯接口芯片片,它是为它是为Intel系列微处理器设计的配套电路,系列微处理器设计的配套电路,也可用于其它嵌入式系统设计中。也可用于其它嵌入式系统设计中。例如:交通信号灯控制、例如:交通信号灯控制、生产线在线监控系统、高速并生产线在线监控系统、高速并行数据采集系统、电机控制系统等行数据采集系统、电机控制系统等l 初始化初始化时用户只需确定时用户只需确定端口地址及控制字端口地址及控制字,并通过送出控制字确,并通过送出控制字确定定8255A各端口的工作方式;各端口的工作方式;l 数据传送数据传送过程中,用户通过过程中,用户通过读读/写端口写端口A、B、C实现数据收实现数据收/发。发。注意注意C口的位操作方式可以通过写控制字来实现。口的位操作方式可以通过写控制字来实现。可编程通用并行接口芯片可编程通用并行接口芯片Intel8255 最简单的并行接口可由一些锁存器和(或)总线缓冲最简单的并行接口可由一些锁存