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