在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

ZYNQ EMIO重用封裝實(shí)現(xiàn)算法板級驗(yàn)證

454398 ? 來源:博客園 ? 作者: 沒落騎士 ? 2020-12-25 17:22 ? 次閱讀

為了快速實(shí)現(xiàn)算法板級驗(yàn)證,PC端需要通過JTAG或以太網(wǎng)FPGA形成通路。最簡單便捷的方案是利用協(xié)議棧芯片,用戶可以無視底層,利用簡單的SPI協(xié)議讀寫寄存器實(shí)現(xiàn)復(fù)雜的TCP UDP等網(wǎng)絡(luò)協(xié)議。當(dāng)然帶寬會受限于SPI接口有效速率,本文采用芯片為W5500,支持10M/100M自適應(yīng),其理論值高達(dá)80Mbps,基本達(dá)到算法驗(yàn)證的要求。

ZYNQ可以通過靈活的EMIO模擬SPI接口,從而在最少改動官方demo的前提下移植C語言驅(qū)動程序。本文著重講述EMIO的C語言軟件驅(qū)動方式及可重用封裝,封裝后可以接口方式被其他應(yīng)用程序直接調(diào)用,非常方便。直接上代碼,再加以說明。
/*
* EMIO_ope.c
*
*/

#include "xgpiops.h"
#include "xparameters.h"
#include "xstatus.h"
#include "W5500.h"
#include "EMIO_ope.h"

static XGpioPs psGpioInstancePtr;

int EMIO_init()
{
XGpioPs_Config* GpioConfigPtr;
int xStatus;

//--EMIO的初始化
GpioConfigPtr = XGpioPs_LookupConfig(GPIO_DEVICE_ID);
if(GpioConfigPtr == NULL)
return XST_FAILURE;

xStatus = XGpioPs_CfgInitialize(&psGpioInstancePtr,GpioConfigPtr, GpioConfigPtr->BaseAddr);
if(XST_SUCCESS != xStatus)
print(" PS GPIO INIT FAILED /n/r");

//--EMIO的輸入輸出操作
XGpioPs_SetDirectionPin(&psGpioInstancePtr, ETH_NRST_BASE,1);
XGpioPs_SetDirectionPin(&psGpioInstancePtr, USER_SPI_MOSI_BASE,1);
XGpioPs_SetDirectionPin(&psGpioInstancePtr, USER_SPI_CSN_BASE,1);
XGpioPs_SetDirectionPin(&psGpioInstancePtr, USER_SPI_SCLK_BASE,1);
XGpioPs_SetDirectionPin(&psGpioInstancePtr, USER_SPI_MISO_BASE,0);

//使能輸出端口
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, ETH_NRST_BASE,1);
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, USER_SPI_MOSI_BASE,1);
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, USER_SPI_CSN_BASE,1);
XGpioPs_SetOutputEnablePin(&psGpioInstancePtr, USER_SPI_SCLK_BASE,1);

return xStatus;
}

void writePin(u32 pinNum,u32 value)
{
XGpioPs_WritePin(&psGpioInstancePtr, pinNum, value);
}

u32 readPin(u32 pinNum)
{
return XGpioPs_ReadPin(&psGpioInstancePtr,pinNum);
}

Xilinx封住的庫函數(shù)有其固定的“套路”。首先查找設(shè)備配置,初始化。之后設(shè)置EMIO的方向,如果是輸出方向還要使能輸出。這里將上述預(yù)處理部分封裝到EMIO_Init()函數(shù)中。之后再編寫兩個函數(shù)分別實(shí)現(xiàn)EMIO寄存器的讀和寫,也就是讀取輸入接口數(shù)據(jù)以及輸出數(shù)值,兩者內(nèi)部均調(diào)用Xilinx官方提供的API函數(shù)。將實(shí)現(xiàn)細(xì)節(jié)隱藏最重要的步驟:將函數(shù)聲明統(tǒng)一放置.h文件。
/*
* EMIO_ope.h
*
*/

#ifndef SRC_EMIO_OPE_H_
#define SRC_EMIO_OPE_H_

#define GPIO_DEVICE_ID XPAR_PS7_GPIO_0_DEVICE_ID

int EMIO_init();
void writePin(u32 pinNum,u32 value);
u32 readPin(u32 pinNum);

#endif /* SRC_EMIO_OPE_H_ */

此處總結(jié)下利用FPGA/SOC連接以太網(wǎng)從簡單到難的設(shè)計(jì)方案是:協(xié)議棧芯片 --> LWIP開源庫 --> 基于以太網(wǎng)MAC的網(wǎng)絡(luò)協(xié)議邏輯設(shè)計(jì)--> 從上層網(wǎng)絡(luò)協(xié)議到MAC全部用HDL描述。不同的方案適合不同的需求,能靈活在開發(fā)周期和性能 功耗等方面取舍,做到簡單實(shí)用,應(yīng)該是各個行業(yè)技術(shù)人員的所追求的終極目標(biāo)。

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

    關(guān)注

    1643

    文章

    21985

    瀏覽量

    615090
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4356

    瀏覽量

    221936
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2184

    瀏覽量

    124556
收藏 人收藏

    評論

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

    Xilinx ZYNQ開發(fā)GPIO的三種方式:MIO、EMIO、AXI_GPIO

    ;AXI_GPIO是封裝好的IP核,PS通過M_AXI_GPIO接口控制PL部分實(shí)現(xiàn)IO,使用時(shí)消耗管腳資源和邏輯資源。 使用的板子是zc702。 1.MIO方式 Zynq7000 系列芯片有 54 個
    的頭像 發(fā)表于 12-26 10:12 ?4388次閱讀
    Xilinx <b class='flag-5'>ZYNQ</b>開發(fā)GPIO的三種方式:MIO、<b class='flag-5'>EMIO</b>、AXI_GPIO

    重用機(jī)床編碼技術(shù)及重構(gòu)算法研究

    重用機(jī)床的組成模塊特征,進(jìn)而將可重用機(jī)床的模塊編碼系統(tǒng)分為模塊主碼、模塊接口特征碼和模塊圖紙管理碼三部分組成。通過計(jì)算總相似系數(shù)得到與目標(biāo)模塊最接近的模塊,給出了可重用機(jī)床模塊選擇算法
    發(fā)表于 05-17 11:58

    玩轉(zhuǎn)Zynq連載31——[ex53] 基于Zynq PS的EMIO控制

    0、EMIO1和EMIO2循環(huán)拉高,逐次點(diǎn)亮3個LED中的1個。 4 調(diào)試在Zstar板子上,設(shè)置跳線帽P3為JTAG模式,即PIN2-3短接。連接好串口線(USB線連接PC的US
    發(fā)表于 10-12 17:35

    【正點(diǎn)原子FPGA連載】第三章EMIO按鍵控制LED實(shí)驗(yàn)-領(lǐng)航者 ZYNQ 之嵌入式開發(fā)指南

    熄滅。然后再按下底板上PL端的用戶按鍵PL_KEY0,可以看到核心上PS端的LED2(紅色)在按鍵按下時(shí)點(diǎn)亮,釋放后熄滅。說明我們通過EMIO擴(kuò)展GPIO接口,使用PL端按鍵控制PS端LED的實(shí)驗(yàn)在領(lǐng)航者ZYNQ開發(fā)
    發(fā)表于 08-29 16:20

    MIO/EMIO/AXI_GPIO接口詳解

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口
    發(fā)表于 02-02 07:30

    分享!基于Zynq-7010/7020的多路千兆網(wǎng)口實(shí)現(xiàn)方案

    評估(Xilinx Zynq-7010/7020)圖 1 TLZ7x-EasyEVM評估圖 2 SOM-TLZ7x-S核心2 方案實(shí)現(xiàn)
    發(fā)表于 10-22 09:43

    ZYNQ的學(xué)習(xí)筆記分享

    通過MIO(Multiuse I/O)模塊對器件的引腳做觀測(input)和控制(output)。ZYNQ的PS端上的GPIO也可以通過EMIO(Extra MIO)模塊對PL端的IP以及引腳實(shí)現(xiàn)上述操作。GPIO可以獨(dú)立且動態(tài)
    發(fā)表于 02-08 07:30

    實(shí)現(xiàn)上位機(jī)與zynq7020開發(fā)通信的方法

    最近想實(shí)現(xiàn)上位機(jī)與zynq7020開發(fā)通信。采用串口通信方式,利用QT編寫一個簡易串口助手實(shí)現(xiàn)與下位機(jī)的通信。 下位機(jī)給上位機(jī)發(fā)送收據(jù),上位機(jī)能夠正常接受。但是上位機(jī)給下位機(jī)串口發(fā)數(shù)
    發(fā)表于 02-17 07:08

    ZYNQ 的三種GPIO :MIO、EMIO、AXI

    。 我們先看一下MIO和EMIO:下圖EMIO和MIO的結(jié)構(gòu)。其中MIO分布在BANK0,BANK1,而EMIO則分布在BANK2、BANK3。注意一下幾項(xiàng): 首先、MIO在zynq
    發(fā)表于 02-08 10:23 ?3558次閱讀
    <b class='flag-5'>ZYNQ</b> 的三種GPIO :MIO、<b class='flag-5'>EMIO</b>、AXI

    基于小樣本重用的混合盲均衡算法

    利用小樣本重用技術(shù)重新設(shè)計(jì)均衡器加權(quán)系數(shù),提高算法收斂效率,并引入常范數(shù)盲均衡算法,通過計(jì)算機(jī)仿真驗(yàn)證了了新算法有效性,可以極大的降低系統(tǒng)的
    發(fā)表于 11-13 11:33 ?8次下載

    基于可重用激勵發(fā)生機(jī)制的虛擬SoC驗(yàn)證平臺

    在系統(tǒng)芯片的設(shè)計(jì)中,傳統(tǒng)的激勵發(fā)生機(jī)制耗費(fèi)人工多且難以重用,嚴(yán)重影響了仿真驗(yàn)證的效率。針對此問題,構(gòu)建了一種基于可重用激勵發(fā)生機(jī)制的虛擬SoC驗(yàn)證平臺。該平臺利用可
    發(fā)表于 11-28 17:43 ?0次下載
    基于可<b class='flag-5'>重用</b>激勵發(fā)生機(jī)制的虛擬SoC<b class='flag-5'>驗(yàn)證</b>平臺

    ZYNQ-7000系列MIO、EMIO、AXI_GPIO接口

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口
    發(fā)表于 07-25 17:41 ?3197次閱讀
    <b class='flag-5'>ZYNQ</b>-7000系列MIO、<b class='flag-5'>EMIO</b>、AXI_GPIO接口

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口
    發(fā)表于 01-31 06:50 ?12次下載
    <b class='flag-5'>ZYNQ</b>-7000系列MIO/<b class='flag-5'>EMIO</b>/AXI_GPIO接口

    zynq 串口引腳引到emio 無法進(jìn)入接收中斷問題記錄

    最近想實(shí)現(xiàn)上位機(jī)與zynq7020開發(fā)通信。采用串口通信方式,利用QT編寫一個簡易串口助手實(shí)現(xiàn)與下位機(jī)的通信。 下位機(jī)給上位機(jī)發(fā)送收據(jù),上位機(jī)能夠正常接受。但是上位機(jī)給下位機(jī)串口發(fā)數(shù)
    發(fā)表于 12-20 19:34 ?18次下載
    <b class='flag-5'>zynq</b> 串口引腳引到<b class='flag-5'>emio</b> 無法進(jìn)入接收中斷問題記錄

    重用驗(yàn)證組件中構(gòu)建測試平臺的步驟

    本文介紹了從一組可重用驗(yàn)證組件中構(gòu)建測試平臺所需的步驟。UVM促進(jìn)了重用,加速了測試平臺構(gòu)建的過程。 首先對 測試平臺集成者(testbench integrator) 和 測試編寫者(test
    的頭像 發(fā)表于 06-13 09:14 ?809次閱讀
    可<b class='flag-5'>重用</b>的<b class='flag-5'>驗(yàn)證</b>組件中構(gòu)建測試平臺的步驟
    主站蜘蛛池模板: 欧美高清成人videosex | 伊人久久大香线蕉综合高清 | 天堂网在线资源www种子 | 97久久天天综合色天天综合色 | 特级全黄一级毛片免费 | 欧美18性欧美丶黑吊 | 欧美18同性gay视频 | 色女人综合 | 免费高清特级毛片 | 亚洲一卡2卡4卡5卡6卡在线99 | 手机看片久久 | 日本三区四区免费高清不卡 | 人与牲动交xx | 97影院3 | 免费精品美女久久久久久久久久 | 日本黄色电影在线 | 欧美性久久久久 | 久青草视频免费视频播放线路1 | 成人毛片一区二区三区 | 亚洲天堂最新地址 | 欧美456| 在线黄色免费 | 久久精品国波多野结衣 | 天天射综合网站 | 久久夜色精品国产噜噜 | h网站在线免费观看 | 视频网站黄 | 看视频免费 | 亚洲v在线 | 黄网站在线观看 | 成人欧美一区二区三区视频不卡 | 欧美成人3d动漫在线播放网站 | 天天干天天射天天 | 黄色生活毛片 | 888米奇在线视频四色 | 韩国三级视频在线观看 | 丁香花在线影院观看在线播放 | 午夜免费片 | 精品欧美小视频在线观看 | 亚洲色图欧美在线 | 欧美三级第一页 |