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.

DP83848K: FPGA配置DP83848异常

Part Number: DP83848K

我用的是DP83848K芯片,用FPGA的程序配置PHY相关寄存器;目前出现问题如下:

1、LED模式为模式2,未配置任何寄存器,上电后连接两块板子后,显示自协商通信完成;但link灯是闪的,speed灯是灭的,此时对应寄存器应该是10Mbps模式,但我读到的是100Mbps的工作速率;

2、写寄存器值写不进去,写入的值与读出的值不一致;

3、是否有FPGA驱动此款PHY芯片的例程可供参考?或是否有配置此款PHY芯片寄存器的步骤说明?

谢谢!

  • 您好,

    1、您可以附上原理图吗?

    2、这里建议您看下读写波形,看是否为期望的波形时序

    3、下面链接的 Linux driver 希望对您有帮助:

    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/dp83848.c

  • 您好,

    1、原理图部分已插入文件;DP83848K.pdf

    2、读写时序是指MDC与MDIO的吗?

    3、由于83848没有中断配置寄存器,是否有影响?

    谢谢!

  • 1、看到您原理图中 AN0、AN1都下拉至地了,您是需要配置在AN0=0、AN1=0模式下吗?这样的话,需要接下拉电阻2.2K,而不是2K,因为其内部集成了上拉电阻,如果下拉电阻值选择不合适,会影响模式的选择。

    如果AN0=0、AN1=0,那么将工作在10BASE-T,speed灯是灭的,这是正常的,不太确定是不是下拉电阻值使用的不合适造成的 您读到的是100Mbps的工作速率?建议您将下拉电阻值更改为2.2K,再看工作速率是否还为100Mbps?

    2、是的,具体看datasheet时序图 Figure 6-2和Figure 6-3

    3、这个问题是什么意思,可以详细说明吗?

  • 另外建议按照下图配置AN0、AN1的高低电平:

  • 1、因为我的原理图中LED_SPEED对应的LED跟手册中FIGURE6-1的LED是接反的,是否可以解释我读到寄存器中模式是100Mbps与LED是对应上的;

    2、在进行tx--rx数据传输前,我主要想知道我需要工作在100Mbps,全双工模式下,上电后需要通过MDIO配置哪些寄存器?或者需要确认读到哪些寄存器的值已确保PHY工作正常;

    谢谢!

  • 1、不是的,如下截图所示,当LED输出用于直接驱动LED时,输出驱动器的活动状态取决于通电/重置时由AN输入采样的逻辑电平。例如,如果AN输入通过电阻拉低,则相应的输出将配置为有效高输出。相反,如果AN输入通过电阻被拉高,则相应的输出将配置为有效低电平输出。

    在您的应用中您是通过电阻拉低的,因此驱动LED是输出高电平以点亮LED灯。

    2、如果100Mbps,则需要配置AN1为低电平 ,AN0为高电平,可通过LED的状态来判断。