您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 6微处理器系统结构与嵌入式系统-第六章_计算机接口技术
微处理器系统结构与嵌入式系统设计第六章输入输出接口第六章输入输出接口6.1接口基础:功能、结构、编址6.2接口地址译码6.3接口信息传输方式:程序控制、中断、DMA、通道6.4并行接口6.5串行接口为什么要设置接口CPU与外设两者的信号不兼容,在信号类型、功能定义、逻辑定义和时序关系上都不一致。如:信号类型有机械的、物理的、电信号等,信号形式有脉冲、模拟量或数字量等;两者的工作速度不匹配,CPU速度高,外设速度低;数据传输方式不同,有并行、串行之分。外设不能与CPU直接相连,必须经过中间I/O接口电路相连。简单I/O接口框图与CPU相关的:数据总线、I/O选择(地址线)、I/O读写与外设相关的:数据寄存器、控制寄存器、状态寄存器----端口4数据缓存寄存器端口A寄存器端口B寄存器控制寄存器状态寄存器CSRS1RS0RDWR时序控制电路数据总线I/O数据控制I/O数据状态I/O选择寄存器选择I/O读I/O写接口分类5并行接口:一次传输多个数据位串行接口:一次只有一位数据传输方式同步接口:同步总线相连,并同步传输异步接口:无共同的基准时钟时序控制方式程序查询方式:程序的执行实现程序中断方式:传输时由中断请求信号触发存储器直接存取访问方式(DMA)通道控制器,I/O处理机传输控制方式外围接口:与外设无关,是系统的一部分外设接口:用于连接外设的接口工作对象存储器与I/O接口6作用:信息存储操作模式:字节的整数倍器件种类:少速度时序:CPU相当、匹配存储器作用:与外设间的信息交换操作模式:位、字节、多字节器件种类:多速度时序:差异很大、时序不同…接口端口编址为了区分接口电路的各个寄存器,系统为它们各自分配了一个地址,称为I/O端口地址,以便对它们进行寻址并与存储器地址相区别I/O端口有两种编址方式:存储器映像方式、I/O独立编址方式8独立编址存储单元地址00000H00001H……FF0FFHFF100HFF101H……FFFFFH0000H0001H……FF00HI/O端口地址……FFFFH特点:系统视端口和存储单元为不同的对象。优点:系统中存储单元和I/O端口的数量可达到最大。缺点:需专门信号来指示系统地址线上出现的是存储单元地址还是端口地址;需要专用的端口操作指令;9存储器1接口2接口1CPU外设1三总线ABDBCB存储器2接口3外设2外设3存储器读写I/O读写独立端口编址总线结构10统一编址存储单元地址00000H00001H……FF0FFHI/O端口地址FF100HFF101H……FFFFFH特点:将端口看作存储单元,仅以地址范围的不同来区分两者。优点:对端口的操作和对存储单元的操作完全一样,因此系统简单,并且对端口操作的指令种类较多缺点:CPU对存储单元和I/O端口的实际寻址空间都小于其最大寻址空间10/10011存储器1接口2接口1CPU外设1三总线ABDBCB存储器2接口3外设2外设3统一编址总线结构126.2接口地址译码全译码–全部高位地址线都参与译码形成片选信号部分译码–只有部分高位地址线参与译码形成片选信号线译码–每组芯片使用一根地址线作片选固定译码,可变译码地址信号不完全确定,所以存在地址重叠问题,浪费寻址空间,并可能导致误操作;接口信息传输方式---程序控制方式一.无条件控制1.特点:要求外设数据变化缓慢,操作时间固定,可以被认为始终处于就绪状态,如一组开关或LED显示管。2.优点:简单,CPU随时可无条件读/写数据。3.缺点:无法保证数据总是有效,适用面窄。二.条件控制(查询控制)1.特点:CPU主动、外设被动。执行I/O操作时CPU总要先查询外设状态;若传输条件不满足时,CPU等待直到条件满足。2.优点:解决了CPU与外设之间的同步问题,可靠性高。3.缺点:CPU利用率低,低优先级外设可能无法及时得到服务。14无条件控制方式举例输出设备输入设备输出锁存器输入缓冲器端口译码电路≥1DBABM/IOWRRD≥1………VCCG1G2L1L2L8K1K2K815条件程序控制(程序查询)接口数据缓冲器(输入端口)状态缓冲器(输入端口)锁存器输入设备数据端口读选通状态端口读选通输入选通输入数据RQD+5VDB(数据、状态)READY(1bit)数据锁存器(输出端口)状态缓冲器(输入端口)输出设备输出选通RQD+5VDB(数据、状态)BUSY(1bit)①④ACK③状态端口读选通数据端口写选通②⑤⑥①②③④接口避免了对端口的“盲读”、“盲写”,数据传送的可靠性高,且硬件接口相对简单。外设应具有必要的联络(握手)信号如READY、ACK等;缺点是CPU工作效率低,I/O响应速度慢;在有多个外设的系统中,CPU的查询顺序由外设的优先级确定,实时性差。16数据端口状态端口数据缓冲器状态检测译码电路触发信号状态信号D2数据总线地址总线控制总线信号78H7AH打印机接口电路程序查询方式的打印机接口状态位为0,则表明先前送出的数据已被打印,可以再送下一个数据;若状态位为1,则表明先前送出的数据还没打印,就不能再送数据出去17并行接口握手时序图BUSY数据有效DATA数据有效ACK5μsSTROB5μs1.发送方查询BUSY状态信号2.当BUSY=“0”时,发送方发送数据3.发送方用控制信号/STROB锁存数据,该信号至少维持5μs4./STROB信号导致BUSY信号变为高电平5.接收方用/ACK状态信号表示数据收到,该信号至少维持5μs6./ACK信号导致BUSY信号变为低电平18什么是中断硬件层面:“中断”是外设给出的信号,它告诉微处理器已发生了某种需要特别处理的事件,需要去处理或为其服务软件层面:中断,是指CPU在执行正常程序时,为处理一些紧急发生的情况,暂时中止当前程序,转而对该紧急事件进行处理,并在处理完后返回正常程序的过程中断服务程序1中断服务程序2非预料事件1非预料事件219◆非预料事件是指事件发生的时间无法预知,即中断源何时产生中断不确定,是随机的。◆中断源产生中断的随机性,使中断服务程序的执行也具有随机性,即何时执行中断服务程序不是在程序中安排好的。中断的随机性、不可预料性中断系统是计算机中实现中断功能的各种软、硬件的总称中断系统一般包括CPU内部相应的中断逻辑、接口中的中断控制电路及各类中断服务子程序中断的相关概念中断源:引起中断的事件,或发出中断请求的来源可屏蔽中断(INTR)不可屏蔽中断(NMI)外部中断(硬件中断)内部中断(软件中断)(执行指令所引起的)一、外部硬件中断主要有以下几种:1.I/O设备:键盘、打印机等。2.数据通道:软盘、硬盘、光盘等。3.实时时钟:如外部的定时电路等。4.用户故障源:如掉电、奇偶校验错误等。二、产生于CPU内部的软件中断源有几种:1.由CPU得运行结果产生:如除数为0、结果溢出、单步执行等。2.非法操作或指令引起异常处理。21中断的相关概念执行中断指令INTN、INTO等中断控制逻辑自动产生的中断除法错中断单步中断断点中断溢出中断等系统掉电INTR引脚中断控制器NMI引脚内存奇偶校验错中断接口电路…………键盘打印机串行口CPU内部中断类型码:处理器对各类中断的中断源进行的统一编号N。22中断向量:中断向量即中断服务子程序的入口地址,也就是中断服务子程序的第一条指令的地址在存储器中的存放位置断点:是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址中断现场:是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。中断的相关概念中断向量内存………………MOVR1,#0x60MOVR2,#0x10ADDR0,R1,R2………………0053H打印机子程序0FFFH中断向量表0000H键盘子程序……中断向量10E2H中断向量1000:150H、、、、、、、、、、MOVAX,0ADDAX,DXMOV[DI],AX、、、、、、、、、、PUSHAX、、、、IRETCPU在执行此指令时,某中断源发申请中断;CPU在执行完该指令后,转去执行中断子程地址1000:150H为断点断点概念中断系统相关概念中断优先级:在系统中多个中断源可能同时提出中断请求时,需要按中断的轻重缓急给每个中断源指定一个优先级别。中断嵌套:当CPU正在进行某一级别中断源的中断处理时,若有更高级别的新中断源发出请求,且新中断源满足响应条件,则CPU应中止当前的中断服务程序,保护此程序的断点和现场,转而响应高级中断。这种多级(重)中断的处理方式称为“嵌套”。现行主程序中断服务子程序1断点1中断服务子程序2断点2①②③④⑤⑥④⑤IRETIRET非预料事件1非预料事件2中断嵌套过程示意图中断嵌套必须具备的几个条件正处于响应状态的中断服务程序中,应开放总中断(IF位置1)新中断应具有比原中断有高的优先级;同级或低级均不能嵌套为保护各级中断服务程序的数据不被破坏,所有服务程序中均应有保护现场、恢复现场的指令每个中断服务程序末尾必须有IRET指令以示结束,从而返回被中断的程序地址处中断系统相关概念中断屏蔽:在某些情况下,CPU可能不对中断请求信号作出响应或处理,这就是中断屏蔽。屏蔽情况–中断屏蔽标志–系统在处理优先级别较高的中断请求时,不会处理后来的级别较低的中断请求。中断处理过程中断请求及检测CPU内部硬件自动完成中断判优–多个中断源同时提出中断申请,哪个优先级更高,CPU内部硬件自动完成中断响应–CPU内部硬件自动完成中断处理服务–中断服务是根据用户自行编制的指令顺序完成各项操作的。中断返回中断系统的功能一、实现中断及返回中断源发出中断请求,CPU决定是否响应,若响应,则保护断点和现场,转入相应中断服务程序,中断服务结束后,恢复现场和断点,继续执行原程序。CPU执行流程中断服务程序1非预料事件1中断系统的功能二、能实现优先权排队按各中断请求的重要程度排列CPU响应的次序称为中断优先级。即同时有多个中断请求到来时,CPU会首先响应和处理优先级别最高的中断请求。中断优先级的实现可以用软件或硬件设置32简单中断接口中的软硬件功能SRCPDQ外设发出的中断请求信号CPU中断请求复位信号+5V送至总线的中断请求引脚CPU中断请求允许信号硬件需完成的功能:可产生稳定的中断请求信号可屏蔽该中断请求信号可清除该中断请求信号软件需完成的功能:产生中断请求允许信号产生中断请求复位信号装载中断服务子程序将用户中断服务子程序的入口地址放入中断向量表33中断的软件判优法………至CPU的INTR引脚+由外设设置的中断请求寄存器12345678可由程序设置的中断允许寄存器12345678设备优先级由软件查询流程确定。34中断优先权编码电路8-3编码器A2A1A0B2B1B0比较器AB…12中断请求信号+至CPU的INTR引脚优先权失效信号+优先权寄存器CPU12345678可由程序设置的中断允许寄存器由外设设置的中断请求寄存器……12345678设备优先级由编码器连接方式确定。35设备优先级由链式电路连接顺序确定。菊花链式排队电路B1B2…H1H2G1G2…CPU的中断响应信号INTA到设备1的中断响应信号输出到设备2的中断响应信号输出到设备7的中断响应信号输出到设备8的中断响应信号输出12345678可由程序设置的中断允许寄存器由外设设置的中断请求寄存器……至CPU的INTR引脚+12345678A1A236端口译码三态缓冲器输入锁存器中断请求QDR中断屏蔽触发器Q1输入设备数据总线地址总线数据+5VVRDINTAINT选通信号接口的程序中断方式程序中断与子程序调用的区别子程序的执行是程序员事先安排好的(由调用子程序的指令转入);中断服务子程序的执行一般由随机的中断事件引发。子程序的执行受到主程序或上层子程序的控制;中断服务子程序一般与被中断的现行程序无关。不存在同时调用多个子程序的情况,因此子程序不需要进行优先级排队;而不同中断源则可能同时向CPU提出服务请求。程序查询和程序中断方式的特点程序查询传送方式的特
本文标题:6微处理器系统结构与嵌入式系统-第六章_计算机接口技术
链接地址:https://www.777doc.com/doc-3159328 .html