基于Verilog的8051微控制器中断系统的设计优秀毕业论文 参考文献 可复制黏贴.pdf_第1页
基于Verilog的8051微控制器中断系统的设计优秀毕业论文 参考文献 可复制黏贴.pdf_第2页
基于Verilog的8051微控制器中断系统的设计优秀毕业论文 参考文献 可复制黏贴.pdf_第3页
基于Verilog的8051微控制器中断系统的设计优秀毕业论文 参考文献 可复制黏贴.pdf_第4页
基于Verilog的8051微控制器中断系统的设计优秀毕业论文 参考文献 可复制黏贴.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

基于Verilog的8051微控制器中断系统的设计优秀毕业论文 参考文献 可复制黏贴.pdf.pdf 免费下载

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

文档简介

分 类 号 学号 m200972095 学校代码 10487 密级 硕士学位论文硕士学位论文 基于基于 verilog 的的 8051 微控制器中断系统的设计微控制器中断系统的设计 学位申请人:学位申请人: 郑伟郑伟 学 科 专 业学 科 专 业 : 半导体芯片系统设计与工艺半导体芯片系统设计与工艺 指 导 教 师指 导 教 师 : 徐静平徐静平 教授教授 答 辩 日 期答 辩 日 期 : 2012 年年 01 月月 04 日日 a thesis submitted in partial of fulfillment of the requirements for the degree of master of engineering the design of 8051s interruption system with verilog candidate: zheng wei major: design of semiconductor chip system and technology supervisor: prof. xu jingping huazhong university of science and technology wuhan, hubei 430074, p. r. china january, 2012 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的研究成果。 对本文的研究做 出贡献的个人和集体, 均已在文中以明确方式标明。 本人完全意识到本声 明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许 论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部 分内容编入有关数据库进行检索, 可以采用影印、 缩印或扫描等复制手段 保存和汇编本学位论文。 保 密,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本 论 文 属 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 i 摘 要 8051微控制器是国内应用较多的8位单片机,建立8051微控制器可综合的verilog 模型有利于嵌入式系统和各种片上系统的实际应用。在微控制器的设计中,控制信 号的设计是最复杂的,而在控制信号中,中断系统的设计又是最为复杂的。8051微 控制器内部共有5个中断源:外部中断0、定时器/计数器0、外部中断1、定时器/计数 器1、串行口中断。8051微控制器内部的2个中断优先级限制了中断控制系统只能满 足2个优先级的中断嵌套,而随着8051微控制器功能的扩展原有的中断控制系统已越 来越不能满足实际应用。 本课题采用verilog hdl设计的中断控制系统实现了8051微控制器的中断控制, 不仅能够完成不同优先级别中断响应控制,同时可以完成同优先级别的中选响应控 制,从而实现不同中断响应的无缝衔接,拓展了8051微控制器实际应用。同时优化 了中断控制系统的中断响应流程,减少了中断延迟时间,对8051微控制器的实时应 用和控制精度提高具有重要意义。系统同时提供了调整修改8051内部5个中断源优先 中断级别的功能,方便实际应用中根据实际情况来处理中断。本文详细讨论了中断 控制电路、中断响应、中断嵌套,完成了定时器控制模块、外部中断控制模块、串行 口中断控制模块的verilog编码设计。 完成原理分析及系统相关模块设计之后,对中断系统相关模块及系统进行了功能 仿真。通过使用mentor公司的modelsim仿真工具,确保了仿真的准确性。仿真的结果 证实了设计思想的正确性,符合本课题原始构想要求。 关键词:微控制器 中断系统 中断源 中断优先级 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 ii abstract 8051 microcontroller is applied widely in the domestic. setting up comprehensive verilog model of 8051 microcontroller can be beneficial to the embedded system and various onchip debug system. in the degign of microcontroller, the design of the control signal is the most complex, and in control signal, the interruption system is the most complex. 8051 microcontroller contains five interrupt sources: external interruption 0, timer/counter 0, external interruption 1, timer/counter 1, interruption of serial mouth. internal two interrupt prioritys of 8051 microcontroller limit that the interruption control system can only meet two priority nested interruption. as the function of 8051 microcontroller expands, the original interruption system cannot catch up with the actual application. this subject designs the interruption control system of 8051 microcontroller with verilog hdl. it not only can meet interruption response control of different priority levels, but also can complete with priority level among the response control at the same time, realizing the seamless cohesion of different interruption responses. it also expands the practical applicationof 8051 microcontroller. this subject optimizes the response process of the interruption of the control system to reduce the interrupt delay time, which means a lot to the real-time application and higher precision. the system also provides adjustment function of interrupt priority levels, so users can deal with interruption according to actual condition. this paper discussed the interrupt control circuit, interrupt response, nested interruption, completed the timer control module, external interruption, control module, a serial port control module with verilog. upon the completion of circuit analysis and design of sub-module, the whole circuit was functional simulated and verified. simulation is finished on modelsim of mentor. these measurements assured correct design of clock chip. the last design result completed accord with the design specification. keyword: microcontroller interrupt system interrupt source interrupt priority 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 iii 目 录 摘 要 . i abstract . ii 1 绪论 . 1 1.1 研究背景 . 1 1.2 选题目的及意义 . 2 1.3 论文结构安排 . 3 2 中断相关概念 . 5 2.1 中断的定义 . 5 2.2 中断源与中断矢量 . 6 2.3 中断优先级 . 7 2.4 中断请求 . 9 2.5 中断嵌套与响应 . 10 2.6 小结 . 14 3 8051 微控制器及中断控制系统结构及原理 . 15 3.1 8051 微控制器的结构 . 15 3.2 8051 微控制器中断控制系统 . 20 3.3 8051 微控制器中断控制系统采用的协议 . 22 3.4 8051 微控制器中断控制系统工作原理 . 25 3.5 小结 . 29 4 8051 微控制器中断控制系统整体设计 . 30 4.1 中断控制模块设计 . 30 4.2 中断响应设计 . 33 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 iv 4.3 中断嵌套设计 . 34 4.4 小结 . 36 5 数字部分 verilog 实现及功能仿真 . 37 5.1 定时器中断控制 . 37 5.2 外部中断控制 . 38 5.3 串行口中断控制 . 39 5.4 功能仿真 . 39 5.5 小结 . 41 6 总结与展望 . 42 致谢 . 44 参考文献 . 45 附录 作者在攻读硕士学位期间发表的论文 . 48 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 1 1 绪论 1.1 研究背景 自从 20 世纪 70 年代面世以来, 微控制器因其齐备实用的功能在工业控制、 通信、 自动化生产、智能仪器等领域得到了广泛的应用同时发挥越来越重要的作用,并借助 微电子技术及工艺的进步进一步缩小了微控制器的体积并降低了微控制器的价格,为 微控制器的大规模应用扫除了障碍,微控制器的结构也随之产生了巨大变化。最开始 的微控制器主要采用的是初级的普林斯顿结构,随着微控制器复杂化的发展,目前主 流的微控制器基本上都是应用哈佛双总线结构的精简指令集的微处理器,微控制器发 展速度迅速1。微控制器的功能满足了工业应用,同时也提高了对其性能需求,要求 微控制器能达到更快的速度、更低的功耗、更低的价格、更人性化的操作和模块化的 系统设计,这也使得集成化、智能化、模块化、通用化成为微控制器发展的一个趋势。 中断控制系统是指微控制器中实现中断功能的相关硬件和软件的集合2,作为微控制 器的重要组成单元,优化中断控制能够有效的提高微控制器的工作效率和实时响应能 力、 降低功能损耗。 intel 8086 微处理器是 1978 年问世的, 当时它的频率只有 5mhz3, 同时处理器内内共有 3 个输入中断的引脚,其中的两个引脚分别用来生成可隔断和不 可隔断中断请求,而在另外的一个引脚则是外部用来处理中断设备与微控制器的接 口。作为早期的微控制器产品,8086 微控制器通过 8259a 外部可编程中断控制器来 实现中断控制4-5, 系统根据实际需要使用到的中断通道也就是要处理的中断请求信号 个数来计算需要用到多少片 8259 芯片,相当于增加外设实现中断通道控制。目前的 微型控制器还是采用了这个设计,不过是通过将原来独立的 8259 芯片集成到其他芯 片中,通过这样的集成设计大大减缓了系统设备的复杂性并提高了集成芯片的性能。 虽然是通过连接外部中断控制器来完成中断处理,但是通过 8086 芯片中断控制 系统得以完善并形成了很多实用的中断技术, 在目前的中断系统中也可以找到与 8086 芯片级中的中断控制相关的技术和设计结构,另外很多中断技术的归纳,如中断矢量 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 2 表、中断控制优先级等的提出,使得中断控制体系走向规范标准化。8086 芯片的中断 控制成为中断控制系统发展的一个重要里程碑。 中断是指微控制器在正常运行程序时,微控制器的内部或外部或由于系统的预先 安排发生了某种状况(如定时/计数器溢出,int0、int1 引脚上电平突变等)要求系 统及时响应,为响应该状况而暂时中断当前正在执行的指令而转去处理发生的状况, 也就是执行一段中断服务指令。当完成中断服务程序后,系统返回原来被中断的地方 并继续执行最开始的指令程序。微控制器不能提前知道中断产生的时间,也就意味着 中断产生的突发性和不可预测性。广义的中断可以通过硬件产生,也可以根据指令提 前进行安排。中断系统可以自动完成中断响应过程。 在微控制器应用中,中断系统能解决快速响应的 cpu 与速度较慢的外围单元之 间的矛盾,同时实现了一些其他功能,如指令的分时操作以及异常处理等等,极大的 优化了了 cpu 的功能。随着微控制器应用范围的扩大,不少新的功能被添加进中断 控制系统,如系统自动保护、多指令响应、智能管理等等。中断控制系统已成为衡量 微控制器功能的重要指标之一。 作为国内应用非常广泛的 8051 微控制器由于系统只提供了 2 个中断优先级限制 了中断控制系统可以处理中断源的数量,并越来越不能满足实际要求,优化扩展 8051 微控制器中断控制系统成为提高微控制器应用功能的当务之急。 1.2 选题目的及意义 从以上的叙述中可以了解,传统的 8051 微控制器中断系统只能满足 2 个优先级 别的中断响应控制,限制了实际响应中断程序数量,而在实际应用中经常会碰到同等 优先级中断请求发生的情况,而在原有的系统中会屏蔽掉同等优先级中断请求,导致 系统不能圆满应对所有中断请求而不利于微控制器的实际应用。基于以上考虑,本课 题优化设计了8051微控制器的中断系统, 不仅能够完成不同优先级别中断响应控制, 同时可以完成同优先级别的中选响应控制,使得微控制器能够应对更多实际应用, 从而实现不同中断响应的无缝衔接。该中断系统可广泛应用于目前的 8051 系列微控 制器。 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 3 在过去的中断控制系统设计中,将中断系统作为独立的系统使用,而且设计周期 长,不利于可重用设计。本课题将中断系统按功能模块进行划分,采用自顶向下与自 底向上相结合的设计方法,利用已用的 eda 设计工具来设计系统。其中中断系统的 数字部分基于 verilog 硬件描述语言6-7,采用 modelsim 仿真工具等来实现功能。自 从 1990 年 cadence 公司公开 verilog 语言并通过成立的 lvi 组织推动 verilog 语言成 为国际标准也就是 ieee standard1364-1995 以来,verilog 作为硬件描述语言的代表获 得了极大的发展。由于 verilog 与 c 语言具有较大的共同性,简单易于设计并利于使 用人员理解,入门较为简单,使得采用 verilog 作为设计工具的公司和工程师在不断 的增加中,几乎所有的硬件描述语言都支持行为级建模8。verilog 设计中可以通过调 用不同的模块设计实现设计的并行处理,极大的缩短了设计流程并提高了设计模块的 可重复使用性。 相比另外一种硬件设计语言 vhdl, veriloghdl 的编程风格更加简洁 明了,高效便捷,简单易学9。veriloghdl 语言开发 cpld/fpga(field programmable gate array)的完整流程是: 文本编辑功能仿真逻辑综合布局布线时序仿真(后仿真) 10。 采用自顶向下与自底向上相结合的设计方法和 verilog 设计语言不断能够有效地 缩短了芯片设计周期,同时提高了设计的可重用性,verilog 是用文本方式描述设计。 其突出优点有11-13 :设计效率高,同时可以调用不同的设计数据库等。本课题完成 电路原理分析及子模块设计之后, 用硬件描述语言 verilog 编写 rtl(register translate level,寄存器传输级)级代码14,对整体电路进行了功能仿真,最终的设计结果完全 符合设计要求,证实了设计思想的正确性。 1.3 论文结构安排 本课题来源于对 8051 微控制器中断控制系统的研究工作。文章首先介绍了 8051 微控制器中断系统的构成、基本原理与关键技术,然后根据这些理论构建并设计中断 控制系统整体框架,完成了相关数字模块部分代码的实现,在此基础上对功能模块进 行了仿真及验证。论文主要结构安排如下: 第一章是绪论,主要介绍了本课题的研究背景,并根据实际应用阐述了本研究工 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 4 作的选题目的以及课题研究的意义,并说明本文的结构安排。 第二章的内容主要阐述了中断的相关基础知识,包括最基本的定义、中断嵌套与 响应、中断请求等。 第三章系统介绍了 8051 微控制器中断系统的构成和控制原理,详细介绍了中断 控制系统特性、工作相关协议以及工作原理及应用。 第四章是中断控制系统的整体设计,包括中断控制模块设计、中断响应设计、中 断嵌套设计,并阐述了设计思想及构成。 第五章是本课题研究设计工作的重点,详解介绍了终端控制系统数字部分的 verilog 实现,详细介绍了定时器中断控制模块、外部中断控制模块、串行口中断控制 模块等的具体设计思想和实现过程。对中断控制系统进行全面的功能仿真,在对各个 功能模块单独仿真后再对整体系统进行仿真。 第六章 本课题研究设计成果总结与进一步设计工作的展望。 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 5 2 中断相关概念 2.1 中断的定义 当 cpu 与外部设备交换信息时,由于 cpu 运行速度很快,而外部设备相对速度 较慢,为处理快速的 cpu 与慢速的外部设备之间的问题,加快系统的处理速度而产 生了中断。如我们会经常使用到的打印机,cpu 传输数率快,但是打印文件的速度比 较慢,在不采用中断控制的情况下,cpu 会因为常常因为打印文件的速度较慢而处于 空闲情况,没有充分发挥 cpu 的功效。通过中断控制,在接收到打印机打印完先有 的文件数据请求中断响应的其他时间,cpu 可以完成系统规划设定的命令,从而最大 限度实现整套系统的功能。 与此同时操作系统15通过中断来进行基于时间片的多任务 调度。 我们在实际场景中也常常碰到中断现象。举个生活中简单的例子,你正在家里吃 饭家里来了快递你放下筷子你与快递员交涉快递事宜交涉完毕 继续吃饭。这就是一个中断和中断处理过程。停止吃饭时因为要去处理更为迫切的 处理快递事宜,把更需要处理的事情处理完毕后继续吃饭,也就是继续开始正在做的 事情。在上述过程中,可以在相同的时间内处理了吃饭与处理快递。通过计算机语言 来说明中断既是指,当 cpu 运行某个指令时,碰到系统外或者系统内产生了其他状 况,需要 cpu 暂时停止执行正在运行的指令而去操作突发的状况,并在操作完突发 状况以后继续返回操作原中断执行的指令,整个事件即为中断。通过上述描述可以知 道中断源、中断响应、中断返回构成中断事件的三个基本要素。中断源向系统发出中 断请求后,微控制器处理中断请求后,系统返回原来系统程序的中断点并继续执行。 随着中断技术应用越来越广泛以及微控制器系统的升级,中断涵盖的领域也越来 越广泛。中断内部或者外部突发非人为的状况叫做中断,通过人为设置的指令来产生 的突发状况也同样是中断,由于系统硬件而产生的中断具有突发性的特点,不能被系 统预先测知,而软件中断则可以通过系统预先设定16,一般是为特殊目的而设置。现 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 6 在系统在运行过程中所发生的异常也被归属于中断的范围,同时和系统内因为软件原 因所发生的中断一起归属到异常。 2.2 中断源与中断矢量 2.2.1 中断源 凡是能够提出中断请求的设备或异常故障,均被称为中断源17。常见的中断源可 以分为以下 5 种类型: (1) 外设中断:外围部件执行完原有指令后,请求 cpu 执行外围部件发出的操作 指令,即为中断请求。由于系统硬件设备问题而导致的是系统内中断。 (2) 异常请求中断:系统一些重要设备设置有相关的异常检查部件,一旦这些异 常检查部件检测到系统发出的警告信息如传输通道异常、系统掉电,就会发 出中断请求要求系统中断并执行相关的异常中断操作。 (3) 时钟引起的中断:系统控制中通常会用到时钟相关电路来处理系统中的时间 检查及操作。时钟相关电路接到到系统发出的计时指令并执行,当完成指令 后时钟相关电路就会向系统发出中断信号,以便系统可以执行相关操作。 (4) 信息传输中断:这是指直接去存储器交换相关信息时发出的中断请求。 (5) 预先设置中断:这是指人为的在系统中设置中断指令,以便系统能够在预先 设定的中断点或者执行到某个位置的时候,对指令执行结果进行检测或者及 时发现系统运行中可能存在的错误,极大的方便了设计人员,减轻了研发错 误的纠正修改难度。 根据中断源是位于系统内或者系统内,可以根据这划分中断源为系统内和系统外 中断源。较早时期人们所接触到的中断源比较简单,所能归纳的类别有限,但随着中 断应用的深化,中断源的种类也在不断扩展,特别在 intel 386 和 486 时代中断类型 被更加的细化了18-19。 除了上述讲到的中断种类,还有一些实际应用经常会碰到的中断,如系统内所有 中断请求都需要 cpu 控制管理以审核是否响应中断请求的可屏蔽中断、测试代码常 用的断点中断等等,这些中断种类都有各自的特性以满足实际设计需要。中断屏蔽是 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 7 指通过设置相应的中断屏蔽位,禁止响应某个中断,以保证 cpu 正在操作的关键程 序能够继续操作,以避免引起指令操作故障。如果中断请求未获得系统的响应,也就 是中断被屏蔽20。举个例子,系统开始启动之前就会隔离键盘中断,以便系统能够顺 利启动。任何敲击键盘的操作都不会得到系统的反馈。不过系统中也有很多关键中断 是不能被屏蔽掉的,以免导致系统出错或者不能完成正常操作,如系统掉电、强制重 启等等。 2.2.2 中断矢量 cpu 在接收到中断请求并对中断请求响应并执行中断处理指令时, 需要知道被执 行的中断处理指令的具体位置,也就是通过查询中断处理执行的地址,也就是中断矢 量,系统中所有的中断矢量构成系统的中断矢量表。在中断矢量表中,所有中断类型 依次排序。中断矢量表中的每一种中断矢量号代码都连接着相应操作命令。这些对应 的操作命令都被放置在系统内的储存单元,中断矢量表内所包含的就有这些操作命令 的读取地址。中断请求得到响应时,可以查询中断矢量而知道对应的中断处理指令并 执行操作。中断矢量表项目有一部分是空白的,也没有连接的相应操作命令,这部分 项目是专门设置成这样以便使用者操作 21。 2.3 中断优先级 微控制器应用在具体领域中时,大部分情况下都需要处理多个来自多个中断源的 中断申请,就需要系统根据中断请求的紧急度或者系统设置确定所有中断请求的次序 并依次做出响应,所以微控制器会在系统中设置确定不同中断请求的优先级别,也就 是中断优先级。系统会优先响应高优先级的中断。中断系统确定中断优先级通常有以 下三种方法。 (1) 利用软件设定: 将不同外部设备发出的中断请求放在一起,并进行相或处理作为信号,可以 解决不同外部设备发出中断请求的要求。当系统响应中断请求后,就将其状 况写入 cpu 并按照位数检查中断请求状况。 当系统发现某位存在中断请求就 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 8 立刻变换为中断响应指令。系统在检测中断位状况的顺序也就是中断优先级 的先后顺次,无需专门的硬件判断电路,简单实用。该方法的不足之处是在 中断源数量较大时,系统从查询转换为中断响应的耗时比较长,不利于系统 对中断的及时响应。 (2) 利用硬件设定: 图 2-1 为通过硬件设定中断优先级的优先级中断链电路(daisy-chaining) 。 图 2-1 优先级中断链电路图 在该电路中,系统 cpu 发出的中断响应信号从 a 开始顺次传输。如果检测 到某个设备需要中断响应,那么该信号就会被封闭在该设备中,该设备后面 的设备也接受不到该响应信号。同时信号被封闭的该设备也被系统允许通过 数据总线将中断标志数据传输进入cpu。 如果顺次传递的设备中无中断响应, 则 cpu 发出的中断响应信号顺次继续传输。 (3) 编码设定: 硬件编码设定中断优先级框架如图 2-2 所示。在该框架图中,共有八个中断 源,当这些中断源中任何一个发出中断请求后即可通过“或”门产生相应的 中断请求信号。同时电路通过比较器来控制所有的中断请求信号能否被传递 到 cpu 中。该电路图 2-2 主要组成单元为硬件编码器和比较器。 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 9 图 2-2 硬件编码电路图 图 2-2 中所示的编码器能够编码出 3 位 2 进制优先级, 最高级别为 111, 同理 可知最低级别为 000,这些优先级被在中断源产生中断请求时赋给不同的中 断请求以便系统能够识别并按照中断优先顺序进行处理,但编码器在面临多 中断请求要求赋值的情况下只会输出优先级别最高。 当 cpu 正在处理优先级 别为 a 的中断响应而又有新的优先级别为 b 的中断请求产生时, 系统会通过 数据总线将优先级别 a 和 b 传送到比较器以便比对 a、 b 优先级别先后次序。 只有在 b 优先级别大于 a 的情况下, cpu 才会响应中断请求, 中断目前正在 运行的 a 指令,转而执行优先级别更高的 b 响应。在其他情况下,系统不会 发出中断请求给中央处理器也不会产生中断响应。在另外一种情况,如果系 统没有运行中断响应时,即意味着如果当时只要有中断请求,不论其中断优 先级别为多少,都会得到系统的响应。 2.4 中断请求 当 8051 微控制器中断系统的 cpu 完成相应操作后会检查系统是否有中断请求。 当其他单元需要 cpu 响应的时候会主动发出中断请求。cpu 有权决定是否响应相应 的中断请求并执行操作。中断请求电路如图 2-3 所示: 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 10 enb 中断请求中断请求 复位输入复位输入 复位允许复位允许 三态控制三态控制 2 3 1 5 6 4 d q q clk ds 图 2-3 中断请求电路图 在该电路中,当触发器将中断申请锁存时,触发器的 q 端为高电压;当中断允许 位为 0 时,触发器的 q 端高电压将清零。 2.5 中断嵌套与响应 2.5.1 中断嵌套 中断嵌套和中断响应是中断系统非常重要的组成部分,正是通过中断嵌套与中断 响应的控制才能实现并拓展中断系统的功能,本章节将详细介绍中断嵌套与中断响应 这两部分的。 中断嵌套是指在 cpu 正在响应处理中断请求的时候,遇到优先级别更高的中断 请求时就会中断正在执行的操作,转而执行优先级别更高的中断请求。在中断嵌套过 程中,优先级别较低的中断指令即使正在执行过程中也会被强制中断,待优先级别更 高的中断处理完毕系统才会返回继续执行被中断的优先级别较低的响应。中断嵌套可 以看作是中断响应过程中的中断。中断嵌套的流程图参见图 2-4 所示: 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 11 执行一条指令 中断 关中断 现场保护 隔离较低优先 中断 开中断 中断服务关中断 现场恢复 开中断 中断返回 取下一条指令 是 否 图 2-4 中断嵌套流程图 中断嵌套和一般的单级中断存在以下较大的不同点: (1) 中断嵌套比单级中断增加了隔离较低优先级中断的功能,这样可以有效避免 较低优先级中断指令给系统执行中断处理带来障碍,同时能让优先级别高的 中断响应得到顺利执行。 (2) 中断嵌套中的中断功能在中断执行之前就已经生效。这是为了避免较高优先 级别的中断请求被干扰,因此完成隔断较低优先中断启动系统中断功能,就 能顺利完成中断嵌套。 (3) 中断嵌套中,执行完中断指令执行后需要关闭系统的中断功能,避免现场恢 复的时候有其他的中断信号而使得现场不能完全恢复。 (4) 中断嵌套中,在恢复完现场后,需要重新开放中断功能,以便系统能够及时 处理后续所产生的中断请求。这样就构成了中断嵌套的完整流程,既可以完 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 12 成执行中断嵌套同时不会影响后续中断请求的响应。 正是由于中断嵌套的复杂性也才使得中断系统能够满足多个中断源中断控制。 2.5.2 中断响应 中断响应是指当 cpu 发现系统中存在中断请求的时候,就会中断正在执行的指 令并执行中断处理指令, 其作用是处理中断的发现, 中断响应由相应的设备进行处理, 包括发现中断请求,中断现有指令,执行中断处理指令等步骤。 在 8051 微控制器中,中断请求得到响应的时间在 3-8 个机器周期之间。8051 微 控制器中,来自定时器溢出中断外部 int0、int1 的电压经过一个机器周期的时间反 馈到 ie0 和 ie1 的标志位, 系统接着在下一个机器周期才能检测到 ie0、 ie1 中的变化 值。当中断请求符合系统要求并得到系统的响应时,系统会花费二个机器周期的时间 来执行相关程序,因此外部中断发生到系统开始进行中断响应所要的最少时间为 3 个 机器周期。另外在中断系统如果系统正在执行一些长指令的话,就会拖延系统的等待 时间,如正在访问中断控制寄存器或中断优先级控制寄存器就会需要系统把下一条命 令操作完之后再处理中断请求,系统中命令进行操作所花费的时间最久的是 4 个机器 周期,同时还需要 1 个机器周期的结束时间,也就意味着总共要花费 8 个机器周期的 时间才能对中断请求进行相应。因此综合以上因素考虑在系统响应中,外部响应一般 情况下通常需要 3-8 个机器周期的时间。 大部分情况下中断响应时间对 8051 微控制器 实际应用没有什么影响,但如果对 8051 微控制器时间控制要求非常高的情况下就需 要对中断响应时间进行控制管理以满足实际应用需求。 8051 微控制器在运行过程中,cpu 每隔一个机器周期就会顺次查询系统内的中 断位, 如果有中断位为 1 即表明系统中有中断源发出中断请求信号。 对微控制器来说, 要发现系统中是否存在的中断请求,必须要 cpu 不停的查询中断位,不然很可能会 延误错过某些中断请求而导致系统运行出错。通过以上 8051 微控制器中断过程的讲 解,可以知道 cpu 屏蔽中断响应的几种条件: (1) 有相同优先级别或者更高优先级别的中断正在被响应。 (2) 由于单片机的指令可以分为单周期、双周期和三周期,如果当前执行指令是 2 字节或者是 4 字节的就需要系统操作完整个命令之后,系统才会响应。 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 13 (3) 如果系统正在操作的命令是与中断相关的,如访问 ip、ie 或者 reti,那么需 要 cpu 再操作 1 条指令之后系统才能响应中断, 不然可能导致后续系统中断 响应出现错误。 完成中断响应后,系统会首先将该中断请求所对应的优先级状态做清零处理,然 后从系统中恢复原来中断点,也就是提取堆栈中包含的中断点信息,最后 cpu 根据 堆栈提供的信息在原中断点继续执行原有的指令。简单的说,外部中断产生时,当系 统响应中断请求时,第一步是将返回中断点会继续操作的程序地址送入堆栈,记录当 前信息并将中断入口地址寄存到程序指针中,系统会根据程序指针提供的数值执行相 关的指令操作。 中断完成后, 系统会将堆栈中保存的程序地址读取出来并反馈给 cpu, 这样 cpu 也就可以返回原中断点继续操作,保证了系统的正常工作和中断请求的及 时响应。 8051 微控制器中断系统中, 中断源发出中断请求到系统处理完中断请求程序的基 本流程如下所述: (1) 发生中断的中断源在中断产生的时刻向系统传递中断请求信号; (2) 系统根据中断请求信号进行判断是否响应,如果中断请求被响应的话系统就 会中断正在运行的操作转而执行中断处理程序; (3) 系统完成中断处理程序后如果花费了 2 个机器周期的时间就会传递相关信息 给中断控制系统; (4) 中断现场处理。主要是进行中断程序执行操作,要求系统必须将中断请求置 零,也就是不再响应已经被处理的中断请求信号,以防系统出现误操作而再 次重复中断响应操作。同时系统需要保留被中断程序的信息以便在执行完中 断响应后能够返回原来中断点继续执行被中断的操作,也就是在中断服务程 序完成以后,通过寄存器把之前保留的中断点信息返回系统,保证系统的正 常处理。 (5) 返回原中断点继续操作。当中断请求被响应之后,中断控制系统就将已经被 响应的中断请求屏蔽,同时开放其他的中断请求响应以便系统能够再次响应 其他的中断请求,同时系统根据寄存器保留的中断点信息返回原来被中断的 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 14 主命令重新操作。 2.6 小结 本文详细介绍了中断的定义、中断源的种类、中断优先级的区分和设置、中断请 求的过程、中断嵌套与中断响应的详细功能和实现原理,通过以上的描述可以详细了 解 8051 微控制器中断系统的设计背景以及设计原理。后面几章将详细讲到中断系统 的结构框架、相关协议、工作原理以及本课题中断控制系统的总体设计思想和系统构 成模块。 华 中 科 技 大 学 硕 士 学 位 论华 中 科 技 大 学 硕 士 学 位 论 文文 15 3 8051 微控制器及中断控制系统结构及原理 3.1 8051 微控制器的结构 单片微型计算机简称单片机22,又被称为微控制器(microcontroller)。作为微型计 算机的重要组成部分,单片机从诞生开始就被广泛应用并获得迅速发展。相比其他类 别的计算机,将运算处理单元、储存单元、时钟单元和外围电路以及其他辅

温馨提示

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

评论

0/150

提交评论