This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2634:为 AM2634 为以太网和 SPI 创建自定义电路。 但以太网未检测到

Guru**** 2689775 points

Other Parts Discussed in Thread: DP83869HM, AM2634, TMDSCNCD263

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1584725/am2634-created-custom-circuit-for-am2634-for-ethernet-and-spi-but-ethernet-is-not-detecting

器件型号: AM2634
Thread 中讨论的其他器件: TMDSCNCD263、DP83869HM、 DP83869

尊敬的团队:

 

我们在工程中使用 AM2634 控制器。 因此、我们参考 DEVLEOPENT 电路板 (TMDSCNCD263) 原理图设计了定制电路。

但是、我们面临以太网连接方面的多个问题。 我没有看到 RJ45 上有任何 LED 亮起。 我们遵循了所附原理图中 DP83869HM 的电源时序和磁性元件说明

我们随时准备让团队调用并查看原理图。 请让我来处理这个问题。  

感谢您对此的支持! 这推动了项目中的多个里程碑

 

仅供参考、我们的总部位于印度班加罗尔。

 

谢谢!

请参阅以下原理图快照、如果有任何更改、请告知我

AM2634 Connections.png CPSW Ethernet.pngMagnetics.png

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ajit,

    我不一定会在原理图中看到任何错误。 您是否能够使用 MDIO 接口配置 PHY? 将 RJ45 电缆连接到 PCB 时是否有任何链路接通的迹象?

    此致、

    Brennan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Brennan、

    很抱歉、我们已经检查了以下内容、直到现在。

    • 以太网 IC 和控制器 IC 的电源时序。 它看起来很好
    • DP83869 的时钟输入也是 25MHz

    我尚未检查 MDIO 接口(该过程如何?)。 我尚未在 AM2634 中加载 SW。 但在 PC 和电路板之间连接 RJ45 电缆时没有任何链路连接。

    请指导我们解决此问题。 我们是第一次尝试将 AM2634 与 DP83869 连接。  

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ajit,

    当将 RJ45 电缆从 PC 连接到电路板(通电)时、绿色 LED(在右侧 RJ45 连接器上)会闪烁。 但是、我们仍检查您的 MDIO 接口。 请尝试运行 CPSW 环回示例: https://dev.ti.com/tirex/explore/content/mcu_plus_sdk_am263x_10_02_00_13/docs/api_guide_am263x/EXAMPLES_ENET_CPSW_LOOPBACK.html 

    此致、

    Brennan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Brennan、

    每当尝试使用示例检查环回时、都会收到以下消息

    不管什么,我们都在做错误的事情。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    其仅卡在 CPSW_3G 测试上

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我运行 cpsw_lwip 代码、则显示以下消息

    感谢您对此的支持!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Brennan、

    我做了几个测试。 现在、每当我进行外部 PHY 环回时、都会获得低于输出(卡在那里)。 但是、我没有看到 PC 链路上的任何活动显示为已禁用。

    对于内部 MAC 环路、结果低于 output。 它显示了通过的所有迭代。

    ------------------------------------------------

    数据通知计数=315

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 8 的数据包

    每个 Notify[1]= 16 的数据包

    数据通知计数=315

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 8 的数据包

    每个 Notify[1]= 16 的数据包

    Tx 提交数据包 enq 计数= 5000

    TX 提交数据包 DEQ 计数= 5000

    Cpsw_handleLinkDown:端口 1:链路断开

    测试完成:通过

    ============================

    Enet 环回:迭代 4

    ============================

    CPSW_3G 测试

    EnetAppUtils_reduceCoreMacAllocation:减少了 CoreID 的 Mac 地址分配:
    将其从 4 更改为 1

    PHY 0 处于活动状态

    initQs() txFreePktInfoQ 使用 16 个 pkts 初始化

    已收到 5000 个数据包

    删除 EnetApp_rxTask() 并退出..

    已传输 5000 个数据包

    删除 EnetApp_txTask() 并退出..




    端口 0 统计信息

    ------------------------------------------------

    rxGoodFrames = 5000

    rxBCastFrames = 5000

    rxOctets = 2590000

    txGoodFrames = 5000

    txBcastFrames = 5000

    txOctets = 2590000

    octesFrames512to1023 = 10000

    netOctets = 5180000

    txPri[0]= 5000

    txPriBcnt[0]= 2590000





    端口 1 统计信息

    ------------------------------------------------

    rxGoodFrames = 5000

    rxBCastFrames = 5000

    rxOctets = 2590000

    txGoodFrames = 5000

    txBcastFrames = 5000

    txOctets = 2590000

    octesFrames512to1023 = 10000

    netOctets = 5180000

    txPri[0]= 5000

    txPriBcnt[0]= 2590000




    Rx 通道统计信息

    ------------------------------------------------

    数据通知计数=316

    数据包总数= 5032

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 16 的数据包

    每个 Notify[1]= 8 的数据包

    数据通知计数=316

    零通知计数= 1

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 16 的数据包

    每个 Notify[1]= 8 的数据包

    RX 提交数据包 enq 计数= 5032

    RX 提交数据包 DEQ 计数= 5000

    Tx 通道统计信息

    ------------------------------------------------

    数据通知计数=315

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 8 的数据包

    每个 Notify[1]= 16 的数据包

    数据通知计数=315

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 8 的数据包

    每个 Notify[1]= 16 的数据包

    Tx 提交数据包 enq 计数= 5000

    TX 提交数据包 DEQ 计数= 5000

    Cpsw_handleLinkDown:端口 1:链路断开

    测试完成:通过

    ============================

    Enet 环回:迭代 5

    ============================

    CPSW_3G 测试

    EnetAppUtils_reduceCoreMacAllocation:减少了 CoreID 的 Mac 地址分配:
    将其从 4 更改为 1

    PHY 0 处于活动状态

    initQs() txFreePktInfoQ 使用 16 个 pkts 初始化

    已收到 5000 个数据包

    删除 EnetApp_rxTask() 并退出..

    已传输 5000 个数据包

    删除 EnetApp_txTask() 并退出..




    端口 0 统计信息

    ------------------------------------------------

    rxGoodFrames = 5000

    rxBCastFrames = 5000

    rxOctets = 2590000

    txGoodFrames = 5000

    txBcastFrames = 5000

    txOctets = 2590000

    octesFrames512to1023 = 10000

    netOctets = 5180000

    txPri[0]= 5000

    txPriBcnt[0]= 2590000





    端口 1 统计信息

    ------------------------------------------------

    rxGoodFrames = 5000

    rxBCastFrames = 5000

    rxOctets = 2590000

    txGoodFrames = 5000

    txBcastFrames = 5000

    txOctets = 2590000

    octesFrames512to1023 = 10000

    netOctets = 5180000

    txPri[0]= 5000

    txPriBcnt[0]= 2590000




    Rx 通道统计信息

    ------------------------------------------------

    数据通知计数=316

    数据包总数= 5032

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 16 的数据包

    每个 Notify[1]= 8 的数据包

    数据通知计数=316

    零通知计数= 1

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 16 的数据包

    每个 Notify[1]= 8 的数据包

    RX 提交数据包 enq 计数= 5032

    RX 提交数据包 DEQ 计数= 5000

    Tx 通道统计信息

    ------------------------------------------------

    数据通知计数=315

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 8 的数据包

    每个 Notify[1]= 16 的数据包

    数据通知计数=315

    数据包总数= 5000

    每个 Notify 的数据包最大值= 16

    每个 Notify[0]= 8 的数据包

    每个 Notify[1]= 16 的数据包

    Tx 提交数据包 enq 计数= 5000

    TX 提交数据包 DEQ 计数= 5000

    Cpsw_handleLinkDown:端口 1:链路断开

    测试完成:通过

    环回应用程序已完成

    所有测试均已通过!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ajit:  

    应该知道环回测试正在通过。  

    由于 MDI 侧链路状态与 MAC 连接无关、因此如果连接了 RJ45、无论 MAC 连接如何、链路状态都应变为高电平。  

    我查看了原理图、似乎到端口连接的磁性元件错误:


    即使使用镜像模式、您的电路板设计也无法完全建立链路。  
    有关 RJ45 连接的更多详细信息、请参阅此链接。

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 J:

    谢谢!

    我们正在尝试按照下图连接 DP83869 EVM 电路板原理图。

    如果有任何更正、请告诉我、我们需要这样做。

    e2e.ti.com/.../snlr042.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ajit:

    如果您遵循 EVM 原理图设计、请在 PHY 上启用镜像模式。 如果没有镜像模式、PHY 将永远不会建立链路。 另请注意、极性在镜像模式下翻转。

    此致、

    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 J:

     

    我们已根据 EVM 电路板原理图修改了电路板、并通过使用配置 (strap) 电阻上拉 DP83869 的 RX_CTL 引脚来启用端口镜像。

    现在、可以在连接 RJ45 电缆后看到 PC 和电路板之间的链路建立。 我也尝试了配置 IP 地址。 它会进行配置、网络也会正常运行。

     

     

    但是、我们仍无法 ping 通板 IP。 我怀疑外部 PHY 环回仍然卡住、如下图所示

    如上图所示、PHY 发送信息来检测模型、并显示 PHY0 也处于活动状态。

    可能有什么问题?  

    我还验证了 MDIO 和 MDC 波形、如下所示。

     

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ajit:  

    似乎您仍在使用环回示例。 在这种情况下、我不希望 ping 正常工作、因为数据包始终会被环回。  

    您必须使用不同的示例代码、以确保 MAC 可以 ping 其链路伙伴。  

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 J:

    我已经使用 cpsw_udp_client 代码通过创建 UDP 套接字来设置与 PC 的连接。 也已成功创建套接字。 网络链路也已打开。 但 ping 仍不起作用。  

    因此、我又想使用环回进行验证以查看 PHY 环回是否正常工作。 但它会卡住、如下所示。  

    您还可以在上图中看到、我可以获取 PHY 地址、OUI、模型信息、然后链接也打开。 但是、未接收到数据包。  

    请对此提供支持!

    此外、我是否有任何示例可以轻松检查 DP83869 寄存器、以了解其配置方式以及为什么即使使用 UDP 应用程序、我也无法获取 ping。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ajit:  

    遗憾的是、PHY 主要负责网络的物理层。 通常、如果存在链路且 MAC 侧环回正常工作、则物理层上不再有问题。 因此、实际上无法检查 DP83869 寄存器以了解 ping 不会执行的原因。  

    由于我 不是 Sitara SDK 的专家、因此我无法确定此示例代码为何不起作用。 我将 ping Sitara SW 团队以了解更多信息。  

    但是、您是否使用新代码设置了 IP 地址? 我看不到您设置了 IP 地址。 此外、设置直接网络路由将有助于在网络上执行 ping 操作、因为网络不会混淆发送数据包的路由。  

    最后、您看到的 ping 错误是什么?

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 J:

    是的、我已将 IP 地址设置为 10.80.80.204、PC 也已设置为 IP 10.80.80.100。 它适用于 AM2634 开发板。

    根据您的评论、您是指如果 MAC 环回正常工作并且与 PC 建立了链路、那么 dp83869 通信没有问题吗?

    我可以清楚地看到 PHY 正在被检测并建立链路、网络接口已启动。  

    ping 可能有什么问题?

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ajit:

    如果 ping 使用了正确的接口 IP、您能否检查 PC 上的 Wireshark 日志