这是在更新 SPI/QSPI RxFIFO“非空状态”位时产生的延迟。
这会导致轮询软件错误地认为仍然有数据在 RxFIFO 中,而实际没有,从而导致 RxFIFO 数据流量不足。
这会导致无效数据被读取。
为避免这种状况,软件应该读取非空状态位两次。
这允许控制器有足够时间更新状态位。
该行为已经在 SPI 控制器软件中被检测到,但是没有在 Quad-SPI 控制器软件中被检测到。
影响:低可能发生 FIFO 数据流量不足,从而导致无效数据被读取。
解决办法:读取状态寄存器两次,使用第二次读取的非空状态位的值。
受影响的配置:使用 SPI 或 Quad-SPI 控制器的系统。
器件修订(s)受影响: 无计划修复。请参考(Xilinx 答复 47916) - Zynq-7000 设计咨询主答复记录.
读取状态寄存器两次,使用第二次读取的非空状态位的值。
Answer Number | 问答标题 | 问题版本 | 已解决问题的版本 |
---|---|---|---|
47916 | Zynq-7000 AP SoC 器件:芯片修订差异 | N/A | N/A |
AR# 47575 | |
---|---|
日期 | 06/13/2018 |
状态 | Active |
Type | 设计咨询 |
器件 |