0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Zynq中断的三个部分:SGI、PPI、SPI

454398 来源:瓜大三哥 作者:米果不回来 2020-11-16 17:21 次阅读

Zynq中断大致可分为三个部分

第一部分为SGI,软件生成的中断,共16个端口

第二部分为PPICPU私有外设中断,有5个;

第三部分为SPI,共享外设中断,来自于44个PS端的IO外设以及16个PL端的中断。中间部分为GIC,也即中断控制器,用于对中断进行使能、关闭、掩码、设置优先等。


以下为中断控制器框图,主要的控制器部分为ICC和ICD,ICD连接SGI和PPI,ICD连接SPI,可配置两者的寄存器来控制中断。


SGI中断(软件产生中断),共16个IRQ ID号


PPI中断,CPU私有中断,共5个IRQ ID号


SPI中断部分,共60个IRQ ID号



接下来设置带有中断的GPIO

INT_MASK:中断掩码

INT_DIS: 中断关闭

INT_EN: 中断使能

INT_TYPE: 中断类型,设置电平敏感还是边沿敏感

INT_POLARITY:中断极性,设置低电平或下降沿还是高电平或上升沿

INT_ANY: 边沿触发方式,需要INT_TYPE设置为边沿敏感才能使用


GPIO初始化→设置按键和LED方向→设置产生中断方式→设置中断→打开中断控制器→打开中断异常→打开GPIO中断→判断KEY_FLAG值,是1,写LED

GPIO_CONFIG =XGpioPs_LookupConfig(MIO_0_ID) ;
Status =XGpioPs_CfgInitialize(&GPIO_PTR, GPIO_CONFIG, PIO_CONFIG->BaseAddr) ;
    //设置LED方向
    XGpioPs_SetDirectionPin(&GPIO_PTR,0, GPIO_OUTPUT) ;
    XGpioPs_SetDirectionPin(&GPIO_PTR,13, GPIO_OUTPUT) ;
    //设置按键方向
    XGpioPs_SetDirectionPin(&GPIO_PTR,PS_KEY1, GPIO_INPUT) ;
    XGpioPs_SetDirectionPin(&GPIO_PTR,PS_KEY2, GPIO_INPUT) ;
    //使能LED输出
    XGpioPs_SetOutputEnablePin(&GPIO_PTR,0, GPIO_OUTPUT) ;
    XGpioPs_SetOutputEnablePin(&GPIO_PTR,13, GPIO_OUTPUT) ; 
    //设置中断类型 0表示上升沿  
XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY1, 0);//rising edge
    XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY2, 0);//rising edge
    //设置按键使能
    XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY1) ;
    XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY2) ;
    //设置中断
    Status= IntrInitFuntion(&INTCInst, MIO_0_ID, &GPIO_PTR) ;
    //产生按键的GPIO
    while(1)
            {
                if (key_flag)
                {
                    XGpioPs_WritePin(&GPIO_PTR,0, key_val) ;
                    XGpioPs_WritePin(&GPIO_PTR,13, key_val) ;
                    key_val= ~key_val ;
                    key_flag= 0 ;
                }
            }
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10871

    浏览量

    211939
  • MIO
    MIO
    +关注

    关注

    0

    文章

    12

    浏览量

    8178
  • Zynq
    +关注

    关注

    10

    文章

    610

    浏览量

    47192
收藏 人收藏

    评论

    相关推荐

    深视智能SGI系列四通道SU4-EC操作指南

    深视智能SGI-SD-SS系列四通道SU4-EC操作指南旨在协助用户更加全面地了解SGI、SD、SS系列系列产品
    的头像 发表于 12-16 08:18 135次阅读
    深视智能<b class='flag-5'>SGI</b>系列四通道SU4-EC操作指南

    使用ZYNQ驱动评估板的子板搭建一简单采集系统遇到的几个问题求解

    最近我们正想做一多通道脑电采集系统,使用ZYNQ驱动评估板的子板搭建一简单采集系统。我们使用信号发生器产生正弦波,能够采集到数据。但是还有如下几个问题: 1、我们ZYNQ这边
    发表于 11-22 07:53

    基本理想电路元件的三个特征是什么

    基本理想电路元件是构成电路的基本单元,它们具有三个基本特征:电压-电流关系、能量转换和电路参数。以下是对这三个特征的分析: 电压-电流关系 理想电路元件的电压-电流关系是其最基本的特征之一。这种关系
    的头像 发表于 08-25 09:38 1176次阅读

    对称相电压的特点是哪三个方面

    对称相电压是电力系统中常见的一种电压形式,它具有三个相位,每个相位之间的相位差为120度。对称相电压在工业生产和日常生活中有着广泛的应用,如电动机、变压器、发电机等。本文将从三个
    的头像 发表于 08-12 18:18 1426次阅读

    可调变阻器三个引脚怎么区分

    可调变阻器,也称为电位器或可变电阻器,是一种可以调节电阻值的电子元件。它广泛应用于各种电子设备中,如音频设备、电源管理、电机控制等。可调变阻器有三个引脚,分别是固定端、滑动端和可调端。这三个引脚
    的头像 发表于 07-24 11:12 1327次阅读

    ESP32S3 SPI2挂多个从机设备,无法操作第三个设备的原因?如何解决?

    芯片: ESP32S3 环境: ESP-IDF4.4版本 release/v4.4拉了官方最新的V4.4 场景:需要使用SPI2外挂 4 从机设备,能够操作两设备没问题,第三个设备
    发表于 06-11 08:26

    微波测量的三个基本参量是什么

    微波测量是电子工程领域中的一重要分支,它涉及到对微波信号的频率、幅度、相位等参数的测量。在微波测量中,有三个基本参量:频率、幅度和相位。这三个参量是微波信号的基本特征,对于微波系统的设计、调试
    的头像 发表于 05-28 14:46 1397次阅读

    如何判断极管的三个极性

    极管是电子电路中的基本元件之一,其性能的好坏直接影响到整个电路的性能。而判断极管的三个极性(基极b、发射极e、集电极c)是电路分析和设计中不可或缺的一步。下面将详细介绍判断极管
    的头像 发表于 05-21 15:26 6685次阅读

    RISC-V的中断处理 中断操作三个步骤

    中断操作三个步骤: 1、中断初始化 2、trap处理 3、用户中断处理
    的头像 发表于 05-20 16:38 1253次阅读

    篱笆三个桩——记晶体极管的发明

    篱笆三个桩——记晶体极管的发明
    的头像 发表于 05-12 08:14 757次阅读
    一<b class='flag-5'>个</b>篱笆<b class='flag-5'>三个</b>桩——记晶体<b class='flag-5'>三</b>极管的发明

    stm8单个定时器中断没有问题,加入UART/SPI中断就异常的原因?

    各位大师,帮忙看看程序! 工程是EWSTM8-2105版本的,在main函数里面,只有任意开三个中断的其中一,程序就会死机,这是哪里出了问题? //UART2_ITConfig
    发表于 05-11 06:59

    TIM_PWM+DMA输出三个不同占空比的单脉冲,为什么第三个数据总是第一输出?

    使用TIM_PWM + DMA,DMA传输长度为3,即顺序输出3不同占空比的单脉冲(10%,20%,50%),三个脉冲输出完成后进入DMA传输完成中断,关闭定时器。通过抓图形发现,实际输出是50%,10%,20%,请问这是为什
    发表于 04-03 07:23

    电路组成的三个部分是什么

    电路是电流的流通路径,它由电源、负载和连接导线三部分组成。这三部分共同构成了一完整的电路系统,使得电能可以从电源传输到负载并得以利用。 一、电源 电源是电路中提供电能的设备,它将其他形式的能量(如
    的头像 发表于 01-23 16:58 7336次阅读

    KPA 6EDL_SPI_LINK三个GPIO引脚需要3LUT吗?

    请找到 KPA 6EDL_SPI_LINK ,我们对这个 KPA 有疑问。在 project perceptive 中,我们只能配置一 LUT,以及一配置了 TCPWM 外设的曲柄信号输入。
    发表于 01-19 06:29

    飞机的三个舵面以及如何控制

    飞机通常具有三个主要的舵面,它们是方向舵(rudder)、副翼(aileron)和升降舵(elevator)。
    发表于 01-15 14:54 5955次阅读
    飞机的<b class='flag-5'>三个</b>舵面以及如何控制