第八章 集成可编程中断控制器(IPIC)
本章介绍集成可编程中断控制器(IPIC),包括外部信号的定义及其功能。此外,本章还介绍配置、控制和状态寄存器。注意,本参考手册的每一章都介绍了一个部件的特定的具体的初始化过程。
8.1 绪论
本节介绍IPIC中断协议、IPIC单元控制的不同类型的中断源、以及IPIC寄存器及其编程指南。编程模型与MPC8260的中断控制相似。中断控制器提供中断管理,负责接收来自不同中断源(内部的和外部的)的硬件产生的中断。它还将中断分为不同的优先级,并将中断交付给CPU,由CPU服务。IPIC区分来自下列控制单元的中断的优先级并管理这些中断: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
DDR存贮器控制器(DDR) 本地总线内存控制器(LBC) PCI1和PCI2
四通道DMA控制器(DMA) 消息单元(MU)
双三态Ethernet控制器(TSEC1和TSEC2) DUART通信模块(DUART)
USB 2.0控制器(USB DR 和USB MPH) 安全引擎(SEC)
系统总线仲裁器(SBA)
周期间隔定时器(PIT)
实时时钟定时器(RTC ALR和RTC SEC) 八个全局定时器(GTM1-GTM8) 软件看门狗定时器(WDT) I2C控制器(I2C1和I2C2) SPI控制器(SPI)
电源管理控制器(PMC)
两个通用I/O控制器(GPIO1和GPIO2) 外部引脚(/IRQ[0:7])
IPIC单元控制的中断源引起处理器核内部的异常。内部中断(/int)信号是从IPIC到核
的主要中断输出信号,它引起常规中断异常。/cint是从IPIC到处理器核的紧急中断输出信号,它引起紧急中断异常。/smi信号是从IPIC到处理器核的系统管理中断输出信号,它引起系统管理中断异常。机器检查异常由IPIC产生的内部/mcp引起,通知主处理器出现错误、外部/IRQ0机器检查请求有效(在SEMSR[SIRQ0]=1时允许)、以及其他情况。 ? ?
表8-1列出了各种功能部件和设备的外部信号与IPIC单元的关系。 IPIC接收来自下列两个地方的中断请求信号: 该集成设备的外部 该集成设备的内部
该单元从当前所有的中断中选择最高优先级的中断,并将它交给内部处理器核,或片外,在外部服务中断。 IPIC还管理内部不可屏蔽机器检查处理器(/mcp)信号和片外中断源产生的中断
1
(/IRQ[0:7])。
IPIC的中断发送程序监控内部配置寄存器的输出。若某个收到的中断信号的优先级最高,IPIC就将某个中断未决寄存器中的对应位置位——系统内部中断未决寄存器(SIPNR)/系统外部中断未决寄存器(SEPNR)。如果该中断未被屏蔽,IPIC就宣告/int信号有效,向处理器指示中断请求。若处理器正在运行特定/int、/cint或/smi的中断处理程序代码,则处理器必须通过显式(用软件)读取相应的中断向量寄存器(SIVCR、SCVCR或SMVCR),将外部中断处理程序向量化。读取后,IPIC单元将向量(与中断源相关)返回给中断处理程序例程。此外,处理程序可以将不同分支的中断处理向量化
图8-1 中断源结构图
2
IPIC可以接收来自下列不同中断域的中断: ? ?
8个外部——片外信号(/IRQ[0:7])
35个内部——片上中断信号。中断源为DDR MEMC、LB、PCI1、PCI2、DMA、MU、
2
TSEC1、TSEC2、DUART、USB、SEC、系统总线仲裁器、PIT、RTC、GTM、IC1、I2C2、SPI、GPIO1、GPIO2和PMC
1个外部和5个内部——片上/mcp中断信号。中断源为/IRQ0、软件看门狗定时器(WDT)、PCI1、PCI2、MU和系统总线仲裁器(SBA) 中断控制器提供了屏蔽每个中断源的能力,还可以屏蔽GPIO、SEC或SBA外围事件当收到一个内部或外部中断时,IPIC检查其配置寄存器,确定应将中断发送到片外(到
?
中的多个事件。
外部/INTA),还是作为正常外部中断由处理器核服务(通过/int信号)。第三种方法是,如果进来的中断已经被配置为紧急中断或系统管理中断,IPIC就向核宣告/cint或/smi有效,完成该中断的处理。到核的/cint或/smi信号有效会把中断分别作为紧急或系统管理中断来服务。
8.2 特性 IPIC单元实现了下列特性:
? 与MPC8260中断控制器在功能和编程方面兼容 ? ? ? ? ? ? ? ?
支持8个外部和35个内部离散向量化中断源 支持1外部个和5个内部/mcp中断源
可编程最高优先级请求(可被编程,以支持紧急(/cint)或系统管理(/smi)中断) 两个可编程优先级混合组,每组4个片上和4个外部中断信号,两种优先级方案:分组的(grouped)和分散的(spread) 两个可编程优先级内部组,每组8个片上中断信号,两种优先级方案:分组的(grouped)和分散的(spread)
每组可以安排两个最高优先级的中断,以支持紧急或系统管理中断类型 外部和内部中断可以定向到主处理器 每个中断源的向量号唯一
8.3 操作模式 IPIC单元可以运行在核允许模式或核禁止模式。
8.3.1
核允许模式
在核允许模式中,所有的内部中断(包括来自PCI1和PCI2部件的那些中断)都被送到IPIC,或源自IPIC,将中断发送给PowerPC核。DMA控制器可以随意(根据DMA寄存器的设计)将其中断通过INTA信号送给PCI主机。
在该模式中,IPIC搜集所有的机器检查中断,并将它们发送给PowerPC核。如果设备作为PCI主机操作,那么应将其他PCI代理(agent)的中断连接到实现(设备)的/IRQ信号,并将它们当作正常外部中断对待(发送给核)。
8.3.2 核禁止模式 在核禁止模式中,所有的内部中断(包括来自PCI1和PCI2部件的那些中断)都被送到IPIC,或源自IPIC,然后将中断通过/INTA信号发送给PCI主机的CPU。注意,核中断
3
信号被屏蔽。在该模式中,用户应仅使用/int输出中断类型(不能使用/cint或/smi输出中断类型)读取更新了的SIVCR。(参见8.5.7节“系统内部中断控制寄存器(SICNR)”和8.5.12节“系统外部中断控制寄存器(SECNR)”。) 在该模式中,在/INTA上或/MCP_OUT上驱动的机器检查中断是电平敏感中断。SERCR[MCPR](见8.5.15节“系统错误控制寄存器(SERCR)”)控制使用哪个外部信号。
8.4 外部信号说明 下面几节概述并详细说明了IPIC信号。
8.4.1
概述
该设备有8个不同的外部中断请求输入信号(/IRQ[0:7])和一个中断请求输出信号
(/INTA)。IPIC接口信号在表8-1中定义。
表8-1 IPIC信号属性
名字 /IRQ[0:7] /INTA /MCP_OUT
8.4.2
端口 /IRQ[0:7] /INTA /MCP_OUT 功能 外部中断 中断请求输出 中断请求输出 I/O I O O 复位 - Z Z 需要上拉 是 是 是 详细信号说明
表8-2提供了外部IPIC信号的详细说明
表8-2 IPIC外部——详细信号说明 信号 说明 I/O /IRQ[0:7] I 中断请求0-7。每一个信号的检测(电平或边沿)都是可编程的。所有这些输入都可以被完全异步驱动。 状态含义 有效——当外部中断请求信号有效时(根据规定的极性),IPIC单元检查优先级,有条件地将中断传给处理器。 无效——没有来自那个源的中断。 时序 有效——可以被完全异步地宣告所有输入有效。 无效——规定为电平敏感的中断在被服务之前必须保持有效。 /INTA OD 中断请求输出。低有效,开漏极。若将IPIC设置为核禁止模式,则该输出反映的是片上中断源产生的原始中断。细节参见8.3节“操作模式”。 状态含义 有效——当前正在向外部系统报告至少一个中断。 无效——指示当前没有发向/IRQ_OUT的中断源。 时序 因为外部中断是异步的,不考虑系统时钟,所以/IRQ_OUT的有效和无效可以异步出现,与中断源无关。这里给出的所有时序都是近似的。 有效——内部中断源:中断发生后的3个系统总 4
线时钟周期。外部中断源:中断发生后的4个周期。 无效——中断源无效后,后面跟下列延迟:内部中断源:3个系统总线时钟周期。外部中断源: 4个周期。 /MCP_OUT OD 不可屏蔽中断请求(机器检查)输出。低有效,开漏极。若将IPIC设置为核禁止模式,则该输出反映的是片上中断源产生的/mcp中断。细节参见8.3节“操作模式”。 状态含义 有效——当前正在向外部系统报告至少一个机器检查中断。 无效——指示当前没有发向/MCP_OUT的中断源。 因为外部中断是异步的,不考虑系统时钟,所以/MCP_OUT的有效和无效可以异步出现,与中断源无关。这里给出的所有定时时间都是近似的。 有效——内部中断源:中断发生后的2个系统总线时钟周期。外部中断源:中断发生后的4个周期。 无效——中断源无效后,后面跟下列延迟:内部中断源:2个系统总线时钟周期。外部中断源: 4个周期。 时序
8.5 内存映射/寄存器定义 IPIC可编程寄存器映射占用256个字节的内存空间。读取内存映射的未定义部分返回全零,写入无效。
所有的IPIC寄存器都为32位宽,位于32位地址边界。软件可以对所有IPIC寄存器执行字节、半字或字访问。本章使用的所有地址都是距IPIC基址的偏移量,如第二章“内存映射”所定义的。 表8-3列出了IPIC单元的内存映射。
表8-3 IPIC寄存器地址映射 偏移量 0x00 0x04 0x08 0x0C 0x10 0x14
寄存器 系统全局中断配置寄存器(SICFR) 系统常规中断向量寄存器(SIVCR) 系统内部中断未决寄存器(SIPNR_H) 系统内部中断未决寄存器(SIPNR_L) 系统内部中断组A优先级寄存器(SIPRR_A) 保留 访问 R/W R R R R/W - 5
复位值 节/页 0x0000_0000 8.5.1/8-8 (需调整) 0x0000_0000 8.5.2/8-8 (需调整) 0x0000_0000 8.5.3/8-8 0x0000_0000 8.5.3/8-8 0x0530_9770 8.5.4/8-8 - -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库第8章 - 集成可编程中断控制器 - mpc83xx中文手册在线全文阅读。
相关推荐: