Parmi les cinq messages définis par gPTP, Sync et Follow_UP se trouvent un groupe de messages envoyés périodiquement et principalement utilisés pour mesurer l'écart d'horloge.
Il existe trois schémas principaux pour la synchronisation temporelle du radar laser et du GPS, à savoir PPS+GPRMC, PTP, gPTP
GNSS produit deux informations, l'une est le signal d'impulsion de synchronisation PPS avec une période de temps de 1 s, largeur d'impulsion 5 ms ~ 100 ms ; l'une consiste à émettre le message de synchronisation horaire standard GPRMC via le port série standard.
Le moment du front d'attaque de l'impulsion de synchronisation se produit au même moment que l'envoi du message GPRMC, l'erreur est de niveau ns et l'erreur peut être ignorée. GPRMC est un message au format standard contenant l'heure UTC (précise à la seconde près), les données de positionnement en longitude et en latitude.
La deuxième impulsion PPS est une sortie de niveau physique. Le temps de réception et de traitement du signal PPS est au niveau ns et peut toujours être ignoré. Cependant, les données GPRMC sont généralement envoyées via un port série avec un débit en bauds de 9 600. Le temps d'envoi, de réception et de traitement tx est au niveau ms, ce qui est la clé de la synchronisation temporelle.
Voici le principe d'utilisation de PPS+GPRMC pour la synchronisation de l'heure.
(1) Une fois que l'appareil a reçu le deuxième signal d'impulsion PPS, il efface les millisecondes et moins dans le temps interne du système avec l'oscillateur à cristal comme source d'horloge, et commence à calculer le temps en millisecondes à partir de là.
(2) Après avoir reçu les données GPRMC, extrayez l'heure, la minute, la seconde, l'année, le mois et le jour UTC dans le message.
(3) Ajoutez l'heure tx depuis la réception de la deuxième impulsion jusqu'à l'analyse de l'heure UTC dans GPRMC à l'heure UTC entière et synchronisez-la avec l'heure du système. Jusqu'à présent, une synchronisation horaire a été effectuée. Répétez le même processus pendant la seconde suivante, en calibrant exactement une fois par seconde.
Les gens intelligents ont peut-être soudainement réalisé que le lidar doit être synchronisé dans le temps. Il suffit de réaliser deux fils et de les connecter à ces deux interfaces physiques. Cette méthode est possible et constitue également une solution utilisée par de nombreux fabricants, mais PPS+ GPRMC présente les problèmes suivants. .
(1) Le PPS est un signal de niveau d'impulsion de faible puissance. Le courant de commande est aussi faible que 0,5 mA et peut atteindre 20 mA. Il comporte plusieurs nœuds de synchronisation (lidar et autres nœuds nécessitant une synchronisation temporelle), plus d'une douzaine. C'est très difficile.
(2) Le PPS est un signal d'impulsion à ligne unique non blindé. Plus d'une douzaine de lignes PPS circulent dans la voiture et sont extrêmement sensibles aux interférences de l'environnement électromagnétique difficile de la voiture. une impulsion parasite ou une impulsion de synchronisation.
(3) GPRMC envoie des messages de synchronisation via le port série RS232. RS232 est une forme de communication 1 à 1 en duplex intégral et peut également réaliser une transmission de données 1 à plusieurs sous une forme maître-esclave. Mais pour plus de dix personnes, c'est vraiment rare, et on ne peut vérifier que par des expériences si c'est faisable. Mais au moins, l’ingénieur du faisceau de câblage n’était pas disposé à être d’accord.
(4) Lorsque la source d'horloge est perdue, tous les équipements nécessitant une synchronisation horaire perdent soudainement leur colonne vertébrale. Chaque junior peut se débrouiller seul, et il n'y a pas de deuxième patron pour se lever à temps et prendre en charge la situation globale. . Ceci est tout simplement inacceptable pour les systèmes de conduite autonome ayant des exigences de sécurité fonctionnelle extrêmement élevées.
Par conséquent, il est théoriquement possible de réaliser une synchronisation temporelle de l'ensemble du système de conduite autonome basée sur de simples PPS et GPRMC, mais ce n'est pas pratique.
Le protocole de synchronisation temporelle de haute précision basé sur le réseau PTP (Precision Time Protocol, 1588 V2) peut atteindre une précision de synchronisation inférieure à la microseconde. Pour une architecture globale où le réseau fédérateur est Ethernet, tout est prêt, il suffit de prendre en charge les puces matérielles PHY de chaque contrôleur de domaine.
PTP est un système de synchronisation de l'heure maître-esclave qui utilise des horodatages matériels, ce qui permet de réduire considérablement le temps de traitement des logiciels. Dans le même temps, PTP peut s'exécuter sur la couche L2 (couche MAC) et la couche L4 (couche UDP). Lorsqu'il est exécuté sur le réseau de couche L2, l'analyse des paquets est effectuée directement sur la couche MAC sans passer par le protocole UDP à quatre couches. pile, réduisant ainsi considérablement le temps de résidence de la pile de protocoles, améliorant encore la précision de la synchronisation temporelle, ce qui est très convivial pour les systèmes de conduite autonome.
Une solution architecturale dans le cadre de l'architecture globale est la suivante.
Le port réseau exécutant le protocole PTP dans l'appareil est appelé port PTP. Le port maître PTP est utilisé pour publier l'heure et le port esclave PTP est utilisé pour recevoir l'heure. Trois types de nœuds d'horloge sont définis en même temps, le nœud d'horloge limite (BC, Boundary Clock), le nœud d'horloge ordinaire (OC, Ordinary Clock) et le nœud d'horloge transparent (TC, Transparent clock).
(1) Le nœud d'horloge limite dispose de plusieurs ports PTP, dont l'un est utilisé pour synchroniser l'heure de l'appareil en amont, et les ports restants sont utilisés pour envoyer l'heure à l'appareil en aval. Lorsque le dispositif de synchronisation temporelle en amont du nœud d'horloge limite est un récepteur GNSS, le nœud d'horloge limite à ce moment est un nœud d'horloge maître (horloge optimale).
(2) Les nœuds d'horloge ordinaires n'ont qu'un seul port PTP, qui est utilisé pour synchroniser l'heure du nœud d'horloge en amont.
(3) L'horloge transparente, comme son nom l'indique, possède plusieurs ports PTP, quelle heure est reçue, quelle heure est transmise, n'effectue pas d'analyse de protocole et ne participe pas à la synchronisation de l'heure en interne. PTP échange des messages de synchronisation entre les appareils maître et esclave et enregistre l'heure d'envoi du message pour calculer le délai de transmission réseau et l'écart d'horloge entre les appareils maître et esclave.
PTP définit quatre messages de synchronisation : Sync, Follow_Up, Delay_Req et Delay_Resp. Le processus de synchronisation précis est le suivant.
(1) Le port maître PTP envoie un message de synchronisation au port esclave et l'heure d'envoi de synchronisation t1 est enregistrée de manière synchrone. Après avoir reçu le message Sync du port, l'heure de réception t2 est enregistrée.
(2) Ensuite, le port maître met l'heure t1 dans le message Follow_Up et l'envoie au port esclave. Après avoir reçu ce message, le port esclave peut analyser t1, et ainsi obtenir la première équation : t1 + délai réseau + horloge. écart = t2.
(3) Le port esclave envoie un message Delay_Req au port maître et enregistre simultanément l'heure t3 lorsque le Delay_Req est envoyé. Une fois que le port principal reçoit le message, il enregistre l'heure de réception t4.
(4) Ensuite, le port maître met le temps t4 dans le message Delay_Resp et l'envoie au port esclave. Après avoir reçu ce message, le port esclave peut analyser t4 et obtenir la première équation : t3 + délai réseau - Déviation d'horloge. = t4. Deux inconnues et deux systèmes d'équations peuvent être résolus en appliquant les connaissances mathématiques du premier cycle du secondaire : retard du réseau = [(t2-t1)+(t4-t1)]/2, écart d'horloge = [(t2-t1)-(t4- t3)]/2.
gPTP (generalized Precision Time Protocol), une série d'optimisations basées sur le protocole PTP (IEEE 1588v2), a formé un mécanisme de synchronisation temporelle plus ciblé, qui peut atteindre une précision de synchronisation de niveau μs.
gPTP définit deux types d'appareils, Time-aware-end Station et Time-aware-end Station. Chaque appareil dispose d'une horloge locale. L'horloge locale est mesurée par la période d'oscillation de l'oscillateur à cristal. Le compteur matériel interne de l'appareil est chargé de compter la période d'oscillation. Le port réseau de l'appareil utilisé pour publier les messages de synchronisation horaire est appelé port maître et le port utilisé pour recevoir les messages de synchronisation horaire est appelé port esclave.
(1) Station de fin sensible au temps, qui peut être utilisée comme horloge maître ou horloge esclave.
(2) Time-aware Bridge, qui peut être utilisé soit comme horloge maîtresse, soit comme dispositif pont, semblable à un commutateur. Après avoir reçu le message gPTP, le périphérique pont donnera un bain au message avant de l'envoyer. Le temps consommé par le message dans le périphérique pont est appelé temps de séjour. gPTP exige que le dispositif de pont ait la capacité de mesurer le temps de séjour.
La figure ci-dessous montre un système gPTP simple, comprenant une source d'horloge, 1 horloge maître, 2 appareils pont et 4 horloges esclaves. L'horloge maître est la base de temps au sein du système. Elle dispose généralement d'une horloge locale de plus haute précision et doit être chronométrée par une source quasi-horloge de haute précision. L'horloge maître peut être allouée dynamiquement au sein du système ou pré-attribuée (pour les scénarios d'application à topologie fixe montée sur véhicule, le principe de pré-allocation est souvent utilisé).
Le mécanisme d'allocation dynamique de l'horloge maître spécifié dans gPTP est BMCA (Best Master Clock Algorithm, meilleur algorithme de sélection d'horloge maître). Une fois le système allumé et réveillé, tous les appareils du système peuvent participer à l'élection de l'horloge principale en envoyant un message contenant les informations d'horloge de leurs appareils respectifs. Chaque appareil participant comparera ses propres informations d'horloge avec les informations d'horloge d'autres appareils et déterminera s'il a un avantage. Dans le cas contraire, il se retirera de l'élection jusqu'à la naissance du leader des arts martiaux ayant la capacité globale la plus forte.
gPTP définit deux types de messages, les messages de type événement (y compris Sync, Pdelay_Req et Pdelay_Resp) et les messages de type général (y compris Follow_UP et Pdelay_Resp_Follow_UP). gPTP définit que l'appareil fonctionne dans la sous-couche MAC (Media Acess Control) de la deuxième couche de liaison de données dans le modèle de réseau à sept couches.
Lorsque la couche MAC de l'appareil reçoit ou envoie un message de type événement, elle déclenchera l'échantillonnage du compteur matériel pour obtenir la valeur du compte de cycles d'oscillation d'horloge. Combinée avec la fréquence d'oscillation d'horloge et l'heure de référence, l'horodatage à ce moment peut. être obtenu. Les messages de type général ne sont utilisés que pour véhiculer des informations et ne déclencheront pas l'opération d'échantillonnage du compteur matériel interne.
Parmi les cinq messages définis par gPTP, Sync et Follow_UP se trouvent un groupe de messages envoyés périodiquement et principalement utilisés pour mesurer l'écart d'horloge. La synchronisation est envoyée par le port principal Lorsque le message quitte la couche MAC du port principal, le port principal est déclenché pour enregistrer l'horodatage t1 à ce moment. Après avoir reçu le message Sync de la couche MAC du port, l'horodatage t2 à ce moment est enregistré. Par la suite, le port maître attache la valeur t1 au message Follow_UP et l'envoie au port esclave.
S'il n'y a pas de retard ou de retard de transmission réseau et peut être ignoré, alors le port esclave ajoutera la valeur de l'horloge locale au décalage d'horloge (la valeur de t1-t2) pour terminer la synchronisation de l'heure, et il y aura ne soyez plus inquiet. Cependant, pour le gPTP avec une précision de synchronisation temporelle au niveau de la µs, le délai de transmission ne peut évidemment pas être ignoré.
gPTP utilise la méthode P2P (Peer to Peer) pour mesurer le délai de transmission. Dans la méthode P2P, le délai de transmission entre les appareils adjacents est mesuré et les messages ne peuvent pas être transmis entre les appareils. Cela nécessite que tous les appareils du réseau gPTP prennent en charge la fonction gPTP. Dans le même temps, un ensemble de messages indépendants sont définis spécifiquement pour la mesure du délai de transmission, à savoir Pdelay_Req, Pdelay_Resp et Pdelay_Resp_Follow_UP, envoyés périodiquement.
Le port esclave envoie d'abord un message Pdelay_Req, marquant le début de la mesure du délai de transmission. Lorsque le message quitte la couche MAC du port esclave, le port esclave est déclenché pour enregistrer l'horodatage t3 à ce moment. Après avoir reçu le message Pdelay_Req, la couche MAC du port maître enregistrera l'horodatage t4 à ce moment-là, puis le port maître envoie la valeur t4 au port esclave via le message Pdelay_Resp en même temps, lorsque le message Pdelay_Resp part. la couche MAC du port maître, le port maître déclenche Le port enregistre l'horodatage t5 à ce moment, et enregistre l'horodatage t6 à ce moment après avoir reçu le message Pdelay_Resp de la couche MAC du port. Ensuite, dans la même routine, le port maître envoie la valeur t5 au port esclave via le message Pdelay_Resp_Follow_Up. À ce stade, un processus de mesure du délai de transmission est terminé. En supposant que le délai de transmission du chemin soit symétrique, le délai de transmission entre appareils adjacents peut être calculé selon la formule suivante.
La mesure du délai de transmission ci-dessus est basée sur le principe que la fréquence d'oscillation d'horloge du port esclave et du port maître est cohérente. Considérons maintenant quels événements surnaturels se produiront si les fréquences d'oscillation des horloges des ports maître et esclave sont incohérentes. En supposant que la fréquence d'oscillation d'horloge du port esclave est de 25 MHz, une période d'oscillation d'horloge est de 40 ns. La fréquence d'oscillation d'horloge du port maître est de 100 MHz et la période d'oscillation d'horloge d'une horloge est de 10 ns.
Supposons que lors d'un processus de mesure du délai de transmission, la différence entre les périodes d'oscillation enregistrées par le port esclave à t6 et t3 soit de 200 périodes d'oscillation. Étant donné que la fréquence d'horloge du port maître est 4 fois supérieure à celle du port esclave, le port esclave reçoit environ 800 différences de période d'oscillation entre t5 et t4. S'il est calculé sur la base de la période d'oscillation d'horloge de 40 ns du port esclave, le délai de transmission est de -24 μs ([200x40-800x40]/2). Non seulement il n’y a aucun retard dans la transmission, mais c’est connu à l’avance, et cela ne fait aucun doute depuis le port.
En plus de l'incohérence inhérente à la fréquence d'oscillation d'horloge des ports maître et esclave, la température, le vieillissement et d'autres raisons peuvent également rendre la fréquence de l'oscillateur à cristal instable. Afin de résoudre le problème de synchronisation de fréquence, gPTP utilise la synchronisation de fréquence pour synchroniser la fréquence d'oscillation d'horloge du port esclave avec le port maître.
Messages Pdelay_Resp et Pdelay_Resp_Follow_UP du processus de mesure du délai de transmission par multiplexage synchrone en fréquence. En utilisant deux ensembles de réponses, les valeurs de t5, t6, t9 et t10 peuvent enfin être obtenues. Le rapport de fréquence du port maître-esclave peut être obtenu à partir de la formule suivante.
Lorsque les fréquences des ports maître et esclave sont synchronisées, le rapport de fréquence est égal à 1. S'il est supérieur à 1, cela signifie que le port principal fonctionne rapidement ; s'il est inférieur à 1, cela signifie que le port principal fonctionne lentement. Le port esclave ajuste sa base de temps en fonction de la valeur du rapport de fréquence pour obtenir l'horodatage correct.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!