Zynq-7000 SoC,USB - 在高速主机模式下,NYET减少NAK计数器

描述

当主机在高速(HS)模式下接收到OUT事务的NYET握手时,主机控制器错误地递减Nak计数器qTD.NakCnt。

影响:
次要。 NAK响应通常在每次重新加载Nak计数器时出现多次。每次重新加载时,NYET响应不会超过一次。
请参阅下面的详细信息部分
解决方法:
没有。
受影响的配置:
在主机模式下使用USB控制器的系统。
受影响的器件版本: 全部,没有计划修复。参考 (Xilinx答复47916) - Zynq-7000 SoC芯片版本差异

影响细节:
主机控制器(HC)使用Nak计数器qTD.NakCnt和重新加载字段qTD.RL来限制到端点的流程控制。流程控制操作在EHCI规范的4.9节中描述。此控件用于停止端点可能持续NAKd的流PING事务。

Nak计数器从Reload字段加载,并且当HC接收到NAK响应(或在上述部分中描述的条件下的NYET响应)时递减。当Nak计数器达到0时,HC停止尝试与端点通信。 HC继续等待,直到Nak计数器重新加载。

当HC收到对OUT事务的NYET响应时(它只接收一个NYET),流程控制开始。这导致HC开始将PING事务发送到端点,直到接收到ACK或Nak计数器达到0.当输入新的(微)帧(开始事件)时,Nak计数器被重新加载。启动事件允许在下一帧中根据需要发生另一系列NAK。当然,当PING事务被ACKd时,Nak计数器被重新加载并且HC重试OUT事务。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:50:08 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它