Remix.run Logo
boricj 12 hours ago

Instead of dedicating an entire Raspberry Pi with fancy pinning and temperature management by burning CPU time, wouldn't a micro-controller and a precise external oscillator fare better for time-keeping stability? I would assume that a STM32 discovery kit running a NTP server on its Ethernet port could probably do better.

auspiv 11 hours ago | parent | next [-]

I do have that as well, but haven't done a write up on it yet. It was a $70 GPSDO from eBay (BH3SAP variant running Fredzo firmware with some changes to enable flywheel (generating pulse in absence of GPS PPS)). I have verified it can feed the Pi for NTP. Believe the STM32 driving the GPSDO can as well but it has no ethernet capability as-is

Joel_Mckay 12 hours ago | parent | prev [-]

In general, NTP is a time sensitive process, and application processor/SoC are indeed going to have far greater rates of clock slips than an MCU running off an XTAL or TCXO.

RTLinux has a module feature to sync the scheduler to an external pin state. It is an obscure feature...

Adding more processors creates a well-known named-problem with metastability:

https://en.wikipedia.org/wiki/Clock_domain_crossing

Real-time is not guaranteed latency, and the Pi is not like Zynq fpga. =3