S3C2410中断寄存器

发布者:喜茶我要七分糖最新更新时间:2016-08-26 来源: eefocus关键字:S3C2410  中断寄存器 手机看文章 扫描二维码
随时随地手机看文章
S3C2410有24个外部中断引脚:EINT0~EINT23,但是对于EINT0~EINT3这4个外部中断而言,使用比较简单;对于其它20个而言,使用稍稍复杂一些。

首先,来看S3C2410的中断控制器,有6个中断裁决器分为2级,第1级5个, 第2级1个。第1级的5个裁决器管理32个中断源,在这32个中断源中有2个是保留的,24个是给内部中断源的,而外部中断只给了6个中断:EINT0、 EINT1、EINT2、EINT3、EINT4~7、EINT8~23。EINT4~EINT7、EINT8~EINT23都是共享一个中断。

中断控制器中主要的相关寄存器有:INTMSK、SRCPND、PRIORITY、INTPND,还有一个INTMOD。但是对于外部中断还有几个寄存器:EXTINTn、EINTMSK、EINTPEND等。

对于外部中断EINT0~EINT3由于没有共享,因此外部寄存器中只有EXTINT0和它们有关,进行中断触发电平信号的设置。

但是对于其他的20个外部中断而言,所有上面提到的寄存器都有关系。实际上对于 EINT4~EINT23,实际上可以看作有3级屏蔽,第1级屏蔽是CPSR中的I-Bit和F-Bit,第2级屏蔽是EINTMASK([4:23]每 一位对应一个相应的外部中断),第3级屏蔽是INTMSK(Bit4、Bit5);对于EINT0~EINT3而言,只是INTMSK中的 Bit0~Bit3,因此在变成初始化时应该要特别注意。

在外部中断有中断请求时,由于EINT4~7、EINT8~23分别共享中断,因 此在SRCPND中分别对应Bit4、Bit5,最终导致INTPND中的相应位置1(在任何时刻只能有一个位置1),但是如何分辨这些共享的中断?可以 通过查询EINTPEND来进行(Bit4~Bit23分别对应1个外部中断)。由于在相应中断后在服务例程中应将挂起寄存器中相应的位清0来清除未处理 状态,因此对于EINT4~7、EINT8~23这20个外部中断的清除挂起寄存器的顺序是:

1. EINTPEND(可能多位同事为1),方法:向要清0的位写1,其它位写0,但要注意由于第4位保留,因此不要试图向第4位写1,可能会导致不可预料的结果。

2.SRCPND(可能多位同时为1),方法:向要清0的位写1,其它位写0。

3.INTPND,方法:向其写本身的数据(即INTPND=INTPND)。

 

下面具体介绍各个寄存器的功能: 

      SRCPND(Source Pending Register)寄存器有效位32位,可读写,每一位涉及到一个中断源,SRCPND是主中断源引脚寄存器,某个位被置1表示相应的中断被触发,但我们知道在同一时刻内系统可以触发若干个中断,只要中断被触发了,SRCPND的相应位便被置1,也就是说SRCPND 在同一时刻可以有若干位同时被置1,另外,此寄存器不受中断控制器的优先权逻辑的影响。如果此中断没有被INTMSK寄存器屏蔽、或者是快中断(FIQ)的话,它将被进一步处理。通过写数据到这个寄存器能清除SPCPND相应的位。

      INTMODE(Interrupt Mode Register)寄存器有效位为32位,可读写,每一位与SRCPND中各位相对应,它的作用是指定该位相应的中断源处理模式(IRQ还是FIQ)。若某位为0,则该位相对应的中断按IRQ模式处理,为1则以FIQ模式进行处理,该寄存器初始化值为0x00000000,即所有中断皆以IRQ模式进行处理。此中断控制器中只有一个中断源能用FIQ mode(在紧急中断下使用FIQ mode),因此INTMODE仅有一位能置1。

     INTMSK(Interrupt Mask Register)寄存器有效位为32位,可读写,INTMSK为主中断屏蔽寄存器与SRCPND寄存器对应,它的作用是决定该位相应的中断请求是否被处理。若某位被设置为1,则该位相对应的中断产生后将被忽略(CPU不处理该中断请求),设置为0则CPU对其进行处理。该寄存器初始化值为0xFFFFFFFF,既默认情况下所有的中断都是被屏蔽的。

      PRIORITY(IRQ PRIORITY Control Register)寄存器有32位,有效位[20:0],可读写,此寄存器的作用是如果有几个中断源同时触发,按照图2.2.1的流向,假如这几个中断源都没被屏蔽,并且都是IRQ模式,因此就要判定哪个中断源的优先级最高,使其在INTPND寄存器中对应位置1,CPU转向相应的中断服务程序,让中断服务程序来处理相应的中断请求。

      INTPND(Interrupt Pending Register)寄存器有效位为32位,可读写,看起来和SRCPND寄存器一样,其实他们在功能上有着重大的区别。他在某一时刻只能有1个位被置1,INTPND 某个位被置1(该位对应的中断在所有已触发的中断里具有最高优先级且该中断没有被屏蔽),则表示CPU即将或已经在对该位相应的中断进行处理。因此SRCPND寄存器说明有什么中断被触发了,而INTPND寄存器说明CPU即将或已经在对某一个中断进行处理。

      INTOFFSET(Interrupt Offset Register)寄存器有效位为32位,只读,此寄存器的值显示IRQ mode的哪个中断请求在INTPND寄存器中,通过清SRCPND和INTPND这位能自动清除,FIQ mode中断不会影响INTOFFSET寄存器,因此此寄存器仅对IRQ mode中断有效。

      SUBSRCPND(Sub Source Pending Register)寄存器有32位,有效位[10:0],可读写,它们中的每一位分别代表一个中断源,SRCPND是主中断源引脚寄存器,它是副中断源引脚寄存器,情况类似SRCPND。      INTSUBMSK(Interrupt Sub Mask Register)寄存器有32位但有效位为11位,可读写,如果mask bit位是0,此中断请求被服务,情况类似INTMSK。

关键字:S3C2410  中断寄存器 引用地址:S3C2410中断寄存器

上一篇:STM32 使用 Flash 存储数据时的一种管理办法
下一篇:S3C2440 GPIO控制

推荐阅读最新更新时间:2024-03-16 15:07

基于Nandflash的Bootloader的设计与实现
0 引言     Bootloader通常称为系统引导加载程序,是系统加电或复位后执行第一段代码 。一般它只在系统启动时运行非常短时间,但对于嵌入式系统来说,这是一个非常重要系统组成部分。通过这段小程序,可以初始化硬件设备、建立内存空间映射图,从而将系统软硬件环境带到一个合适状态,以便为调用操作系统内核准备好正确环境,并同时提供基本输入、输出系统监控功能和程序调试功能。     Bootloader是严重地依赖于硬件而实现。每种不同体系结构处理器都有不同Bootloader。除了依赖于处理器体系结构以外,Bootloader实际上也依赖于具体嵌入式板级设备配置,也就是说,对于两块不同嵌入式板而言,即使它们是基于同一种处理器
[嵌入式]
基于S3C2410A设计的工程地震仪方案
1 引言 随着嵌入式微处理器和嵌入式操作系统的发展,嵌入式系统在通讯、控制和消费电子等诸多领域得到了广泛的应用。嵌入式系统通常是面向特定应用的嵌入式CPU,与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,以动能力增强,与网络的耦合也越来越紧密。 本文利用ARM嵌入式系统构造微型化的工程地震仪雏形,以满足特定条件的工作需要,降低功耗,节省能源以延长工作时间,减小仪器尺寸和重量,使仪器更为轻便。 2 现有工程地震仪简介 工程地震仪应用于地基、路基与基础工程检测;隧
[单片机]
基于<font color='red'>S3C2410</font>A设计的工程地震仪方案
存储器扩展连接理解(S3C2410为例)—NandFlash
1. NandFlash接口电路 2. NandFlash接口信号 * NandFlash接口信号较少 * 数据宽度只有8Bit,没有地址总线。地址和数据总线复用,串行读取 信号名称 信号描述 IO 数据总线 CE# 片选信号(Chip Select),低电平有效 WE# 写有效(Write Enable),低电平表示当前总线操作是写操作 RE# 读有效(Read Enable),低电平表示当前总线操作是读操作 CLE 命令锁存(
[单片机]
存储器扩展连接理解(<font color='red'>S3C2410</font>为例)—NandFlash
s3c2410移植MPlayer到linux2.6
我使用的linux内核为2.6.14.1 MPlayer版本为MPlayer-1.0pre7try2.bz2 目前虽然已经添加了mad的mp3库,但播放声音文件回导致mplayer错误,放视频还得禁掉声音,怪了,madplay放mp3就很好 下面介绍下整个移植过程,也是参考了网上很多文章综合而来的 ================================================================= 1)编译器最好选择3.3.2 ,我使用3.4.1会出现snow.c编译错误,找不到解决办法 解压3.3.2到/usr/local/arm/下 并export PATH=http://www.eda-chin
[单片机]
S3C2410实现三导联远程心电监护系统
摘 要 主要介绍一种基于S3C2410平台的三导联远程心电监护系统。该系统能够不受时间、空间的限制对心脏病患者进行实时监护,从而方便患者与医护人员随时进行沟通。经过临床测试受到医疗界专家和心脏病患者的高度评价。 关键词 ARM,S3C2410,心电监护,无线传输 1 引 言 随着人们生活水平的提高、生活节奏的加快,心血管疾病的发病率迅速上升,已成为威胁人类身体健康的主要因素之一。而心电图则是治疗此类疾病的主要依据,具有诊断可靠,方法简便,对病人无损害的优点,在现代医学中,变得越来越重要。常规心电图是病人在静卧情况下由心电图仪记录的心电活动,历时仅为几s~1 m,只能获取少量有关心脏状态的信息,所以在有限时间内即使发生
[应用]
基于SIP的H.264视频电话终端设计
1 引 言 视频电话终端系统的实现是个很复杂的过程,涉及多方面知识。其目的是利用互联网或固定电话网等为彼此通讯的双方不但能提供实时的语音交流而且可以实现视频信息的即时传输。由于丰富的视频数据和网络可用带宽的矛盾,视频电话的发展经历了漫长的发展过程,早在上世纪20年代就有人对他进行探索和研究。 SIP(Session initiation Protocol) 协议是IETF于1999年提出的一种新的网络多媒体通信的交互信令,他相对于市场主体的H.323协议具有简单、扩展性好、便于实现等优点,但当构建电信级的大网时也相当复杂,此协议也在不断的补充和完善中 。目前市场上出现越来越多支持SIP的智能多媒体终端及
[单片机]
基于SIP的H.264视频电话终端设计
基于S3C2410和MBF200的指纹采集系统
1 引言 指纹识别是一项高新技术,而指纹识别的前期工作就是指纹图像采集。采集的图像质量对指纹识别丁作有重要影响。S3C2410是为手持设备设汁的一款低功耗、高度集成、内含一个ARM920T核的微处理器。该处理器拥有独立的16 KB指令Cache和16 KB数据Cache、MMU、支持TFT的LCD控制器、NAND闪存控制器、4路DMA、4路带PWM的Timer、I/O端口、RTC、Touch Screen接口、2个USB主机接中、1个USB设备接口、SD主机接口和MMC接口、2路SPI端口、最高运行频率为203 MHz。指纹传感器MBF200具有体积小、低功耗和低成本等特点,属于电容性传感器,其传感器阵列由二维金属电极组成,所
[单片机]
基于<font color='red'>S3C2410</font>和MBF200的指纹采集系统
采用处理器实现便携式振动测试分析仪的改进设计
在大型旋转机械、桥梁、地下铁路、加工机床等领域,对振动信号进行采集和分析,可以实现危险预报、故障诊断、性能指标分析等多项功能。传统的便携式振动测量分析仪大多用单片机或RISC CPU作为核心处理器,一般是8位或16位的,内存只有几Kb,外部存储器的容量也只有1~2 Mb,再加上CPU的主频不高,进行大量数据运算(如FFT等),需要很长时间,图像显示基本上依靠黑白液晶屏,可以显示的内容少,因此对传统的便携式振动测试分析仪进行性能的改进很有必要。 本项目采用ARM9的S3C2410处理器,可以连续监测8个通道,提供转速、棒图、振动通频值、数据列表、时域波形、频谱图、伯德图等振动监测、分析图表。采用640×480的TFT彩色显示屏,
[单片机]
采用处理器实现便携式振动测试分析仪的改进设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved