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.

[参考译文] DP8.3822万IF:无法成功测试Xilinx Zynq以太网控制器与TI PHY DP8.3822万之间的MII回送模式

Guru**** 2537880 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1086220/dp83822if-can-not-test-mii-loopback-mode-between-xilinx-zynq-ethernet-controller-and-ti-phy-dp83822-successfully

部件号:DP8.3822万IF

大家好,

我有一个自定义的Xilinx Zynq-7000板,带有TI DP8.3822万IFR PHY芯片。 我们正在Zynq上使用PS7 GEM作为以太网控制器,并在RGMII模式下工作,100Mbps。
我正在测试TI PHY芯片的MII环回模式。 我按以下方式配置了DP8.3822万:

-将0x4000写入PHYRCR寄存器(0x001F):激活的软件重置。
-将0x8000写入BMCR寄存器(0x0000):启动PHY重置
-将0x6100写入BMCR寄存器(0x0000):启用MII环回模式并设置速度:100 Mbps-全双工
-将数据包从MAC传输到DP8.3822万 PHY。
等待MAC中的Rx指示。

但我无法接收MAC中的任何数据包。

是否有人知道我遗漏了什么或需要做什么来测试Xilinx Zynq和TI DP8.3822万之间的MII环回?
我还附上了我的示意图。 我想知道我的硬件设计是否有任何问题?

顺便说一下,我对PHY地址值感到困惑。 由于TI PHY的RX_D[3:0]引脚未连接至任何上拉/下拉电阻器作为附加原理图,PHY_AD[4:1]应为3'b000,PHY地址应为1。
但我检测到PHY地址为31 (PHY_AD[4:1]= 3'B111)。

有人能为我解释一下吗?

提前感谢!!

此致,

达丰

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

    您好,Dat Phung,

    您能否提供寄存器0x0001,0x0017,0x0467,0x0468的读出值? 是否可以在开始MII回送之前轮询这些寄存器值?

    要检查PHY ADDR的问题,您能否在通电期间测量RX_D[3:0]的针电压? 电源,RESET_N和RX_D[3:0]引脚的波形在每个引脚上重叠是更好的。

    --
    此致,
    Gokul。

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

    您好,Gokul:

    非常感谢您的回复!

    寄存器的值如下所示:

    BMSR寄存器:0x7849

    SOR1寄存器:0x0000

    SOR2寄存器:0x0000

    RCSR寄存器:0x0241。 在测试MII环回之前,我清除了“RMII时钟选择”位(第7位),因为我们使用的是晶体振荡器的25MHz时钟。

    PHYSTS寄存器:0x000C

    上述值中是否有任何不合理的地方?  

    再次感谢!!   

    此致,

    达丰

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

    您好,Dat Phung,

    SOR1的读数不一致。 这可能与访问间接地址时出现的问题有关。 请检查注册表读数吗? 您可以检查是否看到任何地址大于0x1F的寄存器的非零读取。

    除此之外,我还看到PHY在RX和TX线路上处于RGMII对齐模式。 请检查MAC是否在TX和RX端都处于移位模式(或内部延迟模式)?
    如果MAC在RX线路上处于移位模式,则很容易测量。 您可以探测RXCLK和数据信号,并测量它们之间的偏移。 歪斜通常应为2ns。

    --
    此致,
    Gokul。

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

    尊敬的Gokul:

    感谢您的建议!

    我错过了SOR1和SOR2寄存器是扩展寄存器。 对此我真的很抱歉。 我刚刚使用REGCR和Addar寄存器访问了它,并获得了以下值:

    SOR1:0xFEBF

    SOR2:0x000F

    我尝试通过在 RCSR寄存器中写入位12和11 (2'B10,2'B11,2'B01)的组合,在PHY DP8.3822万中启用RX内部时钟偏移和/或TX内部时钟偏移,但测试仍然失败。

    此致,

    达丰

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

    您好,Dat Phung,

    捆扎有问题。 除您真正系紧的绑带外,所有的绑带都是读取模式4 (1,1)。 PHY地址也读取1.1111万。 这意味着在通电过程中,所有引脚都处于高电压状态。

    您能否在通电过程中测量RX_D引脚以及(如果可能)其它束带引脚?  电源,RESET_N和RX_D[3:0]引脚的波形在每个引脚上重叠是更好的。

    --
    此致,
    Gokul

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

    尊敬的Gokul:

    我将检查束带引脚的波形,并在稍后与您分享。

    但 我对测试MII环回的结果感到困惑。 我认为MAC应该在我在BMCR寄存器中设置Speed,duplex,enamed "MII Loopback"位并将 RCSR寄存器中的"RMII Clock Select"位重新配置为'0'(因为 RX_DV手提带引脚已设置XI_50=1)后接收环回数据包。  而且,无论PHY地址如何,MII环回测试都应该成功。

    请您解释一下吗? 非常感谢您的支持!

    此致,

    达丰

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

    您好,Dat Phung,

    条带读数表示在通电过程中针脚电压较高。 我们可能必须检查针脚是否始终卡在高压下,或者仅在通电期间发生。 如果针脚始终卡住,则MII回送失败。

    在环回测试期间,请检查TAS_*针脚是否切换,以指示数据从MAC传输。

    完成所有这些检查后,您能否按照以下顺序进行操作并告诉我是否有效?

    1. REG<0x001F>= 0x8000
    2. REG<0x0001>= 0x2100
    3. REG<0x0017>= 0x0241 (请根据MAC移位/对齐模式选择12,11位)
    4. REG<0x0019>= 0x0000
    5. REG<0x0001>= 0x6100

    --
    此致,
    Gokul。

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

    您好,Dat Phung,

    能否告诉我您是否可以解决问题?

    --
    此致,
    Gokul。

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

    尊敬的Gokul:

    我很抱歉太迟才回复。 我的设备出现了一些问题。 我刚刚借用了一个示波器。

    下图显示了测量的波形,带有: 绿色:RX_D3引脚; 黄色:复位引脚。

    在通电过程中,重置引脚:0.3 V;RX_D3:0.6V

    完成加电后:重置引脚:1.8 V;RX_D3:1.8 V在50毫秒内,然后保持在0V水平。

    RxD[2:0]和RX_DV引脚与RX_D3相同。

    您能告诉我一些有关上述电压结果的建议吗??

    此致,

    达丰

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

    您好,Dat Phung,

    即使引脚上没有上拉电阻,RX_D3也高的原因是什么? 您能否检查MAC是否在通电期间驱动此引脚?

    是否可以同时捕获电源?

    --
    此致,
    Gokul。