本文介紹一個FPGA 開源項目:PCIE I/O控制卡。上一篇文章《FPGA優(yōu)質(zhì)開源項目– PCIE通信》開源了基于FPGA的PCIE通信Vivado工程,用于實(shí)現(xiàn)上位機(jī)通過PCIE接口訪問FPGA的DDR3以及RAM內(nèi)存數(shù)據(jù)。PCIE I/O控制卡工程是在上一個工程的基礎(chǔ)上進(jìn)行了部分模塊和參數(shù)的修改。
下面圍繞FPGA PCIE I/O控制卡通信方案以及Vivado BD工程的創(chuàng)建進(jìn)行簡要介紹。
01軟硬件平臺
- 軟件平臺:Vivado 2017.4;
- 硬件平臺:XC7Z035FFG676-2;
02通信方案
系統(tǒng)通信方案如下圖所示。PC上位機(jī)端通過PCIE接口與FPGA連接,F(xiàn)PGA端通過XDMA模塊的AXI4總線實(shí)現(xiàn)對DDR3的讀寫,通過AXI4-Lite總線實(shí)現(xiàn)對多個GPIO外設(shè)的控制。其中AXI SmartConnect模塊可用于自動完成XDMA與多個GPIO模塊的通信仲裁,以及不同時鐘域、不用數(shù)據(jù)位寬自動轉(zhuǎn)換。
03創(chuàng)建Vivado BD工程
Vivado BD工程的創(chuàng)建可在上一個PCIE通信工程的基礎(chǔ)上完成。首先,刪除AXI BRAM Controller 以及RAM模塊:
然后,依次添加兩個AXI GPIO模塊。將axi_gpio_0配置為 All Outputs ,位寬根據(jù)實(shí)際情況選擇,這里配置為 4bits 。
將axi_gpio_1配置為 All Inputs ,位寬根據(jù)實(shí)際情況選擇,這里同樣配置為 4bits 。
XDMA IP核參數(shù)配置:
- Mode:BASE;
- Lane Width:根據(jù)FPGA硬件型號選擇,通道越多,傳輸速度越快;
- Max Link Speed:5.0GT/s;
- Reference Clock:參考時鐘100MHZ;
- DMA Interface Option:選擇AXI4接口;
- AXI Data Width:AXI4總線位寬選擇128bits;
- AXI Clock:AXI4總線時鐘125MHZ;
- PCIE to AXI Translation:BAR地址到AXI地址偏移,這里設(shè)置為0x44a0_0000;
其它參數(shù)配置可參考上一篇文章中的介紹。
04Vivado BD工程結(jié)構(gòu)
下圖為最終創(chuàng)建好的Vivado BD工程。同樣的,本工程雖然是基于Zynq平臺建立,但實(shí)際只用到了PL端資源。
地址配置如下圖所示:DDR3初始地址偏移配置為0,AXI_GPIO_0初始地址配置為0x44a3_0000,AXI_GPIO_1初始地址配置為0x44a4_0000,與XDMA中地址偏移保持一致即可。
05實(shí)現(xiàn)功能
該Vivado工程實(shí)現(xiàn)了基于FPGA的PCIE I/O控制卡功能。FPGA端把AXI_GPIO地址映射到BAR地址空間,上位機(jī)端通過PCIE總線讀取FPGA端GPIO1 I/O口輸入狀態(tài)信息,以及控制GPIO0 I/O口輸出信息。
-
FPGA
+關(guān)注
關(guān)注
1620文章
21510瀏覽量
598877 -
控制卡
+關(guān)注
關(guān)注
2文章
52瀏覽量
12952 -
PCIe
+關(guān)注
關(guān)注
15文章
1165瀏覽量
81965 -
上位機(jī)
+關(guān)注
關(guān)注
27文章
927瀏覽量
54546 -
Vivado
+關(guān)注
關(guān)注
19文章
797瀏覽量
65853
發(fā)布評論請先 登錄
相關(guān)推薦
評論