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.
应用:Xilinx Zynq 系列 SOC 芯片 ARM 内核支持两个连接到两个 DP83867芯片的 RGMII 接口,这两个芯片共享一组相同的 MDC、MDIO。
问题行为:当 Zynq SOC 芯片 uBoot、但 ping 外部 PC 不工作时、eth0接口的 PHY 芯片可以连接。 读取寄存器操作没有问题。 该驱动器是 Xilinx peatlinux 2018.3的内置 U-Boot 2018.01-00083-gd8fc4b3b70。
uBoot 之前和之后的 RX_CLK 125MHz 波形如下面的所示。 它似乎与这个问题有某种关系。
如果硬件陷阱 IO 将 Autoneg 禁用配置为模式3、并在寄存器0x1F 处写入0x8000以执行全局软件复位操作、从而恢复所有寄存器配置。 DP83867IS 可以执行 ping 操作、但这会将所有寄存器值恢复为默认值。 请 在全局软件复位后清除 RX_CLK 波形
请就此问题提供帮助? 其他问题: DP83867IS 芯片是否需要在寄存器值更改后执行复位操作?
谢谢。
此致、
陈苔丝
你好、苔丝、
由于您遇到 RX_CLK 问题、PHY 可能会被绑定到不正确的模式或加电时序不正确。 您能否尝试以下操作:
此致、
Adrian Kam
您好、Adrian、
感谢您的及时反馈。 以下是可帮助解决问题的附加信息:
请在下面找到与您在 EH0上的最后一个帖子相关的测试结果。
您能否读取寄存器0x006E 和0x006F 并检查读取的值是否与自举设置相匹配?
加电后、寄存器0x006E 和0x006F 的值为0021、0100、驱动器初始化完成后读取寄存器、无法执行 ping 操作。 但是、在全局软件复位后、该读取寄存器0x006E 和0x006F 的值仍然为0021、0100。 现在可以执行 Ping 操作。
2. 您能否检查您的加电时序是否与数据表第7节图1中显示的时序相匹配?
加电时序波可满足附件中指定的数据表需求。
e2e.ti.com/.../Power-up-wave.rar
时钟是从晶体、振荡器还是 SOC 进入 PHY? 上电前需要提供时钟。
该时钟使用25MHz±30ppm 晶振、在通电之前不会振动。 请参阅上面的功率波。
SGMII 端口 PHY 的测试结果:
Phytool 写入 eth2/0xF/0x001F 0x8000
Phytool 写入 eth2/0xF/0x0000 0x0140
Phytool 写入 eth2/0xF/0x0016 0x0040
Phytool 写入 eth2/0xF/0x001F 0x4000
e2e.ti.com/.../SGMII-PHY-TEST-WAVE.rar
问题:
请提供环回配置说明:
a) RGMII MII 环回/PCS 环回/数字环回/模拟环回
b) SGMII MII 环回/PCS 环回/数字环回/模拟环回
非常感谢。
此致、
陈苔丝
你好、苔丝、
此致、
Adrian Kam
您好、Adrian、
我们是否有任何文档来指导客户进行 DP83867IS 焊接过程? 谢谢。
你好、苔丝、
我们没有专门为客户提供有关 DP83867焊接工艺的指导文档。 但是、由于封装也用于其他 TI 器件、因此 TI 网站上可能会提供一些有关您所需内容的文档。
自我上次答复以来、您的整体问题是否已得到解决?
此致、
Adrian Kam
您好、Adrian、
我们已经尝试了软件配置建议、但它没有帮助。 然后、我们焊接了另外两块电路板、它们仍然无法正常工作、而 是出现了不同的现象。
PHY 连接:在 ZYNQ7000的 PS 侧、两个 DP83867连接到 Xilinx 硬内核、该硬内核共享一组 MDC、MDIO。 在完全电路板上电启动后、进入 uBoot 并通过 QSPI 引导 Linux 系统。 除了配置为 mode3的 RX_CTRL 引脚外、DP83867芯片配置为 mode0。
主要有两个问题:
RX_CLK 的波形首先显示为电路板上电后的125MHz 时钟、然后变为2.5MHz 时钟。 然后在 Linux 系统启动时变为125MHz 时钟。 然后、它进入2.5MHz 时钟、最后进入具有不同脉冲宽度的低电平脉冲信号的高电平。 如下图所示:
RX_CLK:125MHz
RX_CLK:2.5MHz
RX_CLK 不同的低电平脉宽异常信号
在配置中、0x6E 寄存器读作8881、 寄存器的 Autoneg Disable Read 应为0、但从寄存器读取的状态为1。 全局软件复位后、RX_CLK 波形变为2.5MHz、 0x6E 寄存器仍为8881。
问题:
如上所述、两个 PHY 共享一个 MDC、MDIO 专用引脚用于 Xilinx PS 接口、这是否有任何问题?
— —有没有其他的建议可以找出原因?
非常感谢您的支持。
此致、
苔丝
你好、苔丝、
此致、
Adrian Kam
你好、苔丝、
此外、只要两个 PHY 具有不同的地址、共享一条 MDC/MDIO 线路的两个 PHY 就可以正常工作。
此致、
Adrian Kam