ZYQN(三):PS的中断说明

2 篇文章 1 订阅

说明:
开发软件: vivado 和 sdk
开发平台:黑金ZYNQ的7010

翻开 UG585 中断部分,Zynq 中断大致可分为三个部分,
中断详细分为
SGI(Software Generated Interrupts)软件中断,
PPI(Private Peripheral Interrupts)私有外设中断,
SPI(Shared Peripheral Interrupts)共享外设中断。
1 为 SGI,软件生成的中断,共 16个端口;
2 为 PPI,CPU 私有外设中断,有 5 个;
3 为 SPI,共享外设中断,来自于 44 个 PS 端的IO 外设以及 16 个 PL 端的中断。
中间部分为 GIC,也即中断控制器,用于对中断进行使能、关闭、掩码、设置优先等

在这里插入图片描述

下面为中断控制器框图,主要的控制器部分为ICC和ICD,其中ICC连接的SGI和PPI,ICD连接SPI

在这里插入图片描述
下面是中断各项分布:

  1.  SGI软件中断(16个)
    

存在16个软件产生的中断,通过向ICDSGIR寄存器写入SGI中断号,以及指定目标CPU,来
产生一个软件中断,通过读ICCIAR寄存器或者向ICDICPR寄存器相应的比特位写1,可以清
楚中断。所有的SGI为边沿触发。
在这里插入图片描述
2、CPU内部的私有中断-(在单CPU角度看具有5中断)
每个CPU连接一个私有的共享5个外设中断,素有中断的敏感类型是固定的,不能改变,UPI全
局定时器,nFIQ,CPU私有定时器,AWDT,nIRQ
在这里插入图片描述
3、SPI里面设计的中断(60个)
由PS和PL上的各种I/O控制器和存储器控制器产生,这些中断信号会被路由到CPU。PS的外
设产生的SPI中断也会路由到PL上。默认地,所有共享外设中断类型在复位时是高电平,然
后软件使用的ICDICFR2和ICDICFR5寄存器编程中断32,33和92为上升沿敏感。
在这里插入图片描述

下面是中断寄存器的介绍:详细介绍的是SPI的寄存器
在这里插入图片描述

1、ICDISER: 中断使能寄存器,3 个寄存器,每 1 位代表一个中断号,共 96 个(每个寄存器32位)

2、ICDICER: 中断关闭寄存器,3 个寄存器,每 1 位代表一个中断号,共 96 个(每个寄存器32位)

3、ICDIPR: 中断优先级寄存器,设置优先级,共 24 个寄存器,每 8 位代表一个中断号,共 96 个
     中断号
4、ICDIRTR: CPU 选择寄存器,24 个寄存器,每 8 位代表一个中断号,共 960bxxxxxxx1: CPU interface 0
    0bxxxxxx1x: CPU interface 1
5、ICDICFR: 配置寄存器,用于配置触发方式,电平触发或边沿触发,共有 6 个,每个寄存器 32 位,
   每两位表示一个中断,32*6/2=96 个中断号,能覆盖所有中断。
  

(参数具体来源网络--仅作为笔记参考作用)

配置中断主要用到的函数:
(不包含其中一些经过拓展或者整合的配置函数)

XScuGic_LookupConfig             中断设置查找
XScuGic_CfgInitialize            GIC初始化
XScuGic_SetPriorityTriggerType   设置中断优先级及中断触发方式
XScuGic_Connect                  设置中断服务程序入口地址
XScuGic_Enable                   GIC允许
XGpio_InterruptGlobalEnable      GPIO全局中断允许
XGpio_InterruptEnable            相应GPIO中断允许
Xil_ExceptionInit                异常处理函数
Xil_ExceptionRegisterHandler     当处理器遇到指定的异常时,将调用此处理程序  
Xil_ExceptionEnable              异常使能

为特定的异常注册一个处理程序。当处理器遇到指定的异常时,将调用此处理程序。异常id包含异常源的id,应该在到XIL异常id的范围内。进一步信息参见xil exception.h。处理程序到该异常的处理程序。数据是对数据的引用,在调用处理程序时将传递给处理程序。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值