🛠 Horodatage industriel : PTP IEEE 1588 sur le PHY Ethernet du CM4

Raspberry Pi Compute Module 4 (CM4, 2020) — Fiche carte · avance · Schéma : IMG-compute-module-4-avance-1-ptp-1588-gbe-cm4.svg — deux CM4 sur IO Board reliés par un câble Ethernet droit ; chaque module porte la mention « PHY GbE compatible IEEE 1588 » ; un graphique d'offset temporel en µs s'affiche sur un écran de contrôle.

Objectifs

Particularité unique dans la gamme Pi : le CM4 embarque un PHY Ethernet Gigabit compatible IEEE 1588 (PTP) sur le module — pensé pour la synchronisation temps réel industrielle (les cartes phares utilisent des PHY discrets sans cette revendication). Ce tuto met en place un domaine PTP à deux nœuds avec linuxptp : un grandmaster, un esclave, et mesure l'offset résiduel en microsecondes.

Matériel

Code complet

# --- Nœud A : grandmaster ---
sudo tee /etc/linuxptp/master.conf >/dev/null <<'EOF'
[global]
slaveOnly 0
networkTransportAddress eth0:500
summaryRatio -1
syncInterval 0
EOF
sudo ptp4l -f /etc/linuxptp/master.conf -m &

# --- Nœud B : esclave ---
sudo tee /etc/linuxptp/slave.conf >/dev/null <<'EOF'
[global]
slaveOnly 1
networkTransportAddress eth0:500
EOF
sudo ptp4l -f /etc/linuxptp/slave.conf -m &
# Ajuste CLOCK_REALTIME depuis la hardware clock de eth0
sudo phc2sys -s eth0 -c CLOCK_REALTIME -O 0 -m &

# --- Sur l'esclave : interroger l'état de synchronisation ---
sudo pmc -u -b eth0 'GET TIME_STATUS_NP' | grep -E 'master_offset|gmIdentity'

Vérification attendue

Dans la sortie de ptp4l -m côté esclave, les lignes master offset convergent vers des valeurs de l'ordre de la microseconde en topologie directe ; pmc 'GET TIME_STATUS_NP' affiche un master_offset stable et l'identité du grandmaster ; phc2sys ne signale plus de saut. Les deux date aux deux extrémités concordent à la milliseconde près.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels