电工学习网

 找回密码
 立即注册

中断控制器

2015-4-5 07:44| 编辑:电工学习网| 查看: 10647| 评论: 0

   ARM7 TDMI有两种类型的中断模式:FIQ和IRQ。IRQ和FIQ之间的区别是:对于FIQ必须尽快处理事件并离开这个模式;IRQ可以被FIQ中断,但IRQ不能中断FIQ;为了使FIQ更快,FIQ模式具有更多的私有寄存器。
    CPSR指ARM7 TDMI处理器的程序状态寄存器。如果CPSR的F位被设置为1,处理器将不接受来自中断控制器的FIQ;如果CPSR的I位被设置为1,处理器将不接受来自中断控制器的IRQ。因此,为了使能相应中断机制,CPSR的F位或I位必须被清零,同时中断屏蔽寄存器INTMSK的相应位也必须被清零。
    中断请求寄存器INTPND的各位指示了某个中断请求是否还未被处理。在INTPND中将要或已被置位的中断位称为Pending位。若某个Pending位被置位,当CPSR的I标志位或F标志位被清零或者为0状态时,中断服务程序就会被启动执行。Pending寄存器是一个只读寄存器,所以在中断服务程序中要想清除Pending位时,需要采用在中断服务寄存器I_ISPC或F_ISPC的相应位写入1的方式来实现。
    在30个中断源中有26个中断源提供给中断控制器,4个外部中断(EINT4/5/6/7)请求是通过“或”的形式合成为1个中断源送至中断控制器,2个UART错误中断(UERROR0/1)也是如此。
    有关中断源的详细信息如表所示。
中 断 源 描 述 主 单 元 辅单元ID
EINT0 外部中断0 mGA sGA
EINT1 外部中断1 mGA sGB
EINT2 外部中断2 mGA sGC
EINT3 外部中断3 mGA sGD
EINT4/5/6/7 外部中断4/5/6/7 mGA sGKA
TICK RTC时钟节拍中断 mGA sGKB
INT_ZDMA0 通用DMA0中断 mGB sGA
INT_ZDMA1 通用DMA1中断 mGB sGB
INT_BDMA0 桥DMA0中断 mGB sGC
INT_BDMA1 桥DMA1中断 mGB sGD
INT_WDT 看门狗定时器中断 mGB sGKA
INT_UERR0/1 串行口0/1错误中断 mGB sGKB
INT_TIMER0 定时器0中断 mGC sGA
INT_TIMER1 定时器1中断 mGC sGB
INT_TIMER2 定时器2中断 mGC sGC
INT_TIMER3 定时器3中断 mGC sGD
INT_TIMER4 定时器4中断 mGC sGKA
INT_TIMER5 定时器5中断 mGC sGKB
INT_URXD0 串行口0接收中断 mGD sGA
INT_URXD1 串行口1接收中断 mGD sGB
INT_IIC IIC中断 mGD sGC
INT_SIO IIC中断 mGD sGD
INT_UTXD0 串行口0发送中断 mGD sGKA
INT_UTXD1 串行口1发送中断 mGD sGKB
INT_RTC RTC报警中断 mGKA  
INT_ADC AD转换结束中断 mGKB  
    3C44B0X中断优先级的决定有两种方式:一是通过软件查询决定中断优先级,该方式在跳到相应服务程序之前需要一个较长的延迟时间;另一种是通过硬件决定中断优先级——矢量中断模式。在多个中断源同时请求中断时,硬件优先级逻辑可以决定哪一个中断应该得到响应,然后这个硬件逻辑产生一条跳转指令跳到矢量表中对应的中断矢量地址处,在这个地址上事先已经放置了跳转到与该中断相应的中断服务程序的跳转指令。与前一种软件方式相比,这种方式将大大减少中断延迟。

看过《中断控制器》的人还看了以下文章:

发表评论

最新评论

  • 嵌入式开发到底是做什么的?
  • FPGA芯片结构
  • FPGA工作原理
  • 嵌入式学习方法与心得
  • 嵌入式软件工程师必须要掌握哪些知识
  • 嵌入式系统开发的可靠性设计

电工学习网 ( )

GMT+8, 2023-3-24 00:44

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部