AR# 47575

Zynq-7000 SoC, SPI/QSPI - RxFIFO 非空状态没有及时被更新。

描述

这是在更新 SPI/QSPI RxFIFO“非空状态”位时产生的延迟。 

这会导致轮询软件错误地认为仍然有数据在 RxFIFO 中,而实际没有,从而导致 RxFIFO 数据流量不足。 

这会导致无效数据被读取。 

为避免这种状况,软件应该读取非空状态位两次。 

这允许控制器有足够时间更新状态位。 

该行为已经在 SPI 控制器软件中被检测到,但是没有在 Quad-SPI 控制器软件中被检测到。

解决方案

影响:低可能发生 FIFO 数据流量不足,从而导致无效数据被读取。

解决办法:读取状态寄存器两次,使用第二次读取的非空状态位的值。

受影响的配置:使用 SPI 或 Quad-SPI 控制器的系统。

 器件修订(s)受影响: 无计划修复。请参考(Xilinx 答复 47916) - Zynq-7000 设计咨询主答复记录.

读取状态寄存器两次,使用第二次读取的非空状态位的值。

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
47916 Zynq-7000 SoC 器件:芯片修订差异 N/A N/A
AR# 47575
日期 06/13/2018
状态 Active
Type 设计咨询
器件