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.

DP83640: 做温循试验后读取PHY_PG4_PTP_EDATA出错

Part Number: DP83640

有一款产品在做完温循试验后出问题,查到最后发现是DP83640这个PHY芯片的PHY_PG4_PTP_EDATA寄存器读取出错导致。

我们的产品在运行过程中ARM芯片会提供一个1PPS信号给PHY,作为event输入,PHY需要读取此event的时间戳并保证和ARM本地时间同步,但是出问题的PHY芯片在读取这个1PPS event时间戳时得到的是错误的,比如我们尝试给PHY芯片写入0s时间,但是读到的1PPS时间戳为33554944s,转换为二进制是

1000000000 0000001000000000
由于PHY寄存器每次读取16bit,发现是从右到左第10bit一直是1,改不了。

通过PTPClockSet() 和PTPClockReadCurrent() 函数分别写入PHY时间和读取PHY时间是正确的。目前来看就是读取PHY_PG4_PTP_EDATA寄存器的时候第10bit一直置1导致的。

请问为什么会出现这个问题,是硬件内部被损坏了吗?谢谢!

  • 您好,

    您是否已联系了技术支持Jonard Rico,我看到他在E2E英文论坛咨询了相同的问题,E2E英文论坛已有相应工程师回复,请由Jonard Rico协助做相应跟进,由资深的英文论坛工程师为您提供帮助