Heim >Technologie-Peripheriegeräte >KI >Wie kann selbstfahrendes Auto-Lidar mit der GPS-Zeit synchronisiert werden?
Zu den fünf von gPTP, Sync und Follow_UP definierten Nachrichten gehört eine Gruppe von Nachrichten, die regelmäßig gesendet werden und hauptsächlich zur Messung von Taktabweichungen verwendet werden.
Es gibt drei Hauptschemata für die Laserradar- und GPS-Zeitsynchronisation, nämlich PPS+GPRMC, PTP, gPTP
GNSS gibt zwei Informationen aus, eine davon ist das Synchronisationsimpulssignal PPS mit eine Zeitspanne von 1 s, Impulsbreite 5 ms ~ 100 ms; eine besteht darin, die GPRMC-Standardzeitsynchronisationsnachricht über den standardmäßigen seriellen Port auszugeben.
Der Moment der Vorderflanke des Synchronisationsimpulses liegt im selben Moment wie das Senden der GPRMC-Nachricht, der Fehler liegt auf ns-Ebene und der Fehler kann ignoriert werden. GPRMC ist eine Nachricht im Standardformat, die UTC-Zeit (sekundengenau) sowie Positionierungsdaten für Längen- und Breitengrad enthält.
Der PPS-Sekundenimpuls ist eine Ausgabe auf physikalischer Ebene. Die Zeit für den Empfang und die Verarbeitung des PPS-Signals liegt auf der ns-Ebene und kann weiterhin ignoriert werden. GPRMC-Daten werden jedoch im Allgemeinen über eine serielle Schnittstelle mit einer Baudrate von 9600 gesendet. Die Sende-, Empfangs- und Verarbeitungszeit tx liegt auf der Ebene von ms, was der Schlüssel zur Zeitsynchronisation ist.
Das Folgende ist das Prinzip der Verwendung von PPS + GPRMC für die Zeitsynchronisation.
(1) Nachdem das Gerät das PPS-Sekundenimpulssignal empfangen hat, löscht es die Millisekunden und darunter in der internen Systemzeit mit dem Quarzoszillator als Taktquelle und beginnt von dort aus mit der Berechnung der Millisekundenzeit.
(2) Extrahieren Sie nach dem Empfang der GPRMC-Daten die UTC-Zeit für Stunde, Minute, Sekunde, Jahr, Monat und Tag in der Nachricht.
(3) Addieren Sie die Sendezeit vom Empfang des Sekundenimpulses bis zum Parsen der UTC-Zeit in GPRMC zur gesamten UTC-Sekundenzeit und synchronisieren Sie sie mit der Systemzeit. Bisher wurde eine Zeitsynchronisierung abgeschlossen. Wiederholen Sie den gleichen Vorgang für die nächste Sekunde und führen Sie die Kalibrierung genau einmal pro Sekunde durch.
Kluge Leute haben vielleicht plötzlich erkannt, dass Lidar zeitlich synchronisiert werden muss und sie an diese beiden physischen Schnittstellen anschließen. Diese Methode ist möglich und wird auch von vielen Herstellern verwendet, aber PPS+ GPRMC hat die folgenden Probleme .
(1) PPS ist ein Impulspegelsignal mit geringer Leistung. Der Antriebsstrom beträgt nur 0,5 mA und bis zu 20 mA. Es verfügt über mehrere Synchronisationsknoten (Lidar und andere Knoten, die Zeitsynchronisation erfordern). Es ist sehr schwierig.
(2) PPS ist ein ungeschirmtes Einzelleitungsimpulssignal. Mehr als ein Dutzend PPS-Leitungen pendeln im Auto und sind äußerst anfällig für Störungen durch die raue elektromagnetische Umgebung im Auto. Es ist unmöglich zu unterscheiden, ob es sich um ein Signal handelt Störimpuls oder Synchronimpuls.
(3) GPRMC sendet Synchronisationsnachrichten über die serielle RS232-Schnittstelle. RS232 ist eine 1-zu-1-Vollduplex-Kommunikationsform und kann auch eine 1-zu-mehrere Datenübertragung in einer Master-Slave-Form erreichen. Aber bei mehr als zehn Personen ist es wirklich selten und es kann nur durch Experimente überprüft werden, ob es machbar ist. Aber zumindest war der Kabelbaum-Ingenieur nicht bereit, zuzustimmen.
(4) Wenn die Taktquelle verloren geht, verlieren alle Geräte, die eine Zeitsynchronisation benötigen, plötzlich ihr Rückgrat. Jeder Junior kann alleine bestehen, und es gibt keinen zweiten Chef, der rechtzeitig aufsteht und die Gesamtsituation in den Griff bekommt . Dies ist für autonome Fahrsysteme mit extrem hohen Anforderungen an die funktionale Sicherheit schlicht inakzeptabel.
Daher ist es theoretisch möglich, eine Zeitsynchronisation des gesamten autonomen Fahrsystems basierend auf einfachem PPS und GPRMC zu erreichen, aber dies ist nicht praktikabel.
Das netzwerkbasierte hochpräzise Zeitsynchronisationsprotokoll PTP (Precision Time Protocol, 1588 V2) kann eine Synchronisationsgenauigkeit im Submikrosekundenbereich erreichen. Für eine globale Architektur, bei der das Backbone-Netzwerk Ethernet ist, ist lediglich die Unterstützung der Hardware-PHY-Chips jedes Domänencontrollers erforderlich.
PTP ist ein Master-Slave-Zeitsynchronisierungssystem, das Hardware-Zeitstempel verwendet und so die Software-Verarbeitungszeit erheblich verkürzen kann. Gleichzeitig kann PTP auf der L2-Schicht (MAC-Schicht) und der L4-Schicht (UDP-Schicht) ausgeführt werden. Bei der Ausführung im L2-Schicht-Netzwerk erfolgt die Paketanalyse direkt auf der MAC-Schicht, ohne das vierschichtige UDP-Protokoll zu durchlaufen Dadurch wird die Verweildauer des Protokollstapels erheblich verkürzt und die Genauigkeit der Zeitsynchronisierung weiter verbessert, was für autonome Fahrsysteme sehr hilfreich ist.
Eine architektonische Lösung im Rahmen der globalen Architektur ist wie unten dargestellt.
Der Netzwerkport, auf dem das PTP-Protokoll im Gerät ausgeführt wird, wird als PTP-Port bezeichnet. Der PTP-Master-Port wird zum Veröffentlichen der Uhrzeit und der PTP-Slave-Port zum Empfangen der Uhrzeit verwendet. Drei Arten von Taktknoten werden gleichzeitig definiert: Boundary Clock-Knoten (BC, Boundary Clock), gewöhnlicher Taktknoten (OC, Ordinary Clock) und transparenter Taktknoten (TC, Transparent Clock).
(1) Der Boundary-Clock-Knoten verfügt über mehrere PTP-Ports, von denen einer zum Synchronisieren der Zeit des Upstream-Geräts und die übrigen Ports zum Senden der Zeit an das Downstream-Gerät verwendet werden. Wenn das Upstream-Zeitsynchronisierungsgerät des Boundary-Clock-Knotens ein GNSS-Empfänger ist, ist der Boundary-Clock-Knoten zu diesem Zeitpunkt ein Master-Clock-Knoten (optimale Uhr).
(2) Gewöhnliche Uhrenknoten haben nur einen PTP-Port, der zur Synchronisierung der Zeit des vorgelagerten Uhrenknotens verwendet wird.
(3) Die transparente Uhr verfügt, wie der Name schon sagt, über mehrere PTP-Ports, welche Zeit empfangen und welche Zeit weitergeleitet wird, führt keine Protokollanalyse durch und beteiligt sich nicht intern an der Zeitsynchronisierung. PTP tauscht Synchronisationsnachrichten zwischen Master- und Slave-Geräten aus und zeichnet die Sendezeit der Nachricht auf, um die Netzwerkübertragungsverzögerung und die Taktabweichung zwischen Master- und Slave-Geräten zu berechnen.
PTP definiert vier Synchronisierungsnachrichten: Sync, Follow_Up, Delay_Req und Delay_Resp. Der genaue Synchronisierungsprozess ist wie folgt.
(1) Der PTP-Master-Port sendet eine Sync-Nachricht an den Slave-Port und gleichzeitig wird die Sync-Sendezeit t1 aufgezeichnet. Nach dem Empfang der Sync-Nachricht vom Port wird der Empfangszeitpunkt t2 aufgezeichnet.
(2) Dann fügt der Master-Port die t1-Zeit in die Follow_Up-Nachricht ein und sendet sie an den Slave-Port. Nach dem Empfang dieser Nachricht kann der Slave-Port t1 analysieren und so die erste Gleichung erhalten: t1+Netzwerkverzögerung+Uhr Abweichung = t2.
(3) Der Slave-Port sendet eine Delay_Req-Nachricht an den Master-Port und zeichnet gleichzeitig den Zeitpunkt t3 auf, zu dem die Delay_Req gesendet wird. Nachdem der Hauptport die Nachricht empfangen hat, zeichnet er den Zeitpunkt t4 auf, zu dem sie empfangen wurde.
(4) Dann fügt der Master-Port die t4-Zeit in die Delay_Resp-Nachricht ein und sendet sie an den Slave-Port. Nach dem Empfang dieser Nachricht kann der Slave-Port t4 analysieren und die erste Gleichung erhalten: t3+Netzwerkverzögerung – Taktabweichung = t4. Zwei Unbekannte und zwei Gleichungssysteme können durch Anwendung von Mathematikkenntnissen der Mittelstufe gelöst werden: Netzwerkverzögerung = [(t2-t1)+(t4-t1)]/2, Taktabweichung = [(t2-t1)-(t4- t3)]/2.
gPTP (Generalized Precision Time Protocol), eine Reihe von Optimierungen basierend auf dem PTP-Protokoll (IEEE 1588v2), bildete einen gezielteren Zeitsynchronisationsmechanismus, der eine Synchronisationsgenauigkeit auf μs-Ebene erreichen kann.
gPTP definiert zwei Gerätetypen: Time-aware-end Station und Time-aware Bridge. Jedes Gerät verfügt über eine lokale Uhr. Die lokale Uhr wird anhand der Schwingungsperiode des Quarzoszillators gemessen. Der interne Hardware-Zähler des Geräts ist für die Zählung der Schwingungsperiode verantwortlich. Der Netzwerkport auf dem Gerät, der zum Veröffentlichen von Zeitsynchronisationsnachrichten verwendet wird, wird als Master-Port bezeichnet, und der Port, der zum Empfangen von Zeitsynchronisationsnachrichten verwendet wird, wird als Slave-Port bezeichnet.
(1) Zeitbewusste Endstation, die entweder als Hauptuhr oder als Nebenuhr verwendet werden kann.
(2) Time-Aware Bridge, die entweder als Hauptuhr oder als Bridge-Gerät verwendet werden kann, ähnlich einem Schalter. Nach dem Empfang der gPTP-Nachricht durchläuft das Bridge-Gerät die Nachricht, bevor es sie versendet. Die Zeit, die die Nachricht im Bridge-Gerät verbringt, wird als Verweilzeit bezeichnet. gPTP erfordert, dass das Bridge-Gerät in der Lage sein muss, die Verweilzeit zu messen.
Die Abbildung unten zeigt ein einfaches gPTP-System, einschließlich einer Taktquelle, 1 Hauptuhr, 2 Brückengeräten und 4 Nebenuhren. Die Hauptuhr ist die Zeitbasis innerhalb des Systems. Sie verfügt im Allgemeinen über eine lokale Uhr mit höherer Präzision und muss von einer hochpräzisen Quasi-Taktquelle gesteuert werden. Der Haupttakt kann innerhalb des Systems dynamisch zugewiesen oder vorab zugewiesen werden (für Anwendungsszenarien mit fester Topologie im Fahrzeug wird häufig das Prinzip der Vorzuweisung verwendet).
Der in gPTP spezifizierte Mechanismus zur dynamischen Zuweisung der Hauptuhr ist BMCA (Best Master Clock Algorithm, bester Hauptuhr-Auswahlalgorithmus). Nachdem das System eingeschaltet und aufgeweckt wurde, können alle Geräte im System an der Wahl der Hauptuhr teilnehmen, indem sie eine Nachricht senden, die die Uhrinformationen ihrer jeweiligen Geräte enthält. Jedes teilnehmende Gerät vergleicht seine eigenen Uhreninformationen mit den Uhreninformationen anderer Geräte und stellt fest, ob es einen Vorteil hat. Andernfalls zieht es sich aus der Wahl zurück, bis der Kampfsportführer mit der stärksten umfassenden Fähigkeit geboren ist.
gPTP definiert zwei Arten von Nachrichten, Nachrichten vom Ereignistyp (einschließlich Sync, Pdelay_Req und Pdelay_Resp) und Nachrichten vom allgemeinen Typ (einschließlich Follow_UP und Pdelay_Resp_Follow_UP). gPTP definiert, dass das Gerät in der MAC-Unterschicht (Media Acess Control) der zweiten Datenverbindungsschicht im siebenschichtigen Netzwerkmodell arbeitet.
Wenn die MAC-Schicht des Geräts eine Ereignistypnachricht empfängt oder sendet, löst sie die Abtastung des Hardwarezählers aus, um den Zählwert des Taktoszillationszyklus zu erhalten. In Kombination mit der Taktoszillationsfrequenz und der Referenzzeit kann der Zeitstempel zu diesem Zeitpunkt ermittelt werden erhalten werden. Nachrichten des allgemeinen Typs werden nur zur Übermittlung von Informationen verwendet und lösen nicht den Abtastvorgang des internen Hardwarezählers aus.
Zu den fünf von gPTP definierten Nachrichten gehören Sync und Follow_UP, eine Gruppe von Nachrichten, die regelmäßig gesendet werden und hauptsächlich zur Messung der Uhrabweichung verwendet werden. Die Synchronisierung wird vom Hauptport gesendet. Wenn die Nachricht die MAC-Schicht des Hauptports verlässt, wird der Hauptport zu diesem Zeitpunkt dazu veranlasst, den Zeitstempel t1 aufzuzeichnen. Nach dem Empfang der Sync-Nachricht von der Port-MAC-Schicht wird der Zeitstempel t2 zu diesem Zeitpunkt aufgezeichnet. Anschließend hängt der Master-Port den t1-Wert an die Follow_UP-Nachricht an und sendet ihn an den Slave-Port.
Wenn es keine Netzwerkübertragungsverzögerung oder -verzögerung gibt und diese ignoriert werden kann, addiert der Slave-Port den lokalen Uhrwert zum Uhrversatz (den Wert von t1-t2), um die Zeitsynchronisierung abzuschließen Machen Sie sich keine weiteren Sorgen. Bei gPTP mit Zeitsynchronisationsgenauigkeit im μs-Bereich kann die Übertragungsverzögerung jedoch offensichtlich nicht ignoriert werden.
gPTP verwendet die P2P-Methode (Peer-to-Peer) zur Messung der Übertragungsverzögerung. Bei der P2P-Methode wird die Übertragungsverzögerung zwischen benachbarten Geräten gemessen und Nachrichten dürfen nicht zwischen Geräten übertragen werden. Dies erfordert, dass alle Geräte im gPTP-Netzwerk die gPTP-Funktion unterstützen. Gleichzeitig wird speziell für die Messung der Übertragungsverzögerung ein Satz unabhängiger Nachrichten definiert: Pdelay_Req, Pdelay_Resp und Pdelay_Resp_Follow_UP, die regelmäßig gesendet werden.
Der Slave-Port sendet zunächst eine Pdelay_Req-Nachricht und markiert damit den Beginn der Übertragungsverzögerungsmessung. Wenn die Nachricht die MAC-Schicht des Slave-Ports verlässt, wird der Slave-Port zu diesem Zeitpunkt dazu veranlasst, den Zeitstempel t3 aufzuzeichnen. Nach dem Empfang der Pdelay_Req-Nachricht zeichnet die MAC-Schicht des Master-Ports zu diesem Zeitpunkt den Zeitstempel t4 auf. Gleichzeitig sendet der Master-Port den Wert t4 über die Pdelay_Resp-Nachricht Die MAC-Schicht des Master-Ports, der Master-Port löst aus. Der Port zeichnet zu diesem Zeitpunkt den Zeitstempel t5 auf und zeichnet zu diesem Zeitpunkt den Zeitstempel t6 auf, nachdem er die Pdelay_Resp-Nachricht von der Port-MAC-Schicht empfangen hat. Anschließend sendet der Master-Port in derselben Routine den Wert t5 über die Pdelay_Resp_Follow_Up-Nachricht an den Slave-Port. An diesem Punkt ist ein Übertragungsverzögerungsmessvorgang beendet. Unter der Annahme, dass die Pfadübertragungsverzögerung symmetrisch ist, kann die Übertragungsverzögerung zwischen benachbarten Geräten gemäß der folgenden Formel berechnet werden.
Die obige Messung der Übertragungsverzögerung basiert auf der Voraussetzung, dass die Taktfrequenz des Slave-Ports und des Master-Ports konsistent ist. Betrachten wir nun, welche übernatürlichen Ereignisse auftreten, wenn die Schwingungsfrequenzen der Master- und Slave-Port-Uhren inkonsistent sind. Unter der Annahme, dass die Taktschwingungsfrequenz des Slave-Ports 25 MHz beträgt, beträgt eine Taktschwingungsperiode 40 ns. Die Taktschwingungsfrequenz des Master-Ports beträgt 100 MHz und die Taktschwingungsperiode eines Takts beträgt 10 ns.
Angenommen, während eines Übertragungsverzögerungsmessvorgangs beträgt die Differenz zwischen den vom Slave-Port bei t6 und t3 aufgezeichneten Schwingungsperioden 200 Schwingungsperioden. Da die Taktfrequenz des Master-Ports viermal so hoch ist wie die des Slave-Ports, erhält der Slave-Port zwischen t5 und t4 etwa 800 Schwingungsperiodenunterschiede. Bei einer Berechnung basierend auf der 40-ns-Taktschwingungsperiode des Slave-Ports beträgt die Übertragungsverzögerung -24 μs ([200 x 40–800 x 40]/2). Es gibt nicht nur keine Verzögerung bei der Übertragung, sondern es ist auch im Voraus bekannt, und vom Hafen aus besteht kein Zweifel daran.
Neben der inhärenten Inkonsistenz der Taktoszillationsfrequenz der Master- und Slave-Ports können auch Temperatur, Alterung und andere Gründe dazu führen, dass die Quarzoszillatorfrequenz instabil wird. Um das Problem der Frequenzsynchronisation zu lösen, verwendet gPTP die Frequenzsynchronisation, um die Taktfrequenz des Slave-Ports mit der des Master-Ports zu synchronisieren.
Pdelay_Resp- und Pdelay_Resp_Follow_UP-Nachrichten des frequenzsynchronen Multiplex-Übertragungsverzögerungsmessprozesses. Durch die Verwendung von zwei Antwortsätzen können schließlich die Werte von t5, t6, t9 und t10 ermittelt werden. Das Frequenzverhältnis des Master-Slave-Ports kann aus der folgenden Formel ermittelt werden.
Wenn die Master- und Slave-Portfrequenzen synchronisiert sind, ist das Frequenzverhältnis gleich 1. Wenn er größer als 1 ist, bedeutet dies, dass der Hauptport schnell läuft. Wenn er kleiner als 1 ist, bedeutet dies, dass der Hauptport langsam läuft. Der Slave-Port passt seine Zeitbasis entsprechend dem Frequenzverhältniswert an, um den richtigen Zeitstempel zu erhalten.
Das obige ist der detaillierte Inhalt vonWie kann selbstfahrendes Auto-Lidar mit der GPS-Zeit synchronisiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!