2397364_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2397364_zh-CN

2397364_zh-CN

ls1021a eTSEC 发送超时

我有一个 LS1021A 物联网芯片和一个基于该芯片的原型板。两者都使用引导加载程序。

它在物联网板上运行完美,但在我的板上,以太网端口出现TX超时错误。我发出几个 ping 请求后,发送超时,然后又发出更多 ping 请求。这使得TFTP几乎无法使用。

当然,硬件方面也存在差异。我们的 MAC 连接到 BCM54616S,然后连接到 LAN9514。自动协商的上限为 100FD。TX超时在环回模式下也会发生。

为了传输数据,我必须在我的板子上的 TBI PHY 中设置 SGMII_AN 位,而 IOT 则不需要这样做(IOT 可以协商 1000FD)。

不确定为什么TX信号如此不稳定。这是否与速度限制有关?

Re: ls1021a eTSEC tx timeout

你好,


对于 100FD SGMII,请在原型板的引导加载程序中验证以下项目:

  1. 设置 LS1021A eTSEC 用于 SGMII 100 Mbps

    • ECNTRL[TBIM] = 1
    • ECNTRL[SGMIIM] = 1
    • ECNTRL[R100M] = 1
    • MACCFG2[I/F Mode] = 01表示 10/100 模式
      LS1021A RM 特别指出,对于 SGMII 100 Mbps,应将R100M = 1
  2. 重置和编程内部 TBI PHY。RM 指出 SGMII 使用 TBI 寄存器集,并且对于所有接口模式(包括 SGMII)重置 TBI 非常重要。

  3. 保持SGMII_AN设置为 TBI SGMII_AN位“必须设置为 1”。因此,您的电路板只有在设置此位后才会发送数据,这并不奇怪;这表明您的引导加载程序初始化对于此 PHY/MAC 模式不完整。

  4. 不要依赖 100 Mbps 下的 1G 式 SGMII AN 行为。已知 LS1021A 报告显示,100 Mbps SGMII 操作在链路循环后会出现“SGMII 链路不正常”或间歇性无数据包行为,而 1G 操作则正常。这并不能证明您的 TX 超时的确切根本原因,但这足以证明 100FD SGMII 配置是一个强烈的怀疑对象。

回环结果很重要。如果您的“环回模式”是外部 PHY 环回或 SGMII 侧环回,则 100FD SGMII/TBI 设置仍然可能参与其中。如果是内部 MAC/eTSEC 环回,那么外部 BCM54616S/LAN9514 路径基本无关紧要,我会重点关注 eTSEC 初始化、描述符环处理、缓存一致性和 TX 停止/错误状态。

为了进行调试,请检查超时发生时 eTSEC TX 停止状态。RM 表示,当 eTSEC 不再处理来自 TxBD 环的发送帧时,会设置发送停止位;可重复出现的原因包括总线错误、无效的 BD/数据地址、无法纠正的 BD/数据读取错误以及 TxBD 编程错误,例如Ready = 1长度为0 。还要检查是否看到IEVENT_BSY ;NXP 的资料将 BSY 描述为由于缓冲区不足/软件无法足够快地服务于 BD 环而导致的 RX 帧丢失,这是一种软件/BD 环的症状,而不是纯粹的 SGMII 电气症状。

推荐的分离步骤:

1.强制外部PHY为 100FD 如果需要,不进行铜缆自动协商2.强制LS1021A MAC / eTSEC 为SGMII 100 Mbps 
 TBIM = 1  SGMIIM = 1  R100M = 1  MACCFG2 I / F模式= 10 / 100。3. 设置 SGMII 模式后 RESET / 重新初始化 TBI4.设置TBI SGMII_AN = 1。
 5.确认TBI链路/ AN状态 eTSEC ECNTRL / MACCFG2PHY SGMII状态6.超时转储IEVENT  TX停止寄存器 DMA状态TXBD环内容


此致敬礼

Re: ls1021a eTSEC tx timeout忘了说了,我的端口设置为SGMII模式。
タグ(1)
評価なし
バージョン履歴
最終更新日:
昨日
更新者: