米联客 ZYNQ/SOC精品教程 S02-CH05 PS EMIO 实验

软件版本:VIVADO2017.4

操作系统:WIN10 64bit

硬件平台:适用米联客 ZYNQ系列开发板

米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!!

5.1 概述

      通过讲解了PS端EMIO的使用。在MIO不够使用的情况下,可以通过PL部分扩展EMIO增加使用的IO。

5.2 EMIO 和MIO的对比介绍

     上次讲到MIO的使用,初步熟悉了EDK的使用,这次就来说说EMIO的使用。如你所见ZYNQ的GPIO,分为两种,MIO(multiuse I/O)和EMIO(extendable multiuse I/O)

3204692265f0154455175aca3da54d6604c.jpg

     MIO分配在bank0和bank1直接与PS部分相连,EMIO分配在bank2和bank3和PL部分相连。除了bank1是22-bit之外,其他的bank都是32-bit。所以MIO有53个引脚可供我们使用,而EMIO有64个引脚可供我们使用。

    使用EMIO的好处就是,当MIO不够用时,PS可以通过驱动EMIO控制PL部分的引脚,接下来就来详细介绍下EMIO的使用。

    EMIO的使用和MIO的使用其实是非常相似的。区别在于,EMIO的使用相当于PS + PL的结合使用的例子。所以,EMIO需要分配引脚,以及编译综合生成bit文件。

5.3 电路分析与实验现象

    本节使用开发板的LED,通过SDK操作EMIO来控制LED灯的流水操作。

5.4 搭建BD工程

Step1:新建一个名为为Miz_sys的工程。

Step2:创建一个BD文件,并命名为system,添加并且配置好ZYNQ IP。读者需要根据自己的硬件类型配置好输入时钟频率、内存型号、串口,连接时钟等。新手不清楚这些内容个,请参考“CH01 HelloWold/DDR/网口测试及固化”这一节课。

f1b13828fb3ed8de401de35e6d2835a3223.jpg

Step3:勾选EMIO GPIO(Width),并选择4位引脚输出(最多可以选择64位,这里使用4位即可),单击OK。

dc63d633039c3238412e70a0cc1634ba61f.jpg

Step4:ZYNQ IP增加GPIO_0引脚,这组引脚是刚设置的EMIO。右击该引脚,选择make external把GPIO_0引脚引出(或者单击该引脚处,按快捷键Ctrl +t,也可将引脚引出)。结果如图所示:

e9ca23dd0dc5699675c469e3af53f30219b.jpg

508ede3884083627593604d8eb1ed836f3d.jpg

531fb1fc1a61ed098c83dafe7125727dcb5.jpg

42c4e5db68e74676904e07a7f0d40c5259d.jpg

0b875b0432d1fbbe15d563c32b6d62debb2.jpg

96efa7993643e9d79eef2f3bc69245f1edc.jpg

Step9:单击窗口上的运行按钮,运行程序

5.8 实验结果

可看到LED的流水操作。

006683fea83a7aab15e35c1de3551253681.jpg

5.9 程序分析

       本课程序与PS MIO实验分析基本上相同(如果有不清楚的地方,请查看前一节课内容),不再重复的讲解。这里需要注意:EMIO程序中,起始编号为54。分析如下:

       MIO共54个输出,即0~53。EMIO输出从54开始。例程中使用的引脚,对应EMIO输出54~57,同时对应开发板上的4个LED(这是引脚约束的结果)。

06b00fb4304a8c6a169455c0ad3d3dc2c7c.jpg

转载于:https://my.oschina.net/msxbo/blog/3098376

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值