你的位置: 首页 > 通信技术 > 嵌入式系统

中断控制器

2016-10-26 09:33:04 | 人围观 | 评论:

   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外部中断0mGAsGA
EINT1外部中断1mGAsGB
EINT2外部中断2mGAsGC
EINT3外部中断3mGAsGD
EINT4/5/6/7外部中断4/5/6/7mGAsGKA
TICKRTC时钟节拍中断 mGAsGKB
INT_ZDMA0通用DMA0中断 mGBsGA
INT_ZDMA1通用DMA1中断 mGBsGB
INT_BDMA0桥DMA0中断 mGBsGC
INT_BDMA1桥DMA1中断 mGBsGD
INT_WDT看门狗定时器中断 mGBsGKA
INT_UERR0/1串行口0/1错误中断 mGBsGKB
INT_TIMER0定时器0中断 mGCsGA
INT_TIMER1定时器1中断 mGCsGB
INT_TIMER2定时器2中断 mGCsGC
INT_TIMER3定时器3中断 mGCsGD
INT_TIMER4定时器4中断 mGCsGKA
INT_TIMER5定时器5中断 mGCsGKB
INT_URXD0串行口0接收中断 mGDsGA
INT_URXD1串行口1接收中断 mGDsGB
INT_IICIIC中断 mGDsGC
INT_SIOIIC中断 mGDsGD
INT_UTXD0串行口0发送中断 mGDsGKA
INT_UTXD1串行口1发送中断 mGDsGKB
INT_RTCRTC报警中断 mGKA 
INT_ADCAD转换结束中断 mGKB