1、第五 讲 LPC2000系列 ARM硬件结构v主要内容一、向量中断控制器二、 GPIO三、 UART四、定时器五、 A/D转换器六、 PWM脉宽调制器5.1 向量中断控制器1、简介向量中断控制器( Vectored Interrupt Controller,简写为 VIC)具有 32个中断请求输入(本模块具有这些中断请求输入,而不是芯片具有这些中断请求连接到本模块),可将其编程分为 3类: FIQ、向量 IRQ和非向量 IRQ。 ARM PrimeCell向量中断控制器; 最多 32个中断请求输入; 16个向量 IRQ中断; 16个优先级,可动态分配给中断请求; 可产生软件中断。 2、特点中断
2、输入请求在 VIC中被设置为三类: FIQ中断: 即快速中断请求,具有最高优先级, 向量 IRQ中断:具有中等优先级,该级别可分配 32个请求中的 16个。 非向量 IRQ中断:优先级最低3、中断类型( 1)中断使能寄存器( VICIntEnable)使能分配为 FIR或 IRQ的中断请求或软件中断。( 2)中断使能清零寄存器 VICIntEnClear)禁止相应中断输入的使能。( 3)中断选择寄存器( VICIntSelect)将中断请求分配为 FIR或 IRQ,对应为 1,则分配 为 FIR,为 0分配为 IRQ。4、相关的寄存器( 4)向量控制寄存器( VICVectCntl 0-15)
3、每一个寄存器控制 16个向量 IRQ slot 中的一个。Slot 0优先级最高, slot15的优先级最低。( 5)向量地址寄存器( VICVectAddr0-15)保存 16个向量 IRQ slot 中断服务程序的地址。( 6)默认向量地址寄存器( VICDefVectAddr)保存非向量 IRQ中断服务程序的地址。( 7)向量地址寄存器( VICVectAddr )当发生一个 IRQ中断时, VIC会将对应的 IRQ服务程 序地址存入该寄存器 。 5、中断源模 块 可 产 生中断的 标 志 VIC通道号WDT 看 门 狗中断( WDINT) 0 保留 给软 件中断 1ARM内核 Embe
4、ddedICE, DbgCommRx 2ARM内核 EmbeddedICE, DbgCommTx 3定 时 器 0 匹配 0 3( MR0,MR1,MR2,MR3)捕 获 0 3( CR0,CR1,CR2,CR3) 4定 时 器 1 匹配 0 3( MR0,MR1,MR2,MR3)捕 获 0 3( CR0,CR1,CR2,CR3) 5UART0 Rx线 状 态 ( RLS), 发 送保持寄存器空(THRE)Rx数据可用( RDA),字符超 时 指示( CTI)6模 块 可 产 生中断的 标 志 VIC通道号UART1Rx线 状 态 ( RLS), 发 送保持寄存器空( THRE)Rx数据可用(
5、 RDA),字符超 时 指示( CTI)7PWM0 匹配 0 6( MR0,MR1,MR2,MR3,MR4,MR5,MR6) 8I2C SI(状 态 改 变 ) 9SPI0 SPI中断 标 志( SPIF),模式 错误 ( MODF) 10SPI1 SPI中断 标 志( SPIF),模式 错误 ( MODF) 11PLL PLL锁 定( PLOCK) 12RTC 计 数器增加( RTCCIF), 报 警( RTCALF) 13模 块 可 产 生中断的 标 志 VIC通道号系 统 控制 外部中断 0( EINT0) 14系 统 控制 外部中断 1( EINT1) 15系 统 控制 外部中断 2( EINT2) 16系 统 控制 外部中断 3( EINT3) 17A/D A/D转换 器 18保留 保留 19 316、使用 VIC的注意要点( 1)在片内 RAM中调试程序时需要使用中断,那么必须将向量重新影射到地址 0X00000000。( 2)多个 FIR中断源会增加中断程序的延迟,建议只将一个中断分配为 FIR。( 3)中断服务程序完毕后,对外设中断标志的清零会第 VIC寄存器的对应位产生影响。另外,必须在中断返回前对 VICVectAddr寄存器执行一次写操作。( 4)要禁止 VIC中断,通过写 VICIntEnClr来实现。