Advertisement

zynq平台提供了三种方法来实现GPIO

阅读量:

本文介绍在zynq中三种实现GPIO的方式,分别为MIO、EMIO和IP方式。

该方法基于PS部分的GPIO模块实现了相应的功能,并且提供了54个MIO(可输出三态)、64个输入端子、128个通用输出端子(其中包含64个标准输出以及用于使能控制的64个专用输出)EMIO技术。

而IP采用PL实现GPIO功能,在PS段借助M_AXI_GP接口控制该GPIO IP模块;此外EMIO模块虽在PS端使用GPIO资源但仍依赖于PL端的管脚配置。

MIO方式实现GPIO

vivado中zynq设置如下图

mio_vivado中配置

从图形界面可观察到选择并打开GPIO后会自动生成可用作 GPIO 使用的 MIO;如果某个 MIO 被赋予其他功能,则无法用作 GPIO;值得注意的是,在本设计中编号为 7 和 8 的两个通道专用于输出操作;具体原因可参考UG585第14章:14.2.3内容

软件部分如下

复制代码
    #include <stdio.h>
    #include "platform.h"
    #include "xgpiops.h"

全部评论 (0)

还没有任何评论哟~