ZedBoard之中断原理及过程详解_第1页
ZedBoard之中断原理及过程详解_第2页
ZedBoard之中断原理及过程详解_第3页
ZedBoard之中断原理及过程详解_第4页
ZedBoard之中断原理及过程详解_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ZedBoard之中断原理及过程详解Interrupt中断概述:

1.Zynq的中断类型有:

软件中断(SoftwareGeneratedInterrupt,SGI,中断号0-15)(16–26reserved)

私有外设中断(PrivatePeripheralInterrupt,PPI,中断号27-31),

共享外设中断(SharedPeripheralInterrupt,SPI,中断号32-95).

2.私有外设中断(PPI):每个CPU都有一组PPI,包括全局定时器、私有看门狗定时器、私有定时器和来自PL的FIQ/IRQ.

3.软件中断(SGI)被路由到一个或者两个CPU上,通过写ICDSGIR寄存器产生SGI.

4.共享外设中断(SPI)由PS和PL上的各种I/O控制器和存储器控制器产生,这些中断信号被路由的CPU.

5.通用中断控制器(GIC)是核心资源,用于集中管理从PS和PL产生的中断信号的资源集合。控制器可以使能、关使能、屏蔽中断源和改变中断源的优先级,并且会将中断送到对应的CPU中,CPU通过私有总线访问这些寄存器。

6.中断控制器(ICC,InterruptControllerCPU)和中断控制器分配器(ICD,InterruptControllerDistributor)是GIC寄存器子集。

7.(外部)中断请求(IRQ)、快速中断请求(FIQ)中断原理当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理处执行。当异常中断处理程序执行完成后,程序返回到发生中断指令的下一条指令处继续执行。在进入异常中断处理程序时,要保存被中断程序的执行线程。从中断处理程序退出时要恢复被中断程序的执行现场。中断寄存器概述1.中断分配器(ICD寄存器):

1)ICDDCR:(0xF8F01000)ICD分配控制寄存器,控制开启或者关闭中断配置。

2)ICDICFR:ICD配置寄存器。配置中断触发模式(高低电平),共6个寄存器,分别是ICDICFR0-ICDICFR5(0xF8F01C00-0xF8F01C14),每个寄存器32位,占4个字节,每个寄存器的位意义不一样,每2位代表一个中断,32位x6/2=96,正好包括所有中断,

3)ICDIPR:(0xF8F01400-0xF8F0145C)ICD中断优先级寄存器,共24个寄存器,ICDIPR0-ICDIPR23,每个寄存器32位,占4个字节,每8位代表一个中断,32位x24/8=96,正好包括所有中断。

4)ICDIPTR:(0xF8F01800-0xF8F0185C)ICDCPU接口选择寄存器,配置CPU接口选择(cpu0/cpu1),包括24个寄存器,ICDIPTR0-ICDIPTR23,每个寄存器32位,占4个字节,每8位代表一个中断,32位x24/8=96,正好包括所有中断。

**5)ICDICER:中断不使能寄存器,**3个寄存器,ICDICER0-ICDICER2(0xF8F01180-0xF8F01888),每个寄存器32位,占4个字节,每位代表一个中断,32位x3=96,正好包括所有中断。写1表示不使能(屏蔽)。

**6)ICDISER:中断使能寄存器,**3个寄存器,ICDISER0-ICDISER2(0xF8F01100-0xF8F01108),每个寄存器32位,占4个字节,每位代表一个中断,32位x3=96,正好包括所有中断。写1表示使能。

7)ICDICPR:清除中断等待寄存器。3个寄存器,ICDICPR0-ICDICPR2(0xF8F01280-0xF8F01288),每个寄存器32位,占4个字节,每位代表一个中断,32位x3=96,正好包括所有中断。写1表示清除中断等待状态。寄存器地址中断号

ICDICFR00xF8F01C00#0-#15

ICDICFR10xF8F01C04#27-#31(16-26保留)

ICDICFR20xF8F01C08#32-#47(36保留)

ICDICFR30xF8F01C0C#48-#63

ICDICFR40xF8F01C10#64-#79

ICDICFR50xF8F01C14#80-#95(93/94/95保留)2.中断控制器(ICC寄存器):1)ICCPMR:(0xF8F00104)中断优先级屏蔽寄存器,设置CPU的中断优先级。(与ICD的中断优先级比较。比写到这个寄存器的优先级值大的,cpu可以处理)Xil_Out32(0xF8F00104,0xF0);设置cpu的中断优先级为F0。2)ICCICR:(0xF8F00100)ICCCPU接口配置寄存器,配置CPU接口。使能某个中断,比如IRQ:Write_Reg(0xF8F00100,0x07)即使处理器能接收IRQ,使能中断信号连接到处理器。GPIO中断源配置所有GPIO共享一个中断(#52,bank1),必须在软件上检查INT_MASK和INT_STAT的值判断是哪个GPIO引发了中断。

1.INT_MASK(0xE000A20C):中断屏蔽寄存器,只读,读取该寄存器的值可以显示哪些位被屏蔽和没有屏蔽(即使能)。

2.INT_ENT(0xE000A210–):中断使能寄存器(4个bank,4个寄存器)。写1,对应的引脚中断功能开启,即使能。

3.INT_DIS(0xE000A214—):屏蔽寄存器(4个bank,4个寄存器)。写1,对应的引脚中断屏蔽。

4.INT_STAT(0xE000A18–):中断状态寄存器(4个bank,4个寄存器)。每一位代表对应的引脚上是否发生中断事件,中断发生时,该引脚的中断标志位为1。如果对该位写1,清除该引脚的中断标志,写0无操作。

5.INT_TYPE(0xE000A21C–):中断类型寄存器(4个bank,4个寄存器)。写1代表边沿触发中断,写0代表电平触发中断。

6.INT_POLARITY(0xE000A220–):中断极性寄存器,控制中断的触发条件(4个bank,4个寄存器)。写1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论