欢迎来到天天文库
浏览记录
ID:50157213
大小:1.11 MB
页数:42页
时间:2020-03-09
《嵌入式系统开发基础——基于ARM9微处理器C语言程序设计 教学课件 作者 978-7-302-25605-2第四章 S3C2410的中断系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章S3C2410的中断系统主要内容:4.1S3C2410的中断源4.2S3C2410的中断处理4.3中断控制4.4子中断源的中断控制4.5中断向量设置4.6其它常用寄存器4.7中断程序编写中需注意问题4.8中断实验和中断程序编写4.1S3C2410的中断源S3C2410有56个中断源。在56个中断源中,有32个中断源提供中断控制器,其中,外部中断EINT4~EINT7通过“或”的形式提供一个中断源送至中断控制器,EINT8~EINT23也通过“或”的形式提供一个中断源送至中断控制器。通过表4-1可以看到这些中断源之间的逻辑关系。4.2S3
2、C2410的中断处理S3C2410的中断控制逻辑如图4-1所示,S3C2410的中断控制可以处理56个中断源的中断请求。这些中断源可以是来自片内的中断,比如DMA、UART和I2C等;也可以来自处理器外部中断输入引脚。在这些中断源中,有如下11个中断源通过分支中断控制器来申请使用中断(与其它中断共用一个中断向量)。INT_ADCA/D转换中断;INT_TC触摸屏中断;INT_ERR2UART2收发错误中断;INT_TXD2UART2发送中断;INT_RXD2UART2接受中断;INT_ERR1UART1收发错误中断;INT_TXD1UART1
3、发送中断;INT_RXD1UART1接受中断;INT_ERR0UART0收发错误中断;INT_TXD0UART0发送中断;INT_RXD0UART0接受中断。中断控制逻辑(interruptcontrollerlogic)的任务是在片内和外部中断源组成的多重中断发生时,选择其中一个中断,通过FIQ(快速中断请求)或IRQ(通用中断请求)向CPU内核发出中断请求。图4-1中,中断源是指给出中断向量的那些中断,子中断源是指与其它中断共用一个中断向量的中断。例如UART0是一个中断源,而TXD0和RXD0就是子中断源。子中断源向CPU申请中断,子中
4、断源挂起寄存器中相应位要置1,如果该子中断没被屏蔽,则该子中断源所归属的总中断源挂起寄存器中相应位也要置1。4.3中断控制4.3.1中断模式(INTMOD)寄存器ARM920T提供了两种中断模式,即FIQ模式(快速模式)和IRQ模式(通用模式)。所有的中断源在中断请求时都要确定使用那一种中断模式。中断模式控制寄存器设置如表4-2所示,因为复位时各位等于0,如果我们采用通用中断,中断模式寄存器可以不用设置。4.3.2中断挂起寄存器和中断源挂起寄存器S3C2410有两个中断挂起寄存器:中断挂起寄存器(INTPND)见表4-3;中断源挂起寄存器(S
5、RCPND)见表4-4。当中断源向CPU申请中断时,SRCPND寄存器的相应位被置1,表明哪一个中断源向CPU申请了中断;如果当前没有优先级与此中断源相等或高于的中断服务在执行,并该中断没被屏蔽,此中断会被响应,INTPND相应位会被置14.3.3中断屏蔽寄存器(INTMSK)当INTMSK寄存器的屏蔽位为1时,对应的中断被禁止;当INTMSK寄存器的屏蔽位为0时,则相应的中断正常执行,INTMSK定义见表4-5。如果一个中断的屏蔽位为1,则该中断请求不被受理4.3.4中断优先级寄存器(PRIORITY)上面已介绍过,S3C2410共有56个
6、中断源,有32个中断控制器,外部中断EXTIN8~23共用一个中断控制器,外部中断EXTIN4~7共用一个中断控制器,9个UART中断分成3组,共用3个中断控制器,ADC和触摸屏共用一个中断控制器。系统对中断优先级实行由中断优先寄存器(PRIORITY)和7个中断仲裁器组组成的两级控制,这7个中断仲裁器组由6个子中断仲裁器组(ARBITER0~ARBITER5)和一个主中断仲裁器组(ARBITER6)组成,每个中断仲裁器下面有4~6个中断源,这些中断源对应着REQ0~REQ5这6个优先级。仲裁器具体分组见图4-2。中断优先寄存器(PRIORI
7、TY)的定义见表4-6。当一个中断源向CPU申请中断时,它首先要在自己所在的子中断仲裁器组进行仲裁比较,如果此中断仲裁器组中没有和它同级别或高于它的中断源向CPU申请中断,则它进入主中断仲裁器组和其他组的优先中断源进行仲裁比较,决定能否向CPU申请中断。图4-2中断仲裁器分组表4-6优先级寄存器设定由表4-6可以看到,中断优先寄存器(PRIORITY)的[20:19]位控制中断仲裁器组ARB-SEL6的优先级。[20:19]=00,优先级REQ0-1-2-3-4-5;[20:19]=01,优先级REQ0-2-3-4-1-5;[20:19]=1
8、0,优先级REQ0-3-4-1-2-5;[20:19]=11,优先级0-4-1-2-3-5,其中,REQ0中断优先级总是最高的,REQ5中断优先级总是最低的。中断优
此文档下载收益归作者所有