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.
您好、朋友、
我操作 USB-2-MDIO 和 MSP430G2 LaunchPad、通过 MDC/MDIO 接口,配置 DP83848KSQ 的寄存器
MSP430G2 LaunchPad 引脚配置如下:
•MDIO (EVM)连接到 P1.5 (LaunchPad)
•MDC (EVM)连接到 P1.4 (LaunchPad)
•GND (EVM)连接到 GND (LaunchPad)
USB-2-MDIO 可以正确地找到我的 PHY‘s ID,、但它无法读取数据并将数据写入 PHY‘s 寄存器,
例如,我 向寄存器0x0016,写入0x0110、但 读取的数据为0x0000,
其他 寄存器的性能相同。
请为我 提供一些建议、以便正确配置 DP83848KSQ 寄存器。
谢谢!
Teck。
您好!
我要检查以下几项:
1) 1)您的 PHY 是否处于活动和运行状态? 电源引脚是否达到预期的电压电平? 如果 PHY 连接到链路伙伴、您是否连接了链路 LED?
2) 2)如果您要连接 MSP430G2 Launchpad、是否已使用正确的固件刷写该 LaunchPad? 请参阅 USB-2-MDIO 用户指南的第2.3.1节。
3) 3)您是否尝试切换 COM 端口以查看另一个端口是否会产生正确的结果? 一个正常工作设置的良好经验法则是检查寄存器0x0001是否为非0x0和非0xFFFF 值。
此致、
Gerome
您好、Gerome、
当我 将 EVM 连接到我的 PC 时、它们可以 通过 ping 模式相互通信、而无需将 LaunchPad 连接到我的 EVM;。此外、 USB-2-MDIO 可以在通电时识别我的 PHY 地址。
在我运行 Flash_MSP430_G2.bat 后、MSP430G2 Launchpad 的黄色和红色 LED 将完全亮起、而不闪烁。
COM 端口正确。
此致、
Teck
您好!
在 USB2MDIO 选项上、应该有一个扩展寄存器选项。 我认为默认值是"是"。 您能否尝试将此处的字段切换为"否"并尝试读取和写入您想要的寄存器?
此致、
Gerome
您好!
我尝试过很多次、但问题没有得到解决。
图1.
图2.
图3.
在图1中、PC 可以正确检测 PHY 的 ID;
在图2中、我单击"写入"按钮将数据0x5008写入寄存器0x0010;
在图3中、执行上述操作后、我单击"Read"按钮读取 数据、但数据不 是0x5008。
那么、我应该怎么做来解决这个问题呢? 请提供一些支持或文档。
此致、
Teck
Teck、您好!
寄存器0x10是只读寄存器、因此写入值不会产生预期的读回结果。 关于对寄存器0x16的初始写入命令、您还将写入保留的位字段、这可能会导致一些问题。 是否可以通过切换自协商使能位尝试写入寄存器0? 确保在写入前读取此值(扩展寄存器关闭)以查看其状态。
此致、
Gerome
Gerome、您好!
实际上、我想将 DP83848KSQ 配置为测试模式;但我不知道如何 配置 DP83848KSQ 进行以太网合规性测试。 一些文档指出、我可以 通过 USB-2-MDIO 和 MSP430G2 LaunchPad 将 DP83848KSQ 配置为测试模式;但正如您所知、我失败了。
您能不能告诉我 我应该为我的目的写入哪些寄存器和值?或者给我一些关于这个操作的文件?
此致、
Teck
尊敬的 Teck:
https://e2e.ti.com/support/interface/f/interface-forum/491013/dp83848-bit-stream-for-compliance-mode 提供了 DP83848合规性测试模式。 我仍然想验证您是否可以使用扩展寄存器设置"No"来读取/写入寄存器0x0的自动协商位、并查看这是否可以解决您的读取/写入问题。
步骤:
1) 1)将扩展寄存器设置设置为否(默认为是)
2)读取0x0001 (应为非零值)并应与0x7849处的数据表默认值(或至少接近)匹配。
如果您正在读取此值、或根据您的配置接近此值、请转到步骤3。
3) 3)读取0x0000。
4) 4)在第3步中、写入一个仅切换位12的值。 您应该能够读回它。
请告诉我您是否能够完成此过程、或者您是否卡在某个步骤中。
此致、
Gerome
您好、Gerome、
如下图所示、我可以从0x0001和0x0000读取数据。
我写入的值仅切换寄存器0x0000中的位12、我可以读回它。
写入的值为0x2100、那么我可以读回它。
尊敬的 Teck:
因此、将扩展寄存器选项设置为"否"可以解决您的读/写问题。 您似乎已经掌握了使用 DP83848进行合规性测试所需的所有相关信息。 是否有任何其他待处理项目、或者能否关闭此主题?
您好、Gerome
您的回复对我很有帮助。
非常感谢、您可以关闭此主题。
Teck。