嵌入式系统基础教程ppt一套 俞建新
《嵌入式系统原理与开发》2008年春季第13讲 南京大学计算机系 俞建新主讲
嵌入式系统基础教程ppt一套 俞建新
第7章 中断、DMA和时间管理
本章主要介绍以下内容:
嵌入式中断控制器 嵌入式DMA控制器 嵌入式时钟电源管理器 嵌入式实时时钟 嵌入式脉宽调制定时器
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
引言
中断控制、DMA控制、时钟脉冲控制和定时 控制是所有计算机的必备功能,嵌入式处理 器也不例外。 这一讲主要学习S3C44B0X嵌入式处理器中的 中断控制器、DMA控制器以及与时间控制直 接相关的四个部件。 与时间控制直接相关的四个部件是分别是: 时钟电源管理器、锁相环、实时时钟和脉冲 宽度调制定时器。南京大学计算机系 3
2008年12月15日
嵌入式系统基础教程ppt一套 俞建新
7.1 嵌入式系统中断控制
本节介绍以下内容
嵌入式中断控制器工作原理 S3C44B0X中断控制器 S3C44B0X的中断优先级产生模块 S3C44B0X的向量中断模式 S3C4510B中断控制器简介 S3C2410X中断控制器简介 建立异常中断向量中断表 非向量中断模式的中断入口程序范例 嵌入式中断应用程序举例 S3C44B0X硬件中断应用举例南京大学计算机系 4
2008年12月15日
嵌入式系统基础教程ppt一套 俞建新
中断控制器概述 ——几种处理器的中断控制器一览表处理器型号 计算机类别 体系结构 Pentium 4 PC x86 MCS-51 单片机 8051 内臵 5个 S3C44B0X 嵌入式 ARM7 内臵 共30个, 外部8个 S3C4510 嵌入式 ARM7 内臵 共21个 MPC680 嵌入式 PowerPC 内臵 共44个
内臵/外臵芯片 外臵,8259A, 可以级联 中断源数 8个, 最大级联 方式下64 个
控制寄存器
IRR,IMR,ISR, ICW1-ICW4, OCW1-OCW3
TCON,IE, SCON,IP
INTCON,INTPND INTMOD,INTMSK EXTINT, EXTINTPND, , , etc
INTPND,INT MOD, INTMSK, INTOFFSET, EXTPNDPRI, , , etc
两个控制 器: SIU和 CPM
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
PC机的中断控制器
以普遍使用的基于x86处理器的PC机(台式机 和笔记本)为例,它们都拥有两块级联的中断 控制器接口芯片Intel 8259A,这种中断控制器 接口芯片早期是分立元件,安装在主板上。自 从80386处理器问世之后到现在所有PC机的这 两块8259A中断接口控制器都集成在芯片组中。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
嵌入式系统中断控制器概述
对通用计算机而言,中断控制包括:中断请 求管理、中断使能/禁能、中断优先级分配、 中断优先级判定、中断屏蔽/解除屏蔽、中 断响应、现场保护和恢复等等。 中断控制由CPU内部的中断处理逻辑和寄存 器,以及外部的中断控制器接口芯片完成。 从功能角度看,嵌入式处理器与通用处理器 的中断控制器拥有基本相同的功能,只是实 现细节不同。南京大学计算机系 7
2008年12月
15日
嵌入式系统基础教程ppt一套 俞建新
PC和ES的中断控制器之主要差异
中断控制器对于PC和ES都是不可缺少的 但是PC机的中断控制器与CPU芯片是分离的,而 ES中的中断控制器几乎都是内嵌的。 例如:8051系列和ARM系列处理器等。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
x86与ARM中断向量表的比较
x86处理器的中断向量表
实模式中断向量表起始地址是0号单元地址,每一个 中断向量占4字节,总共占空间1KB字节。 与x86处理器类似,ARM处理器在启动时也需要一个 异常中断向量表。该表也从ROM的0号地址单元存放, 每4个字节对应于一个异常中断,总空间只有32个字 节。 与x86处理器实模式中断向量表不同的是ARM处理器 的中断向量表中存放的是转移指令,而不是转移目标 的逻辑地址。南京大学计算机系 9
ARM处理器的中断向量表
2008年12月15日
嵌入式系统基础教程ppt一套 俞建新
x86处理器的实模式中断向量表
x86处理器的实模式中断向量表起始地址是0号 单元地址,每一个中断向量占4字节,总共占 空间1KB字节。x86处理器的每一个中断向量 就是该中断向量号所对应的中断服务子程序首 条指令的逻辑地址。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
三种嵌入式中断控制器介绍
以下详细介绍S3C44B0X中断控制器的工作原 理与使用方法 概括介绍S3C4510B和S3C2410X的中断控制 器。 共同特点:三者都内嵌在处理器芯片内。 差异之处:这些中断控制器能够管理的中断 源数量各不相同,内部控制寄存器的设臵不 同,中断优先级分配也不一样。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
7.1.1 ARM处理器的中断类型
ARM系列处理器有两种中断请求类型:
普通中断请求—IRQ 快速中断请求—FIQ
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
IRQ—普通中断请求
IRQ中断请求
Interrupt Request 也叫IRQ异常,属于普通中断请求。 由nIRQ引脚上的低电平触发。 IRQ中断请求的优先级低于FIQ,当FIQ信号进 入时,IRQ被暂停执行。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
FIQ—快速中断请求
FIQ中断请求
Fast Interrupt Request 也叫FIQ异常,属于快速中断请求。 用于高速数据传输和通道处理 在ARM工作模式下,FIQ拥有充足的私用寄存 器(比IRQ多了5个寄存器)。无需程序员在编 程时考虑节省寄存器,从而减小了任务切换时 的开销。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
FIQ的信号产生
FIQ由外部的nFIQ引脚上的低电平产生,其电 平输入依赖于ISYNC(ARM7TDMI输入信 号),能够排除同步或异步的情况。当ISYNC 信号为低电平时,IRQ和FIQ被认为是异步的, 在中断影响处理器流程之前,会产生一个时钟 周期延时以转
入同步状态。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
IRQ中断和FIQ中断的禁能/使能方式
在特权(非用户)模式下,设臵/复位PSR (CPSR和SPSR的统称)的I位和F位,能够禁 止/允许CPU响应IRQ和FIQ中断请求。因此为 了开发IRQ和FIQ中断响应功能,I位和F位必须 被清0,同时INTMSK(中断屏蔽寄存器)的 相应位也必须清0。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
ADS/AXD中的增强型程序状态字 (EPSR)
以下是ADS的AXD工具给出的EPSR显示界面
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
7.1.2 S3C44B0X中断控制器概述
S3C44B0X处理器能够处理30个中断源,其中 内建的中断控制器可接受26个中断源的中断请 求信号。4个外部中断(EINT4/5/6/7)请求是 通过“或”的形式合成为1个中断源送至中断 控制器,2个UART错误中断(UERROR0/1) 也是如此。 下面给出S3C44B0X的中断控制器内部寄存器 以及处理流程。
2008年12月15日
南京大学计算机系
嵌入式系统基础教程ppt一套 俞建新
7.1.2.1 S3C44B0X的中断控制寄 存器组INTMOD 中断模式寄存器 FIQ IRQ IRQ FIQ或者 IRQ中断 请求 IRQ从群优先级寄存器I_PSLV IRQ主群优先级寄存器I_PMST FIQ INTMSK 中断屏蔽寄存器
中断优先级 产生模块 IRQ FIQ
INTPND 中断请求寄存器
INTCON 中断控制寄存器
I_ISPR或者F_ISPR 中断服务登记寄存器 IRQ FIQ
26个中断源
I_ISPC或者F_ISPC 中断服务清除寄存器南京大学计算机系 19
2008年12月15日
嵌入式系统基础教程ppt一套 俞建新
S3C44B0X处理器的中断源说明
有关S3C44B0X处理器的中断源的详细信息如 教材中的表7-2(212页)所示。 表7-2的栏目说明
第2列:中断源名称 第3列:中断描述 第4列:从属连接的中断优先级裁决器的主单元名 第5列:从属连接的中断优先级裁决器的辅单元名 第6列:二级中断向量地址(小端序)南京大学计算机系 20
2008年12月15日
嵌入式系统基础教程ppt一套 俞建新
S3C44B0X的中断源清单 (1)序 号 1 中断源 EINT0 描述 外部中断0 主单元 引脚 mGA 辅单元 引脚 sGA 中断向量地址 0x0000 0020
2 34 5 6 7 8
EINT1 EINT2EINT3 EINT4/5/6/7 TICK INT_ZDMA0 INT_ZDMA1
外部中断1 外部中断2外部中断3 外部中断4/5/6/7
mGA mGAmGA mGA
sGB sGCsGD sGKA sGKB sGA sGB
0x0000 0024 0x0000 00280x0000 002C 0x0000 0030 0x0000 0034 0x0000 0040 0x0000 004421
RTC时钟节拍中断 mGA 通用DMA0中断 通用DMA1中断 mGB mGB
2008年12月15日
南京大学计算机系