被zynq的GPIO唬住,告訴你zynq的3種GPIO
出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2023-06-20 15:02:43
學(xué)了zynq一段時(shí)間,一上來(lái)的時(shí)候就被zynq的GPIO唬住了,實(shí)在沒(méi)搞清楚zynq的GPIO怎么回事,一會(huì)這樣,一會(huì)那樣,才慢慢發(fā)現(xiàn)zynq至少有3種GPIO可以調(diào)用。難怪我覺(jué)得每篇介紹GPIO的博客說(shuō)的有一些不一樣呢。
我們先看有哪三種GPIO:MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接掛在PS上的GPIO。而AXI_GPIO是通過(guò)AXI總線掛在PS上的GPIO上。
我們先看一下MIO和EMIO:下圖EMIO和MIO的結(jié)構(gòu)。其中MIO分布在BANK0,BANK1,而EMIO則分布在BANK2、BANK3。注意一下幾項(xiàng):
首先、MIO在zynq上的管腳是固定的,而EMIO,是通過(guò)PL部分?jǐn)U展的,所以使用EMIO時(shí)候需要在約束文件中分配管腳,所以設(shè)計(jì)EMIO的程序時(shí),
需要生成PL部分的bit文件,燒寫到FPGA中。
其次、由下圖可以看出MIO共占54bit,而EMIO占64bit。其中MIO占用IO號(hào)為0-53。而EMIO占用IO號(hào)為54-117。
再者、無(wú)論是EMIO還是MIO都屬于PS上的IO,直接由PS操作。在調(diào)用頭文件,只調(diào)用#include “xgpiops.h”即可,而在調(diào)用AXI_GPIO時(shí),則需要#include “xgpio.h”。
、在設(shè)計(jì)好bd文件后、系統(tǒng)會(huì)自動(dòng)在路徑:。.\STandalone_bsp_0\ps7_cortexa9_0\include生成 xparameters.h 文件。我們可以在
xparameters.h文件中查看我們?cè)赽d設(shè)計(jì)時(shí)添加的外設(shè)ID。例如我們添加了EMIO,可以查到到該IO的地址和ID號(hào)。
#define XPAR_PS7_GPIO_0_DEVICE_ID 0
#define XPAR_PS7_GPIO_0_BASEADDR 0xE000A000
#define XPAR_PS7_GPIO_0_HIGHADDR 0xE000AFFF
再舉例添加了兩個(gè)AXI_GPIO,例化為BTNS_4BIT和SW_4BIT
/* DefiniTIons for driver GPIO */
#define XPAR_XGPIO_NUM_INSTANCES 2
/* DefiniTIons for peripheral BTNS_4BIT */
#define XPAR_BTNS_4BIT_BASEADDR 0x41210000
#define XPAR_BTNS_4BIT_HIGHADDR 0x4121FFFF
#define XPAR_BTNS_4BIT_DEVICE_ID 0
#define XPAR_BTNS_4BIT_INTERRUPT_PRESENT 0
#define XPAR_BTNS_4BIT_IS_DUAL 0
/* DefiniTIons for peripheral SW_4BIT */
#define XPAR_SW_4BIT_BASEADDR 0x41200000
#define XPAR_SW_4BIT_HIGHADDR 0x4120FFFF
#define XPAR_SW_4BIT_DEVICE_ID 1
#define XPAR_SW_4BIT_INTERRUPT_PRESENT 0
#define XPAR_SW_4BIT_IS_DUAL 0
再來(lái)看一下,AXI_GPIO相當(dāng)于GPIO的IP核,我們調(diào)用時(shí)是占用相應(yīng)AXI總線地址空間,如下圖,占用地址為0x41200000和0x41210000
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 電表互感器匝數(shù)倍率怎么看?2025/9/5 17:05:11
- 顏色傳感器原理及實(shí)際應(yīng)用案例2025/9/5 16:09:23
- 調(diào)諧器和調(diào)制器的區(qū)別2025/9/4 17:25:45
- 有載變壓器和無(wú)載變壓器的區(qū)別有哪些2025/9/4 17:13:35
- 什么是晶體諧振器?晶體諧振器的作用2025/9/4 16:57:42