Hi all,
Having had a brilliant experience with other PTP-enabled products from T.I (tiva processors), I have decided to go one step further and try the Precision PHYTER chips.
So far I have been able to run a ptpd v2 port I have within lwIP (running on a host timer interval of 10ms). The PTP is running on UDP obviously and in a 1-step configuration. Both the master and the slave is a launchpad with a phyter on it, unique MACs and static IPs. I have also been successful in producing a constant PPS output on a GPIO pin at a constant frequency and see it on the scope.
I am able to verify the sync message's timestamp on the slave is correct via wireshark, i.e., the timestamp in the sync message's header agrees - when printed on the serial port on the slave via the debugger interface - with the number in wireshark. So I can verify that the sync messages are sent once a second and that they arrive at the slave with the correct timestamp in the header.
The Problem:
I am having trouble reading the Receive timestamp (inside the main loop at the ptpd level), i.e., the time at which the sync message was received at the slave:
1) The PTP_STS register never gets updated, the RXTS_RDY field is always zero.
2) I enabled the interrupt RXTS_IE on a GPIO pin but it never gets asserted.
3) I tried enabling the SFD interrupt on a GPIO pin for both TX/RX and I CAN VERIFY that packets are being received and sent on the scope.
4) Disabled all sort of filters, hash values, status frames and any other functionality that would prevent the timestamps to be registered in their buffers/registers.
5) I am attempting 4 reads of the PTP_RXTS register after the initialisation just to make sure the buffer is not overflowed.
6) The results from reading the PTP_RXTS are always the same: time(s.ns)=1611751441.538009617, overflow=1, sequenceid=24593, message type=0, of which very little makes sense and they are the same EVERY time I read the register.
Any ideas regarding this are welcome.
Regards,
Evros