ZYNQ7000-MIO与EMIO详解

摘要

本文参考芯片手册详细介绍了ZYNQ7000芯片的信号、接口与引脚,结合芯片封装说明了引脚的类别与分布,并说明了MIO与EMIO的区别。

关键词:ZYNQ信号引脚MIOEMIOBank

前言

了解ZYNQ7000的基础知识可参考我的另一篇博客:

传送门:ZYNQ-7000概述

一. ZYNQ7000的信号、接口与引脚

参考:UG585 - Zynq-7000 SoC Technical Reference Manual (v1.12.2) 42~59页–Ch2: Signals, Interfaces, and Pins。

1.1 ZYNQ7000引脚分组

下图展示了ZYNQ7000信号、接口与引脚的大致分组

可见,ZYNQ7000分为PS与PL两部分,信号、接口和引脚也分属这两部分。

PS部分:

分类名称说明
PS信号与接口PS_CLKPS侧专用时钟引脚,为CPU工作提供外部时钟
POR_RST_N
SRST_N
power on reset 上电复位
外部输入的同步复位
DDR Memory连接DDR的接口
USB连接USB的接口
Quad-SPI连接FLASH的接口
NAND, NOR/SRAM连接SRAM的接口
PS Power PinsPS Power PinsPS电源引脚,提供多种电平的电源
Boot Mode MIOBoot Mode MIOPS侧的启动模式引脚,控制ZYNQ的启动模式
MIO Pins,
EMIO Signals
GigE, SDIO, SPI, I2C,
CAN, UART, GPIO,
TTC, SWDT
PS侧多种外设,既可以使用MIO引脚,
也可以使用EMIO引脚
JTAGJTAGPS与PL共有的JTAG引脚,
烧写与调试PS/PL程序

PL部分:

分类名称说明
PL SignalsUser SelectIOPL为FPGA,用户可更加需要任意指定信号对应的引脚
XADCPL部分的ADC,对应引脚为固定的ADC专用引脚
MGTX只所示这几种芯片才有的MGTX专用引脚
PL Power PinsPL Power PinsPL供电引脚,提供多种PL电平

PS-PL交互部分(交互在芯片内部,故只存在接口与信号,不存在引脚):

分类名称说明
AXI InterfacesM_AXI_GP × 22组AXI GP主机接口
S_AXI_GP × 22组AXI GP从机接口
S_AXI_HP × 44组AXI HP从机接口
S_AXI_ACP1组AXI ACP从机接口
Misc(杂项),
PL Signals
FCLKSPS提供给PL的时钟信号
IRQ, Event, StandbyPL <-> PS 中断
DMA Req/AckDMA请求与应答
DDR Arb,
AXI Idle,
SRAM Int
存储器控制
FTMD Trace,
FTMT Trigs
调试信号

总结一下,除去电源、地、时钟、复位、JTAG这五种引脚外,PS部分还有专门对接DDR,SRAM,USB的引脚,PL部分只有XADC和一些芯片的MGTX引脚是专用的,其余引脚均可任意配置。

1.2 电源引脚

PS与PL部分均需要多种电平的供电电源,电源需要从特定的电源引脚接入芯片。相关电源引脚(包含ADC与地)信息如下表所示。

1.3 PS信号引脚

PS部分除电源引脚外的引脚信息如下图所示。从这里可以看出来,PS部分的引脚除了电源、地、时钟、复位和DDR专用引脚外均为MIO引脚

1.4 PL信号引脚

PL部分有少量的引脚用作特殊功能,绝大部分引脚为用户引脚,可任意配置,这些User I/O Pins即为EMIO引脚

二. ZYNQ7000某芯片的引脚分布

参考:ug865 Zynq-7000 SoC Packaging and Pinout 30~32页 CL225/CLG225 Packages—XC7Z007S, XC7Z010, and XA7Z010

以最简单CL225封装引脚图为例,查看下ZYNQ芯片的引脚分布情况。

可以看到,空白圆⚪️为EMIO,空白六边形为MIO。

除了Dedicated Pins(专用引脚)与 Other Pins(其它引脚,由电源、地以及NC引脚组成)外,剩下的引脚根据各自的供电引脚不同分组即分为不同的Bank,Banks分布图如下:

其中,500, 501, 502这些50X的Bank为PS侧的引脚34, 35这些3X的Bank为PL侧的引脚。其它封装也遵循此Bank命名方式。

也可以看出,PS侧的Bank主要是由DDR引脚与MIO引脚构成PL侧Bank由少量Multi-Function引脚和EMIO构成

三. MIO与EMIO概览及两者的区别

下图展示了MIO与EMIO接口概览。

MIO,Multiuse I/O,称为复用输入/输出,对应PS侧的可配置的多功能引脚。

EMIO,Extent MIO,称为扩展复用输入/输出,对应PL侧的可配置的多功能引脚。

MIO是外设的基础引脚,因为MIO引脚数量较少,ZYNQ也提供了EMIO接口作为MIO的扩展,外设可通过EMIO接口路由到PL侧的引脚上,来实现与MIO几乎相同的功能

几乎相同也就意味着有些许不同,MIO和EMIO作为引脚不同的地方有3点

1.MIO对于PL侧是透明的,PL无法得到MIO引脚上的电平信息,而EMIO因为就是PL的引脚,所以PS可以通过EMIO与PL通信

2.外设与MIO是固定搭配的,就是说要使用MIO作为外设引脚就必须是一组固定引脚。如下图,举个例子,如果你使用了MIO34作为UART0的一个引脚,那么UART0的另一个引脚必须是MIO35,USB1也是如此,除了GPIO比较特殊外,其它外设MIO都是一组一组起作用的,并且是产商预先定好的位置,不能任意指定,所以在设计硬件电路时,使用哪些引脚来连接外设要遵照这一特性。另外因为电路是确定的,使用MIO也不用指定引脚约束。

EMIO相对灵活,引脚之间预先没有绑定,可任意指定,而且使用EMIO需要加引脚约束指定到PL确定的某个引脚。

3.因为MIO引脚位置更靠近这些外设电路,所以相较于使用EMIO,一些外设使用MIO性能更好。还有一些外设只能使用MIO无法使用EMIO(上图也有展示),UG585中说明了这些差异,如下图所示。

四. MIO Bank与封装Bank的区别与联系

二. ZYNQ7000某芯片的引脚分布 中已经说明了封装是分Bank的,而MIO引脚也是分Bank的,MIO分为Bank 0 和 Bank 1,其中 MIO Bank 0是封装Bank 500中的部分引脚,MIO Bank 1是封装Bank501中的部分引脚。具体MIO引脚的Bank分布及其与外设的关系如下图MIO一览表所示。

Bank 0包括MIO 0~15 共16个MIO,Bank 1包括 MIO 16~53 共38个MIO(除了7z010和7z007s外),所以,MIO共54个

EMIO共64个

五. 特殊的MIO

一般来说MIO同一程序只能被配置成一种功能,而MIO[2:8]不同,这些引脚在芯片上电启动时起作用,它们还可被配置为其它功能,这并不冲突,因为其它功能是在芯片启动后起作用,这时MIO[2:8]的启动模式选择功能等就失效了。

MIO[8:7]控制Bank的电压,MIO6控制PLL使能,MIO[5:2]控制Boot Mode。

同时MIOMIO[8:7]只能被配置为输出。

六. 总结

本文介绍了ZYNQ7000系列芯片的引脚的基本信息,包括引脚的分类,分布,Bank等。还重点介绍了MIO与EMIO的定义以及两者间的区别。基本上,MIO可理解外PS侧的用户IO,EMIO则为PL侧的用户IO,它们均被配置为多种功能。EMIO是对MIO的扩展,它可以作为PS与PL通讯的一种媒介。


徐晓康的博客持续分享高质量硬件、FPGA与嵌入式知识,软件,工具等内容,欢迎大家关注。

  • 46
    点赞
  • 238
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Zynq-7000是Xilinx推出的一款全新的可编程系统芯片(SoC),其核心特点是将ARM Cortex-A9处理器与可编程逻辑器件(FPGA)集成在一起。ZED是由Digilent和Avnet合作生产的一款基于Zynq-7000 SoC的开发板。 关于Zynq-7000-ZED的资料,您可以从以下几个方面进行了解和获取: 1. 官方文档:Xilinx官方网站提供了针对Zynq-7000 SoC的详细技术资料和应用指南,包括技术手册、用户指南、应用笔记等。这些资料涵盖了硬件设计、软件开发、调试和测试等方面的内容,非常全面详细。 2. 社区论坛:在Xilinx官方网站上,您可以加入或搜索Xilinx社区论坛。这个论坛是一个交流平台,可以与其他用户分享经验和解决问题。在论坛上,您可以找到很多关于使用Zynq-7000-ZED进行开发的实际案例和技术讨论。 3. 参考设计和开发板说明:Digilent和Avnet官方网站上提供了基于Zynq-7000-ZED开发板的一些参考设计和示例代码。这些参考设计涵盖了不同的应用领域,包括图像处理、通信、机器学习等。通过研究这些设计,您可以更好地了解如何使用Zynq-7000-ZED进行应用开发。 4. 在线教程和视频:在互联网上,有许多第三方的在线教程和视频可以帮助您快速入门Zynq-7000-ZED的开发。这些教程和视频通常以实际的项目为例,展示了如何进行硬件设计、软件开发和调试等过程。 总之,Zynq-7000-ZED的资料非常丰富,包括官方文档、社区论坛、参考设计、在线教程等多种渠道。只要您愿意花时间去研究和学习,就能够轻松掌握Zynq-7000-ZED的开发技术和应用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值