描述
在小型以太网帧(~64字节)的大量流程下以及当控制器遇到大量资源错误时,接收逻辑很可能完全锁定接收路径。
在刷新和重置接收逻辑之后,控制器可以再次接收帧。
解
在刷新和重置接收逻辑之后,控制器可以再次接收帧。
影响:
|
次要。这种情况很少发生,并且有一种解决方法可以重置频道。
|
解决方法:
|
软件可以监视RX通道的不活动状态并重置控制器。请参阅解决方法详细信息。
|
受影响的配置:
|
使用以太网控制器的系统。该问题可以在1千兆位以太网模式下重现,但理论上可以在所有3种速度下发生。
|
受影响的器件版本: | 所有。没有计划修复。请参阅(Xilinx答复47916) Zynq-7000 SoC芯片版本差异答复记录。 |
解决方法细节:
编程步骤:
- 对于每个资源错误(接收缓冲区不可用错误),软件必须通过向gem.net_ctrl [18]寄存器位写入1来尽快从RX通道刷新数据包。
这降低了在繁忙流程下生成资源错误的速率。 - 软件可以在接收路径上监视RX通道的非活动状态,并在需要时重置控制器。
定期(通常每100 ms)使用一个计时器检查统计寄存器gem.frames_rx,以获取成功接收的帧数。 - 如果统计计数器在两次连续读取时没有递增,那么软件应该假设接收路径不活动,并通过向gem.net_ctrl [2]寄存器位写入0然后再写1来重置RX通道。
没有回复内容