原创 LPC2478 向量中断控制器(VIC)

2011-10-18 17:17 3694 9 9 分类: MCU/ 嵌入式

简介:

        VIC是处于芯片外设和ARM内核之间的一个模块,对芯片所有外设中断进行管理,决定哪些中断源可以产生中断、产生哪种类型的中断以及中断后执行哪段服务程序。

 ARM处理器内核具有两个中断输入:向量中断请求(IRQ)和快速中断请求(FIQ)。向量中断控制器使用32个中断请求输入,可将其编程分配为FIQ或向量IRQ类型。可编程分配机制意味着外设中断的优先级可动态分配和调整。

        快速中断请求具有最高优先级。

        向量IRQ具有可编程的中断优先级。

 

特性:

               *ARM PrimeCell向量中断控制器

               *映射到AHB地址空间以高速访问

               *支持32个向量IRQ

               *16个可编程的中断优先级

               *在每个可编程优先级内的硬件优先级固定

               *硬件优先级屏蔽

               *任何中断都可分配为FIQ

               *软件中断功能

 

                                                                                   中断源分配表

31  30  29  28  27  26  25  24

符号

I2S I2C2 UART3 UART2 TIMER3 TIMER2 GPDMA SD/MMC
23 22 21 20 19 18 17 16

符号

CAN1&2 USB Ethernet BOD I2C1 AD0 EINT3

EINT2 

  LCD

15 14 13 12 11 10 9 8
符号 EINT1 EINT0 RTC PLL SSP1 SPI/SSP0 I2C0 PWM0&1
7 6 5 4 3 2 1 0
符号 UART1 UART0 TIMER1 TIMER0 ARMCore1 ARMCore0 - WDT

 

寄存器描述

1.控制寄存器

(1)中断选择寄存器 VICIntSelect                          将32个中断请求分配为FIQ和IRQ

                (31:0)       0:  该位对应的中断请求分配为IRQ

                                          1: 该位对应的中断请求分配为FIQ

                               VICIntSelect=1<<UART1_Num;  //将UART1中断分配为FIQ (UART1_Num为UART1的中断通道号)

(2)中断使能寄存器 VICIntEnable                         控制32个中断请求的使能

(3)中断使能清零寄存器 VICIntEnClear              允许软件将中断使能寄存器中的一个或多个位清零

 

(4)软件中断寄存器  VICSoftInt                               该寄存器的内容与32个不同外设功能的中断请求“相或”

                                  写0时该位无效,写1时强制产生与该位相关的中断请求。                          

(5)软件中断清零寄存器 VICSoftIntClear            允许软件将软件中断寄存器中的一个或多个位清零

                                  写0时该位无效,写1时则软件中断寄存器中对应位被清除。

(6)软件优先级屏蔽寄存器 VICSWPriorityMask 允许在任何组合中屏蔽单个中断优先级

2.参数设置寄存器

(1)向量地址寄存器0-31   VICVectAddr0-31

(2)向量地址寄存器           VICVectAddr

(3)向量优先级寄存器0-31   VICVectPriority0-31

3.状态寄存器

(1)IRQ状态寄存器  VICIRQStatus

(2)FIQ状态寄存器  VICFIQStatus

(3)原始中断状态寄存器  VICRawIntr   该只读寄存器读取所有32个中断请求和软件中断的状态,

                                           0  对应位的中断请求或软件中断未声明

                                           1 对应位的中断请求或软件中断声明

4.其它寄存器

VIC保护使能寄存器 VICProtection

 

 

VIC的基本使用方法

   **确定该中断分配为FIQ还是IRQ中断

   **若分配为FIQ,则进行相关的初始化;若分配为IRQ,再进行相关设置

   **清除相应中断标志,并使能相应中断

   **编写中断服务程序

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条