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.

[参考译文] DP83TD510E:无法写入寄存器0x1834位14

Guru**** 2523310 points
Other Parts Discussed in Thread: DP83TD510E, USB-2-MDIO, DP83TD510E-EVM

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1369566/dp83td510e-unable-to-write-to-register-0x1834-bit-14

器件型号:DP83TD510E
主题中讨论的其他器件: USB-2-MDIO

工具与软件:

大家好!

我想通过停止自动协商(强制连接)来连接同一网络上的两个以上的 DP83TD510E。 我将介绍防撞功能。

当我尝试写入0x1834的位14时、它看起来是只读的。 我将寄存器中的其余位保留在我读取的电平上。

有人知道为什么我无法写入该位吗?

此致

伊维洛

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

    您好、Ivailo:

    寄存器0x1834是一个扩展寄存器、必须按照 数据表第6.3.10节规定的步骤进行写入(请注意、该寄存器位于 MMD1中)。 您是否能够访问0x1834以外的扩展寄存器?

    谢谢。

    大卫

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

    尊敬的 David:

    我正在使用开发板 DP83TD510E-EVM 和 USB-2-MDIO 工具、其中选择了"扩展寄存器"选项为"是"。

    PHY ID 为零、我成功读取了扩展寄存器、例如、我能够写入0x8EE。 但我无法写入0x1834位14、0x18F6 -位10和位12、0x18F8 -位13-15。

    该工具可能有一些错误吗?

    我执行了如下测试。 已将"扩展寄存器"选择为"否"

    0x1F -> 0xD

    0x1834 -> 0xF

    0x401F -> 0xD

    0 -> 0xE

    1 -> 0xD

    0x1834 -> 0xE

    0x4001 -> 0xD

    并读取返回0x4002而不是2的寄存器0xE -无法将位14写入0。

    如果我现在选择"Extended Register"更改为"Yes"并读取0x1834、则返回0x251 -似乎 USB-2-MDIO 工具没有正确读取。 最低有效半字节为1、为保留值。

    此致

    伊维洛

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

    您好、Ivailo:

    USB-2-MDIO 工具可能在读取/写入 MMD1时存在问题。 请将"Extended Register"选项设置为"No"并加载附加的 scripts.e2e.ti.com/.../1834_5F00_Read.txte2e.ti.com/.../1834_5F00_Write.txt

    另请参阅 常见问题解答

    请告诉我您现在是否能够正确访问。

    谢谢。

    大卫

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

    尊敬的 David:

    感谢您的帮助! 我认为您无意中在寄存器0xE 中写入了0834而不是1834、或者我丢失了一些内容(第36页、 www.ti.com/.../dp83td510e)

    您写入寄存器0xD 的值为"1"、读写值也是如此。 例如、两个脚本看起来一样、唯一的区别是在末尾写入或读取了0xE。 我是否遗漏了某些内容或它是一个错误?

    结果如下:

    1834_Read.txt 文件已打开...
    寄存器000d 为:0001
    寄存器000E 是:0834
    寄存器000d 为:4001
    寄存器000E 是:4002
    文件结尾。

    1834_Write.txt 文件已打开...
    寄存器000d 为:0001
    寄存器000E 是:0834
    寄存器000d 为:4001
    寄存器000E 是:0002
    文件结尾。

    1834_Read.txt 文件已打开...
    寄存器000d 为:0001
    寄存器000E 是:0834
    寄存器000d 为:4001
    寄存器000E 是:0002
    文件结尾。

    我认为这是寄存器0x834的值。

    以下是我认为它们应该是什么样的脚本(在0xD 中写入0表示"写入访问"-第28页、在0xE 中写入1834):

    1834_read_.txt:
    开始
    000d 0001
    000e 1834
    000d 4001
    000e
    结束

    1834_Write_.txt
    开始
    000d 0000
    000e 1834
    000d 4000
    000e 0002
    结束

    修改脚本后的运行结果

    1834_Read_.txt 文件已打开...
    寄存器000d 为:0001
    寄存器000E 是:1834
    寄存器000d 为:4001
    寄存器000E 是:4002
    文件结尾。

    1834_Write_.txt 文件已打开...
    寄存器000d 为:0000
    寄存器000E 是:1834
    寄存器000d 为:4000
    寄存器000E 是:0002
    文件结尾。

    1834_Read_.txt 文件已打开...
    寄存器000d 为:0001
    寄存器000E 是:1834
    寄存器000d 为:4001
    寄存器000E 是:4002
    文件结尾。

    你有什么想法吗?

    非常感谢您的观看!

    此致!

    伊维洛

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

    您好、Ivailo:

    请参阅以下来自不同数据表的注释(该注释适用于所有 PHY、并且也应显示在 DP83TD510E 数据表中)。

    我看到您可以使用我提供的脚本正确地读取和写入寄存器0x1834。

    谢谢。

    大卫

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

    尊敬的 David:

    感谢您抽出宝贵的时间对此进行检查!

    您是否确定最高有效半字节在此芯片中具有此用途?

    第36页上有一个示例显示它不应被屏蔽:

    读取和写入会怎样?您建议为两个操作都在寄存器0xD 上写入值1 -我在这里缺失了什么吗?

    谢谢!

    伊维洛

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

    您好、Ivailo:

    第36页的示例是一个错误、将在下一个数据表中进行更正。 本 常见问题解答 适用于我们的所有 PHY。 您可以看到、使用共享脚本、您可以从寄存器0x1834读取正确值0x4002、写入值0x0002、然后再次读取0x0002。

    谢谢。

    大卫

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

    尊敬的 David:

    非常感谢! 现在一切都很清楚。 我希望有一天能帮你很多忙。

    此致

    伊维洛