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.

[参考译文] DP83822I:网络速度问题

Guru**** 2943280 points

Other Parts Discussed in Thread: DP83822I

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1271717/dp83822i-network-speed-issue

器件型号:DP83822I

大家好、

DP83822I phy 芯片的 RMII 通信模式正在 ARM A7上使用。 调试后、 发现服务端只能 ping 通10Mbps/全速。 客户尝试强制设置100Mbps/全速率,但失败。 客户端的服务端为100 Mbps/满、这将导致大量数据包丢失。 以下是当前通信条件和寄存器数据:  

root@:~# fec 2188000.ethernet eth0:link is down (链路中断)

root 用户@:~# fec 2188000.ethernet eth0:link is up - 100Mbps/ full - flow control rx/tx
fec 2188000.Ethernet eth0:链路断开
fec 2188000.Ethernet eth0:链路为 up - 100Mbps/全-流控制 Rx/TX
fec 2188000.Ethernet eth0:链路断开
fec 2188000.Ethernet eth0:链路为 up - 100Mbps/全-流控制 Rx/TX
fec 2188000.Ethernet eth0:链路断开
fec 2188000.Ethernet eth0:链路为 up - 100Mbps/全-流控制 Rx/TX
fec 2188000.Ethernet eth0:链路断开
fec 2188000.Ethernet eth0:链路为 up - 10Mbps/全-流控制 Rx/TX

root@:~# ping 192.168.1.100
Ping 192.168.1.100 (192.168.1.100) 56 (84)字节数据。
从192.168.1.100开始为64字节:ICMP_SEQ=1 TTL=200 time=1.85ms
从192.168.1.100开始为64字节:ICMP_SEQ=2 TTL=200 time=0.909ms
从192.168.1.100开始为64字节:ICMP_SEQ=3 TTL=200 time=1.25ms
从192.168.1.100开始为64字节:ICMP_SEQ=4 TTL=200 time=1.01ms
从192.168.1.100开始为64字节:ICMP_SEQ=5 TTL=200 time=1.09ms
从192.168.1.100开始为64字节:ICMP_SEQ=6 TTL=200 time=1.04ms
从192.168.1.100开始为64字节:ICMP_SEQ=7 TTL=200 time=1.05ms
从192.168.1.100开始为64字节:ICMP_SEQ=8 TTL=200 time=1.22ms
从192.168.1.100开始为64字节:ICMP_SEQ=9 TTL=200 time=1.18ms
从192.168.1.100开始为64字节:ICMP_SEQ=10 TTL=200 time=1.24ms
从192.168.1.100开始为64字节:ICMP_SEQ=11 TTL=200 time=1.02ms
从192.168.1.100开始为64字节:ICMP_SEQ=12 TTL=200 time=0.970ms
从192.168.1.100开始为64字节:ICMP_SEQ=13 TTL=200 time=1.15ms
从192.168.1.100开始为64字节:ICMP_SEQ=14 TTL=200 time=1.02ms
从192.168.1.100开始为64字节:ICMP_SEQ=15 TTL=200 time=0.923ms
从192.168.1.100开始为64字节:ICMP_SEQ=16 TTL=200 time=1.17ms
从192.168.1.100开始为64字节:ICMP_SEQ=17 TTL=200 time=1.07ms
从192.168.1.100开始为64字节:ICMP_SEQ=18 TTL=200 time=1.08ms
从192.168.1.100开始为64字节:ICMP_SEQ=19 TTL=200 time=1.12ms
从192.168.1.100开始为64字节:ICMP_SEQ=21 TTL=200 time=1.10ms
从192.168.1.100开始为64字节:ICMP_SEQ=22 TTL=200 time=0.871ms
从192.168.1.100开始为64字节:ICMP_SEQ=24 TTL=200 time=1.18ms
^C
192.168.1.100 ping 统计信息---
传输24个数据包、接收22个、丢包8%、时间23042ms
RTT 最小值/平均值/最大值/ mdev = 0.871/1.116/1.850/0.195 ms
根目录@:~#

PHY 地址      值

0x0000        0x3100

0x0001        0x786d

0x0002        0x2000

0x0003        0xa240

0x0004        0x5e1

0x0005        0xcc61

0x0006        0xF

0x0007        0x2001

0x0008        0x4006

0x0009        0x0

0x000a        0x100

0x000b        0x1000    

0x000f        0x0

0x0010        0x1817

0x0011        0x108

0x0012        0xf600

0x0013        0x2200     

0x0016        0x100

0x0017        0xa1

0x0018        0x400

0x0019        0x3000      

您能帮助了解这种情况吗? 谢谢。

此致、

切里

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

    您好、Cherry:

    从日志中可以看到、链路伙伴端根本没有广播100M。 该地址从寄存器0x0005可见。 您能不能解释一下为什么会出现这种情况?

    --
    此致、
    Gokul.

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

     Gokul、您好!

    感谢您的支持。

    客户使用相同的网线测试其 PCB 上的另一个网端口(ETH1)。 插入网线后、将自动协商100BaseTX-FD、并且链路伙伴状态良好。 但是、当插入 eth0 (DP83822)时、链路伙伴不能正确显示:

    root@imx6ul7d:~# mii-tool -v
    eth0: negotiated 10baseT-FD flow-control, link ok
    product info: vendor 08:00:28, model 36 rev 0
    basic mode: collision test, autonegotiation enabled
    basic status: autonegotiation complete, link ok
    capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
    advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
    link partner: 10baseT-FD 10baseT-HD flow-control
    eth1: no link
    product info: vendor 00:07:32, model 8 rev 2
    basic mode: autonegotiation enabled
    basic status: no link
    capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
    advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
    SIOCGMIIPHY on 'eth2' failed: Operation not supported
    root@imx6ul7d:~# fec 2188000.ethernet eth0: Link is Down
    
    root@imx6ul7d:~#
    root@imx6ul7d:~# ifconfig eth1 up
    IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    root@imx6ul7d:~# ifconfig eth1 upIPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
    
    root@imx6ul7d:~# ifconfig eth1 up
    root@imx6ul7d:~# ifconfig eth1 192.168.2.137
    root@imx6ul7d:~#
    root@imx6ul7d:~# ping 192.168.2.100
    PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data.
    64 bytes from 192.168.2.100: icmp_seq=1 ttl=200 time=2.45 ms
    ^C
    --- 192.168.2.100 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 2.452/2.452/2.452/0.000 ms
    root@imx6ul7d:~#
    root@imx6ul7d:~#
    root@imx6ul7d:~# mii-tool -v
    eth0: no link
    product info: vendor 08:00:28, model 36 rev 0
    basic mode: collision test, autonegotiation enabled
    basic status: no link
    capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
    advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
    eth1: negotiated 100baseTx-FD flow-control, link ok
    product info: vendor 00:07:32, model 8 rev 2
    basic mode: autonegotiation enabled
    basic status: autonegotiation complete, link ok
    capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
    advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
    link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
    root@imx6ul7d:~#

    谢谢。此致、

    切里

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

    您好 Cherry:

    链路伙伴使用的是什么? 如果您能分享一下设置的方框图、我最好了解一下。

    关于您在上面分享的日志、它是在连接到 DP83822的主机上捕获的吗?

    --
    此致、
    Gokul.

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

     Gokul、您好!

    使用的链路伙伴是什么? [/报价]

    正在使用 PC。

    是否在连接至 DP83822的主机上捕获?

    可以。

    谢谢。此致、

    切里

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

    您好 Cherry:

    是 ETH1 (PCB 的其他端口) DP83822还是其他一些 PHY?

    您能否要求客户测试将 eth1端口连接到 eth0、看看器件是否在100M-FD 模式下建立链路?
    请在本实验期间共享0x00至0x1F、0x0467、0x0468寄存器的日志。

    --
    此致、
    Gokul.

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

    您好, Gokul:

    是 eth1 (PCB 的其他端口) DP83822还是其他一些 PHY?

    它是一个其他的 PHY、不是 DP83822。

    ETH0使用 DP83822、寄存器日志如下所示:  

    0x00         0x3100

    0x1F         0x0

    0x0467       0x2001

    0x0468       0x4006

    谢谢。此致、

    切里

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

    您好 Cherry:

    您能否要求客户测试 eth1端口是否连接到 eth0,并查看设备是否在100M-FD 模式下连接?

    您能否要求客户在将 eth1连接到 eth0而不是连接到 PC 后检查链路和速度。

    请在实验期间共享0x00到0x1F、0x0467、0x0468的日志。

    请分享日志 (在上述实验期间)  寄存器0x00到0x1F (从0x00到0x1F 的所有寄存器、而不仅仅是0x00和0x1F)和 0x467、0x468。

    您能否分享一下该板的原理图?

    --
    此致、
    Gokul.

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

     Gokul、您好!

    您能否要求客户在将 eth1连接到 eth0后检查链接和速度,而不是连接到 PC。

    他们尝试 将 eth1连接到 eth0 、但失败的原因不明。

    请在此处查看原理图:

    谢谢。此致、

    切里

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

    您好、Cherry:

    这里是我对原理图的评论。

    1. Strap 配置不符合预期。 从原理图中、客户希望使用 PHY 地址为0的 RMII 模式。
      但 RX_DV 未设置为模式3。
      原理图中对搭接模式的描述与要求和原理图中实现的内容不匹配。
    2. LED_1不应是低电平有效 LED、除非它通过 strap 配置连接到模式4。 我从日志中看到、LED_1会捆绑到不应使用的模式。
      我建议取消 LED_1上的连接
    3. 请检查 PHY 是需要处于 RMII 模式还是 RMII_50模式、并相应地配置搭接。

    --
    此致、
    Gokul.

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

     Gokul、您好!

    对于注释#1和#3、客户 已确定 PHY 需要 RMII_50模式并且 RX_DV 已配置为模式4 (原理图中未进行修改)。  

    对于注释#2,他们 不需要 LED,因此 现在可以忽略它。

    谢谢。此致、

    切里

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

    您好、Cherry:

    根据对数、Strap 配置无法正常进行。

    在取消填充电路板上的 LED4和 LED5组件后、您是否可以重新捕获0x00至0x1F 和0x0467和0x468寄存器的日志?

    --
    此致、
    Gokul.

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

     Gokul、您好!

    在取消电路板上的 LED4和 LED5组件后,您能否重新捕获0x00至0x1F 以及0x0467和0x468的日志?

    请在此处查看:

    PHY 地址      值

    0x0000        0x3100

    0x0001        0x786d

    0x0002        0x2000

    0x0003        0xa240

    0x0004        0x5e1

    0x0005        0xcc61

    0x0006        0xd

    0x0007        0x2001

    0x0008        0x4006

    0x0009        0x0

    0x000a        0x100

    0x000b        0x1000    

    0x000f        0x0

    0x0010        0x1817

    0x0011        0x108

    0x0012        0xf600

    0x0013        0x2200     

    0x0016        0x100

    0x0017        0xa1

    0x0018        0x400

    0x0019        0x300

    0x001a        0x10

    0x001b        0x7d

    0x001c        0x5ee

    0x001d        0x0

    0x001e        0x2

    0x001f        0x0

    0x0467        0x2001

    0x0468        0x4006

    谢谢。此致、

    切里

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

    您好、Cherry:

    在您共享寄存器0x0467、0x0468的日志时、我注意到一些错误、这会导致捆绑的结论错误。

    详细查看寄存器0x0467和0x0468的值、我看到这些值是寄存器0x0007和0x0008的镜像。 这意味着扩展寄存器访问未被正确使用。
    要读取寄存器0x0467和0x0468、您是否可以要求客户遵循数据表第8.4.2.1节中概述的间接访问?

    关于所有这些内容、我觉得自举没有问题、除了 CRS 引脚没有正确安装寄存器之外。 请要求客户纠正 CRS 引脚上的上拉和下拉电阻器。 CRS 引脚上的这个错误电阻器应该不会影响链路建立、但问题是其他方面的。

    从日志中、我仍然看到链路伙伴没有广播100M 全双工。 请参阅寄存器0x5描述。
    为了隔离是 DP83822问题还是链路伙伴问题、您是否可以连接 eth0和 eth1端口并将0x00到0x1F、0x0467、0x0468寄存器的日志共享?
    否则、您可以通过连接两个 DP83822电路板来执行该实验。 也可以使用此设置共享日志。

    --
    此致、
    Gokul.

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

    Gokul、您好!

    客户 尝试使用网络电缆连接两个 DP83822的 TH 端口、发现他们在上电后没有网络连接。 也就是说、它仅在连接到 PC 时发生。  

    谢谢。此致、

    切里

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

    您好、Cherry:

    我不太明白这意味着没有网络连接。

    我们不是在寻找 ping、而是要了解链路是否建立。 连接两个 DP83822时、我们是否看到链路建立? 您能否共享寄存器0x00至0x1F、0x0467的日志。 0x0468、正如我之前请求的吗?

    --
    此致、
    Gokul.

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

     Gokul、您好!

    连接两个 DP83822时,是否显示链路? [/报价]

    否。

    您能否共享寄存器0x00至0x1F、0x0467的日志? 0x0468、就像我之前请求的?

    由于没有链路建立、寄存器 0x00至0x1F、0x0467、0x0468的日志与上述共享的日志相同。

    谢谢。此致、

    切里

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

    您好、Cherry:

    在上面的日志中、我们没有寄存器0x0467和0x0468的正确值。

    在两个 DP83822之间的链路的日志中、您能否确认0x0004和0x0005的值相同? 我希望它们与上述日志中的值不同。

    请在两个 DP83822 PHY 上共享0x0004和0x0005的值。

    --
    此致、
    Gokul.

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

     Gokul、您好!

    请查看终端客户分享的价值观:

    PHY 地址      值

    0x0467        0x2001

    0x0468        0x5802

    0x0004        0x5e1

    0x0005        0xcde1

    谢谢。此致、

    切里

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

    您好!

    我可以知道是否有任何更新吗?

    谢谢。此致、

    切里

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

    您好、Cherry:

    很抱歉响应出现延迟。

    我的同事是标准以太网专家、他将在这个问题上为您提供进一步帮助。

    对不起、再次出现响应延迟。

    此致、
    拉胡尔

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

    您好、Cherry:

    我看到这个线程已经沉默了 ,所以我将接管。 我们有很多前后矛盾之处、我希望确保我正确理解了设置和问题。 您能够以10 Mbps 的速率进行通信、但目标是100 Mbps、此时您当前看到的是数据包丢失。

    一般来说,在 Debugs 的第一步是什么 Gokul 上面提到:

    1. 读取寄存器0x0467和0x0468。 这样做的目的是确认 PHY 处于正确的模式。  
      1. 以下常见问题解答提供了有关这些寄存器可能受到什么影响的更多详细信息
        1. 如何确认以太网 PHY 配置
      2. 正如 Gokul 之前提到的、这两个寄存器都是扩展寄存器、不能直接读取。
        1. 此常见问题解答提供了有关如何执行扩展寄存器读取的更多详细信息
          1. 扩展寄存器
      3. 电路原理图是否已更新以反映自举设置? 下面是可供客户参阅的原理图检查清单、
        1. "Pin-wise  Checklist"选项卡将帮助您进行引脚连接、
        2.  Strap 配置工具选项卡有助于选择正确的 Strap 配置电阻器、以实现正确的模式。
        3. 请注意、橙色框是可选择的下拉菜单
          1. e2e.ti.com/.../0243.DP83822_5F00_Schematic_5F00_Design_5F00_Review_5F00_Checklist.xlsb

    很抱歉、您好像已经完成了这些步骤、但我希望确保 PHY 设置正确无误。 如果 PHY 处于错误的模式、难怪它会出现错误行为。

    此致、

    阿尔瓦罗