当前位置:首页 > 嵌入式系统原理与设计复习 - wen
2. 中断模式寄存器(P135) 3. 中断屏蔽寄存器(P136) 4. 优先级寄存器(P137) 5. 中断未决寄存器(P138) 6. 中断偏移寄存器(P140) 7. 子源未决寄存器(P141) 8. 中断子屏蔽寄存器(P141) 5.5 源未决寄存器(P134):
源未决寄存器(SRCPND)由32位构成,每一位与一个中断请求信号相关联。当某个中断源请求中断服务时,SRCPND寄存器的相应位被置为1,即首先在源未决寄存器中登记。因此,该寄存器记录了哪个中断源的请求在等待处理。注意:SRCPND寄存器的每一位由中断源自动设置,而不管中断屏蔽寄存器(INTMASK)中对应的位是否被屏蔽。此外,SRCPND寄存器也不受中断控制器的优先级逻辑影响。
5.6 中断屏蔽寄存器(P136):
中断屏蔽寄存器(INTMSK)也是由32位组成,每一位与一个中断源相对应。若某位设置为1,则中断控制器不会处理该位所对应的中断源提出的中断请求。否则,如果设置为0,则对应的中断源提出的中断请求可以被处理。即使某屏蔽位设置为1,其对应的中断源产生中断请求时,相应的源未决位将设置成1。 5.7 优先级判别器(P137):
优先级判别寄存器(PRIORITY)是IRQ中断模式下的中断优先级控制寄存器,每个中断源在寄存器中有3位对应,分别代表ARB_SEL的2位和ARB_MODE的1位。其地址是0x4a00000c,复位初始状态为0x0000007f。该寄存器每位的含义如表6-5所示。
5.8 中断未决寄存器(P138):
INTPND寄存器是32位寄存器,寄存器中的每一位对应一个中断源。只有未被屏蔽且具有最高优先级、在源未决寄存器中等待处理的中断请求可以把其对应的中断未决位置1。因此,INTPND寄存器中只有一位可以设置为1,同时,中断控制器产生IRQ信号给ARM920T核。在IRQ的中断服务例程里,设计者可以读取该寄存器,从而获知哪个中断源被处理。 七.中断机制
7.1 看门狗定时器(P162):
S3C2410芯片看门狗定时器的作用是,当系统程序出现功能错乱,引起系统程序死循环时,能中断该系统程序的不正常运行,恢复系统程序的正常运行。
9
预分频器的值和频率分解因子可由看门狗定时器的控制寄存器(WTCON)进行编程设定。预分频器值的可选范围是: 0~28-1。频率分割因子可选择的值为16,32,64,128。使用下面公式来计算看门狗定时器的计数时钟周期:
计数时钟周期 = 1/ (PCLK / (预分频器值 + 1) / 分割因子)
一旦看门狗定时器被启动工作,看门狗定时器中的计数常数寄存器(WTDAT)就无法自动的重载到计数寄存器(WTCNT)中。因此,应该在看门狗定时器启动工作之前,通过初始化编程使计数常数写入计数寄存器(WTCNT)中。 7.2 编程(结合实验4.7) 八.I/O端口
8.1 S3C2410的I/O接口(P183):
S3C2410芯片共有117个输入/输出引脚,分属于8个I/O端口。这8个I/O端口均为多功能端口,端口功能可以编程设置。8个I/O端口是: ? 端口A (GPA):有23条输出引脚的端口。
? 端口B (GPB):有11条输入/输出引脚的端口。 ? 端口C (GPC):有16条输入/输出引脚的端口。 ? 端口D (GPD):有16条输入/输出引脚的端口。 ? 端口E (GPE):有16条输入/输出引脚的端口。 ? 端口F (GPF):有8条输入/输出引脚的端口。 ? 端口G (GPG):有16条输入/输出引脚的端口。 ? 端口H (GPH):有11条输入/输出引脚的端口。 8.2 端口的初始化设置(P183):
在S3C2410芯片中,所有的I/O引脚是功能复用的。因此,在具体使用I/O端口引脚时,应该通过编程设置端口控制寄存器,以决定使用每个I/O引脚的哪种功能。另外,I/O端口的状态(如输入还是输出、数据线是否挂起),设计者也需要通过编程设置控制寄存器来确定。
每个端口(除了A口)均有3个寄存器用于控制其操作,一个是端口控制寄存器,用于设置其每个引脚的功能;一个是数据寄存器,用于作为普通输入/输出功能时的数据存储器;再一个是上拉控制寄存器,控制该端口的引脚是否需要接上拉电阻。
8.2 编程(结合实验4.3)
10
共分享92篇相关文档