Das Precision Time Protocol (PTP) ermöglicht eine hochgenaue Zeitsynchronisation zwischen Geräten im Netzwerk. Im Gegensatz zu NTP erreicht PTP Synchronisationsgenauigkeiten im Mikrosekundenbereich.

PTP wird typischerweise in industriellen Netzwerken, Messsystemen oder Echtzeitanwendungen eingesetzt.

PTP-fähige Netzwerk-Ports #

PTP wird nur von RevPi Connect 4 und RevPi Connect 5 unterstützt.

Gerät PTP-fähige Netzwerk-Ports

RevPi Connect 4

Port A (eth0)

RevPi Connect 5

Port A (eth0) und Port B (eth1)

Hardware-Zeitstempel #

Für eine hohe Genauigkeit verwendet PTP Hardware-Zeitstempel, die direkt durch die Netzwerk-Hardware erzeugt werden.

Die Zeitstempel können abhängig vom Gerät entweder im MAC oder im PHY des Netzwerk-Controllers erzeugt werden.

Zeitstempelfähigkeiten prüfen #

Mit ethtool können die Zeitstempelfähigkeiten eines Netzwerk-Ports geprüft werden.

▷ Logge dich über ein Terminal am RevPi ein.

▷ Prüfe die Fähigkeiten von eth0:

ethtool -T eth0

Auf unterstützten Geräten werden unter anderem folgende Fähigkeiten angezeigt:

hardware-transmit
hardware-receive
hardware-raw-clock

PTP mit ptp4l verwenden #

Zur Verwendung von PTP unter Linux wird typischerweise ptp4l aus dem LinuxPTP-Projekt verwendet.

Ein Test mit ptp4l zeigt, dass die unterstützten RevPi Geräte Hardware-Zeitstempel erzeugen können für:

  • PTP over Ethernet

  • PTP over UDP

Einschränkungen #

Die Hardware-Zeitstempel der unterstützten Netzwerk-Ports sind primär für PTP vorgesehen.

Zeitstempel für beliebiger Netzwerk-Frames werden nicht von allen Geräten bzw. Konfigurationen unterstützt.

Fehlerbehebung #

Problem Ursache Lösung

Keine Hardware-Zeitstempel verfügbar.

Nicht unterstütztes Gerät oder Netzwerk-Port verwendet.

PTP nur auf unterstützten Ports verwenden.

ethtool -T zeigt keine Hardware-Fähigkeiten.

Netzwerk-Hardware unterstützt kein Hardware-Timestamping.

Unterstützung Netzwerk-Port prüfen.

ptp4l meldet fehlenden TX-Timestamp.

TX-Zeitstempel verzögert verfügbar
(RevPi Connect 5).

ptp4l --tx_timestamp_timeout=5 verwenden.

PTP funktioniert nicht.

PTP nicht auf unterstütztem Port gestartet.

eth0 bzw. eth1 des unterstützten Gerätes verwenden.

Weitere Ressourcen #