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.

[参考译文] DP83826E:DP83826E 和 STM32H7数据传输问题

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1354460/dp83826e-dp83826e-and-stm32h7-data-transmission-problem

器件型号:DP83826E

您好!

使用 LWIP 将 DP83826与 STM32H74连接时遇到问题。

  • 我在 RMII 基本模式下运行、
  • 虽然某些具有相同软件的电路板(Web 服务器、TCP、UDP 等)工作正常、但许多电路板仍面临相同的问题。
  • 我正在调试模式下使用 PC 的 IP 和 MAC 地址、在 ARP 过程中观察传入的 RX 信号。 不过、我只是偶尔在 TX_D0和 TX_EN 中看到信号。
  • 我已根据寄存器读数确认 MDIO 和 MDC 信号工作正常。 此外、焊接似乎没有问题。
  • 输出时钟频率50MHz 正常(源自25MHz 输入)、并建立链路。
  • 电路板上 Wireshark 没有任何 ARP 或 IP 请求

您能帮助我调试这个问题吗? RX 然后 TX

另外、我想知道是否有办法测试 PHY 层、或许可以通过回送测试? 如果是、您会建议使用哪种环回方法?

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dev addr 0x1 =>REG :0x467 value 0x97 151 0000000010010111
Dev addr 0x1 =>REG :0x468 value 0x195 405 0000000110010101
Dev addr 0x1 =>REG :0x0 value 0x3000 12288 0011000000000000
Dev addr 0x1 =>REG :0x1 value 0x786d 30829 0111100001101101
Dev addr 0x1 =>REG :0x2 value 0x2000 8192 0010000000000000
Dev addr 0x1 =>REG :0x3 value 0xa111 41233 1010000100010001
Dev addr 0x1 =>REG :0x4 value 0x1e1 481 0000000111100001
Dev addr 0x1 =>REG :0x5 value 0x4de1 19937 0100110111100001
Dev addr 0x1 =>REG :0x6 value 0x7 7 0000000000000111
Dev addr 0x1 =>REG :0x7 value 0x2001 8193 0010000000000001
Dev addr 0x1 =>REG :0x8 value 0x0 0 0000000000000000
Dev addr 0x1 =>REG :0x9 value 0x0 0 0000000000000000
Dev addr 0x1 =>REG :0xA value 0x102 258 0000000100000010
Dev addr 0x1 =>REG :0xB value 0x9 9 0000000000001001
Dev addr 0x1 =>REG :0xC value 0x0 0 0000000000000000
Dev addr 0x1 =>REG :0xD value 0x401f 16415 0100000000011111
Dev addr 0x1 =>REG :0xE value 0x195 405 0000000110010101
Dev addr 0x1 =>REG :0xF value 0x0 0 0000000000000000
Dev addr 0x1 =>REG :0x10 value 0x215 533 0000001000010101
Dev addr 0x1 =>REG :0x11 value 0x10b 267 0000000100001011
Dev addr 0x1 =>REG :0x12 value 0x6400 25600 0110010000000000
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    尊敬的 Louis:

    感谢您的提问!

    硬件、软件和应用设置(IP/MAC 地址)中的设置都是相同的?

    您是否看到在 PHY 寄存器转储中工作设置和失败设置之间有任何差异?

    要在 PHY 的 MDI 端进行回送,请写入寄存器0x16[4:0]=10h (反向回送)。

    要在 PHY 的 MAC 端实现回送,请写入寄存器0x0[14]= 1h (MII 环回)。

    此致、

    埃文

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

    感谢您的回答。

    硬件、软件和应用设置(IP/MAC 地址)中的设置都是相同的?

    您是否看到在 PHY 寄存器转储中工作设置和失败设置之间有任何差异? 不是所有都是相同的

    要在 PHY 的 MDI 端进行回送,请写入寄存器0x16[4:0]=10h (反向回送)。 ?

    要在 PHY 的 MAC 端实现回送,请写入寄存器0x0[14]= 1h (MII 环回)。


    您能说明一下我在启用环回时应该期望些什么吗? 是否需要将电缆连接至伙伴器件?


    我一直面临着这个问题。 请您提供一些其他解决方案吗?  

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

    尊敬的 Louis:

    这很奇怪、我希望工作/失败的设置之间存在一些链路断开或其他状态位差异。

    阐明环回测试:

    为了实现 MII 环回、不需要链路伙伴。 设置环回后、从 DP83826的 MAC 发送数据并检查是否接收到相同的数据包以验证 MAC 侧连接。

    对于反向环回、需要链路伙伴。 设置环回后、从 STM32H4的 MAC 发送数据、并检查 STM32H74或其 MAC 是否接收到从 DP83826环回的相同信号。

    还请在 DP83826上使用此寄存器脚本进行测试、此处的一些配置可能有助于实现 IOPT 一致性:

    DP83826_IOPT_Script.txt

    谢谢!

    埃文