欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

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

454398 ? 來(lái)源:博客園 ? 作者: 沒(méi)落騎士 ? 2020-12-25 17:22 ? 次閱讀

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

ZYNQ可以通過(guò)靈活的EMIO模擬SPI接口,從而在最少改動(dòng)官方demo的前提下移植C語(yǔ)言驅(qū)動(dòng)程序。本文著重講述EMIO的C語(yǔ)言軟件驅(qū)動(dòng)方式及可重用封裝,封裝后可以接口方式被其他應(yīng)用程序直接調(diào)用,非常方便。直接上代碼,再加以說(shuō)明。
/*
* 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封住的庫(kù)函數(shù)有其固定的“套路”。首先查找設(shè)備配置,初始化。之后設(shè)置EMIO的方向,如果是輸出方向還要使能輸出。這里將上述預(yù)處理部分封裝到EMIO_Init()函數(shù)中。之后再編寫(xiě)兩個(gè)函數(shù)分別實(shí)現(xiàn)EMIO寄存器的讀和寫(xiě),也就是讀取輸入接口數(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)從簡(jiǎn)單到難的設(shè)計(jì)方案是:協(xié)議棧芯片 --> LWIP開(kāi)源庫(kù) --> 基于以太網(wǎng)MAC的網(wǎng)絡(luò)協(xié)議邏輯設(shè)計(jì)--> 從上層網(wǎng)絡(luò)協(xié)議到MAC全部用HDL描述。不同的方案適合不同的需求,能靈活在開(kāi)發(fā)周期和性能 功耗等方面取舍,做到簡(jiǎn)單實(shí)用,應(yīng)該是各個(gè)行業(yè)技術(shù)人員的所追求的終極目標(biāo)。

編輯:hfy
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    1630

    文章

    21800

    瀏覽量

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

    關(guān)注

    38

    文章

    4208

    瀏覽量

    219162
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122205
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    重用機(jī)床的組成模塊特征,進(jìn)而將可重用機(jī)床的模塊編碼系統(tǒng)分為模塊主碼、模塊接口特征碼和模塊圖紙管理碼三部分組成。通過(guò)計(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個(gè)LED中的1個(gè)。 4 級(jí)調(diào)試在Zstar板子上,設(shè)置跳線帽P(pán)3為JTAG模式,即PIN2-3短接。連接好串口線(USB線連接PC的US
    發(fā)表于 10-12 17:35

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

    熄滅。然后再按下底板上PL端的用戶按鍵PL_KEY0,可以看到核心上PS端的LED2(紅色)在按鍵按下時(shí)點(diǎn)亮,釋放后熄滅。說(shuō)明我們通過(guò)EMIO擴(kuò)展GPIO接口,使用PL端按鍵控制PS端LED的實(shí)驗(yàn)在領(lǐng)航者ZYNQ開(kāi)發(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)方案

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

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

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

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

    最近想實(shí)現(xiàn)上位機(jī)與zynq7020開(kāi)發(fā)通信。采用串口通信方式,利用QT編寫(xiě)一個(gè)簡(jiǎn)易串口助手實(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 ?3373次閱讀
    <b class='flag-5'>ZYNQ</b> 的三種GPIO :MIO、<b class='flag-5'>EMIO</b>、AXI

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

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

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

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

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

    ZYNQ-7000系列MIO/EMIO/AXI_GPIO接口
    發(fā)表于 07-25 17:41 ?2885次閱讀
    <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 無(wú)法進(jìn)入接收中斷問(wèn)題記錄

    最近想實(shí)現(xiàn)上位機(jī)與zynq7020開(kāi)發(fā)通信。采用串口通信方式,利用QT編寫(xiě)一個(gè)簡(jiǎn)易串口助手實(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> 無(wú)法進(jìn)入接收中斷問(wèn)題記錄

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

    本文介紹了從一組可重用驗(yàn)證組件中構(gòu)建測(cè)試平臺(tái)所需的步驟。UVM促進(jìn)了重用,加速了測(cè)試平臺(tái)構(gòu)建的過(guò)程。 首先對(duì) 測(cè)試平臺(tái)集成者(testbench integrator) 和 測(cè)試編寫(xiě)者(test
    的頭像 發(fā)表于 06-13 09:14 ?652次閱讀
    可<b class='flag-5'>重用</b>的<b class='flag-5'>驗(yàn)證</b>組件中構(gòu)建測(cè)試平臺(tái)的步驟