UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 57744

Zynq-7000 SoC 的设计咨询 — 使用大于 16MB 的闪存时 Zynq 和 QSPI 的复位要求

描述

哪个 Zynq-7000 平台会受影响?

在以下任何配置中使用大于 16MB QSPI 闪存进行启动的任何 Zynq-7000 平台:单路、双堆叠、双路并行。

注意:具有两个 16MB QSPI 闪存(双堆叠或双并行配置,总共 32MB)的系统不受该要求影响。

如欲了解 Zynq-7000 支持的 QSPI 器件,敬请查看(Xilinx 答复 50991)

背景介绍

Zynq QSPI 控制器可限制为 3 字节寻址,因此只有当启动映像位于第一个 16MB 的闪存中时,BootROM 才能提取它(16MB 是单个 QSPI 芯片支持的最大寻址能力)。

如果使用大于 16MB 的 QSPI 闪存,然后要访问超过 16MB 闪存部分的数据,软件驱动程序(独立、u-boot、Linux)就需要扩展 3 字节地址,以将第 4 个字节存储到名为“扩展地址寄存器”的厂商特定 QSPI 寄存器中。 

2013.3/14.7 软件驱动程序和 Xilinx 工具将支持这种情况。

扩展地址寄存器非常棘手,这就意味着只有外部复位事件(比如闪存重启或闪存的外部复位)可将其清除。

在 QSPI 闪存重启或外部复位后,只有在恢复时间过期之后才能访问该器件(查看 QSPI 闪存数据手册,了解更多详情)。

复位注意事项

在所有系统复位时均可调用 BootROM。

  • POR(外部管脚)
  • SRST(外部管脚)
  • 系统软件复位(由软件设置的 SLCR 位)
  • SWDT、AWDTx(看门狗定时器)
  • 安全锁闭(从 BootROM)
  • 系统调试复位 (JTAG)

在系统复位时,扩展地址寄存器可能不为零(被针对闪存超过 16MB 部分的读/写工作修改)。

BootROM 不能识别 QSPI 扩展地址寄存器,因此它无法将其清除,这可导致加载启动映像失败。

注:有关 Zynq-7000 SoC 的所有问题,请参阅 Zynq-7000 SoC 解决方案中心(Xilinx答复52512)

解决方案

要应对这一情况,需要同时管理 Zynq 和 QSPI 闪存复位。 

在任何复位(PQR 或热复位)情况下,都必须为 Zynq 应用一个外部 SRST,并且在去断言 SRST 之前必须让 QSPI 恢复。

CPLD 等外部实体可用于执行管理:

检测所有 Zynq 平台复位

这需要使用专用 PS MIO (USER_IO),因为 Zynq 上没有输出管脚来指示所有热复位事件。

电路板必须经过设计,使用弱上拉或弱下拉将它 固定为高或低。

 FSBL 可将其向另一个方向拉动。这可确保将在任何后续热复位之前低驱动该信号。

CPLD 可监控 POR_IN、SRST_IN 和 USER_IO,并可驱动 POR_ZYNQ、SRST_ZYNQ 和 QSPI_RESET/QSPI_POWER_EN。

有关流程的示例,请参阅(Xilinx 答复 64011)使用超过16MB闪存时的 QSPI 重置示例 。


 

注意:在图中,SRST_IN 是电路板上所有 SRST 的 OR,包括 JTAG SRST 线路(例如,其可通过调试器断言)

使用 SRST_ZYNQ 或 POR_ZYNQ 保持 Zynq 处于复位状态

使用 SRST_ZYNQ 的优势是,热复位可转换为另一个热复位;因此可调试寄存器,并保持完好无损。

应用需求可能会要求使用 POR_ZYNQ 代替。

复位 QSPI 闪存

如果 QSPI 闪存有复位管脚,CPLD 则可驱动它 (QSPI_RESET)。

如果没有,CPLD 可控制 QSPI 闪存电源轨(例如通过电路板上的 FET)(QSPI_POWER_EN)。

根据电源轨与 RESET 的恢复时间来看,使用电源轨可能会有优势,尽管提供有复位管脚。

任何正在进行的写入或擦除都可能导致闪存损坏。

较高级的软件/文件系统需要考虑这种可能性。

使用 SRST_ZYNQ 正确处理 POR_IN 和 SRST_IN 重叠

如果在本逻辑已断言 SRST_ZYNQ 时发生了 POR_IN 和/或 SRST_IN,则必须遵循 TRM 指南,按照正确顺序断言和去断言 SRST_ZYNQ/POR_ZYNQ。 

请参阅 Zynq TRM 的第 6.2.4 节“复位要求”以及(Xilinx 答复 52847)

释放 Zynq 复位

CPLD 逻辑可保持 Zynq 处于复位状态,直至 QSPI 闪存可用(恢复时间已过期,请参阅 QSPI 闪存数据手册了解更多详情)。

注意:在释放 POR_ZYNQ 之后的 3.2 ms(上升沿),BootROM 将访问 QSPI(驱动器 CS 有效)。

BootROM 启动映像搜索

这时,BootROM 开始在第一个 16MB 的 QSPI 闪存(扩展地址寄存器为零)中搜索启动映像。

注:

1) 某些对 CPLD 逻辑设计有帮助的其它注意事项在 Zynq-7000 SoC 技术参考手册的第 26 章“复位系统”中提供。 

还可查看(Xilinx 答复 52847),了解 SRST 和 POR 信号的排序。

2) 从大于 16MB 的 QSPI 启动时的其它注意事项可在 Zynq-7000 SoC 软件开发指南中找到。

AR# 57744
日期 06/13/2018
状态 Active
Type 设计咨询
器件
的页面