PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

įvedimas

„Skaitmeninės pastotės“ statybos elektros energijos pramonėje koncepcija reikalauja sinchronizavimo 1 μs tikslumu. Finansinėms operacijoms taip pat reikalingas mikrosekundžių tikslumas. Šiose programose NTP laiko tikslumo nebepakanka.

PTPv2 sinchronizacijos protokolas, aprašytas IEEE 1588v2 standarto, leidžia sinchronizuoti kelių dešimčių nanosekundžių tikslumą. PTPv2 leidžia siųsti sinchronizavimo paketus L2 ir L3 tinklais.

Pagrindinės sritys, kuriose naudojamas PTPv2, yra šios:

  • energija;
  • valdymo ir matavimo įranga;
  • karinis-pramoninis kompleksas;
  • telekomunikacijos;
  • finansų sektoriuje.

Šiame įraše paaiškinama, kaip veikia PTPv2 sinchronizavimo protokolas.

Turime daugiau patirties pramonėje ir dažnai matome šį protokolą energetikos srityse. Todėl peržiūrą atliksime atsargiai už energiją.

Kodėl tai būtina?

Šiuo metu PJSC „Rosseti“ STO 34.01-21-004-2019 ir PJSC FGC UES STO 56947007-29.240.10.302-2020 pateikti reikalavimai organizuoti proceso magistralę su laiko sinchronizavimu per PTPv2.

Taip yra dėl to, kad prie proceso magistralės yra prijungti relinės apsaugos gnybtai ir matavimo prietaisai, kurie per proceso magistralę perduoda momentines srovės ir įtampos vertes, naudojant vadinamuosius SV srautus (multicast streams).

Relinės apsaugos gnybtai naudoja šias vertes, kad įgyvendintų skyriaus apsaugą. Jei laiko matavimo tikslumas mažas, kai kurios apsaugos gali veikti klaidingai.

Pavyzdžiui, absoliutaus selektyvumo apsauga gali tapti „silpnos“ laiko sinchronizacijos aukomis. Dažnai tokios gynybos logika grindžiama dviejų dydžių palyginimu. Jei reikšmės skiriasi pakankamai didele verte, suveikia apsauga. Jei šios vertės matuojamos 1 ms laiko tikslumu, galite gauti didelį skirtumą, kai vertės iš tikrųjų yra normalios, jei matuojamos 1 μs tikslumu.

PTP versijos

Iš pradžių PTP protokolas buvo aprašytas 2002 m. IEEE 1588-2002 standarte ir vadinosi „Tinklo matavimo ir valdymo sistemų tikslaus laikrodžio sinchronizavimo protokolo standartas“. 2008 m. buvo išleistas atnaujintas IEEE 1588-2008 standartas, kuriame aprašoma PTP 2 versija. Ši protokolo versija pagerino tikslumą ir stabilumą, tačiau neišlaikė atgalinio suderinamumo su pirmąja protokolo versija. Taip pat 2019 m. buvo išleista IEEE 1588-2019 standarto versija, aprašanti PTP v2.1. Ši versija prideda nedidelių PTPv2 patobulinimų ir yra suderinama su PTPv2.

Kitaip tariant, turime tokį paveikslėlį su versijomis:

PTPv1
(IEEE 1588-2002)

PTPv2
(IEEE 1588-2008)

PTPv2.1
(IEEE 1588-2019)

PTPv1 (IEEE 1588-2002)

-
Nesuderinama

Nesuderinama

PTPv2 (IEEE 1588-2008)

Nesuderinama

-
Suderinamas

PTPv2.1 (IEEE 1588-2019)

Nesuderinama

Suderinamas

-

Tačiau, kaip visada, yra niuansų.

PTPv1 ir PTPv2 nesuderinamumas reiškia, kad įrenginys, kuriame įgalintas PTPv1, negalės sinchronizuoti su tiksliu laikrodžiu, veikiančiu PTPv2. Sinchronizuoti jie naudoja skirtingus pranešimų formatus.

Tačiau vis tiek galima sujungti įrenginius su PTPv1 ir įrenginius su PTPv2 tame pačiame tinkle. Norėdami tai pasiekti, kai kurie gamintojai leidžia pasirinkti protokolo versiją kraštinių laikrodžių prievaduose. Tai yra, ribinis laikrodis gali sinchronizuoti naudojant PTPv2 ir vis tiek sinchronizuoti kitus laikrodžius, prijungtus prie jo, naudojant tiek PTPv1, tiek PTPv2.

PTP įrenginiai. Kas jie yra ir kuo jie skiriasi?

IEEE 1588v2 standartas apibūdina kelių tipų įrenginius. Visi jie pateikti lentelėje.

Įrenginiai bendrauja tarpusavyje per LAN naudodami PTP.

PTP įrenginiai vadinami laikrodžiais. Visi laikrodžiai paima tikslų laiką iš didžiojo meistro laikrodžio.

Yra 5 laikrodžių tipai:

Grandmaster laikrodis

Pagrindinis tikslaus laiko šaltinis. Dažnai įrengta GPS prijungimo sąsaja.

Įprastas laikrodis

Vieno prievado įrenginys, kuris gali būti pagrindinis (pagrindinis laikrodis) arba pavaldinis (pagalbinis laikrodis)

Pagrindinis laikrodis (pagrindinis)

Jie yra tikslaus laiko, pagal kurį sinchronizuojami kiti laikrodžiai, šaltinis

Vergas laikrodis

Galutinis įrenginys, sinchronizuojamas iš pagrindinio laikrodžio

Ribinis laikrodis

Įrenginys su keliais prievadais, kurie gali būti pagrindinis arba pagalbinis.

Tai reiškia, kad šie laikrodžiai gali sinchronizuoti su aukštesniuoju pagrindiniu laikrodžiu ir sinchronizuoti prastesnius pagalbinius laikrodžius.

Skaidrus laikrodis nuo galo iki galo

Įrenginys su keliais prievadais, kuris nėra nei pagrindinis, nei pagalbinis laikrodis. Jis perduoda PTP duomenis tarp dviejų laikrodžių.

Perduodant duomenis skaidrus laikrodis pataiso visus PTP pranešimus.

Koregavimas atliekamas pridedant delsos laiką šiame įrenginyje į pataisos lauką siunčiamo pranešimo antraštėje.

„Peer-to-Peer“ skaidrus laikrodis

Įrenginys su keliais prievadais, kuris nėra nei pagrindinis, nei pagalbinis laikrodis.
Jis perduoda PTP duomenis tarp dviejų laikrodžių.

Perduodant duomenis skaidrus laikrodis pataiso visus PTP pranešimus Sync ir Follow_Up (apie juos plačiau žemiau).

Koregavimas pasiekiamas į perduodamo paketo pataisos lauką pridedant uždelsimą siunčiančiame įrenginyje ir vėlavimą duomenų perdavimo kanale.

Valdymo mazgas

Prietaisas, kuris konfigūruoja ir diagnozuoja kitus laikrodžius

Pagrindiniai ir pavaldūs laikrodžiai sinchronizuojami naudojant laiko žymes PTP pranešimuose. PTP protokole yra dviejų tipų pranešimai:

  • Įvykių pranešimai yra sinchronizuoti pranešimai, kurių metu generuojama laiko žyma žinutės išsiuntimo ir gavimo metu.
  • Bendrieji pranešimai – šiems pranešimams nereikia laiko žymų, bet gali būti susijusių pranešimų laiko žymos

Įvykio pranešimai

Bendrosios žinutės

Sinchronizuoti
Delay_Req
Pdelay_Req
Pdelay_Resp

Paskelbk
Sekti
Delay_Resp
Pdelay_Resp_Follow_Up
valdymas
Signalizacija

Visų tipų žinutės bus išsamiau aptartos toliau.

Pagrindinės sinchronizavimo problemos

Kai sinchronizacijos paketas perduodamas vietiniu tinklu, jis uždelsiamas jungiklyje ir duomenų jungtyje. Bet koks jungiklis sukels maždaug 10 mikrosekundžių delsą, o tai nepriimtina naudojant PTPv2. Galų gale, galutiniame įrenginyje turime pasiekti 1 μs tikslumą. (Tai yra, jei kalbame apie energiją. Kitoms programoms gali prireikti didesnio tikslumo.)

IEEE 1588v2 aprašo kelis veikimo algoritmus, kurie leidžia įrašyti laiko delsą ir ją ištaisyti.

Darbo algoritmas
Įprasto veikimo metu protokolas veikia dviem etapais.

  • 1 etapas – „Pagrindinio laikrodžio – vergo laikrodžio“ hierarchijos nustatymas.
  • 2 fazė – laikrodžio sinchronizavimas naudojant End-to-End arba Peer-to-Peer mechanizmą.

1 etapas. Pagrindinio ir vergo hierarchijos nustatymas

Kiekvienas įprasto arba krašto laikrodžio prievadas turi tam tikrą skaičių būsenų (pagalbinis laikrodis ir pagrindinis laikrodis). Standartas aprašo perėjimo tarp šių būsenų algoritmą. Programavime toks algoritmas vadinamas baigtinių būsenų mašina arba būsenos mašina (plačiau Wiki).

Ši būsenos mašina naudoja geriausią pagrindinio laikrodžio algoritmą (BMCA), kad nustatytų pagrindinį laikrodį, kai sujungiami du laikrodžiai.

Šis algoritmas leidžia laikrodžiui perimti didžiojo meistro laikrodžio pareigas, kai prieš srovę esantis didmeistris praranda GPS signalą, atsijungia ir pan.

Būsenų perėjimai pagal BMCA apibendrinti šioje diagramoje:
PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Informacija apie laikrodį kitame „laidelio“ gale siunčiama specialia žinute (Announce message). Kai ši informacija gaunama, paleidžiamas būsenos mašinos algoritmas ir palyginamas, kuris laikrodis yra geresnis. Geriausio laikrodžio prievadas tampa pagrindiniu laikrodžiu.

Paprasta hierarchija parodyta žemiau esančioje diagramoje. 1, 2, 3, 4, 5 keliuose gali būti skaidrus laikrodis, tačiau jie nedalyvauja nustatant pagrindinio laikrodžio – vergo laikrodžio hierarchiją.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

2 fazė – sinchronizuokite įprastus ir kraštinius laikrodžius

Iškart nustačius hierarchiją „Pagrindinis laikrodis – Vergas laikrodis“, prasideda įprastų ir ribinių laikrodžių sinchronizavimo fazė.

Norėdami sinchronizuoti, pagrindinis laikrodis siunčia pranešimą su laiko žyma pagalbiniams laikrodžiams.

Pagrindinis laikrodis gali būti:

  • vienos pakopos;
  • dviejų pakopų.

Vieno etapo laikrodžiai sinchronizuoja vieną sinchronizavimo pranešimą.

Dviejų pakopų laikrodis sinchronizavimui naudoja du pranešimus – Sync ir Follow_Up.

Sinchronizacijos fazei gali būti naudojami du mechanizmai:

  • Užklausos-atsakymo uždelsimo mechanizmas.
  • Bendraamžių vėlavimo matavimo mechanizmas.

Pirmiausia pažvelkime į šiuos mechanizmus paprasčiausiu atveju – kai nenaudojami permatomi laikrodžiai.

Užklausos-atsakymo uždelsimo mechanizmas

Mechanizmas susideda iš dviejų etapų:

  1. Pranešimo perdavimo tarp pagrindinio ir pavaldinio laikrodžio delsos matavimas. Atliekama naudojant uždelsimo užklausos-atsakymo mechanizmą.
  2. Atliekama tikslaus laiko poslinkio korekcija.

Latencijos matavimas
PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

t1 – Pagrindinio laikrodžio sinchronizavimo pranešimo išsiuntimo laikas; t2 – sinchronizavimo pranešimo priėmimo laikas pagal pavaldų laikrodį; t3 – pavaldaus laikrodžio uždelsimo užklausos (Delay_Req) ​​siuntimo laikas; t4 – Delay_Req priėmimo laikas pagal pagrindinį laikrodį.

Kai pagalbinis laikrodis žino laikus t1, t2, t3 ir t4, jis gali apskaičiuoti vidutinį delsą siųsdamas sinchronizacijos pranešimą (tmpd). Jis apskaičiuojamas taip:

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Perduodant Sync ir Follow_Up pranešimą, skaičiuojamas laiko delsa nuo pagrindinio iki pavaldinio – t-ms.

Perduodant Delay_Req ir Delay_Resp pranešimus, skaičiuojamas laiko delsa nuo vergo iki pagrindinio - t-sm.

Jei tarp šių dviejų reikšmių atsiranda tam tikra asimetrija, atsiranda klaida taisant tikslaus laiko nuokrypį. Klaida atsiranda dėl to, kad apskaičiuotas vėlavimas yra t-ms ir t-sm vėlavimų vidurkis. Jeigu vėlavimai nelygūs vienas kitam, tai laiko tiksliai koreguosime.

Laiko poslinkio korekcija

Kai yra žinomas delsimas tarp pagrindinio laikrodžio ir pavaldinio laikrodžio, pagalbinis laikrodis atlieka laiko korekciją.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Pagalbiniai laikrodžiai naudoja sinchronizavimo pranešimą ir pasirenkamą Follow_Up pranešimą, kad apskaičiuotų tikslų laiko poslinkį perduodant paketą iš pagrindinio į pavaldinius laikrodžius. Poslinkis apskaičiuojamas pagal šią formulę:

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Bendraamžių vėlavimo matavimo mechanizmas

Šis mechanizmas taip pat naudoja du sinchronizavimo veiksmus:

  1. Prietaisai matuoja laiko delsą visiems kaimynams per visus prievadus. Norėdami tai padaryti, jie naudoja tarpusavio delsimo mechanizmą.
  2. Tikslaus laiko poslinkio korekcija.

Matuojamas delsos tarp įrenginių, kurie palaiko lygiaverčio ryšio režimą

Vėlavimas tarp prievadų, palaikančių lygiavertį mechanizmą, matuojamas naudojant šiuos pranešimus:

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Kai 1 prievadas žino laikus t1, t2, t3 ir t4, jis gali apskaičiuoti vidutinį delsą (tmld). Jis apskaičiuojamas pagal šią formulę:

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Tada prievadas naudoja šią reikšmę apskaičiuodamas kiekvieno per įrenginį perduodamo sinchronizavimo pranešimo arba pasirenkamo stebėjimo pranešimo koregavimo lauką.

Bendra delsa bus lygi delsos, perduodamos per šį įrenginį, vidutinės delsos, perduodamos duomenų kanalu, ir šiame pranešime jau nurodytos delsos sumai, įjungtam prieš srovę esančiuose įrenginiuose.

Pranešimai Pdelay_Req, Pdelay_Resp ir pasirenkami Pdelay_Resp_Follow_Up leidžia jums gauti delsą iš pagrindinio į pavaldų ir iš pavaldinio į pagrindinį (apvalus).

Bet kokia šių dviejų reikšmių asimetrija sukels laiko poslinkio korekcijos klaidą.

Tikslaus laiko poslinkio reguliavimas

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Pavaldūs laikrodžiai naudoja sinchronizavimo pranešimą ir pasirenkamą pranešimą „Follow_Up“, kad apskaičiuotų tikslų laiko poslinkį perduodant paketą iš pagrindinio į pavaldinius laikrodžius. Poslinkis apskaičiuojamas pagal šią formulę:

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Peer-to-peer mechanizmo koregavimo pranašumai – kiekvieno Sync arba Follow_Up pranešimo laiko delsa skaičiuojama, kai jis perduodamas tinkle. Vadinasi, perdavimo kelio keitimas jokiu būdu neturės įtakos reguliavimo tikslumui.

Naudojant šį mechanizmą, sinchronizuojant laiką nereikia skaičiuoti laiko delsos kelyje, kurį eina sinchronizavimo paketas, kaip tai daroma pagrindiniame mainuose. Tie. Delay_Req ir Delay_Resp pranešimai nesiunčiami. Taikant šį metodą, uždelsimas tarp pagrindinio ir pavaldinio laikrodžių tiesiog susumuojamas kiekvieno sinchronizavimo arba sekimo pranešimo reguliavimo lauke.

Kitas privalumas yra tas, kad pagrindinis laikrodis yra atleidžiamas nuo būtinybės apdoroti Delay_Req pranešimus.

Skaidrių laikrodžių veikimo režimai

Atitinkamai, tai buvo paprasti pavyzdžiai. Dabar tarkime, kad sinchronizavimo kelyje atsiranda jungikliai.

Jei naudojate jungiklius be PTPv2 palaikymo, sinchronizavimo paketas jungiklyje bus atidėtas maždaug 10 μs.

PTPv2 palaikantys jungikliai IEEE 1588v2 terminologijoje vadinami skaidriais laikrodžiais. Skaidrūs laikrodžiai nėra sinchronizuojami nuo pagrindinio laikrodžio ir nedalyvauja hierarchijoje „Pagrindinis laikrodis - Vergas laikrodis“, tačiau perduodami sinchronizavimo pranešimus jie prisimena, kiek laiko jie atidėjo pranešimą. Tai leidžia reguliuoti laiko delsą.

Skaidrūs laikrodžiai gali veikti dviem režimais:

  • Iki galo.
  • „Peer-to-Peer“.

Nuo galo iki galo (E2E)

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

E2E skaidrus laikrodis visuose prievaduose transliuoja sinchronizavimo pranešimus ir lydinčius „Follow_Up“ pranešimus. Net ir tie, kuriuos blokuoja kai kurie protokolai (pavyzdžiui, RSTP).

Jungiklis prisimena laiko žymą, kai prievade buvo gautas sinchronizavimo paketas (Follow_Up) ir kada jis buvo išsiųstas iš prievado. Remiantis šiomis dviem laiko žymomis, apskaičiuojamas laikas, per kurį jungiklis apdoroja pranešimą. Standarte šis laikas vadinamas buvimo laiku.

Apdorojimo laikas pridedamas prie pranešimo Sync (vieno žingsnio laikrodis) arba Follow_Up (dviejų žingsnių laikrodis) lauko koregavimo laukas.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

E2E skaidrus laikrodis matuoja Sync ir Delay_Req pranešimų, perduodamų per jungiklį, apdorojimo laiką. Tačiau svarbu suprasti, kad laiko delsa tarp pagrindinio laikrodžio ir pavaldinio laikrodžio apskaičiuojama naudojant uždelsimo užklausos-atsakymo mechanizmą. Jei pasikeičia pagrindinis laikrodis arba pasikeičia kelias nuo pagrindinio laikrodžio iki valdančiojo laikrodžio, vėlavimas matuojamas dar kartą. Tai padidina perėjimo laiką, kai keičiasi tinklas.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

P2P skaidrus laikrodis ne tik matuoja laiką, per kurį jungiklis apdoroja pranešimą, bet ir matuoja duomenų ryšio su artimiausiu kaimynu delsą, naudodamas kaimyninio delsos mechanizmą.

Vėlavimas matuojamas kiekvienoje nuorodoje abiem kryptimis, įskaitant nuorodas, kurias blokuoja koks nors protokolas (pvz., RSTP). Tai leidžia iš karto apskaičiuoti naują sinchronizavimo kelio delsą, jei pasikeičia didžiojo meistro laikrodis arba tinklo topologija.

Pranešimų apdorojimo laikas jungikliais ir delsa kaupiami siunčiant sinchronizavimo arba sekimo pranešimus.

PTPv2 palaikymo jungikliais tipai

Jungikliai gali palaikyti PTPv2:

  • programiškai;
  • aparatūra.

Įdiegdamas PTPv2 protokolą programinėje įrangoje, jungiklis prašo programinės įrangos laiko žymos. Problema ta, kad programinė įranga veikia cikliškai, todėl turėsite palaukti, kol ji baigs dabartinį ciklą, priims užklausą apdoroti ir išduos laiko žymą po kito ciklo. Tai taip pat užtruks ir sulauksime vėlavimo, nors ir ne tiek reikšmingo, kaip be PTPv2 programinės įrangos palaikymo.

Tik PTPv2 techninės įrangos palaikymas leidžia išlaikyti reikiamą tikslumą. Šiuo atveju laiko žymą išduoda specialus prievade įdiegtas ASIC.

Pranešimo formatas

Visi PTP pranešimai susideda iš šių laukų:

  • Antraštė – 34 baitai.
  • Turinys – dydis priklauso nuo pranešimo tipo.
  • Priesaga yra neprivaloma.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Antraštė

Antraštės laukas yra vienodas visiems PTP pranešimams. Jo dydis yra 34 baitai.

Antraštės lauko formatas:

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

pranešimo tipas – yra perduodamo pranešimo tipas, pvz., Sync, Delay_Req, PDelay_Req ir kt.

pranešimo ilgis – yra viso PTP pranešimo dydžio, įskaitant antraštę, turinį ir priesagą (bet neįskaitant užpildymo baitų).

domeno numeris – nustato, kuriam PTP domenui priklauso pranešimas.

Домен - tai keli skirtingi laikrodžiai, surinkti vienoje loginėje grupėje ir sinchronizuoti iš vieno pagrindinio laikrodžio, bet nebūtinai sinchronizuoti su laikrodžiais, priklausančiais kitam domenui.

vėliavos – Šiame lauke yra įvairių vėliavėlių, skirtų pranešimo būsenai nustatyti.

korekcijaLaukas – yra delsos laikas nanosekundėmis. Vėlavimo laikas apima uždelsimą, kai perduodamas per skaidrų laikrodį, taip pat uždelsimas, kai perduodamas kanalu, kai naudojamas „Peer-to-Peer“ režimas.

sourcePortIdentity – šiame lauke pateikiama informacija apie tai, iš kurio prievado šis pranešimas buvo išsiųstas.

sekos ID – yra atskirų pranešimų identifikavimo numeris.

valdymo laukas – artefakto laukas =) Jis liko iš pirmosios standarto versijos ir jame yra informacija apie šio pranešimo tipą. Iš esmės tas pats kaip messageType, bet su mažiau parinkčių.

logMessageInterval – šis laukas nustatomas pagal pranešimo tipą.

Kėbulas

Kaip aptarta aukščiau, yra keletas pranešimų tipų. Šie tipai aprašyti toliau:

Skelbimo žinutė
Pranešimas „Anounce“ naudojamas kitiems to paties domeno laikrodžiams „papasakoti“ apie jo parametrus. Šis pranešimas leidžia nustatyti pagrindinio laikrodžio – pavaldinio laikrodžio hierarchiją.
PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Sinchronizuoti pranešimą
Sinchronizavimo pranešimą siunčia pagrindinis laikrodis ir jame yra pagrindinio laikrodžio laikas tuo metu, kai buvo sugeneruotas sinchronizavimo pranešimas. Jei pagrindinis laikrodis yra dviejų pakopų, sinchronizavimo pranešimo laiko žyma bus nustatyta į 0, o esama laiko žyma bus išsiųsta susijusiame „Follow_Up“ pranešime. Sinchronizavimo pranešimas naudojamas abiem delsos matavimo mechanizmams.

Pranešimas perduodamas naudojant Multicast. Pasirinktinai galite naudoti Unicast.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Delay_Req pranešimas

Delay_Req pranešimo formatas yra identiškas sinchronizavimo pranešimui. Pagalbinis laikrodis siunčia Delay_Req. Jame nurodytas laikas, kai pagalbinis laikrodis išsiuntė Delay_Req. Šis pranešimas naudojamas tik uždelsimo užklausos-atsakymo mechanizmui.

Pranešimas perduodamas naudojant Multicast. Pasirinktinai galite naudoti Unicast.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Follow_Up pranešimas

„Follow_Up“ pranešimą pasirinktinai siunčia pagrindinis laikrodis ir jame nurodomas siuntimo laikas Sinchronizuoti pranešimus meistras. Tik dviejų pakopų pagrindiniai laikrodžiai siunčia pranešimą Follow_Up.

Pranešimas Follow_Up naudojamas abiem delsos matavimo mechanizmams.

Pranešimas perduodamas naudojant Multicast. Pasirinktinai galite naudoti Unicast.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Delay_Resp pranešimas

Delay_Resp pranešimą siunčia pagrindinis laikrodis. Jame yra laikas, kai pagrindinis laikrodis gavo Delay_Req. Šis pranešimas naudojamas tik uždelsimo užklausos-atsakymo mechanizmui.

Pranešimas perduodamas naudojant Multicast. Pasirinktinai galite naudoti Unicast.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Pdelay_Req pranešimas

Pdelay_Req pranešimą siunčia įrenginys, kuris prašo atidėti. Jame nurodytas laikas, kai pranešimas buvo išsiųstas iš šio įrenginio prievado. Pdelay_Req naudojamas tik kaimyniniam delsos matavimo mechanizmui.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Pdelay_Resp pranešimas

Pdelay_Resp pranešimą siunčia įrenginys, kuris gavo delsos užklausą. Jame nurodytas laikas, kai šis įrenginys gavo Pdelay_Req pranešimą. Pranešimas Pdelay_Resp naudojamas tik kaimyniniam delsos matavimo mechanizmui.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Pranešimas Pdelay_Resp_Follow_Up

Pdelay_Resp_Follow_Up pranešimą pasirinktinai siunčia įrenginys, kuris gavo delsos užklausą. Jame nurodytas laikas, kai šis įrenginys gavo Pdelay_Req pranešimą. Pdelay_Resp_Follow_Up pranešimą siunčia tik dviejų pakopų pagrindiniai laikrodžiai.

Šis pranešimas taip pat gali būti naudojamas vykdymo laikui vietoj laiko žymos. Vykdymo laikas yra laikas nuo Pdelay-Req gavimo momento iki Pdelay_Resp išsiuntimo.

Pdelay_Resp_Follow_Up naudojami tik kaimyniniam delsos matavimo mechanizmui.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Valdymo pranešimai

PTP valdymo pranešimai reikalingi norint perduoti informaciją tarp vieno ar kelių laikrodžių ir valdymo mazgo.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Pervežimas į LV

PTP pranešimas gali būti perduodamas dviem lygiais:

  • Tinklas – kaip IP duomenų dalis.
  • Kanalas – kaip Ethernet rėmelio dalis.

PTP pranešimų siuntimas per UDP per IP per Ethernet

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

PTP per UDP per Ethernet

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Profiliai

PTP turi gana daug lanksčių parametrų, kuriuos reikia sukonfigūruoti. Pavyzdžiui:

  • BMCA parinktys.
  • Latencijos matavimo mechanizmas.
  • Visų konfigūruojamų parametrų intervalai ir pradinės reikšmės ir kt.

Ir nepaisant to, kad anksčiau sakėme, kad PTPv2 įrenginiai yra suderinami vienas su kitu, tai netiesa. Įrenginiai turi turėti tuos pačius nustatymus, kad galėtų susisiekti.

Štai kodėl yra vadinamieji PTPv2 profiliai. Profiliai yra sukonfigūruotų nustatymų ir apibrėžtų protokolo apribojimų grupės, kad būtų galima atlikti laiko sinchronizavimą konkrečiai programai.

Pats IEEE 1588v2 standartas apibūdina tik vieną profilį – „Numatytąjį profilį“. Visus kitus profilius kuria ir aprašo įvairios organizacijos ir asociacijos.

Pavyzdžiui, maitinimo profilį arba PTPv2 galios profilį sukūrė IEEE energijos ir energijos draugijos maitinimo sistemų perdavimo komitetas ir pastotės komitetas. Pats profilis vadinamas IEEE C37.238-2011.

Profilyje aprašoma, kad PTP galima perkelti:

  • Tik per L2 tinklus (ty Ethernet, HSR, PRP, ne IP).
  • Pranešimai perduodami tik daugialypės transliacijos būdu.
  • Kaip vėlavimo matavimo mechanizmas naudojamas tarpusavio vėlavimo matavimo mechanizmas.

Numatytasis domenas yra 0, rekomenduojamas domenas yra 93.

C37.238-2011 projektavimo filosofija buvo sumažinti pasirenkamų funkcijų skaičių ir išlaikyti tik tas funkcijas, kurios yra būtinos patikimai įrenginių sąveikai ir didesniam sistemos stabilumui.

Taip pat nustatomas pranešimų perdavimo dažnis:

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Tiesą sakant, galima pasirinkti tik vieną parametrą - pagrindinio laikrodžio tipą (vienpakopis arba dviejų pakopų).

Tikslumas turi būti ne didesnis kaip 1 μs. Kitaip tariant, viename sinchronizavimo kelyje gali būti daugiausia 15 skaidrių laikrodžių arba trys ribiniai laikrodžiai.

PTPv2 laiko sinchronizavimo protokolo įgyvendinimo detalės

Šaltinis: www.habr.com

Добавить комментарий