Me parece que estás un poco confundido acerca de lo que se supone que debes hacer exactamente y son conexiones incorrectas entre las cosas.
Primero, ¿leíste UTC ? Básicamente, la unidad GPS que tiene debe emitir su hora usando la zona horaria UTC y, en lo que respecta a la sincronización de hora, UTC ya no es de interés. Es posible que desee traducir de UTC a su propia zona horaria, pero eso no está relacionado con la sincronización del reloj.
A continuación, su Cortex A9 debería recibir la hora y establecer su propio RTC a la hora enviada por el GPS. Para tener la hora más correcta posible, sería una buena idea utilizar la salida PPS del GPS para activar el procedimiento que configurará la hora RTC en el A9. Aquí es donde la "precisión" entra en juego. Se necesita algo de tiempo para que se configure el RTC y su RTC se retrasará por esa cantidad de tiempo. Por lo general, eso no será un problema, ya que la cantidad de tiempo es muy corta, pero es posible que se necesite algo de atención para asegurarse de que nada interrumpa el proceso de ajuste de tiempo.
Finalmente, tienes el problema de la sincronización entre los dos microcontroladores. Por lo que yo entiendo, usted quiere transferir tiempo desde el RTC de A9 al RTC de M3 usando SPI. El reloj SPI no es muy importante aquí. A9 enviará el reloj (¡no el reloj de pared!) Y controlará la velocidad de transferencia de datos. Una vez más, tendrá un problema similar para configurar el RTC en A9. La transferencia de datos de la A9 a M3 toma algún tiempo y el reloj de M3 se retrasará esa cantidad de tiempo, a menos que intente hacer algo para evitar eso (si es que vale la pena hacerlo en primer lugar).
Entonces, una manera de hacer esto es ajustar el RTC del A9 para que su segundo pase lo más cerca posible de la señal PPS del GPS. A continuación, justo después de la señal PPS, inicie la transferencia de A9 a M3 para que sea lo más tarde posible.
Qué tan preciso puede ser también depende del propio temporizador RTC. Algunos pueden permitirte pausar su cuenta de tiempo. De esta manera, puede configurar el tiempo en RTC por adelantado y luego hacer una cuenta regresiva del PPS desde el GPS hasta que llegue ese momento (por ejemplo, cuando son las 13:26:26, configure el tiempo en 13:26:27 y habilite el RTC). cuando 13:26:27 es contado por PPS). Por lo general, será más rápido habilitar RTC que configurar su tiempo. De esta manera, puede estar un poco más cerca de la hora UTC real, pero el proceso será un poco complicado.