Reloj maestro PTP de bajo coste con Raspberry Pi CM4 y GNSS

Fuentes: CM4 PTP Grandmaster: Low-Cost Nanosecond Time Sync

Un reloj maestro de Precision Time Protocol (PTP) puede proporcionar sincronización nanométrica a equipos conectados a una red local, pero los equipos comerciales con GPS suelen costar varios miles de dólares. El autor describe una alternativa educativa construida con un Raspberry Pi Compute Module 4, una placa IO, un receptor GNSS SR1723U10 y componentes auxiliares. Las piezas nuevas supusieron unos 103 dólares, frente a los aproximadamente 400 dólares de una solución basada en TimeHAT o a más de 475 dólares con el hardware necesario.

La configuración utiliza el BCM54210PE, un transceptor Ethernet compatible con IEEE 1588v2 y marcado de tiempo por hardware. Esta función mide los paquetes en la capa física, antes de que lleguen al sistema operativo, y evita la variabilidad introducida por la planificación del núcleo y las interrupciones. El pulso por segundo del receptor GNSS se conecta a la entrada de reloj externo del PHY y se disciplina mediante un reloj PTP de hardware.

El proyecto también muestra problemas de compatibilidad encontrados durante el desarrollo. Ubuntu 22.04 no ofrecía un dispositivo PHC ni marcado de tiempo por hardware, además de reservar el UART utilizado por el GNSS para la consola serie. La actualización a Ubuntu 24.04 con Linux 6.8 corrigió ambos aspectos. La guía detalla el cableado, la configuración del UART, el reloj de tiempo real y la comprobación de los datos NMEA.

En las pruebas, los nodos clientes se aproximaron a la referencia GPS con un error equivalente al tiempo que tarda la luz en recorrer una habitación. La principal limitación es el oscilador de cristal sin compensación térmica: durante diez horas sin señal GPS se acumularon 15 milisegundos de deriva. Por ello, el montaje resulta útil para aprender y экспериментировать con PTP, pero no sustituye a un equipo con oscilador compensado para infraestructuras industriales que exijan precisión continua.