跳转到主要内容
国际橡塑展报名
国际橡塑展报名
国际橡塑展报名

EMIO

学会Zynq(5)GPIO中EMIO的使用方法

judy 提交于

EMIO就是PS控制PL资源的简单例子。EMIO就是可扩展的MIO,当与PS直接相连的MIO不够用时,可以使用EMIO做“扩展”。使用体会上,感觉就是ARM直接控制了PL部分的管脚。GPIO的bank2和bank3就是通过EMIO接口与PL相连的,本文将先通过PS控制PL部分流水灯的实例感受下EMIO的使用,然后再介绍EMIO相关的基本概念

ZYNQ EMIO使用及可重用封装

judy /

为了快速实现算法板级验证,PC端需要通过JTAG或以太网与FPGA形成通路。最简单便捷的方案是利用协议栈芯片,用户可以无视底层,利用简单的SPI协议读写寄存器实现复杂的TCP UDP等网络协议。当然带宽会受限于SPI接口有效速率,本文采用芯片为W5500,支持10M/100M自适应,其理论值高达80Mbps,基本达到算法验证的要求。

  ZYNQ可以通过灵活的EMIO模拟SPI接口,从而在最少改动官方demo的前提下移植C语言驱动程序。本文着重讲述EMIO的C语言软件驱动方式及可重用封装,封装后可以接口方式被其他应用程序直接调用,非常方便。直接上代码,再加以说明。
/*
* EMIO_ope.c
*
*/

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

static XGpioPs psGpioInstancePtr;