被zynq的GPIO唬住告訴你zynq的3種GPIO_第1頁
被zynq的GPIO唬住告訴你zynq的3種GPIO_第2頁
被zynq的GPIO唬住告訴你zynq的3種GPIO_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

被zynq的GPIO唬住,告訴你zynq的3種GPIO學了zynq一段時間,一上來的時候就被zynq的GPIO唬住了,實在沒搞清楚zynq的GPIO怎么回事,一會這樣,一會那樣,最后才慢慢發現zynq至少有3種GPIO可以調用。難怪我覺得每篇介紹GPIO的博客說的有一些不一樣呢。我們先看有哪三種GPIO:MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接掛在PS上的GPIO。而AXI_GPIO是通過AXI總線掛在PS上的GPIO上。我們先看一下MIO和EMIO:下圖EMIO和MIO的結構。其中MIO分布在BANK0,BANK1,而EMIO則分布在BANK2、BANK3。注意一下幾項:首先、MIO在zynq上的管腳是固定的,而EMIO,是通過PL部分擴展的,所以使用EMIO時候需要在約束文件中分配管腳,所以設計EMIO的程序時,需要生成PL部分的bit文件,燒寫到FPGA中。其次、由下圖可以看出MIO共占54bit,而EMIO占64bit。其中MIO占用IO號為0-53。而EMIO占用IO號為54-117。再者、無論是EMIO還是MIO都屬于PS上的IO,直接由PS操作。在調用頭文件,只調用#include“xgpiops.h”即可,而在調用AXI_GPIO時,則需要#include“xgpio.h”。最后、在設計好bd文件后、系統會自動在路徑:。.standalone_bsp_0ps7_cortexa9_0include生成xparameters.h文件。我們可以在xparameters.h文件中查看我們在bd設計時添加的外設ID。例如我們添加了EMIO,可以查到到該IO的地址和ID號。#defineXPAR_PS7_GPIO_0_DEVICE_ID0#defineXPAR_PS7_GPIO_0_BASEADDR0xE000A000#defineXPAR_PS7_GPIO_0_HIGHADDR0xE000AFFF再舉例添加了兩個AXI_GPIO,例化為BTNS_4BIT和SW_4BIT/*DefinitionsfordriverGPIO*/#defineXPAR_XGPIO_NUM_INSTANCES2/*DefinitionsforperipheralBTNS_4BIT*/#defineXPAR_BTNS_4BIT_BASEADDR0x41210000#defineXPAR_BTNS_4BIT_HIGHADDR0x4121FFFF#defineXPAR_BTNS_4BIT_DEVICE_ID0#defineXPAR_BTNS_4BIT_INTERRUPT_PRESENT0#defineXPAR_BTNS_4BIT_IS_DUAL0/*DefinitionsforperipheralSW_4BIT*/#defineXPAR_SW_4BIT_BASEADDR0x41200000#defineXPAR_SW_4BIT_HIGHADDR0x4120FFFF#defineXPAR_SW_4BIT_DEVICE_ID1#defineXPAR_SW_4BIT_INTERRUPT_PRESENT0#defineXPAR_SW_4BIT_IS_DUAL0再來

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論