当前位置:   article > 正文

ZYNQ之EMIO详解与例程说明

emio

1 概述

本文用于讲解ZYNQ中的EMIO的作用以及使用方法。

ZYNQ说明:

1)ZYNQ分为PL侧与PS侧。

2)PL侧为逻辑部分,即常说的FPGA

3)PS侧为软件侧,即常说的RAM侧。

4)本文以ZYNQ-7000系列 xc7z045ffg676为例讲解EMIO。

使用开发工具:vivado 2017.4 ,SDK

本文例程:设置两个EMIO,第一个作为输出,点亮LED,第二个作为输入,输入KEY的电平。

2 参考

585 Zynq-7000 SoC echnical Reference Manual

3 EMIO定义及作用

EMIO 是扩展的MIO,MIO在PS侧,EMIO是在PL侧扩展MIO的功能。

即EMIO是在PL侧连接使用PS侧资源的扩展通道接口。可扩展到pin上,也可以扩展到运用上,如下图所示:

在这里插入图片描述

EMIO与MIO一样归属于GPIO,ZYNQ-7000的GPIO共有54(MIO)+64(EMIO)=118个。如下图所示:
在这里插入图片描述

当然这个EMIO的序号也可通过PS侧的xgpiops.h中查看,比如下图:

在这里插入图片描述

4 PL侧设置

在做ZYNQ的开发时,是PL与PS协调的一个过程。需要先在PL侧建立工程,之后再将PL侧的bit导出到PS侧进行开发。

PL侧设置如下:

\1) 在vivado中新建工程后在bd中添加zynq的ip。

\2) 之后双击IP点开设置界面,如下所示:

在这里插入图片描述

\3) 再点击GPIO,找到EMIO的设置,选择想要设置的位宽,本例程设置为2。如下所示:

在这里插入图片描述

\4) 再点击ok完成zynq的ip设置。

\5) 再点击run block automation完成ip周围的设置

在这里插入图片描述

\6) 在bd上点击greate HDL wrapper创建顶层文件,之后再设置gpio的连接管脚xdc即可完成PL侧的工程设置

在这里插入图片描述

\7) 再点击generate bitstream 生成bit文件,

\8) 再通过file/export/export hardware 将bit硬件导出到ps侧

\9) 再通过file/launch sdk 启动sdk进入ps侧的代码操作。

在这里插入图片描述

5 PS侧的设置

\1) 在导出的SDK中,点击file/new/application project建立运用工程,设置好工程名后点击下一步。

在这里插入图片描述

\2) 之后点击hello world工程模板。

在这里插入图片描述

\3) 之后在*bsp下面点击system.ss即可看见驱动,导入gpio的examples。

在这里插入图片描述

\4) 之后根据需要在例程中到gpio的初始化代码、输入输出使能代码搬移到自己工程的main.c文件下。

\5) 再根据自己的运用场景设置输入输出值以及运用即可。比如本例程

在这里插入图片描述

6 上板操作

\1) 连接上线缆后,点烧写PL的BIT文件;

在这里插入图片描述

\2) 再运行PS侧的debug AS/1 launch***即可烧写完成

在这里插入图片描述

\3) 之后在板子上即可看见LED的闪烁,以及在SDK terminal上看见打印的读出数据。

在这里插入图片描述

7 Sdk terminal说明

SDK terminal是SDK自带的串口调试助手,用于SDK内部的串口打印与数据发送。

打开方式为:在sdk terminal串口点击+号,选择端口,之后点击ok即可。如下图所示。

在这里插入图片描述

8 附件

本附件为本例程的源代码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/459569
推荐阅读
相关标签
  

闽ICP备14008679号