第2章 信号、接口和引脚(XIlinx ZYNQ-7000 SOC UG-585文档)

3 篇文章 5 订阅
1 篇文章 0 订阅

第2章 信号、接口和引脚

注:本文为笔者自己翻译的XILINX ZYNQ-7000 SOC UG-585官方文档,文档版本UG585 (v1.12.2) July 1, 2018



2.1 介绍

本章介绍了Zynq-7000 SOC设备中用户可见的信号和接口。如图2-1所示,接口和信号组成了几个主要的组。Zynq-7000 SOC设备包含一个处理系统(PS)和一个基于Xilinx Artix-7 或 Kintex-7 的可编程逻辑(PL)模块。

2.1.1 注意

7z007s和7z010 CLG225设备

7z007s单核和7z010 双核CLG225设备(225引脚封装)支持32个MIO引脚和最多一个通过MIO引脚的以太网接口。在 2.5.4 MIO-at-a-Glance Table中介绍了该MIO表。一个或两个以太网控制器可以映射到PL侧逻辑中。

PS-PL电平转换
所有在PS和PL之间传输的信号和接口都要穿过一个电压边界。这些输入和输出信号通过电压电平转换器进行映射,在PL的上电和断电顺序期间,必须启用和禁用电压电平转换器。更多关于电平转换器的信息,可以参考 2.4 PS-PL电平转换器使能

引脚时序和电压规范

可从Zynq-7000 SOC说明书中获取引脚时序和电压规范。

图2-1信号、接口和引脚


2.2 电源引脚

虽然PS和PL的供电是完全独立的,但是无论PL供电何时激活,PS的供电都必须存在。PL上电需要保证与PS的POR复位信号有明确的延时关系。更多参数可以参考 6.3.3 BootROM Performance: PS_POR_B De-assertion Guidelines, page 179。

PS包含一个独立的DDR I/O供电和2个独立的MIO电压模块。电源引脚汇总在 表格2-1 中。电压时序和电气性质在 Zynq-7000 SOC说明书中有介绍。还可以从 Zynq-7000 SOC封装和引脚文档中获取更多信息。
表格2-1


2.3 PS I/O引脚

PS信号引脚汇总如图2-2所示。


注意!对于MIO引脚,允许的Vin高电平电压取决于slcr的设置。MIO_PIN_xx[IO_Type] 和 [DisableRcve]位。这些限制和所有I/O引脚的限制都在Zynq-7000 SoC说明书中介绍。超出限制可能会损坏输入缓存。

表格2-2

7z007s和7z010设备

7z007s单核和7z010双核CLG225设备(225引脚封装)比其他Zynq-7000 SOC设备的引脚更少(如表格2-2所示)。DDR和MIO引脚的详细参数介绍在 第10章 DDR存储控制器 和 2.5.3 MIO引脚分配注意事项中。更多关于CLG225设备的信息在 1.1.3 Notices 中。


2.4 PS-PL电平转换器使能

所有在PS和PL之间传输的信号和接口都要穿过一个电压边界。这些输入输出信号通过电平转换器映射。大多数电平转换器在slcr.LVL_SHFTR_EN寄存器使能。一些PS-PL传输信号电平转换器的使能是PL的供电状态控制的。这包含XADC、PL、MIO JTAGs、PCAP接口和其他模块。

电平转换器的使能和禁止必须在PL上电和断电时序中进行管理,以免造成PS模块中产生与逻辑无关的电平转换。电平转换器要在PL断电前禁止。同样,电平转换器要在PL上电后、信号未使用前使能。PS必须上电才能对PL逻辑极性编辑。

示例:上电时序

  1. PL上电参考说明书中电压时序要求。slcr.LVL_SHFTR_EN寄存器应该等于0x0。
  2. 使能PS_to_PL电平转换器向slcr.LVL_SHFTR_EN寄存器写入0x0A。
  3. 编辑PL
  4. 等待PL被编辑。直到读取devcfg.INT_STS[PCFG_DONE_INT] 等于1,表示DONE信号被置位。
  5. 使能PL_to_PS电平转换器向slcr.LVL_SHFTR_EN寄存器写入0x0F。
  6. 开始使用PS和PL之间的信号和接口

示例:上电时序

  1. 停止使用PS和PL之间的信号和接口
  2. 禁止电平转换器向slcr.LVL_SHFTR_EN寄存器写入0x0。
  3. PL断电。参考说明书中的断电时序要求。
  4. 当PL断电器件保持slcr.LVL_SHFTR_EN寄存器 = 0x0

贴士:从功能上讲,在PL完全配置之前,使能电平转换器是没有意义的。在PL全局信号没有标识电平转换器使能安全之前,PS不会允许其使能。PL完全编辑完毕后,PL DONE信号变为高电平。PL DONE信号作为Decv子系统的中断被跟踪。

2.5 PS-PL MIO-EMIO信号和接口

由于MIO引脚的数量有限,MIO对于I/O外围连接来说是基本的。软件编程可以将I/O信号映射到MIO引脚。I/O外围信号也通过EMIO可以映射到PL(包括PL设备引脚)。这有助于访问更多的设备引脚(PL引脚),还可以允许I/O外围控制器连接PL用户逻辑接口。如图2-2。
图2-2

2.5.1 I/O外围(IOP)接口映射

I/O控制器信号的I/O多路复用是不同的;也就是说,有的IOP信号只能在MIO引脚接口使用,有的信号可以通过MIO和EMIO使用,有的信号只能通过EMIO使用。每个I/O外围的映射能力如 表2-3 所示。每个IOP的详细信息都包含在描述IOP的章节中。MIO引脚分配的可能性在第2.5.4节MIO-at-a-Glance表中说明。

注意:IOP接口的I/O信号必须作为一组来映射;也就是说,信号不能拆分和映射到不同的MIO引脚组。比如,SPI0 SCK映射到MIO引脚40,那么SPI0其他的引脚必须映射到MIO引脚41到45。同样,同一个IOP接口的信号不能分别映射到MIO和EMIO。另外,IOP接口中没有使用的信号不必映射。不用的信号可以配置成一个GPIO。
表格2-3

2.5.2 IOP接口连接

对于大多数外设,I/O信号可以映射的位置是很灵活的。映射能力如 图2-4 所示。例如,XPS设计软件中为CAN提供了12种可以映射的MIO接口或者选择一个EMIO接口途径。外设系统连接框图如 图2-3 所示。

除了USB以外,大多数PS外设的I/O信号都既可以通过MIO映射到PS引脚,也可以通过EMIO映射到PL引脚。除了千兆以太网外,大多数外设都可以在MIO和EMIO之间保持相同的协议。为了减少引脚数量,一个4位RGMII接口通过MIO运行在250MHz数据速率(一个双倍的速率为125MHz)。通过EMIO映射,包含一个运行在125MHz数据速率的8位GMII接口。对于USB、Quad-SPI和SMC接口通过EMIO映射到PL是不可用的。

在互连方面,USB、以太网和SDIO外设连接到了中心互连以便服务6个DMA主机。软件通过AHB互连可以访问只有从机功能的Quad-SPI和SMC外设。通过APB总线可以访问GPIO、SPI、CAN、UART、和I2C只存控制器。除了SDIO控制器,所有的控制和状态寄存器都有2个APB接口通过APB互连访问。这种结构设计用来平衡每个控制接口的带宽。
图2-3

2.5.3 MIO引脚分配注意事项

通常每个引脚只能分配一个功能。一个例外是双重使用启动模式捆绑电阻(MIO[2:8])


重要提示:有几个重要的MIO引脚分配注意事项。MIO-at-a-Glance表、接口映射表以及这些管脚分配注意事项在执行管脚规划时非常有用。

接口频率:接口的时钟频率通常取决于设备的速度等级以及接口是通过MIO还是EMIO映射。每个接口可能的映射途径在 表2-3 中列出。Zynq-7000 SoC说明书中定义了可用于每个速度等级和映射路径的最大时钟频率。

两个MIO电压模块:MIO管脚分为两组独立配置的I/O缓冲器:Bank 0,MIO[15:0]和Bank 1,MIO[53:16]。信号电压最初配置是使用VMODE boot模式指定引脚的。每个组可配置为1.8V信号或2.5V/3.3V。

Boot模式指定引脚:除了作为引导模式引脚使用外,这些引脚还可以分配给I/O外围设备。MIO引脚[8:2],定义了引导设备、初始PLL时钟旁路模式和MIO组的电压模式(VMODE)。在PS_POR_B复位信号解除激活之后,对指定引脚进行几个PS_CLK时钟周期的采样。电路板设计使用20kΩ上拉和下拉电阻将这些信号连接到VCC或接地。有关引导模式引脚设置的更多信息,请参阅 第6章引导和配置 。

I/O缓存输出使能控制:每个MIO I/O缓冲器的输出使能由三态覆盖控制位的设置、所选信号类型(仅输入或不输入)和外围控制器的状态的组合来控制。三态覆盖位可以从以下两个位置中的任意一个进行控制:slcr.MIO_PIN_xx [TRI_ENABLE] 寄存器位或slcr.MIO_MST_TRI寄存器位。这些位控制同一个触发器,以帮助控制I/O缓冲器的三态信号。当三态覆盖控制位 = 0,且信号为只输出或I/O外设期望驱动一个配置为I/O的信号时,I/O缓存会使能。

从SD卡启动:BootROM希望SD卡连接到MIO引脚40到45(sdio0接口)。

静态内存控制器(SMC)接口:一个设计中只能使用一个SMC内存接口。SMC控制器消耗许多MIO管脚,SMC内存接口都不能路由到EMIO。
比如,一个8位NAND Flash被使用,则则Quad SPI不可用,并且测试端口限制为8位。如果使用了16位NAND闪存,则会消耗额外的管脚,以太网0不可用。SRAM/NOR接口消耗高达70%的MIO引脚,消耗了以太网和USB 0接口。
SRAM/NOR高位地址引脚是可选的,适合于所连接的设备。还要注意,SMC接口横跨两个MIO电压组。

Quad-SPI接口:如果要使用Quad SPI内存子系统,则必须使用内存较低的Quad SPI接口(QSPI_0)。高位接口(QSPI_1)是可选的,仅用于双存储器排列(并行或堆叠)。不要单独使用Quad-SPI 1接口。

MIO 引脚[8:7]为输出:这些MIO引脚只能作为输出。GPIO通道7和8只能配置为输出。

7z007s和7z010 CLG225设备上的MIO引脚:7z010双核和7z007s单核CLG225设备有32个MIO引脚:0:15、28:39、48、49、52和53。所有其他的Zynq-7000 SOC设备包含54个MIO引脚,且所有的设备都有一样的EMIO接口功能。详细信息参考 1.1.3 Notices。
7z007s和7z010设备可用的32个MIO引脚限制的PS功能:

  • 通过MIO的一个USB或以太网控制器
  • 不能通过SD卡引导启动
  • 没有NOR/SRAM接口
  • NAND Flash限制为8位

2.5.4 MIO-at-a-Glance表

表2-4以简洁的格式显示MIO信息,以便于参考;灰色方框表示在CLG225封装(7z010双核和7z007s单核设备)的设备中不可用的信号。有关背景信息,请参阅章节PS-PL MIO-EMIO信号和接口。本节还包括重要的管脚分配注意事项。每个MIO引脚都可以用作GPIO。引脚0-31被GPIO Bank0控制。引脚32-53被GPIO Bank1控制。MIO7和MIO8只能用作输出。
表2-4

2.5.5 MIO信号映射

通过MIO的信号路由由位于slcr寄存器组中的MIO_pin_[53:0]配置寄存器控制。MIO使用四级复用将各种输入和输出信号复用和解复用到MIO管脚,如图2-4所示。高速数据信号(如用于千兆以太网的RGMII和用于USB的ULPI)只通过一个多路复用器级进行映射。较慢的信号(如UART和I2C端口)通过所有四个多路复用器级进行路由。每个MIO管脚的映射由每个MIO管脚寄存器中的多个位字段独立控制。
图2-4
使用CAN_MIOCLK_CTRL寄存器,可以将任何MIO引脚编程为外部CAN控制器参考时钟。

2.5.6 默认逻辑等级

当其他源既没有映射到MIO,又没有映射到EMIO,I/O外设的输入会驱动到默认值。如果某个输入被映射到EMIO,但是PL未上电,I/O外设同样会被驱动为默认值。(如图2-5)

对于只能映射到MIO的信号,如果多路复用没有映射,引脚将驱动未默认值。

当MIO多路复用器未将信号映射至MIO引脚(信号默认为EMIO接口)且信号被编程为通过EMIO映射时,MIO-EMIO信号被驱动为默认信号输入,但PL既不能驱动信号(未配置)也不能驱动信号(断电)。

默认输入信号逻辑电平设计为对I/O外设无害。作为预防措施,不使用时也应禁用相关的外围核心。每个I/O外设章节中的信号表中显示逻辑电平。
图2-5

2.5.7 MIO引脚电气特性

MIO引脚寄存器包括位字段,用于控制每个I/O缓冲器(GPIOB)的电气引脚特性。其包括I/O缓冲信号电压、转换率、3态控制、上拉电阻和HSTL使能。这些参数汇总在 Table2-5 。要获取更加详细的参数信息可以参考Zynq-7000 SOC的说明书(Data sheet)。
在这里插入图片描述
**注意:**HSTL接收器只有在GEM以太网PHY接口是有用的。


注意!允许的Vin高电平电压取决于slcr.MIO_PIN_xx[IO_Type] 和 [DisableRcvr] 数据位的设置。这些限制在Zynq-7000 SoC说明书(Data sheet)中有定义。超出限制时,可能会损坏输入缓冲区。


VREF源注意事项
用于HSTL信号的VREF管脚可以来自内部或外部源。用户应根据系统设计需要选择使用。slcr.GPIOB_CTRL [VREF_SW_EN]寄存器位控制参考源的选择。


2.6 PS-PL AXI接口

AXI接口的PS侧基于AXI 3接口规范。每个接口由多个AXI通道组成。接口汇总见 Table 2-6 。超过一千个信号被用来实现这九个PL AXI接口。

注意:在PL逻辑通信发生前,PL电平转换器应该通过VL_SHFTR_EN使能。详细参考 2.7.1 时钟和复位。
表2-6


2.7 PS-PL 其他信号

可编程逻辑接口组包含PS和PL之间的各种接口。一个输入由PL驱动,一个输出由PS驱动。信号可能有后缀,其中“N”后缀表示低电平有效信号;否则信号为高电平有效信号。“TN”后缀表示一个激活的低3态使能信号,是对PL的输出。输出到PL的信号总是被驱动到高电平或低电平状态。
PS-PL信号组如 Table 2-7 所示。
表2-7
**注意:**在PL逻辑通信发生前,PL电平转换器应该通过VL_SHFTR_EN使能。详细参考 2.7.1 时钟和复位。

2.7.1 时钟和复位

时钟
PS时钟模块向PL提供四个频率可编程时钟(FCLK),它们沿PS–PL边界物理分布。时钟也可以单独控制。FCLK时钟可以映射到PL时钟缓冲器作为频率源。

注意:在四个PL时钟中的任何一个和任何其它PS-PL信号之间没有必然的定时关系。每个时钟都可以独立配置和运行。FCLKCLKTRIGN[3:0]信号目前暂不支持,它们必须在PL侧接地。FCLK时钟在 第25章 时钟 中有详细描述。

复位
PS复位子系统提供4个到PL的复位信号。这些信号由寄存器slc.FPGA_RST_CTRL SLCR[FPGA[3:0]_OUT_RST位写入的数据控制。这些复位信号可以独立配置,且完全独立于PL时钟和PS-PL信号。PS复位子系统在 第26章 复位 中有详细描述。

PL时钟和复位汇总在 Table 2-8 中。
表2-8

2.7.2 中断信号

来自PS(处理系统)I/O外设(IOP)的中断被映射到PL,且异步地匹配到FCLK时钟。在另一个方向上,PL可以异步地匹配多达20个中断到PS侧。其中16个中断信号作为外设中断映射到中断控制器,每个中断信号都可以设置一个优先级并映射到一个或两个CPU。其余四个PL中断信号被反转并直接映射到nFIQ和nIRQ中断,然后发送到中断控制器的专用外设中断(PPI)单元。两个CPU都有一个nFIQ和nIRQ中断。PL到PS和PS到PL的中断在 Table 2-9 中列出。中断信号详细信息 在第7章 中断 中有介绍。
表2-9

2.7.3 事件信号

PS支持处理发送到PL或接受自PL的事件(见 Table 2-10)。这些信号与PS和FCLK时钟是异步的。关于这些信号的详细信息可以参考 第三章 应用处理单元 (Chapter 3, Application Processing Unit)。
表2-10

2.7.4 空闲AXI, DDR紧急/异常,SRAM中断信号

发送到PS的空闲AXI信号用于指示PL中没有未完成的AXI事务。它不能从任何寄存器读取。这些信号由PL驱动,其是通过确保所有PL总线设备空闲来启动PS总线时钟关闭的条件之一。

DDR紧急/异常信号用于向PS DDR内存控制器的四个AXI端口的DDR仲裁发出严重内存不足情况的信号。MIOSRAMINT信号用于警告PL静态存储器控制器已触发中断。
表2-11

2.7.5 DMA请求/应答信号

有四组DMA控制器流量控制信号可供使用,其中通过M_AXI_GP接口连接的PL从机最多有四个(见Table 2-11)。这四组流量控制信号对应于DMA通道4到7,详细数据见 第9章DMA控制器。
表2-12


2.8 PS-PL I/O引脚

PL I/O引脚的汇总详见 Table 2-13。更多信息请参考适用的Zynq-7000 SoC说明书(data sheet)和Zynq-7000 SoC封装和引脚文件。

有关千兆位串行收发器引脚的更多信息,请参阅UG476,7系列FPGA GTX收发器用户指南中的引脚描述和设计指南部分。(四到十六收发器可用于基于Kintex的Zynq 7z030、7z035、7z045和7z100设备。)

7z007s和7z010硬件注意事项

CLG225封装中的设备(7z010双核和7z007s单核设备)的引脚比其他Zynq-7000 SoC设备少。对于这些设备,DXN与地相连,Bank 34有46个I/O,Bank 35有8个I/O。该设备的XADC信号也只有四对。


注意:允许的Vin高电平电压在Zynq-7000 SoC说明书(Data sheet)中有定义。超出限制时,可能会损坏输入缓冲区。


在这里插入图片描述


说明:纯人工翻译费时费力、而且意义不大。大多数翻译采用的是翻译软件+人工校对,对于笔者本人的学习和理解已经足够。如果需要准确理解,请看官方英文原始文档。


  • 4
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Zynq-7000 SoC技术参考手册(UG585)是一份详细介绍了Xilinx公司Zynq-7000系列SoC的技术细节的参考手册。该手册包括了SoC的体系结构、处理器、内存、互连、外设和高速收发器等多个方面的介绍。 在Zynq-7000 SoC体系结构的部分中,手册详细介绍了SoC中包含的ARM Cortex-A9处理器核心数量、内存结构、I/O接口、DMA控制器、中断控制器等关键组成部分的详细信息。此外,手册还介绍了SoC中包含的可编程逻辑部分以及如何进行逻辑的配置和编程。 在Zynq-7000 SoC处理器的部分中,手册详细介绍了ARM Cortex-A9处理器的内部结构、指令集架构、寄存器、异常处理等关键细节,帮助用户深入理解处理器的功能和使用方法。 在Zynq-7000 SoC内存的部分中,手册介绍了SoC中包含的多种类型的内存,如DDR3、LPDDR2、QSPI闪存等,以及如何进行内存的配置和使用。 在Zynq-7000 SoC互连的部分中,手册介绍了SoC中各个组成部分之间的关系和互联方式,帮助用户深入理解SoC内部通信的原理和方法。 在Zynq-7000 SoC外设的部分中,手册介绍了SoC中包含的各种外设,如UART、SPI、I2C、USB等,以及如何进行外设的配置和使用。 最后,在Zynq-7000 SoC高速收发器的部分中,手册介绍了SoC中包含的多个SerDes收发器的原理、配置和使用方法,帮助用户深入了解SoC高速通信的技术细节。 总而言之,Zynq-7000 SoC技术参考手册(UG585)提供了丰富的技术细节,帮助用户更好地理解和使用该系列的SoC产品。 ### 回答2: Zynq-7000 SoC 技术参考手册 (UG585) 是一本由 Xilinx 公司出版的技术手册,旨在帮助开发者深入了解 Zynq-7000 SoC 芯片的功能和特性。该手册共有 56 ,涵盖 Zynq-7000 SoC 的硬件架构、处理器系统、时钟和时序、存储器、外设、中介体系结构等方面。 在处理器系统方面,该手册详细介绍了 Zynq-7000 SoC 的 ARM Cortex-A9 处理器,包括处理器核心和外部总线、缓存架构、调试功能等主要特征。此外,该手册还介绍了 Zynq-7000 SoC 与外部存储器和设备进行通信的方式,包括 AXI 和 AHB 总线协议。 在时钟和时序方面,该手册介绍了 Zynq-7000 SoC 内部的时钟源、时钟分配和时序控制,以及外部时钟输入的处理方法。同时,该手册还详细介绍了 Zynq-7000 SoC 中各种时序参数的意义和取值范围。 在存储器方面,该手册介绍了 Zynq-7000 SoC 中各种存储器的种类和特性,包括 DDR3 SDRAM、QSPI Flash、NAND Flash、SD/SDIO/MMC 等。同时,该手册还介绍了如何配置这些存储器以达到最佳性能和可靠性。 在外设方面,该手册介绍了 Zynq-7000 SoC 中内置的各种外设,包括 UART、SPI、I2C、GPIO、Ethernet、USB 等。对于每个外设,该手册都详细介绍了其功能、接口、寄存器等方面,方便开发者使用。 总之,Zynq-7000 SoC 技术参考手册是一本非常全面、详细的技术手册,对于想要深入了解 Zynq-7000 SoC 的开发者来说是必不可少的参考资料。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值