跳至正文

ZYNQ7000-MIO与EMIO详解

标签:
ZYNQ-MIO-EMIO


摘要

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

关键词:ZYNQ信号引脚MIOEMIOBank


前言

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

ZYNQ-7000系列概述 – 徐晓康的博客 (myhardware.top)


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

参考:Zynq 7000 SoC Technical Reference Manual • Zynq 7000 SoC Technical Reference Manual (UG585) • 阅读器 • AMD 技术信息门户网站 42~59页–Ch2: Signals, Interfaces, and Pins。

1.1 ZYNQ7000引脚分组

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

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

PS部分:

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

PL部分:

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

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

分类 名称 说明
AXI Interfaces M_AXI_GP × 2 2组AXI GP主机接口
S_AXI_GP × 2 2组AXI GP从机接口
S_AXI_HP × 4 4组AXI HP从机接口
S_AXI_ACP 1组AXI ACP从机接口
Misc(杂项),
PL Signals
FCLKS PS提供给PL的时钟信号
IRQ, Event, Standby PL <-> PS 中断
DMA Req/Ack DMA请求与应答
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某芯片的引脚分布

参考:Zynq 7000 SoC Technical Reference Manual • Zynq 7000 SoC Technical Reference Manual (UG585) • 阅读器 • AMD 技术信息门户网站 30~32页 CL225/CLG225 Packages—XC7Z007S, XC7Z010, and XA7Z010

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


可以看到,空白圆:white_circle:为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与嵌入式知识,软件,工具等内容,欢迎大家关注。

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
目录