中断控制器设计(东大).ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断控制器设计(东大)

中断控制器设计 目录 中断控制器的原理 中断控制器的硬件设计 中断的概述 中断是CPU在执行当前程序的过程中,当出现某些异常事件或某种内外部请求时,使得CPU暂时停止正在执行的程序(即中断),转去执行中断服务的程序,当中断服务的程序执行完后,CPU再返回暂时停止正在执行的程序处(即断点),继续执行原来的程序。 中断源一般分为:外部中断和内部中断。 中断源-外部中断 比内部中断复杂,不可控 通常和GPIO口复用 中断源触发方式 上升沿触发 下降沿触发 高电平触发 低电平触发 外部中断信号特殊处理 去除毛刺、寄存、同步到总线时钟 外部中断需要清除 中断源-内部中断 RTC 秒中断、分中断、定时中断、Watchdog中断 UART 数据发送结束中断,数据接收有效中断 TIMER 定时/计时中断 DMAC DMA错误和DMA传输完成 LCDC 错误响应、帧结束、帧起始 SPI FIFO空满、发送FIFO下溢、接收FIFO上溢 中断控制器的作用 1)优先级排队管理.根据任务的轻重缓急或设备的特殊要求 分配中断源的中断等级, 具有全嵌套、循环优先级、特定 屏蔽多种方式的优先级排队管理. 2)接受外部设备的中断请求.经过优先权判决找到哪一个中 断源的中断请求级别最高,然后再向CPU提出中断申请或 者拒绝外设的中断请求,给以屏蔽. 3)提供中断类型号.为CPU实现程序的转移给出中断服务程、序入口地址指针. 目录 中断控制器的原理 中断控制器的硬件设计 INTC的结构框图 INTC的模块流程图 INTC的接口信号 Irq中断产生 INTC中的寄存器 IRSR:IRQ原始中断状态寄存器 当对应的中断源无效时,该位为0 IFR:IRQ软件强制中断寄存器,32位 是否软件强制该位对应的中断源发出中断信号 IER:中断允许寄存器,32位 是否允许对应中断源的IRQ中断信号。 ISR:中断状态寄存器,32位 当对应中断源或使能位(IER)无效时,该位才为0 INTC中的寄存器(续) IMR:中断屏蔽寄存器,32位 是否屏蔽对应的IRQ中断信号 IMSR:屏蔽状态寄存器,32位 对应的中断源、使能位无效或屏蔽位有效时,该位才为0 IFSR:最终中断状态寄存器,32位 只有优先级大于IPLR寄存器所设置的中断源才能在此寄存器相应位置位 IPLR:中断优先级寄存器,4位有效位 设置普通中断的优先级门限,只有优先级大于此值的中断才能通过优先级过滤逻辑送到CPU Fiq中断产生 INTC中的寄存器(续) FIRSR:FIQ原始中断状态寄存器 FIFR:FIQ软件强制中断寄存器 FIER:FIQ中断允许寄存器 FISR:FIQ中断状态寄存器 FIMR:FIQ中断屏蔽寄存器 FIFSR:FIQ中断最终状态寄存器 接口电路 Verilog代码设计 输入输出接口信号 定时器中断控制 2 个定时器/计数器 T0、T1 溢出时产生的中断,TF0 和 TF1 分别为 T0、T1 的溢出标志,存放在控制寄存器 TCON 的第 5 和第7 位中,可以看出定时器中断控制主要涉及到 T0、T1 和 TCON 这三个寄存器。相关的重点实现代码如下: 外部中断控制 外部中断是指从外部输入的两个外部中断 INT0、INT1,其中断请求标志位IE0、IE1 以及触发方式控制位 IT0、IT1 分别存放在 TCON 的低 4 位,因此外部中断控制主要涉及到 TCON 低 4 位记忆 INT0、INT1 的设计。INT0 和 INT1 可直接定义平时其请求标志位随着外部输入的变化而变化,当 TCON 执行写操作时,则通过计数器保持被写入数值一定时间周期。相关的重点实现代码如下: 串行口中断控制 串行口中断控制由接收中断 RI 和串行口 TI 控制,其中断优先级由中断优先级寄存器 IP 的第 4 位控制,中断许可由中断允许寄存器 IE 的第 4 位控制,RI 或 TI 数值为“1”时表示对应 IP、IE 位为许可时将实现串行口中断控制,RI 或 TI 的数值为“0”则表示对应的串行口中断不会被响应。该控制模块部分代码如下: 软件波形仿真 INTC是通过APB来获得相关寄存器数据的,采用分时复用技术,通过对地址总线,数据总线,以及读写信号,使能信号等的不同组合,从总线上获得响应的数据。在仿真时先设置相应寄存器的数据再通过设置仿真一些中断源,最终从总线上得到中断向量地址,从IRQ,FIQ产生模块后能检测到IRQ以及FIQ信号。通过观察通过集成模拟modelsim等软件观察其波形从而判断软件波形仿真测试是否正确。 Modelsim仿真波形图 THANK YOU! * * APB总线3

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档