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.

DP83630: External PTP reference clock

Part Number: DP83630

We are using PHY status frames for transmit timestamps (specifically the Delay_Req message) and for the receive timestamps we are using TS_INSERT.
For this setup we are using the internal PGM clock and everything works as expected.

Due to temperature stability issues of our application we are now trying to use an external PTP clock source.
We will use a TCXO with CMOS output attached to GPIO12 of the DP83630 but as of now in our test-setup we are using a signal generator at 8MHz.
For the complete register configuration, see attachment.

When we change to a external clock source the status frames contain invalid timestamps, the seconds value is very large.

Example flow:

1. Receive Sync message. The receive second timestamp is inserted in the packet with an expected value, in this case 116 (0x74) seconds (we use the correction field to store all 4 bytes for second value).

0:0098:182:4 - PTP_SOCKET.10 -> PTP.0 : SOCKET_RECVFROM_RESULT(192.168.0.11:319,192.168.0.10:319)
      data(46),PTP
      00 02 00 2e  00 00 04 00  00 00 00 74  00 00 00 00   ...........t....
      a4 ec e8 e8  00 01 3e ff  fe 24 4c d5  00 00 00 00   ......>..$L.....
      00 00 00 00  00 00 00 74  25 0c 6d 48  de ed         .......t%.mH..  
0:0098:182:4 - Sync: t1=116.621571400 (t2=116.619505896)

2. We send back a Delay_Req message and the PHY generates a Status Frame with an invalid seconds value, in this case 0x24ee24ee

0:0098:182:5 - PTP_SOCKET.10 -> PTP.0 : SOCKET_RECVFROM_RESULT(0.0.0.0:319,224.0.1.129:319)
      data(34),PTP
      0f 02 00 10  27 00 54 cb  ee 24 ee 24  00 00 00 00   ....'.T..$.$....
      00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00   ................
      00 00                                                ..              
0:0098:182:5 - t3=619586798.190054439


Please advise why this scenario fails when using an external clock.

Thanks

/Jonas

mdi-read link=0x0 reg=0x00 val=0x1100
mdi-read link=0x0 reg=0x01 val=0x78ed
mdi-read link=0x0 reg=0x02 val=0x2000
mdi-read link=0x0 reg=0x03 val=0x5ce1
mdi-read link=0x0 reg=0x04 val=0x01e1
mdi-read link=0x0 reg=0x05 val=0xcde1
mdi-read link=0x0 reg=0x06 val=0x000d
mdi-read link=0x0 reg=0x07 val=0x2801
mdi-read link=0x0 reg=0x08 val=0x0000
mdi-read link=0x0 reg=0x09 val=0x0000
mdi-read link=0x0 reg=0x0a val=0x0000
mdi-read link=0x0 reg=0x0b val=0x0000
mdi-read link=0x0 reg=0x0c val=0x0000
mdi-read link=0x0 reg=0x0d val=0x0000
mdi-read link=0x0 reg=0x0e val=0x0000
mdi-read link=0x0 reg=0x0f val=0x0000
mdi-read link=0x0 reg=0x10 val=0x0615
mdi-read link=0x0 reg=0x11 val=0x0000
mdi-read link=0x0 reg=0x12 val=0x0000

Page=0x0
mdi-read link=0x0 reg=0x14 val=0x0000
mdi-read link=0x0 reg=0x15 val=0x0000
mdi-read link=0x0 reg=0x16 val=0x0100
mdi-read link=0x0 reg=0x17 val=0x0001
mdi-read link=0x0 reg=0x18 val=0x0000
mdi-read link=0x0 reg=0x19 val=0x8021
mdi-read link=0x0 reg=0x1a val=0x0804
mdi-read link=0x0 reg=0x1b val=0x0000
mdi-read link=0x0 reg=0x1c val=0x0002
mdi-read link=0x0 reg=0x1d val=0x6011
mdi-read link=0x0 reg=0x1e val=0x083e
mdi-read link=0x0 reg=0x1f val=0x0000

Page=0x1
mdi-read link=0x0 reg=0x14 val=0x0000
mdi-read link=0x0 reg=0x15 val=0x0000
mdi-read link=0x0 reg=0x16 val=0x00d8
mdi-read link=0x0 reg=0x17 val=0x0000
mdi-read link=0x0 reg=0x18 val=0x1812
mdi-read link=0x0 reg=0x19 val=0x042b
mdi-read link=0x0 reg=0x1a val=0x0000
mdi-read link=0x0 reg=0x1b val=0x0000
mdi-read link=0x0 reg=0x1c val=0x0010
mdi-read link=0x0 reg=0x1d val=0x0000
mdi-read link=0x0 reg=0x1e val=0x8000
mdi-read link=0x0 reg=0x1f val=0x0000

Page=0x2
mdi-read link=0x0 reg=0x14 val=0x0003
mdi-read link=0x0 reg=0x15 val=0x0000
mdi-read link=0x0 reg=0x16 val=0x0000
mdi-read link=0x0 reg=0x17 val=0x0000
mdi-read link=0x0 reg=0x18 val=0x0000
mdi-read link=0x0 reg=0x19 val=0x0000
mdi-read link=0x0 reg=0x1a val=0x0000
mdi-read link=0x0 reg=0x1b val=0x0000
mdi-read link=0x0 reg=0x1c val=0x0000
mdi-read link=0x0 reg=0x1d val=0x0000
mdi-read link=0x0 reg=0x1e val=0x0080
mdi-read link=0x0 reg=0x1f val=0x0000

Page=0x3
mdi-read link=0x0 reg=0x14 val=0x0000
mdi-read link=0x0 reg=0x15 val=0x0001
mdi-read link=0x0 reg=0x16 val=0x0000
mdi-read link=0x0 reg=0x17 val=0x0c00
mdi-read link=0x0 reg=0x18 val=0x5000
mdi-read link=0x0 reg=0x19 val=0x0000
mdi-read link=0x0 reg=0x1a val=0x4008
mdi-read link=0x0 reg=0x1b val=0x0000
mdi-read link=0x0 reg=0x1c val=0x0800
mdi-read link=0x0 reg=0x1d val=0x0000
mdi-read link=0x0 reg=0x1e val=0x0032
mdi-read link=0x0 reg=0x1f val=0x3a3a

Page=0x4
mdi-read link=0x0 reg=0x14 val=0x0004
mdi-read link=0x0 reg=0x15 val=0x0000
mdi-read link=0x0 reg=0x16 val=0x0000
mdi-read link=0x0 reg=0x17 val=0x0150
mdi-read link=0x0 reg=0x18 val=0x0000
mdi-read link=0x0 reg=0x19 val=0x0000
mdi-read link=0x0 reg=0x1a val=0x608b
mdi-read link=0x0 reg=0x1b val=0xffff
mdi-read link=0x0 reg=0x1c val=0x0074
mdi-read link=0x0 reg=0x1d val=0x0000
mdi-read link=0x0 reg=0x1e val=0x0000
mdi-read link=0x0 reg=0x1f val=0x0000

Page=0x5
mdi-read link=0x0 reg=0x14 val=0x990a
mdi-read link=0x0 reg=0x15 val=0x0000
mdi-read link=0x0 reg=0x16 val=0x8225
mdi-read link=0x0 reg=0x17 val=0xf800
mdi-read link=0x0 reg=0x18 val=0x00ca
mdi-read link=0x0 reg=0x19 val=0x0024
mdi-read link=0x0 reg=0x1a val=0xf800
mdi-read link=0x0 reg=0x1b val=0x0000
mdi-read link=0x0 reg=0x1c val=0xc100
mdi-read link=0x0 reg=0x1d val=0xf408
mdi-read link=0x0 reg=0x1e val=0x12d0
mdi-read link=0x0 reg=0x1f val=0x0013

Page=0x6
mdi-read link=0x0 reg=0x14 val=0x000a
mdi-read link=0x0 reg=0x15 val=0x020f
mdi-read link=0x0 reg=0x16 val=0x0000
mdi-read link=0x0 reg=0x17 val=0x0000
mdi-read link=0x0 reg=0x18 val=0x2793
mdi-read link=0x0 reg=0x19 val=0x0000
mdi-read link=0x0 reg=0x1a val=0x0000
mdi-read link=0x0 reg=0x1b val=0x807d
mdi-read link=0x0 reg=0x1c val=0xf788
mdi-read link=0x0 reg=0x1d val=0x0000
mdi-read link=0x0 reg=0x1e val=0x0681
mdi-read link=0x0 reg=0x1f val=0x0000