91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

MIO與EMIO的關(guān)系解析 GPIO、MIO、EMIO的區(qū)別

454398 ? 來(lái)源:csdn ? 作者:FPGA難得一P ? 2020-11-24 14:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

芯片型號(hào):XC7Z010-1CLG400C

Vivado版本:2016.1

點(diǎn)亮流水燈,共使用了三種方式:
(1)PS通過(guò)MIO點(diǎn)亮PS端LED
(2)PS通過(guò)EMIO點(diǎn)亮PL端LED
(3)PS通過(guò)AXI點(diǎn)亮PL端LED。

1. MIO與EMIO

首先來(lái)理清楚MIO與EMIO的關(guān)系。MIO是PS的I/O引腳,一共有54個(gè),分為Bank0與Bank1,可以接許多外設(shè)比如UART、SPI或GPIO等,另外可以引腳復(fù)用。當(dāng)我們想通過(guò)PS來(lái)訪問(wèn)PL又不想浪費(fèi)AXI總線時(shí),就通過(guò)EMIO接口來(lái)訪問(wèn)。在54個(gè)I/O中,有一些只能用于MIO,大部分可以用于MIO與EMIO,一些接口信號(hào)線只能通過(guò)EMIO訪問(wèn)。


EMIO依然屬于PS,只是連接到了PL,再?gòu)腜L輸出信號(hào)。

2. PS通過(guò)MIO點(diǎn)亮PS端LED


從電路中看得很清楚,這兩個(gè)LED直接連接在MIO0和MIO13上,所以直接在這兩個(gè)端口輸出高低電平就可以控制燈閃爍了。

首先建立.bd文件,添加zynq的ip核,去掉PL的資源(包括PS-PL configuration——general——Enable Clock Resets中的FCLK_RESET0_N以及AXI None Secure Enablement——GP Master AXI Interface中的GP0以及Clock Configuration——PL Fabric Clocks中的FCLK_CLK0)。

在外設(shè)I/O中,打開(kāi)UART1,對(duì)應(yīng)MIO48、49口,打不打開(kāi)都無(wú)所謂,打開(kāi)調(diào)試用。此時(shí)在MIO中已經(jīng)看到UART1已經(jīng)分配了管腳,然后在GPIO里,打開(kāi)MIO。


最后在DDR里,找到所用的DDR芯片,比如我用的是HA-125。這樣所有的平臺(tái)就搭好了。直接generate out products——create HDL wrapper——export Hardware——lanuch SDK。

進(jìn)入SDK,建立工程。首先引頭文件xgpiops.h

對(duì)MIO0和MIO13,初始化引腳。

s32 XGpioPs_CfgInitialize(XGpioPs *InstancePtr, XGpioPs_Config *ConfigPtr,
			   u32 EffectiveAddr);

這個(gè)函數(shù)初始化gpio,第一個(gè)參數(shù)需要一個(gè)XGpioPs的結(jié)構(gòu)體指針,直接在函數(shù)開(kāi)頭實(shí)例化就好了,結(jié)構(gòu)體的組成在.h文件。第二個(gè)參數(shù)是一個(gè)XGpioPs_Config類型結(jié)構(gòu)體指針,這個(gè)結(jié)構(gòu)體的內(nèi)容:

typedef struct {
	u16 DeviceId;		/**< Unique ID of device */
	u32 BaseAddr;		/**< Register base address */
} XGpioPs_Config;

包括gpio分配的ID和基地址。第三個(gè)參數(shù)就是基地址。

如何獲得這些信息,首先ID的獲得,打開(kāi)xparameter.h頭文件,里面定義了分配的各種資源的ID。

基地址就在配置信息查了,如何獲得gpio的配置信息:

首先實(shí)例化一個(gè)XGpioPs_Config類型的指針。使用XGpioPs_LookupConfig函數(shù),它能夠在配置信息中找到對(duì)應(yīng)ID的配置信息:

所以就很明確了:

xgpio_config = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);//找分配的MIO配置信息(基地址)
status = XGpioPs_CfgInitialize(&xgpio, xgpio_config,xgpio_config->BaseAddr);//初始化
 
if(status!=XST_SUCCESS)//初始化成功
return XST_FAILURE;

然后就是定義gpio口的屬性,包括輸入輸出和端口使能:

XGpioPs_SetDirectionPin(&xgpio, LED1, 1);//output
XGpioPs_SetDirectionPin(&xgpio, LED2, 1);//
 
XGpioPs_SetOutputEnablePin(&xgpio, LED1, 1);//enable
XGpioPs_SetOutputEnablePin(&xgpio, LED2, 1);

再后面就在while(1)中循環(huán)點(diǎn)燈,用XGpioPs_WritePin函數(shù)輸出高低電平。

這是純PS點(diǎn)流水燈。

3. PS通過(guò)EMIO點(diǎn)亮PL端LED

通過(guò)EMIO點(diǎn)PL端LED,在配置zynq ip核時(shí),基本步驟差不多,包括去到PL資源等,唯一不同的是,在GPIO里,勾上EMIO并且分配寬度是4(因?yàn)槲业男“遄覲L端有四個(gè)LED)。

生成了新的系統(tǒng):


接下來(lái),分配管腳!!因?yàn)檫@里GPIO_0在PL端??纯磒df:


把剛分配的帶寬4的EMIO(GPIO_0)綁定到這四個(gè)管腳上。

然后輸出bitstream文件,導(dǎo)入到SDK中時(shí),要加上這個(gè)比特流文件。進(jìn)入SDK

初始化程序還是一樣,頭文件也是xgpiops.h,這還是PS操作。

xgpio_config = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);
status = XGpioPs_CfgInitialize(&xgpio, xgpio_config,
    			   xgpio_config->BaseAddr);
if(status!=XST_SUCCESS)
return XST_FAILURE;

后面就是設(shè)置引腳工作模式:

這里的引腳號(hào)從54開(kāi)始,因?yàn)閺?4后才是EMIO引腳:


0—53是MIO,53—...是EMIO。

之后點(diǎn)燈就可以了。在運(yùn)行之前先下載比特流文件到FPGA,另外這個(gè)黑金的小板子,PL和PS協(xié)同仿真時(shí),總報(bào)錯(cuò),只需要在Reset entire system和Program FPGA打上勾,并且這個(gè)比特流文件要絕對(duì)地址?。?/p>


4. PS通過(guò)AXI點(diǎn)亮PL端LED

這個(gè)就是PL與PS協(xié)同點(diǎn)燈了。

首先配置zynq ip核,PL部分保留,因?yàn)橛玫搅薃XI,另外MIO gpio都去掉。其余配置都一樣。添加AXI gpio IP核,并且設(shè)置寬度為4,最后Run connection Automation,加入其它必要組件,調(diào)整連線:


之后再綁定gpio_led管腳到四個(gè)LED上,綜合并生成bitstream文件,導(dǎo)入到SDK。

引用頭文件:XGpio.h

然后還是對(duì)引腳進(jìn)行初始化和設(shè)置工作模式:

XGpio_Initialize(&GpioOutput, XPAR_AXI_GPIO_0_DEVICE_ID);
XGpio_SetDataDirection(&GpioOutput,1,0x0);//output
XGpio_DiscreteWrite(&GpioOutput,1,0x0);

協(xié)同點(diǎn)燈還是要先下載比特流文件,在運(yùn)行SDK程序。

5. 總結(jié)

① 對(duì)MIO或EMIO gpio進(jìn)行操作,都屬于PS,引用xgpiops.h文件,對(duì)AXI_gpio引用xgpio.h

② 涉及PL引腳或操作時(shí),生成比特流文件并且導(dǎo)入SDK,運(yùn)行時(shí)先下載FPGA。

③ PL輸出信號(hào)綁定引腳。

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

    關(guān)注

    1660

    文章

    22419

    瀏覽量

    636617
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1329

    瀏覽量

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

    關(guān)注

    0

    文章

    12

    瀏覽量

    8362
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    857

    瀏覽量

    71149
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    深入解析RK平臺(tái)GPIO驅(qū)動(dòng):從原理到調(diào)試,開(kāi)發(fā)者必看指南

    GPIO(通用輸入輸出)作為嵌入式系統(tǒng)中最基礎(chǔ)也最常用的硬件接口,是連接芯片與外部設(shè)備的 “橋梁”。從簡(jiǎn)單的 LED 控制、按鍵檢測(cè),到復(fù)雜的傳感器通信,都離不開(kāi) GPIO 的支持。在瑞芯微(RK
    的頭像 發(fā)表于 02-03 15:53 ?1049次閱讀
    深入<b class='flag-5'>解析</b>RK平臺(tái)<b class='flag-5'>GPIO</b>驅(qū)動(dòng):從原理到調(diào)試,開(kāi)發(fā)者必看指南

    【MCU學(xué)習(xí)】GPIO詳解

    本實(shí)驗(yàn)通過(guò)一個(gè)“小實(shí)驗(yàn)框架 GPIO Mode Lab”,在同一個(gè) GPIO 引腳上依次配置不同模式,并用 ADC 探頭測(cè)量電壓、同時(shí)讀取數(shù)字電平,系統(tǒng)化地觀察。
    的頭像 發(fā)表于 01-24 11:45 ?3681次閱讀
    【MCU學(xué)習(xí)】<b class='flag-5'>GPIO</b>詳解

    掌握 LuatIO:GPIO 復(fù)用模式初始化配置全流程解析

    在使用 LuatIO 進(jìn)行嵌入式應(yīng)用開(kāi)發(fā)時(shí),合理配置 GPIO 的復(fù)用功能是實(shí)現(xiàn)外設(shè)控制的前提。本文全面解析 GPIO 引腳由普通 IO 轉(zhuǎn)換為復(fù)用功能引腳的初始化流程,包括時(shí)鐘使能、模式選擇、速度
    的頭像 發(fā)表于 01-23 15:28 ?1239次閱讀
    掌握 LuatIO:<b class='flag-5'>GPIO</b> 復(fù)用模式初始化配置全流程<b class='flag-5'>解析</b>

    TCA6418E:18通道GPIO擴(kuò)展器的詳細(xì)解析

    TCA6418E:18通道GPIO擴(kuò)展器的詳細(xì)解析 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,GPIO擴(kuò)展器是一種常見(jiàn)且重要的器件,它能夠幫助我們解決處理器GPIO資源有限的問(wèn)題。今天,我們就來(lái)深入探討一
    的頭像 發(fā)表于 12-23 15:15 ?386次閱讀

    電壓、電位、電勢(shì)和電平的區(qū)別關(guān)系

    在電學(xué)領(lǐng)域中,電壓、電位、電勢(shì)和電平是幾個(gè)密切相關(guān)的概念,它們既有區(qū)別又有聯(lián)系。理解這些概念的本質(zhì)及其相互關(guān)系,對(duì)于掌握電路分析和電子技術(shù)至關(guān)重要。下面將從定義、計(jì)算方法和實(shí)際應(yīng)用等方面,詳細(xì)闡述
    的頭像 發(fā)表于 11-24 07:37 ?1065次閱讀
    電壓、電位、電勢(shì)和電平的<b class='flag-5'>區(qū)別</b>與<b class='flag-5'>關(guān)系</b>

    解析LGA與BGA芯片封裝技術(shù)的區(qū)別

    在當(dāng)今電子設(shè)備追求輕薄短小的趨勢(shì)下,芯片封裝技術(shù)的重要性日益凸顯。作為兩種主流的封裝方式,LGA和BGA各有特點(diǎn),而新興的激光錫球焊接技術(shù)正在為封裝工藝帶來(lái)革命性的變化。本文將深入解析LGA與BGA的區(qū)別,并探討激光錫球焊接技術(shù)如何提升芯片封裝的效率與質(zhì)量。
    的頭像 發(fā)表于 11-19 09:22 ?1889次閱讀
    <b class='flag-5'>解析</b>LGA與BGA芯片封裝技術(shù)的<b class='flag-5'>區(qū)別</b>

    GPIO、PWM、ADC,到底怎么區(qū)分?

    在嵌入式開(kāi)發(fā)中,我們經(jīng)常聽(tīng)到GPIO、PWM、ADC這些術(shù)語(yǔ)。初學(xué)者常常搞不清楚它們的區(qū)別和用途:“它們不是都是和電平有關(guān)嗎?為什么還要分這么多種?”今天,我們就把這些基礎(chǔ)概念講清楚,讓你在動(dòng)手開(kāi)發(fā)
    的頭像 發(fā)表于 11-14 10:28 ?772次閱讀
    <b class='flag-5'>GPIO</b>、PWM、ADC,到底怎么區(qū)分?

    Nordic nRF54L15 GPIO深度解析

    APB總線用于低速且低功耗的外圍設(shè)備,nRF54L15根據(jù)APB總線的標(biāo)號(hào),對(duì)外設(shè)進(jìn)行命名且對(duì)GPIO口進(jìn)行端口分配。AMBIX為AMBA總線互聯(lián)通道。
    的頭像 發(fā)表于 10-07 14:22 ?2372次閱讀
    Nordic nRF54L15 <b class='flag-5'>GPIO</b>深度<b class='flag-5'>解析</b>

    Texas Instruments USB-TO-GPIO2接口適配器技術(shù)解析

    Texas Instruments USB-TO-GPIO2 USB接口適配器評(píng)估模塊 (EVM) 可通過(guò)標(biāo)準(zhǔn)type-A轉(zhuǎn)mini-B USB電纜作為主機(jī)PC和一個(gè)或多個(gè)目標(biāo)設(shè)備之間的接口適配器或
    的頭像 發(fā)表于 09-10 15:47 ?1006次閱讀

    時(shí)序約束管腳綁定不成功問(wèn)題

    的是ps端的MIO,電壓,原理圖,代碼都沒(méi)有問(wèn)題,綜合和實(shí)現(xiàn)都可以,檢查過(guò)工程設(shè)置的器件型號(hào)或封裝都是符合的. set_property PACKAGE_PIN F12 [get_ports
    發(fā)表于 08-21 17:18

    掃描電鏡與掃描電子顯微鏡:解析二者的關(guān)系區(qū)別

    在科研、工業(yè)檢測(cè)等領(lǐng)域,“掃描電鏡”和“掃描電子顯微鏡”這兩個(gè)術(shù)語(yǔ)經(jīng)常被提及。對(duì)于剛接觸相關(guān)領(lǐng)域的人來(lái)說(shuō),很容易對(duì)它們產(chǎn)生困惑,不清楚二者之間究竟存在怎樣的聯(lián)系和區(qū)別。其實(shí),從本質(zhì)上來(lái)說(shuō),二者有著
    的頭像 發(fā)表于 07-25 10:42 ?1181次閱讀
    掃描電鏡與掃描電子顯微鏡:<b class='flag-5'>解析</b>二者的<b class='flag-5'>關(guān)系</b>與<b class='flag-5'>區(qū)別</b>

    Bluetooth LE Link Layer數(shù)據(jù)包全解析

    Bluetooth LE有幾種空中包格式? 常見(jiàn)的PDU命令有哪些? PDU和MTU的區(qū)別是什么? DLE又是什么? Bluetooth LE怎么實(shí)現(xiàn)重傳的? Bluetooth LE ACK機(jī)制
    發(fā)表于 06-03 10:28

    迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)

    迅為電子RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)
    的頭像 發(fā)表于 05-28 15:24 ?1351次閱讀
    迅為RK3568驅(qū)動(dòng)指南<b class='flag-5'>GPIO</b>子系統(tǒng) <b class='flag-5'>GPIO</b>操作函數(shù)實(shí)驗(yàn)

    CY7C65223-24LTXI的GPIO號(hào)和引腳號(hào)的對(duì)應(yīng)關(guān)系是什么?

    我不知道CY7C65223-24LTXI的GPIO號(hào)和引腳號(hào)的對(duì)應(yīng)關(guān)系。 配置實(shí)用程序的 GPIO 配置窗口顯示 GPIO_00 到 GPIO
    發(fā)表于 05-19 06:31

    為什么GPIO配置總是出問(wèn)題?

    在STM32開(kāi)發(fā)中,GPIO(通用輸入輸出)配置看似簡(jiǎn)單,但在實(shí)際開(kāi)發(fā)中,很多人常常會(huì)遇到這些困惑:明明按照教程配置了GPIO,為什么LED燈就是不亮?為什么有時(shí)候按鍵無(wú)法響應(yīng),或者響應(yīng)很慢
    的頭像 發(fā)表于 04-07 11:59 ?1754次閱讀
    為什么<b class='flag-5'>GPIO</b>配置總是出問(wèn)題?