Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Εισαγωγή

Η ιδέα της κατασκευής ενός «Ψηφιακού Υποσταθμού» στη βιομηχανία ηλεκτρικής ενέργειας απαιτεί συγχρονισμό με ακρίβεια 1 μs. Οι οικονομικές συναλλαγές απαιτούν επίσης ακρίβεια μικροδευτερόλεπτου. Σε αυτές τις εφαρμογές, η ακρίβεια χρόνου NTP δεν είναι πλέον επαρκής.

Το πρωτόκολλο συγχρονισμού PTPv2, που περιγράφεται από το πρότυπο IEEE 1588v2, επιτρέπει την ακρίβεια συγχρονισμού αρκετών δεκάδων νανοδευτερόλεπτων. Το PTPv2 σάς επιτρέπει να στέλνετε πακέτα συγχρονισμού μέσω δικτύων L2 και L3.

Οι κύριοι τομείς όπου χρησιμοποιείται το PTPv2 είναι:

  • ενέργεια;
  • εξοπλισμός ελέγχου και μέτρησης·
  • στρατιωτικό-βιομηχανικό συγκρότημα?
  • τηλεπικοινωνίες?
  • χρηματοοικονομικός τομέας.

Αυτή η ανάρτηση εξηγεί πώς λειτουργεί το πρωτόκολλο συγχρονισμού PTPv2.

Έχουμε μεγαλύτερη εμπειρία στη βιομηχανία και συχνά βλέπουμε αυτό το πρωτόκολλο σε ενεργειακές εφαρμογές. Κατά συνέπεια, θα κάνουμε την αναθεώρηση με προσοχή για ενέργεια.

Γιατί είναι απαραίτητο;

Προς το παρόν, το STO 34.01-21-004-2019 της PJSC Rosseti και το STO 56947007-29.240.10.302-2020 της PJSC FGC UES περιέχουν απαιτήσεις για την οργάνωση ενός διαύλου διεργασίας με συγχρονισμό χρόνου μέσω PTPv2.

Αυτό οφείλεται στο γεγονός ότι τα τερματικά προστασίας ρελέ και οι συσκευές μέτρησης συνδέονται με τον δίαυλο διεργασίας, οι οποίοι μεταδίδουν στιγμιαίες τιμές ρεύματος και τάσης μέσω του διαύλου διεργασίας, χρησιμοποιώντας τα λεγόμενα SV streams (multicast streams).

Οι ακροδέκτες προστασίας ρελέ χρησιμοποιούν αυτές τις τιμές για την εφαρμογή προστασίας κόλπων. Εάν η ακρίβεια των μετρήσεων του χρόνου είναι μικρή, τότε ορισμένες προστασίες ενδέχεται να λειτουργούν εσφαλμένα.

Για παράδειγμα, οι άμυνες απόλυτης επιλεκτικότητας μπορεί να πέσουν θύματα «αδύναμου» συγχρονισμού χρόνου. Συχνά η λογική τέτοιων άμυνων βασίζεται σε σύγκριση δύο ποσοτήτων. Εάν οι τιμές αποκλίνουν κατά μια αρκετά μεγάλη τιμή, τότε ενεργοποιείται η προστασία. Εάν αυτές οι τιμές μετρηθούν με χρονική ακρίβεια 1 ms, τότε μπορείτε να πάρετε μια μεγάλη διαφορά όπου οι τιμές είναι πραγματικά κανονικές εάν μετρηθούν με ακρίβεια 1 μs.

Εκδόσεις PTP

Το πρωτόκολλο PTP περιγράφηκε αρχικά το 2002 στο πρότυπο IEEE 1588-2002 και ονομαζόταν «Πρότυπο για ένα Πρωτόκολλο Συγχρονισμού Ρολογιού Ακριβείας για Συστήματα Δικτυακής Μέτρησης και Ελέγχου». Το 2008, κυκλοφόρησε το ενημερωμένο πρότυπο IEEE 1588-2008, το οποίο περιγράφει την έκδοση PTP 2. Αυτή η έκδοση του πρωτοκόλλου βελτίωσε την ακρίβεια και τη σταθερότητα, αλλά δεν διατήρησε συμβατότητα με την πρώτη έκδοση του πρωτοκόλλου. Επίσης, το 2019 κυκλοφόρησε μια έκδοση του προτύπου IEEE 1588-2019, που περιγράφει το PTP v2.1. Αυτή η έκδοση προσθέτει μικρές βελτιώσεις στο PTPv2 και είναι συμβατή με το PTPv2.

Με άλλα λόγια, έχουμε την παρακάτω εικόνα με τις εκδόσεις:

PTPv1
(IEEE 1588-2002)

PTPv2
(IEEE 1588-2008)

PTPv2.1
(IEEE 1588-2019)

PTPv1 (IEEE 1588-2002)

-
Ασυμβίβαστο

Ασυμβίβαστο

PTPv2 (IEEE 1588-2008)

Ασυμβίβαστο

-
Совместимы

PTPv2.1 (IEEE 1588-2019)

Ασυμβίβαστο

Совместимы

-

Αλλά, όπως πάντα, υπάρχουν αποχρώσεις.

Η ασυμβατότητα μεταξύ PTPv1 και PTPv2 σημαίνει ότι μια συσκευή με δυνατότητα PTPv1 δεν θα μπορεί να συγχρονιστεί με ένα ακριβές ρολόι που εκτελείται σε PTPv2. Χρησιμοποιούν διαφορετικές μορφές μηνυμάτων για συγχρονισμό.

Ωστόσο, εξακολουθεί να είναι δυνατός ο συνδυασμός συσκευών με PTPv1 και συσκευών με PTPv2 στο ίδιο δίκτυο. Για να το πετύχετε αυτό, ορισμένοι κατασκευαστές σας επιτρέπουν να επιλέξετε την έκδοση πρωτοκόλλου στις θύρες του ρολογιού άκρης. Δηλαδή, ένα οριακό ρολόι μπορεί να συγχρονιστεί χρησιμοποιώντας το PTPv2 και να συγχρονίσει και άλλα ρολόγια που είναι συνδεδεμένα σε αυτό χρησιμοποιώντας τόσο το PTPv1 όσο και το PTPv2.

Συσκευές PTP. Τι είναι και σε τι διαφέρουν;

Το πρότυπο IEEE 1588v2 περιγράφει διάφορους τύπους συσκευών. Όλα αυτά φαίνονται στον πίνακα.

Οι συσκευές επικοινωνούν μεταξύ τους μέσω LAN χρησιμοποιώντας PTP.

Οι συσκευές PTP ονομάζονται ρολόγια. Όλα τα ρολόγια παίρνουν τον ακριβή χρόνο από το ρολόι grandmaster.

Υπάρχουν 5 τύποι ρολογιών:

Ρολόι Grandmaster

Η κύρια πηγή ακριβούς χρόνου. Συχνά εξοπλισμένο με διεπαφή για σύνδεση GPS.

Κανονικό ρολόι

Μια συσκευή μίας θύρας που μπορεί να είναι κύρια (κύριο ρολόι) ή υποτελής (σκλάβο ρολόι)

Κύριο ρολόι (κύριο)

Είναι η πηγή της ακριβούς ώρας κατά την οποία συγχρονίζονται άλλα ρολόγια

Σκλάβο ρολόι

Τερματισμός συσκευής που συγχρονίζεται από το κύριο ρολόι

Οριακό ρολόι

Μια συσκευή με πολλές θύρες που μπορεί να είναι master ή slave.

Δηλαδή, αυτά τα ρολόγια μπορούν να συγχρονιστούν από το ανώτερο κύριο ρολόι και να συγχρονίσουν τα κατώτερα εξαρτημένα ρολόγια.

Διαφανές ρολόι από άκρο σε άκρο

Μια συσκευή με πολλές θύρες που δεν είναι ούτε κύριο ρολόι ούτε slave. Μεταδίδει δεδομένα PTP μεταξύ δύο ρολογιών.

Κατά τη μετάδοση δεδομένων, το διαφανές ρολόι διορθώνει όλα τα μηνύματα PTP.

Η διόρθωση πραγματοποιείται προσθέτοντας τον χρόνο καθυστέρησης σε αυτήν τη συσκευή στο πεδίο διόρθωσης στην κεφαλίδα του μεταδιδόμενου μηνύματος.

Διαφανές ρολόι Peer-to-Peer

Μια συσκευή με πολλές θύρες που δεν είναι ούτε κύριο ρολόι ούτε slave.
Μεταδίδει δεδομένα PTP μεταξύ δύο ρολογιών.

Κατά τη μετάδοση δεδομένων, το διαφανές ρολόι διορθώνει όλα τα μηνύματα PTP Sync and Follow_Up (περισσότερα για αυτά παρακάτω).

Η διόρθωση επιτυγχάνεται προσθέτοντας στο πεδίο διόρθωσης του μεταδιδόμενου πακέτου την καθυστέρηση στη συσκευή μετάδοσης και την καθυστέρηση στο κανάλι μετάδοσης δεδομένων.

Κόμβος Διαχείρισης

Μια συσκευή που διαμορφώνει και κάνει διάγνωση άλλων ρολογιών

Τα κύρια και τα βοηθητικά ρολόγια συγχρονίζονται χρησιμοποιώντας χρονικές σημάνσεις σε μηνύματα PTP. Υπάρχουν δύο τύποι μηνυμάτων στο πρωτόκολλο PTP:

  • Τα μηνύματα συμβάντων είναι συγχρονισμένα μηνύματα που περιλαμβάνουν τη δημιουργία μιας χρονικής σφραγίδας κατά τη στιγμή αποστολής του μηνύματος και τη στιγμή λήψης του.
  • Γενικά μηνύματα - Αυτά τα μηνύματα δεν απαιτούν χρονικές σημάνσεις, αλλά ενδέχεται να περιέχουν χρονικές σημάνσεις για σχετικά μηνύματα

Μηνύματα εκδήλωσης

Γενικά μηνύματα

Συγχρονισμός
Καθυστέρηση_Απαιτ
Pdelay_Req
Pdelay_Resp

Ανακοινώστε
Ακολουθω
Delay_Resp
Pdelay_Resp_Follow_Up
Κοινωνικών Δικτύων
Σηματοδότηση

Όλοι οι τύποι μηνυμάτων θα συζητηθούν λεπτομερέστερα παρακάτω.

Βασικά προβλήματα συγχρονισμού

Όταν ένα πακέτο συγχρονισμού μεταδίδεται μέσω τοπικού δικτύου, καθυστερεί στον μεταγωγέα και στη σύνδεση δεδομένων. Οποιοσδήποτε διακόπτης θα παράγει καθυστέρηση περίπου 10 μικροδευτερόλεπτων, η οποία είναι απαράδεκτη για το PTPv2. Εξάλλου, πρέπει να επιτύχουμε ακρίβεια 1 μs στην τελική συσκευή. (Αυτό είναι αν μιλάμε για ενέργεια. Άλλες εφαρμογές μπορεί να απαιτούν μεγαλύτερη ακρίβεια.)

Το IEEE 1588v2 περιγράφει αρκετούς αλγόριθμους λειτουργίας που σας επιτρέπουν να καταγράψετε τη χρονική καθυστέρηση και να τη διορθώσετε.

Αλγόριθμος της εργασίας
Κατά την κανονική λειτουργία, το πρωτόκολλο λειτουργεί σε δύο φάσεις.

  • Φάση 1 - καθιέρωση της ιεραρχίας «Κύριο Ρολόι – Ρολόι Ρολόι».
  • Φάση 2 - συγχρονισμός ρολογιού με χρήση μηχανισμού End-to-End ή Peer-to-Peer.

Φάση 1 - Καθιέρωση της Ιεραρχίας Master-Slave

Κάθε θύρα ενός κανονικού ρολογιού ή ενός ρολογιού άκρης έχει έναν ορισμένο αριθμό καταστάσεων (slave clock και master clock). Το πρότυπο περιγράφει τον αλγόριθμο μετάβασης μεταξύ αυτών των καταστάσεων. Στον προγραμματισμό, ένας τέτοιος αλγόριθμος ονομάζεται μηχανή πεπερασμένης κατάστασης ή μηχανή κατάστασης (περισσότερες λεπτομέρειες στο Wiki).

Αυτό το μηχάνημα κατάστασης χρησιμοποιεί τον αλγόριθμο Best Master Clock (BMCA) για να ρυθμίσει το master κατά τη σύνδεση δύο ρολογιών.

Αυτός ο αλγόριθμος επιτρέπει στο ρολόι να αναλάβει τις ευθύνες του ρολογιού grandmaster όταν το upstream grandmaster ρολόι χάσει το σήμα GPS, τεθεί εκτός σύνδεσης κ.λπ.

Οι μεταβάσεις καταστάσεων σύμφωνα με το BMCA συνοψίζονται στο ακόλουθο διάγραμμα:
Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Οι πληροφορίες σχετικά με το ρολόι στο άλλο άκρο του "σύρματος" αποστέλλονται σε ειδικό μήνυμα (Αναγγελία μηνύματος). Μόλις ληφθούν αυτές οι πληροφορίες, εκτελείται ο αλγόριθμος της μηχανής κατάστασης και γίνεται σύγκριση για να δούμε ποιο ρολόι είναι καλύτερο. Η θύρα στο καλύτερο ρολόι γίνεται το κύριο ρολόι.

Μια απλή ιεραρχία φαίνεται στο παρακάτω διάγραμμα. Οι διαδρομές 1, 2, 3, 4, 5 μπορεί να περιέχουν ένα Διαφανές ρολόι, αλλά δεν συμμετέχουν στη δημιουργία της ιεραρχίας Κύριου Ρολογιού - Ρολόι υποτελούς.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Φάση 2 - Συγχρονίστε κανονικά και ακραία ρολόγια

Αμέσως μετά την καθιέρωση της ιεραρχίας «Κύριο Ρολόι – Ρολόι Ρολόι», ξεκινά η φάση συγχρονισμού του κανονικού και του οριακού ρολογιού.

Για συγχρονισμό, το κύριο ρολόι στέλνει ένα μήνυμα που περιέχει μια χρονική σήμανση στα υποτελή ρολόγια.

Το κύριο ρολόι μπορεί να είναι:

  • μονο σταδιο?
  • δύο σταδίων.

Τα ρολόγια ενός σταδίου στέλνουν ένα μήνυμα Sync για συγχρονισμό.

Ένα ρολόι δύο σταδίων χρησιμοποιεί δύο μηνύματα για συγχρονισμό - Sync και Follow_Up.

Δύο μηχανισμοί μπορούν να χρησιμοποιηθούν για τη φάση συγχρονισμού:

  • Μηχανισμός καθυστέρησης αιτήματος-απόκρισης.
  • Μηχανισμός μέτρησης καθυστέρησης ομοτίμων.

Αρχικά, ας δούμε αυτούς τους μηχανισμούς στην πιο απλή περίπτωση - όταν δεν χρησιμοποιούνται διαφανή ρολόγια.

Μηχανισμός καθυστέρησης αιτήματος-απόκρισης

Ο μηχανισμός περιλαμβάνει δύο βήματα:

  1. Μέτρηση της καθυστέρησης στη μετάδοση ενός μηνύματος μεταξύ του κύριου και του βοηθητικού ρολογιού. Εκτελείται με τη χρήση μηχανισμού καθυστέρησης αιτήματος-απόκρισης.
  2. Εκτελείται διόρθωση της ακριβούς χρονικής μετατόπισης.

Μέτρηση λανθάνοντος χρόνου
Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

t1 – Ώρα αποστολής του μηνύματος Συγχρονισμού από το κύριο ρολόι. t2 – Ώρα λήψης του μηνύματος Συγχρονισμού από το βοηθητικό ρολόι. t3 – Χρόνος αποστολής του αιτήματος καθυστέρησης (Delay_Req) ​​από το slave clock. t4 – Χρόνος λήψης Delay_Req από το κύριο ρολόι.

Όταν το βοηθητικό ρολόι γνωρίζει τους χρόνους t1, t2, t3 και t4, μπορεί να υπολογίσει τη μέση καθυστέρηση κατά τη μετάδοση του μηνύματος συγχρονισμού (tmpd). Υπολογίζεται ως εξής:

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Κατά τη μετάδοση ενός μηνύματος Sync and Follow_Up, υπολογίζεται η χρονική καθυστέρηση από το master στο slave - t-ms.

Κατά τη μετάδοση μηνυμάτων Delay_Req και Delay_Resp, υπολογίζεται η χρονική καθυστέρηση από το slave στο master - t-sm.

Εάν παρουσιαστεί κάποια ασυμμετρία μεταξύ αυτών των δύο τιμών, τότε εμφανίζεται ένα σφάλμα στη διόρθωση της απόκλισης του ακριβούς χρόνου. Το σφάλμα προκαλείται από το γεγονός ότι η υπολογιζόμενη καθυστέρηση είναι ο μέσος όρος των καθυστερήσεων t-ms και t-sm. Εάν οι καθυστερήσεις δεν είναι ίσες μεταξύ τους, τότε δεν θα ρυθμίσουμε με ακρίβεια τον χρόνο.

Διόρθωση χρονικής μετατόπισης

Μόλις γίνει γνωστή η καθυστέρηση μεταξύ του κύριου ρολογιού και του δευτερεύοντος ρολογιού, το βοηθητικό ρολόι εκτελεί διόρθωση χρόνου.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Τα εξαρτημένα ρολόγια χρησιμοποιούν το μήνυμα Sync και ένα προαιρετικό μήνυμα Follow_Up για να υπολογίσουν την ακριβή μετατόπιση ώρας κατά τη μετάδοση ενός πακέτου από το κύριο στο slave ρολόγια. Η μετατόπιση υπολογίζεται χρησιμοποιώντας τον ακόλουθο τύπο:

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μηχανισμός μέτρησης καθυστέρησης ομοτίμων

Αυτός ο μηχανισμός χρησιμοποιεί επίσης δύο βήματα για συγχρονισμό:

  1. Οι συσκευές μετρούν τη χρονική καθυστέρηση σε όλους τους γείτονες μέσω όλων των θυρών. Για να το κάνουν αυτό χρησιμοποιούν έναν μηχανισμό καθυστέρησης ομότιμων.
  2. Διόρθωση της ακριβούς χρονικής μετατόπισης.

Μέτρηση καθυστέρησης μεταξύ συσκευών που υποστηρίζουν τη λειτουργία Peer-to-Peer

Η καθυστέρηση μεταξύ των θυρών που υποστηρίζουν τον μηχανισμό peer-to-peer μετράται χρησιμοποιώντας τα ακόλουθα μηνύματα:

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Όταν η θύρα 1 γνωρίζει τους χρόνους t1, t2, t3 και t4, μπορεί να υπολογίσει τη μέση καθυστέρηση (tmld). Υπολογίζεται χρησιμοποιώντας τον ακόλουθο τύπο:

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Στη συνέχεια, η θύρα χρησιμοποιεί αυτήν την τιμή κατά τον υπολογισμό του πεδίου προσαρμογής για κάθε μήνυμα Sync ή προαιρετικό μήνυμα Follow_Up που περνά από τη συσκευή.

Η συνολική καθυστέρηση θα είναι ίση με το άθροισμα της καθυστέρησης κατά τη μετάδοση μέσω αυτής της συσκευής, τη μέση καθυστέρηση κατά τη μετάδοση μέσω του καναλιού δεδομένων και την καθυστέρηση που περιέχεται ήδη σε αυτό το μήνυμα, που είναι ενεργοποιημένη σε συσκευές ανάντη.

Τα μηνύματα Pdelay_Req, Pdelay_Resp και προαιρετικά Pdelay_Resp_Follow_Up σάς επιτρέπουν να λαμβάνετε την καθυστέρηση από master σε slave και από slave σε master (κυκλική).

Οποιαδήποτε ασυμμετρία μεταξύ αυτών των δύο τιμών θα εισάγει ένα σφάλμα διόρθωσης χρονικής μετατόπισης.

Ρύθμιση της ακριβούς χρονικής μετατόπισης

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Τα υποτελή ρολόγια χρησιμοποιούν ένα μήνυμα Sync και ένα προαιρετικό μήνυμα Follow_Up για να υπολογίσουν την ακριβή μετατόπιση ώρας κατά τη μετάδοση ενός πακέτου από το κύριο στο slave ρολόγια. Η μετατόπιση υπολογίζεται χρησιμοποιώντας τον ακόλουθο τύπο:

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Πλεονεκτήματα προσαρμογής του μηχανισμού peer-to-peer - η χρονική καθυστέρηση κάθε μηνύματος Sync ή Follow_Up υπολογίζεται καθώς μεταδίδεται στο δίκτυο. Κατά συνέπεια, η αλλαγή της διαδρομής μετάδοσης δεν θα επηρεάσει σε καμία περίπτωση την ακρίβεια της ρύθμισης.

Κατά τη χρήση αυτού του μηχανισμού, ο συγχρονισμός χρόνου δεν απαιτεί τον υπολογισμό της χρονικής καθυστέρησης κατά μήκος της διαδρομής που διανύει το πακέτο συγχρονισμού, όπως γίνεται στη βασική ανταλλαγή. Εκείνοι. Τα μηνύματα Delay_Req και Delay_Resp δεν αποστέλλονται. Σε αυτήν τη μέθοδο, η καθυστέρηση μεταξύ του κύριου και του υποτελούς ρολογιού αθροίζεται απλώς στο πεδίο προσαρμογής κάθε μηνύματος Συγχρονισμός ή Παρακολούθηση.

Ένα άλλο πλεονέκτημα είναι ότι το κύριο ρολόι απαλλάσσεται από την ανάγκη επεξεργασίας μηνυμάτων Delay_Req.

Τρόποι λειτουργίας διαφανών ρολογιών

Συνεπώς, αυτά ήταν απλά παραδείγματα. Τώρα ας υποθέσουμε ότι εμφανίζονται διακόπτες στη διαδρομή συγχρονισμού.

Εάν χρησιμοποιείτε διακόπτες χωρίς υποστήριξη PTPv2, το πακέτο συγχρονισμού θα καθυστερήσει στο μεταγωγέα κατά περίπου 10 μs.

Οι διακόπτες που υποστηρίζουν PTPv2 ονομάζονται Διαφανή ρολόγια στην ορολογία IEEE 1588v2. Τα διαφανή ρολόγια δεν συγχρονίζονται από το κύριο ρολόι και δεν συμμετέχουν στην ιεραρχία «Κύριο ρολόι - ρολόι υποτελούς», αλλά κατά τη μετάδοση μηνυμάτων συγχρονισμού θυμούνται πόσο καιρό καθυστέρησε το μήνυμα από αυτά. Αυτό σας επιτρέπει να προσαρμόσετε τη χρονική καθυστέρηση.

Τα διαφανή ρολόγια μπορούν να λειτουργήσουν σε δύο τρόπους:

  • Από άκρη σε άκρη.
  • Peer to peer.

Από άκρο σε άκρο (E2E)

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Το διαφανές ρολόι E2E μεταδίδει μηνύματα Sync και συνοδευτικά μηνύματα Follow_Up σε όλες τις θύρες. Ακόμη και αυτά που μπλοκάρονται από ορισμένα πρωτόκολλα (για παράδειγμα, RSTP).

Ο διακόπτης θυμάται τη χρονική σήμανση όταν ελήφθη ένα πακέτο Sync (Follow_Up) στη θύρα και πότε στάλθηκε από τη θύρα. Με βάση αυτές τις δύο χρονικές σημάνσεις, υπολογίζεται ο χρόνος που χρειάζεται ο διακόπτης για να επεξεργαστεί το μήνυμα. Στο πρότυπο, ο χρόνος αυτός ονομάζεται χρόνος παραμονής.

Ο χρόνος επεξεργασίας προστίθεται στο πεδίο correctionField του μηνύματος Sync (ρολόι ενός βήματος) ή Follow_Up (ρολόι δύο βημάτων).

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Το διαφανές ρολόι E2E μετρά τον χρόνο επεξεργασίας των μηνυμάτων Sync και Delay_Req που περνούν από το διακόπτη. Αλλά είναι σημαντικό να κατανοήσουμε ότι η χρονική καθυστέρηση μεταξύ του κύριου ρολογιού και του υποτελούς ρολογιού υπολογίζεται χρησιμοποιώντας τον μηχανισμό καθυστέρησης αίτησης-απόκρισης. Εάν αλλάξει το κύριο ρολόι ή αλλάξει η διαδρομή από το κύριο ρολόι στο βοηθητικό ρολόι, η καθυστέρηση μετράται ξανά. Αυτό αυξάνει τον χρόνο μετάβασης σε περίπτωση αλλαγής δικτύου.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Το διαφανές ρολόι P2P, εκτός από τη μέτρηση του χρόνου που χρειάζεται ένας διακόπτης για να επεξεργαστεί ένα μήνυμα, μετρά την καθυστέρηση στη σύνδεση δεδομένων με τον πλησιέστερο γείτονά του χρησιμοποιώντας έναν μηχανισμό λανθάνουσας κατάστασης γειτόνων.

Η καθυστέρηση μετράται σε κάθε σύνδεσμο και προς τις δύο κατευθύνσεις, συμπεριλαμβανομένων των συνδέσμων που αποκλείονται από κάποιο πρωτόκολλο (όπως το RSTP). Αυτό σας επιτρέπει να υπολογίσετε αμέσως τη νέα καθυστέρηση στη διαδρομή συγχρονισμού, εάν αλλάξει το ρολόι του μεγάλου master ή η τοπολογία του δικτύου.

Ο χρόνος επεξεργασίας μηνυμάτων με διακόπτες και ο λανθάνοντας χρόνος συσσωρεύονται κατά την αποστολή μηνυμάτων Sync ή Follow_Up.

Τύποι υποστήριξης PTPv2 με διακόπτες

Οι διακόπτες μπορούν να υποστηρίξουν PTPv2:

  • προγραμματικά?
  • σκεύη, εξαρτήματα.

Κατά την εφαρμογή του πρωτοκόλλου PTPv2 σε λογισμικό, ο διακόπτης ζητά μια χρονική σήμανση από το υλικολογισμικό. Το πρόβλημα είναι ότι το υλικολογισμικό λειτουργεί κυκλικά και θα πρέπει να περιμένετε μέχρι να ολοκληρώσει τον τρέχοντα κύκλο, να λάβει το αίτημα για επεξεργασία και να εκδώσει μια χρονική σήμανση μετά τον επόμενο κύκλο. Αυτό θα πάρει επίσης χρόνο και θα έχουμε μια καθυστέρηση, αν και όχι τόσο σημαντική όσο χωρίς υποστήριξη λογισμικού για PTPv2.

Μόνο η υποστήριξη υλικού για το PTPv2 σάς επιτρέπει να διατηρείτε την απαιτούμενη ακρίβεια. Σε αυτή την περίπτωση, η χρονική σφραγίδα εκδίδεται από ειδικό ASIC εγκατεστημένο στη θύρα.

Μορφή μηνύματος

Όλα τα μηνύματα PTP αποτελούνται από τα ακόλουθα πεδία:

  • Κεφαλίδα – 34 byte.
  • Σώμα – το μέγεθος εξαρτάται από τον τύπο του μηνύματος.
  • Το επίθημα είναι προαιρετικό.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

επικεφαλίδα

Το πεδίο Κεφαλίδα είναι το ίδιο για όλα τα μηνύματα PTP. Το μέγεθός του είναι 34 byte.

Μορφή πεδίου κεφαλίδας:

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Τύπος μηνύματος – περιέχει τον τύπο του μηνύματος που μεταδίδεται, για παράδειγμα Sync, Delay_Req, PDelay_Req, κ.λπ.

Μήκος μηνύματος – περιέχει το πλήρες μέγεθος του μηνύματος PTP, συμπεριλαμβανομένης της κεφαλίδας, του σώματος και του επιθέματος (αλλά εξαιρουμένων των byte συμπλήρωσης).

Αριθμός τομέα – καθορίζει σε ποιον τομέα PTP ανήκει το μήνυμα.

Όνομα τομέα - αυτά είναι πολλά διαφορετικά ρολόγια που συλλέγονται σε μια λογική ομάδα και συγχρονίζονται από ένα κύριο ρολόι, αλλά δεν είναι απαραίτητα συγχρονισμένα με ρολόγια που ανήκουν σε διαφορετικό τομέα.

σημαίες – Αυτό το πεδίο περιέχει διάφορες σημαίες για την αναγνώριση της κατάστασης του μηνύματος.

διόρθωσηΠεδίο – περιέχει το χρόνο καθυστέρησης σε νανοδευτερόλεπτα. Ο χρόνος καθυστέρησης περιλαμβάνει την καθυστέρηση κατά τη μετάδοση μέσω του διαφανούς ρολογιού, καθώς και την καθυστέρηση κατά τη μετάδοση μέσω του καναλιού κατά τη χρήση της λειτουργίας Peer-to-Peer.

sourcePortIdentity – αυτό το πεδίο περιέχει πληροφορίες σχετικά με τη θύρα από την οποία στάλθηκε αρχικά αυτό το μήνυμα.

sequenceID – περιέχει έναν αριθμό αναγνώρισης για μεμονωμένα μηνύματα.

Πεδίο ελέγχου – πεδίο artifact =) Απομένει από την πρώτη έκδοση του προτύπου και περιέχει πληροφορίες σχετικά με τον τύπο αυτού του μηνύματος. Ουσιαστικά το ίδιο με το messageType, αλλά με λιγότερες επιλογές.

logMessageInterval – αυτό το πεδίο καθορίζεται από τον τύπο μηνύματος.

Σώμα

Όπως αναφέρθηκε παραπάνω, υπάρχουν διάφοροι τύποι μηνυμάτων. Αυτοί οι τύποι περιγράφονται παρακάτω:

Μήνυμα ανακοίνωσης
Το μήνυμα Αναγγελία χρησιμοποιείται για να "ενημερωθεί" σε άλλα ρολόγια στον ίδιο τομέα σχετικά με τις παραμέτρους του. Αυτό το μήνυμα σάς επιτρέπει να ρυθμίσετε μια ιεραρχία Master Clock - Slave Clock.
Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Συγχρονισμός μηνύματος
Το μήνυμα Sync αποστέλλεται από το κύριο ρολόι και περιέχει την ώρα του κύριου ρολογιού τη στιγμή που δημιουργήθηκε το μήνυμα Sync. Εάν το κύριο ρολόι είναι δύο σταδίων, τότε η χρονική σήμανση στο μήνυμα Sync θα οριστεί σε 0 και η τρέχουσα χρονική σήμανση θα σταλεί στο σχετικό μήνυμα Follow_Up. Το μήνυμα Sync χρησιμοποιείται και για τους δύο μηχανισμούς μέτρησης λανθάνοντος χρόνου.

Το μήνυμα μεταδίδεται χρησιμοποιώντας Multicast. Προαιρετικά μπορείτε να χρησιμοποιήσετε το Unicast.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μήνυμα Delay_Req

Η μορφή του μηνύματος Delay_Req είναι πανομοιότυπη με το μήνυμα Sync. Το slave clock στέλνει Delay_Req. Περιέχει την ώρα αποστολής του Delay_Req από το slave clock. Αυτό το μήνυμα χρησιμοποιείται μόνο για τον μηχανισμό καθυστέρησης αιτήματος-απόκρισης.

Το μήνυμα μεταδίδεται χρησιμοποιώντας Multicast. Προαιρετικά μπορείτε να χρησιμοποιήσετε το Unicast.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μήνυμα follow_Up

Το μήνυμα Follow_Up αποστέλλεται προαιρετικά από το κύριο ρολόι και περιέχει την ώρα αποστολής Συγχρονισμός μηνυμάτων κύριος. Μόνο τα κύρια ρολόγια δύο σταδίων στέλνουν το μήνυμα Follow_Up.

Το μήνυμα Follow_Up χρησιμοποιείται και για τους δύο μηχανισμούς μέτρησης λανθάνοντος χρόνου.

Το μήνυμα μεταδίδεται χρησιμοποιώντας Multicast. Προαιρετικά μπορείτε να χρησιμοποιήσετε το Unicast.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μήνυμα Delay_Resp

Το μήνυμα Delay_Resp αποστέλλεται από το κύριο ρολόι. Περιέχει την ώρα λήψης του Delay_Req από το κύριο ρολόι. Αυτό το μήνυμα χρησιμοποιείται μόνο για τον μηχανισμό καθυστέρησης αιτήματος-απόκρισης.

Το μήνυμα μεταδίδεται χρησιμοποιώντας Multicast. Προαιρετικά μπορείτε να χρησιμοποιήσετε το Unicast.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μήνυμα Pdelay_Req

Το μήνυμα Pdelay_Req αποστέλλεται από μια συσκευή που ζητά καθυστέρηση. Περιέχει την ώρα που στάλθηκε το μήνυμα από τη θύρα αυτής της συσκευής. Το Pdelay_Req χρησιμοποιείται μόνο για τον μηχανισμό μέτρησης καθυστέρησης γείτονα.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μήνυμα Pdelay_Resp

Το μήνυμα Pdelay_Resp αποστέλλεται από μια συσκευή που έχει λάβει αίτημα καθυστέρησης. Περιέχει την ώρα λήψης του μηνύματος Pdelay_Req από αυτήν τη συσκευή. Το μήνυμα Pdelay_Resp χρησιμοποιείται μόνο για τον μηχανισμό μέτρησης καθυστέρησης γείτονα.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μήνυμα Pdelay_Resp_Follow_Up

Το μήνυμα Pdelay_Resp_Follow_Up αποστέλλεται προαιρετικά από τη συσκευή που έχει λάβει το αίτημα καθυστέρησης. Περιέχει την ώρα λήψης του μηνύματος Pdelay_Req από αυτήν τη συσκευή. Το μήνυμα Pdelay_Resp_Follow_Up αποστέλλεται μόνο από κύρια ρολόγια δύο σταδίων.

Αυτό το μήνυμα μπορεί επίσης να χρησιμοποιηθεί για χρόνο εκτέλεσης αντί για χρονική σήμανση. Ο χρόνος εκτέλεσης είναι ο χρόνος από τη στιγμή που λαμβάνεται το Pdelay-Req μέχρι την αποστολή του Pdelay_Resp.

Το Pdelay_Resp_Follow_Up χρησιμοποιούνται μόνο για τον μηχανισμό μέτρησης καθυστέρησης γειτόνων.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μηνύματα διαχείρισης

Απαιτούνται μηνύματα ελέγχου PTP για τη μεταφορά πληροφοριών μεταξύ ενός ή περισσότερων ρολογιών και του κόμβου ελέγχου.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Μεταφορά στο LV

Ένα μήνυμα PTP μπορεί να μεταδοθεί σε δύο επίπεδα:

  • Δίκτυο – ως μέρος των δεδομένων IP.
  • Κανάλι – ως μέρος ενός πλαισίου Ethernet.

Μετάδοση μηνυμάτων PTP μέσω UDP μέσω IP μέσω Ethernet

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

PTP μέσω UDP μέσω Ethernet

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Προφίλ

Το PTP έχει πολλές ευέλικτες παραμέτρους που πρέπει να ρυθμιστούν. Για παράδειγμα:

  • Επιλογές BMCA.
  • Μηχανισμός μέτρησης καθυστέρησης.
  • Διαστήματα και αρχικές τιμές όλων των διαμορφώσιμων παραμέτρων κ.λπ.

Και παρά το γεγονός ότι προηγουμένως είπαμε ότι οι συσκευές PTPv2 είναι συμβατές μεταξύ τους, αυτό δεν είναι αλήθεια. Οι συσκευές πρέπει να έχουν τις ίδιες ρυθμίσεις για να επικοινωνούν.

Γι' αυτό υπάρχουν τα λεγόμενα προφίλ PTPv2. Τα προφίλ είναι ομάδες διαμορφωμένων ρυθμίσεων και καθορισμένων περιορισμών πρωτοκόλλου έτσι ώστε να μπορεί να εφαρμοστεί ο συγχρονισμός χρόνου για μια συγκεκριμένη εφαρμογή.

Το ίδιο το πρότυπο IEEE 1588v2 περιγράφει μόνο ένα προφίλ - το "Προεπιλεγμένο προφίλ". Όλα τα άλλα προφίλ δημιουργούνται και περιγράφονται από διάφορους οργανισμούς και ενώσεις.

Για παράδειγμα, το Power Profile, ή PTPv2 Power Profile, δημιουργήθηκε από την Power Systems Relaying Committee και την Substation Committee της IEEE Power and Energy Society. Το ίδιο το προφίλ ονομάζεται IEEE C37.238-2011.

Το προφίλ περιγράφει ότι το PTP μπορεί να μεταφερθεί:

  • Μόνο μέσω δικτύων L2 (π.χ. Ethernet, HSR, PRP, μη IP).
  • Τα μηνύματα μεταδίδονται μόνο μέσω Multicast μετάδοσης.
  • Ο μηχανισμός μέτρησης καθυστέρησης ομοτίμων χρησιμοποιείται ως μηχανισμός μέτρησης καθυστέρησης.

Ο προεπιλεγμένος τομέας είναι 0, ο προτεινόμενος τομέας είναι 93.

Η φιλοσοφία σχεδιασμού του C37.238-2011 ήταν η μείωση του αριθμού των προαιρετικών χαρακτηριστικών και η διατήρηση μόνο των απαραίτητων λειτουργιών για αξιόπιστη αλληλεπίδραση μεταξύ συσκευών και αυξημένη σταθερότητα του συστήματος.

Επίσης, προσδιορίζεται η συχνότητα μετάδοσης του μηνύματος:

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Στην πραγματικότητα, μόνο μία παράμετρος είναι διαθέσιμη για επιλογή - ο τύπος του κύριου ρολογιού (μονοστάδιο ή δύο σταδίων).

Η ακρίβεια δεν πρέπει να είναι μεγαλύτερη από 1 μs. Με άλλα λόγια, μια διαδρομή συγχρονισμού μπορεί να περιέχει το πολύ 15 διαφανή ρολόγια ή τρία οριακά ρολόγια.

Λεπτομέρειες υλοποίησης του πρωτοκόλλου συγχρονισμού χρόνου PTPv2

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο