0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Zynq中斷的三個(gè)部分:SGI、PPI、SPI

454398 ? 來源:瓜大三哥 ? 作者:米果不回來 ? 2020-11-16 17:21 ? 次閱讀

Zynq中斷大致可分為三個(gè)部分

第一部分為SGI,軟件生成的中斷,共16個(gè)端口

第二部分為PPI,CPU私有外設(shè)中斷,有5個(gè);

第三部分為SPI,共享外設(shè)中斷,來自于44個(gè)PS端的IO外設(shè)以及16個(gè)PL端的中斷。中間部分為GIC,也即中斷控制器,用于對中斷進(jìn)行使能、關(guān)閉、掩碼、設(shè)置優(yōu)先等。


以下為中斷控制器框圖,主要的控制器部分為ICC和ICD,ICD連接SGI和PPI,ICD連接SPI,可配置兩者的寄存器來控制中斷。


SGI中斷(軟件產(chǎn)生中斷),共16個(gè)IRQ ID號


PPI中斷,CPU私有中斷,共5個(gè)IRQ ID號


SPI中斷部分,共60個(gè)IRQ ID號



接下來設(shè)置帶有中斷的GPIO

INT_MASK:中斷掩碼

INT_DIS: 中斷關(guān)閉

INT_EN: 中斷使能

INT_TYPE: 中斷類型,設(shè)置電平敏感還是邊沿敏感

INT_POLARITY:中斷極性,設(shè)置低電平或下降沿還是高電平或上升沿

INT_ANY: 邊沿觸發(fā)方式,需要INT_TYPE設(shè)置為邊沿敏感才能使用


GPIO初始化→設(shè)置按鍵和LED方向→設(shè)置產(chǎn)生中斷方式→設(shè)置中斷→打開中斷控制器→打開中斷異常→打開GPIO中斷→判斷KEY_FLAG值,是1,寫LED

GPIO_CONFIG =XGpioPs_LookupConfig(MIO_0_ID) ;
Status =XGpioPs_CfgInitialize(&GPIO_PTR, GPIO_CONFIG, PIO_CONFIG->BaseAddr) ;
    //設(shè)置LED方向
    XGpioPs_SetDirectionPin(&GPIO_PTR,0, GPIO_OUTPUT) ;
    XGpioPs_SetDirectionPin(&GPIO_PTR,13, GPIO_OUTPUT) ;
    //設(shè)置按鍵方向
    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) ; 
    //設(shè)置中斷類型 0表示上升沿  
XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY1, 0);//rising edge
    XGpioPs_SetIntrTypePin(&GPIO_PTR,PS_KEY2, 0);//rising edge
    //設(shè)置按鍵使能
    XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY1) ;
    XGpioPs_IntrEnablePin(&GPIO_PTR,PS_KEY2) ;
    //設(shè)置中斷
    Status= IntrInitFuntion(&INTCInst, MIO_0_ID, &GPIO_PTR) ;
    //產(chǎn)生按鍵的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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10901

    瀏覽量

    212765
  • MIO
    MIO
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    8183
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    610

    瀏覽量

    47261
收藏 人收藏

    評論

    相關(guān)推薦

    使用ADS1256中的三個(gè)通道作定時(shí)采集遇到的疑問求解

    各位專家,使用ADS1256中的三個(gè)通道作定時(shí)采集,采樣率30Ksps,單端輸入,AINCOM接2.5V參考電壓,其余輸入端懸空。測試中,arm芯片開始能正常讀到數(shù)據(jù),但偶爾會(huì)三個(gè)通道的采樣值相互
    發(fā)表于 12-26 06:18

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

    深視智能SGI-SD-SS系列四通道SU4-EC操作指南旨在協(xié)助用戶更加全面地了解SGI、SD、SS系列系列產(chǎn)品
    的頭像 發(fā)表于 12-16 08:18 ?183次閱讀
    深視智能<b class='flag-5'>SGI</b>系列四通道SU4-EC操作指南

    使用ZYNQ驅(qū)動(dòng)評估板的子板搭建一個(gè)簡單采集系統(tǒng)遇到的幾個(gè)問題求解

    最近我們正想做一個(gè)多通道腦電采集系統(tǒng),使用ZYNQ驅(qū)動(dòng)評估板的子板搭建一個(gè)簡單采集系統(tǒng)。我們使用信號發(fā)生器產(chǎn)生正弦波,能夠采集到數(shù)據(jù)。但是還有如下幾個(gè)問題: 1、我們ZYNQ這邊
    發(fā)表于 11-22 07:53

    基本理想電路元件的三個(gè)特征是什么

    基本理想電路元件是構(gòu)成電路的基本單元,它們具有三個(gè)基本特征:電壓-電流關(guān)系、能量轉(zhuǎn)換和電路參數(shù)。以下是對這三個(gè)特征的分析: 電壓-電流關(guān)系 理想電路元件的電壓-電流關(guān)系是其最基本的特征之一。這種關(guān)系
    的頭像 發(fā)表于 08-25 09:38 ?1339次閱讀

    對稱相電壓的特點(diǎn)是哪三個(gè)方面

    對稱相電壓是電力系統(tǒng)中常見的一種電壓形式,它具有三個(gè)相位,每個(gè)相位之間的相位差為120度。對稱相電壓在工業(yè)生產(chǎn)和日常生活中有著廣泛的應(yīng)用,如電動(dòng)機(jī)、變壓器、發(fā)電機(jī)等。本文將從三個(gè)
    的頭像 發(fā)表于 08-12 18:18 ?1761次閱讀

    簡述極管的三個(gè)工作區(qū)域

    極管的三個(gè)區(qū)域,通常指的是其在不同工作條件下的狀態(tài)區(qū)域,即截止區(qū)、放大區(qū)和飽和區(qū)。這三個(gè)區(qū)域定義了極管在不同電壓和電流條件下的行為特性,對于理解和設(shè)計(jì)電子電路至關(guān)重要。
    的頭像 發(fā)表于 07-29 10:50 ?4103次閱讀

    可調(diào)變阻器三個(gè)引腳怎么區(qū)分

    可調(diào)變阻器,也稱為電位器或可變電阻器,是一種可以調(diào)節(jié)電阻值的電子元件。它廣泛應(yīng)用于各種電子設(shè)備中,如音頻設(shè)備、電源管理、電機(jī)控制等??烧{(diào)變阻器有三個(gè)引腳,分別是固定端、滑動(dòng)端和可調(diào)端。這三個(gè)引腳
    的頭像 發(fā)表于 07-24 11:12 ?1448次閱讀

    ESP32S3 SPI2掛多個(gè)從機(jī)設(shè)備,無法操作第三個(gè)設(shè)備的原因?如何解決?

    芯片: ESP32S3 環(huán)境: ESP-IDF4.4版本 release/v4.4拉了官方最新的V4.4 場景:需要使用SPI2外掛 4個(gè) 從機(jī)設(shè)備,能夠操作兩個(gè)設(shè)備沒問題,第三個(gè)設(shè)備
    發(fā)表于 06-11 08:26

    微波測量的三個(gè)基本參量是什么

    微波測量是電子工程領(lǐng)域中的一個(gè)重要分支,它涉及到對微波信號的頻率、幅度、相位等參數(shù)的測量。在微波測量中,有三個(gè)基本參量:頻率、幅度和相位。這三個(gè)參量是微波信號的基本特征,對于微波系統(tǒng)的設(shè)計(jì)、調(diào)試
    的頭像 發(fā)表于 05-28 14:46 ?1512次閱讀

    如何判斷極管的三個(gè)極性

    極管是電子電路中的基本元件之一,其性能的好壞直接影響到整個(gè)電路的性能。而判斷極管的三個(gè)極性(基極b、發(fā)射極e、集電極c)是電路分析和設(shè)計(jì)中不可或缺的一步。下面將詳細(xì)介紹判斷極管
    的頭像 發(fā)表于 05-21 15:26 ?6980次閱讀

    RISC-V的中斷處理 中斷操作三個(gè)步驟

    中斷操作三個(gè)步驟: 1、中斷初始化 2、trap處理 3、用戶中斷處理
    的頭像 發(fā)表于 05-20 16:38 ?1352次閱讀

    個(gè)籬笆三個(gè)樁——記晶體極管的發(fā)明

    個(gè)籬笆三個(gè)樁——記晶體極管的發(fā)明
    的頭像 發(fā)表于 05-12 08:14 ?858次閱讀
    一<b class='flag-5'>個(gè)</b>籬笆<b class='flag-5'>三個(gè)</b>樁——記晶體<b class='flag-5'>三</b>極管的發(fā)明

    CUBE FREERTOS三個(gè)三個(gè)任務(wù)之上的運(yùn)行不起來是為什么?

    ((size_t)10240) 改的這三個(gè)。 xTaskCreate(sht21Entry,\"sht21_Task\",512,NULL,3,NULL
    發(fā)表于 05-11 08:04

    stm8單個(gè)定時(shí)器中斷沒有問題,加入U(xiǎn)ART/SPI中斷就異常的原因?

    各位大師,幫忙看看程序! 工程是EWSTM8-2105版本的,在main函數(shù)里面,只有任意開三個(gè)中斷的其中一個(gè),程序就會(huì)死機(jī),這是哪里出了問題? //UART2_ITConfig
    發(fā)表于 05-11 06:59

    TIM_PWM+DMA輸出三個(gè)不同占空比的單脈沖,為什么第三個(gè)數(shù)據(jù)總是第一個(gè)輸出?

    使用TIM_PWM + DMA,DMA傳輸長度為3,即順序輸出3個(gè)不同占空比的單脈沖(10%,20%,50%),三個(gè)脈沖輸出完成后進(jìn)入DMA傳輸完成中斷,關(guān)閉定時(shí)器。通過抓圖形發(fā)現(xiàn),實(shí)際輸出是50%,10%,20%,請問這是為什
    發(fā)表于 04-03 07:23