本篇博文主要講解在 PL 中如何使用 AXI Interrupt Controller (INTC) 的級(jí)聯(lián)模式,將 IP 核超過(guò) 32 個(gè)的中斷連接到 PS 上。
在 AMD Vivado Design Suite 設(shè)計(jì)中使用了 AMD AXI GPIO 中斷。
設(shè)計(jì)示例是以 VCK190 評(píng)估板為目標(biāo)創(chuàng)建,使用的是 Vivado 2020.2 版本。中斷功能在 PetaLinux 2020.2 上經(jīng)過(guò)了測(cè)試。
AXI GPIO:
General Purpose Input/Output (GPIO) 核提供輸入輸出訪問(wèn)的接口,用于對(duì)接器件的交互。該核還可用于控制外部器件的行為。
中斷:
在 AXI GPIO 中必須先為對(duì)應(yīng)的 GPIO 通道啟用中斷,這樣即可從該通道讀取中斷狀態(tài)。使用 AXI GPIO 自定義中的“Enable Interrupt”選項(xiàng)來(lái)啟用中斷。

對(duì)于輸入模式,gpio_input 管腳連接到 VCK190 的如下按鈕 (PUSH BUTTON):
gpio_input(0) = GPIO_SW15
gpio_input(1) = GPIO_SW16

AXI INTC:
AXI Interrupt Controller (INTC) 核可將來(lái)自外設(shè)器件的多個(gè)中斷輸入集中到系統(tǒng)處理器的單一中斷輸入上。寄存器用于檢查、啟用和確認(rèn)中斷。

此示例的主要目的是將超過(guò) 16 個(gè)中斷連接到 PS。AXI INTC 核可滿足此需求。使用單一 AXI INTC 塊的情況下最多可連接 32 個(gè)中斷,并且還可使用級(jí)聯(lián)。
在級(jí)聯(lián)模式下,有不少于兩個(gè) AXI INTC 實(shí)例連接到同一個(gè)處理器。參數(shù) C_EN_CASCADE_MODE 表示的“Enable Cascade Interrupt Mode”和參數(shù) C_CASCADE_MASTER 表示的“Cascade Mode Master”都需要在此模式下配置。
注釋:必須使用主 AXI INTC 實(shí)例的 irq_in 端口或第 31 個(gè)中斷位,來(lái)實(shí)現(xiàn)從次級(jí) AXI INTC 實(shí)例的級(jí)聯(lián)。
在下文描述 Concat IP 的多個(gè)圖例中,可以看到中斷的連接方式。
塊設(shè)計(jì):
下文解釋了設(shè)計(jì)中使用的 IP 及其連接。
Concat IP:
Concat IP 核可提供相應(yīng)機(jī)制來(lái)將不同寬度的總線信號(hào)組合到單一總線內(nèi)。

從 IP catalog 添加 Concat 塊,然后雙擊 IP(如下所示)以打開“Re-customize IP” 對(duì)話框。

在上圖中,將“Number of Ports”參數(shù)設(shè)置為期望的輸入端口數(shù)。在此示例中,所選端口數(shù)量為 32。
完成 IP 自定義后的結(jié)果如下:

如前所述,輸出端口 AXI_INTC_0 連接到下一個(gè) AXI_INTC_1 的 irq_in 中斷輸入端口。

AXI_INTC_1 的輸出連接到 AMD Versal 自適應(yīng) SoC CIPS 塊的 pl_ps_irq0 端口:

請(qǐng)驗(yàn)證設(shè)計(jì)并遵循其余步驟進(jìn)行操作以生成比特流。
導(dǎo)出硬件,用于構(gòu)建 PetaLinux 鏡像。
PetaLinux:
內(nèi)核配置:
在 Menuconfig 中啟用以下選項(xiàng)。默認(rèn)情況下,這些選項(xiàng)均已啟用,但您應(yīng)核實(shí)其狀態(tài),以防萬(wàn)一。

向設(shè)備樹添加按鈕:
按鈕僅可用于 Input GPIO 應(yīng)用程序。
創(chuàng)建的每個(gè)子節(jié)點(diǎn)均可控制 GPIO 中對(duì)應(yīng)的單個(gè)位。在 dts 文件中的“gpio-keys”鍵節(jié)點(diǎn)下,根據(jù)設(shè)計(jì),為按鈕 (Push Buttons) 創(chuàng)建含如下名稱的子節(jié)點(diǎn):

完成此操作后,請(qǐng)啟動(dòng) Linux。
您可在 cat /proc/interrupts 中看到按鈕 SW15 和 SW16 的標(biāo)簽。

-
amd
+關(guān)注
關(guān)注
25文章
5688瀏覽量
140016 -
soc
+關(guān)注
關(guān)注
40文章
4576瀏覽量
229235 -
中斷
+關(guān)注
關(guān)注
5文章
917瀏覽量
43772 -
評(píng)估板
+關(guān)注
關(guān)注
1文章
931瀏覽量
31203 -
Versal
+關(guān)注
關(guān)注
1文章
175瀏覽量
8480
原文標(biāo)題:開發(fā)者分享|AMD Versal? 自適應(yīng) SoC 上的級(jí)聯(lián)模式示例
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
在AMD Versal自適應(yīng)SoC上使用QEMU+協(xié)同仿真示例
使用Aurora 6466b協(xié)議實(shí)現(xiàn)AMD UltraScale+ FPGA與AMD Versal自適應(yīng)SoC的對(duì)接
【ALINX 技術(shù)分享】AMD Versal AI Edge 自適應(yīng)計(jì)算加速平臺(tái)之 Versal 介紹(2)
AMD Versal自適應(yīng)SoC中eMMC燒錄/啟動(dòng)調(diào)試檢查表(上)
AMD Versal自適應(yīng)SoC內(nèi)置自校準(zhǔn)的工作原理
Versal? 自適應(yīng) SoC 助力 8K 處理 – 為 8K 做好準(zhǔn)備(3)
Versal 自適應(yīng)SoC設(shè)計(jì)指南
Versal自適應(yīng)SoC系統(tǒng)集成和 確認(rèn)方法指南
AMD率先推出符合DisplayPort? 2.1 8K視頻標(biāo)準(zhǔn)的FPGA和自適應(yīng)SoC
AMD發(fā)布第二代Versal自適應(yīng)SoC,AI嵌入式領(lǐng)域再提速
AMD Versal? Adaptive SoC CPM PCIE PIO EP設(shè)計(jì)CED示例
AMD Versal自適應(yīng)SoC CPM5 QDMA的Tandem PCIe啟動(dòng)流程介紹
AMD Versal自適應(yīng)SoC器件Advanced Flow概覽(上)
AMD Versal自適應(yīng)SoC器件Advanced Flow概覽(下)
AMD Versal自適應(yīng)SoC上的級(jí)聯(lián)模式示例
評(píng)論