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.
工具与软件:
你好、我们使用TIDA020047开发板、需要使用83TC812芯片进行网络数据传输、但是我们配置了该芯片的寄存器后、却无法得到其输出的RGMII接口数据、通过示波器看了没有波形、不知道是否寄存器配置不正确、请帮我们核对一下:μ A
REGADDR| DATA
0h | 0x2100| 1h | 0x0065| 2h | 0x2000| 3h | 0xA271| 10h | 0x2005| 11h | 0x010B| 12h | 0xE400| 13h | 0x0000| 15h | 0x0002| 16h | 0x0100| 18h | 0xA271h 0x0040| 18Ah | 0x0040| 18Bh | 0x1C0B| 18Ch | 0x0000| 18Eh | 0x8004| 300h | 0x2710| 301h | 0x1703| 302h | 0x0045| 303h | 0x0419| 304h | 0x0030h | 0x0004h | 305h | 0x044C| 497h | 0x01C0| 4A0h | 0x1000| 553h | 0x0000| 560h | 0x07E4| 561h | 0x0801| 562h | 0x8028| 600h | 0x0038| 601h | 0x0000| 602h | 0x0000| 603h | 0x0000| 601Bh | 0x00801h | 562h 624h | 0x5511| 625h | 0x0000| 626h | 0x0000| 627h | 0x0000| 628h | 0x0000| 629h | 0x0000| 62Ah | 0x0000| 639h | 0x000| 63Ah | 0x0000| 63Bh | 0x0000| 63Ch | 0x0002| 63Dh | 0x0000| 63Eh | 0x0000| 639h
大家好、我们使用 TIDA020047开发板并且需要使用83TC812芯片进行网络数据传输。 但是、我们配置芯片的寄存器后、无法获得 RGMII 接口输出数据。 我们看到示波器中没有波形。 我不知道寄存器配置是否错误、请帮助我们进行检查:
REGADDR| DATA
0h | 0x2100| 1h | 0x0065| 2h | 0x2000| 3h | 0xA271| 10h | 0x2005| 11h | 0x010B| 12h | 0xE400| 13h | 0x0000| 15h | 0x0002| 16h | 0x0100| 18h | 0xA271h 0x0040| 18Ah | 0x0040| 18Bh | 0x1C0B| 18Ch | 0x0000| 18Eh | 0x8004| 300h | 0x2710| 301h | 0x1703| 302h | 0x0045| 303h | 0x0419| 304h | 0x0030h | 0x0004h | 305h | 0x044C| 497h | 0x01C0| 4A0h | 0x1000| 553h | 0x0000| 560h | 0x07E4| 561h | 0x0801| 562h | 0x8028| 600h | 0x0038| 601h | 0x0000| 602h | 0x0000| 603h | 0x0000| 601Bh | 0x00801h | 562h 624h | 0x5511| 625h | 0x0000| 626h | 0x0000| 627h | 0x0000| 628h | 0x0000| 629h | 0x0000| 62Ah | 0x0000| 639h | 0x000| 63Ah | 0x0000| 63Bh | 0x0000| 63Ch | 0x0002| 63Dh | 0x0000| 63Eh | 0x0000| 639h
您好、里程数:
我看到 RX 数据包计数器(0x63C)为2、TX 数据包计数器(0x639)为1。 在连续数据传输期间、您需要探测 RGMII 线路、以便查看数据线路的切换。
您可以使用另一个 DP83TC812板来生成数据包、并使用以下命令执行此操作:
0x0624 = 0x55BF
0x0619 = 0x1555
请执行此操作并检查 RX 数据包计数器是否在受测器件上递增。
谢谢!
David
您好、您是说在 DP83TC812上设置0x0624和0x0619寄存器、并测量同一电路板上0x639和0x63C 的值吗? 我刚才做了一个测试、也就是说、我只有一段 DP83TC812、根据先前发布的寄存器、修改0x0624 = 0x55BF、0x0619 = 0x1555。 然后连续打印 RX 数据包计数器(0x63C)
TX 数据包计数器(0x639)的值、我们会发现 RX 数据包计数器(0x63C)的值始终为0、而 TX 数据包计数器(0x639)的值正在改变。 这样、我的测试结果是 RX 数据包计数器不会递增
您好、里程数:
您可以看到、给定的寄存器正在 TX 端生成流量。 如果您通过以太网电缆连接另一个 DP83TC812板、则该板将看到 RX 数据包计数器递增、并且数据将传输到 MAC 接口。 在本例中、您可以探测 RX_Data 线路并查看"切换"。
谢谢!
David
我们曾尝试通过以太网电缆连接另一个 DP83TC812电路板、但电路板未看到 RX 数据包计数器增加、且数据未传输到 MAC 接口。
此外、我们读取83TC812EVM 并对其进行比较、发现以下寄存器不一致:
10h | 0x0205 | 0x2005|
18h | 0x1a25 | 0x5200|
18Ch | 0x0001 | 0x0000|
457h | 0xe4db | 0xE581|
561h | 0x0000 | 0x0801|
60Ah | 0x06ed | 0x0200|
639h | 0x02d3 | 0x0001|
63Ch | 0x00c3 | 0x0002|
所有其他寄存器值都是一致的。
您好、里程数:
以下寄存器写入可在单个电路板上用于直接在 RGMII 接口上生成以太网数据包。 您能否在 DP83TC812上写入这两个寄存器、然后探测 RX_D0信号? 您可以先在 EVM 上尝试该实验、然后在定制板上尝试。
0x0624 = 0x55BF
0x0619 = 0x1005
谢谢!
David
您好,根据您所说,我们已经测试了 EVM 和电路板,由自己制造,
设置环境并写入寄存器、测试结果是信号波形
可以在 RX_D0引脚上测量。
自制电路板的中断使能状态不一致、LINK_Losses 和 LINK_FAULTS 的值过高、PHYSTS 也不同。 具体来说、解码器锁存器锁存低电平和 RxerrCnt0自上次读取后出现不一致。读取时清除。
寄存器地址10h、18h、18Ch、457h、561h 的值 60Ah、639h、63Ch 不一致。 重要寄存器差异的含义如下:
地址10h 是 PHYSTS 寄存器、其第9位和第13位不一致、第9位是解扰器锁存器低电平、第13位是自上次读取后的 RxerrCnt0。读取时清除。
地址18h 是 MISR3寄存器、其中位0、2、5、11 和14则不一致
0位是中断使能 LPS_int_en
第二个位是中断启用、wake_req_int_en
第五个位是中断启用 sleep_fail_int_en
第11位是在给定时间内未检测到用于发送或接收的帧、NO_FRAME_INT
开始训练(no_link_int)后、在0x562中编程的时间内未观察到第14位是链路
地址60Ah 是 SGMII_STATUS 寄存器、其中数字4-7和10不相符。
4-7位是字边界索引选择 cfg_align_idx
10号是 SGMII 自动协商完成指示、即 SGMII_AutoNeg_COMPLETE
地址561h 表示自制电路板的 TC1_LINK_FAIL_LOSS 寄存器、LINK_LOSSES 和 LINK_FAULTS 过高。
您好、里程数:
是否看到链路问题? 链路是否反复上下切换?
请与我分享自制的电路板原理图。 以及 MDI 和 RGMII 布局的快照。
另请参阅本文档、它将指导您完成此问题的故障排除: https://www.ti.com/lit/ug/snla431/snla431.pdf
谢谢!
David
我们的硬件工程师说,自制的板是指官方设计的原理图: www.ti.com/.../tidmb63.pdf
程序启动后、链路会立即断开并发生故障、0x561的值分别为0x801。 在接下来的47分钟内、没有丢弃链路、但经过5小时的放置测试后、丢弃的链路显著增加、0x561的值为0x3c3e
您好、您是指从表3-1编写脚本。 SNLA389文档中的主模式配置到 phy 芯片? 我们已将表中的值写入相应的寄存器。 寄存器地址0x871的值读取为0x00EE。
这三个图是与电路相关的数据
您好、里程数:
还请分享 MDI 部分的原理图。 从布局中可以看到存在外部低通滤波器。 对于集成了 LPF 的 DP83TC812、不应安装此模块。 请移除这些元件并短接电感器的组装位置。
您是否执行了 PMA 合规性测试? 这将验证 MDI 性能。
谢谢!
David
您能否标记应取消安装的组件?
什么是 PMA 合规性测试,您能解释一下吗,谢谢!
MDI 部分的原理图如下:
我们已尝试移除黄色导线架中的组件、但发现链路仍然与之前相同
您好、里程数:
正确、不应安装黄色框架中的组件。
此外、我还注意到您使用的是 TPD1E10B06-Q1、其电容非常高(12pF)。 请取消安装 U11和 U12并将结果告知我。
谢谢!
David
大家好、我们已经按照这个步骤移除了相关元件、但是链路中断故障仍然和之前一样。
您好、里程数:
您是否能够对其中一个故障电路板执行 PMA 合规性测试?
谢谢!
David
我们将执行 PMA 测试。
此外、我们还发现一个非常奇怪的问题、那就是自制电路板在与 PC 通信期间显示 RGMII 接口的 RX_D0上的波形、但程序不会接收任何数据、也不会触发中断。
我发现链路已经正常、现在损耗和故障的值基本上都是0。 那么、 我是否仍需要进行 PMA 测试?
如有必要、如何进行该测试? 我们阅读了您上次提到的 SNLA389 pdf 文档、未找到相关的详细说明。
您好、里程数:
很高兴听到使用上述建议解决了链接问题。 在这种情况下、不需要 PMA 合规性测试。
谢谢!
David
尊敬的 David:
我很抱歉再次打扰您。 在下一个调试过程中、我们使用 enet_cpsw_udpserver 例程、并使用 netconn_sendto 与 PC 直接通信、以将信息发送到 PC。 但是、我们遇到了以下错误:"路由问题"。
以下是详细的调试信息:
正在启动 QSPI 引导加载程序...
[14:52:16.539]收←◆[bootloader_profile]引导介质:NOR SPI 闪存
[bootloader_profile]引导介质时钟:80.000 MHz
[bootloader_profile]引导映像大小:409KB
[bootloader_profile] Cores present:
r5f0-0
[引导加载程序配置文件] System_init:76us
[引导加载程序配置文件] Drivers_open : 17us
[引导加载程序配置文件] LoadHsmRtFw:3us
[引导加载程序配置文件] Board_driversOpen:2701us
[引导加载程序配置文件] CPU 负载:23689us
[bootloader_profile] SBL 总耗时:26488us
图像加载完成、切换到应用程序...
================
CPSW LWIP UDP 服务器
================
MII 3、phy 地址:10
PHY 10处于活动状态
从 lwIP 开始、本地接口 IP 为静态 IP
主机 MAC 地址0:70:ff:76:1d:ec:f2
[14:52:16.619]收←◆[LWIPIF_LWIP] NETIF 初始化成功
[LWIPIF_LWIP] Enet 已成功启动
Enet if Up 事件。 本地接口 IP:192.168.1.22
Enet if Up 事件。 本地接口网关:192.168.1.1
接口6:IP 地址:192.168.1.22
网络已启动...
[14:52:16.897]收←◆EnetPhy_getLocalCaps:EnetPhy_getLocalCaps:61
[14:52:16.991]收←◆MAC 端口1:链路接通
[14:52:17.730]收←◆sendPckt sendto:错误"路由问题。"
[14:52:22.733]收←◆6.151s : CPU 负载=4.05 %
[14:52:27.733]收←◆11.152s : CPU 负载=1.63%