On Tue, Dec 6, 2022 at 11:16 PM James Dougherty <jafr...@gmail.com> wrote:
> Great project! I've done a few commercial implementation of PHY > timestamping protocols - IEEE1588 for Ethernet 802.3 > and the WLAN version (802.11v2012) for 802.11n. Products with that > technology are still shipping today (but that was 10 years > ago now). Both are key foundations and building blocks for any > time-sensitive networking (in my case RTP streaming Audio and > Video via uni/multicast). You'll find you don't need a heavy weight > implementation for this -on ethernet, it is a mac layer protocol > where all you need to do is tx/rx IEEE ethertype=0x88f7 packets. The SYNC > message is from an 802.1AS grand-master clock. > You will syntonize your local clock from this message and concurrently and > periodically run a PID control loop to adjust your local > phase and epoch over a system-performance specific period. My > recommendation and direction for this development would be to get 2 Linux > boxes with an Intel Ethernet MAC (any intel MAC), read the 1588 spec and > use Wireshark (with linux ptpd and p2p4l as Alan mentioned) > to study the SYNC message exchanges between a GMC and peer (client) device. > Sounds like greek but 1588 is the place to start. > NuttX could fully support this and servo control loop. You can contact me > offline if you need protocol decode or net debug help, I lived > the dream, even have teh T-shirt :) If this support could be built into NuttX that would be awesome. Some of my products are built on the TI Tiva-C series which includes hardware 1588 support in the on-chip Ethernet MAC (or PHY, I don't remember which--the chip has both) and I have wanted to use 1588 but could never figure out how to make it work. It has been probably 4 or 5 years since I last looked into it, though. Cheers Nathan