รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา 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 (สตรีมแบบหลายผู้รับ)

ขั้วต่อการป้องกันรีเลย์ใช้ค่าเหล่านี้เพื่อใช้การป้องกันช่อง หากความแม่นยำของการวัดเวลามีน้อย การป้องกันบางอย่างอาจทำงานผิดพลาดได้

ตัวอย่างเช่น การป้องกันการเลือกอย่างเด็ดขาดอาจตกเป็นเหยื่อของการซิงโครไนซ์เวลา "อ่อนแอ" บ่อยครั้งตรรกะของการป้องกันดังกล่าวขึ้นอยู่กับการเปรียบเทียบปริมาณสองปริมาณ หากค่าแตกต่างกันตามค่าที่มากเพียงพอ การป้องกันจะถูกทริกเกอร์ หากวัดค่าเหล่านี้ด้วยความแม่นยำของเวลา 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 แบบย้อนหลัง

กล่าวอีกนัยหนึ่ง เรามีรูปภาพพร้อมเวอร์ชันต่อไปนี้:

พีทีพีวี1
(IEEE 1588-2002)

พีทีพีวี2
(IEEE 1588-2008)

พีทีพีวี2.1
(IEEE 1588-2019)

PTPv1 (IEEE 1588-2002)

-
ไม่แน่นอน

ไม่แน่นอน

PTPv2 (IEEE 1588-2008)

ไม่แน่นอน

-
เข้ากันได้

PTPv2.1 (IEEE 1588-2019)

ไม่แน่นอน

เข้ากันได้

-

แต่เช่นเคยมีความแตกต่างกัน

ความเข้ากันไม่ได้ระหว่าง PTPv1 และ PTPv2 หมายความว่าอุปกรณ์ที่ใช้ PTPv1 จะไม่สามารถซิงโครไนซ์กับนาฬิกาที่แม่นยำซึ่งทำงานบน PTPv2 ได้ พวกเขาใช้รูปแบบข้อความที่แตกต่างกันในการซิงโครไนซ์

แต่ก็ยังสามารถรวมอุปกรณ์เข้ากับ PTPv1 และอุปกรณ์ที่มี PTPv2 บนเครือข่ายเดียวกันได้ เพื่อให้บรรลุเป้าหมายนี้ ผู้ผลิตบางรายอนุญาตให้คุณเลือกเวอร์ชันโปรโตคอลบนพอร์ตนาฬิกา Edge นั่นคือ นาฬิกาขอบเขตสามารถซิงโครไนซ์โดยใช้ PTPv2 และยังคงซิงโครไนซ์นาฬิกาอื่นๆ ที่เชื่อมต่ออยู่โดยใช้ทั้ง PTPv1 และ PTPv2

อุปกรณ์พีทีพี พวกเขาคืออะไรและแตกต่างกันอย่างไร?

มาตรฐาน IEEE 1588v2 อธิบายอุปกรณ์หลายประเภท ทั้งหมดแสดงไว้ในตาราง

อุปกรณ์สื่อสารกันผ่าน LAN โดยใช้ PTP

อุปกรณ์ PTP เรียกว่านาฬิกา นาฬิกาทุกเรือนใช้เวลาที่แน่นอนจากนาฬิการะดับปรมาจารย์

นาฬิกามี 5 ประเภท:

นาฬิกาปรมาจารย์

แหล่งที่มาหลักของเวลาที่แม่นยำ มักมีอินเทอร์เฟซสำหรับเชื่อมต่อ GPS

นาฬิกาธรรมดา

อุปกรณ์พอร์ตเดียวที่สามารถเป็นมาสเตอร์ (นาฬิกาหลัก) หรือทาส (นาฬิการอง)

นาฬิกาต้นแบบ (ต้นแบบ)

เป็นแหล่งที่มาของเวลาที่แน่นอนในการซิงโครไนซ์นาฬิกาอื่นๆ

นาฬิกาทาส

อุปกรณ์ปลายทางที่ซิงโครไนซ์จากนาฬิกาหลัก

นาฬิกาเขตแดน

อุปกรณ์ที่มีหลายพอร์ตที่สามารถเป็นพอร์ตหลักหรือทาสได้

นั่นคือนาฬิกาเหล่านี้สามารถซิงโครไนซ์จากนาฬิกาหลักที่เหนือกว่าและซิงโครไนซ์นาฬิกาทาสที่ด้อยกว่าได้

นาฬิกาโปร่งใสจากต้นทางถึงปลายทาง

อุปกรณ์ที่มีหลายพอร์ตที่ไม่ใช่ทั้งนาฬิกาหลักหรือทาส มันส่งข้อมูล PTP ระหว่างนาฬิกาสองเรือน

เมื่อส่งข้อมูล นาฬิกาโปร่งใสจะแก้ไขข้อความ PTP ทั้งหมด

การแก้ไขเกิดขึ้นโดยการเพิ่มเวลาหน่วงบนอุปกรณ์นี้ลงในช่องแก้ไขในส่วนหัวของข้อความที่ส่ง

นาฬิกาโปร่งใสแบบ Peer-to-Peer

อุปกรณ์ที่มีหลายพอร์ตที่ไม่ใช่ทั้งนาฬิกาหลักหรือทาส
มันส่งข้อมูล PTP ระหว่างนาฬิกาสองเรือน

เมื่อส่งข้อมูล นาฬิกาโปร่งใสจะแก้ไขข้อความ PTP ทั้งหมด Sync และ Follow_Up (ข้อมูลเพิ่มเติมด้านล่าง)

การแก้ไขทำได้โดยการเพิ่มความล่าช้าบนอุปกรณ์ส่งสัญญาณและความล่าช้าของช่องทางการส่งข้อมูลลงในช่องแก้ไขของแพ็กเก็ตที่ส่ง

โหนดการจัดการ

อุปกรณ์ที่กำหนดค่าและวินิจฉัยนาฬิกาอื่นๆ

นาฬิกาหลักและนาฬิการองจะซิงโครไนซ์โดยใช้การประทับเวลาในข้อความ PTP ข้อความในโปรโตคอล PTP มีสองประเภท:

  • ข้อความเหตุการณ์คือข้อความที่ซิงโครไนซ์ที่เกี่ยวข้องกับการสร้างการประทับเวลาในเวลาที่ส่งข้อความและเวลาที่ได้รับ
  • ข้อความทั่วไป - ข้อความเหล่านี้ไม่จำเป็นต้องมีการประทับเวลา แต่อาจมีการประทับเวลาสำหรับข้อความที่เกี่ยวข้อง

ข้อความกิจกรรม

ข้อความทั่วไป

ซิงค์
ความล่าช้า_Req
Pdelay_Req
Pdelay_Resp

ประกาศ
ติดตาม
ความล่าช้า_การตอบสนอง
Pdelay_Resp_Follow_Up
การจัดการ
การส่งสัญญาณ

ข้อความทุกประเภทจะมีรายละเอียดเพิ่มเติมด้านล่าง

ปัญหาการซิงโครไนซ์ขั้นพื้นฐาน

เมื่อแพ็กเก็ตการซิงโครไนซ์ถูกส่งผ่านเครือข่ายท้องถิ่น แพ็กเก็ตนั้นจะล่าช้าที่สวิตช์และในลิงก์ข้อมูล สวิตช์ใดๆ จะทำให้เกิดความล่าช้าประมาณ 10 ไมโครวินาที ซึ่งเป็นที่ยอมรับสำหรับ PTPv2 ท้ายที่สุดแล้ว เราจำเป็นต้องได้รับความแม่นยำ 1 μs บนอุปกรณ์ขั้นสุดท้าย (นี่คือถ้าเรากำลังพูดถึงพลังงาน การใช้งานอื่น ๆ อาจต้องการความแม่นยำมากกว่านี้)

IEEE 1588v2 อธิบายอัลกอริธึมการทำงานหลายอย่างที่ช่วยให้คุณสามารถบันทึกการหน่วงเวลาและแก้ไขได้

อัลกอริทึมการทำงาน
ในระหว่างการทำงานปกติ โปรโตคอลจะดำเนินการในสองเฟส

  • ระยะที่ 1 - สร้างลำดับชั้น "นาฬิกาหลัก – นาฬิกาทาส"
  • เฟส 2 - การซิงโครไนซ์นาฬิกาโดยใช้กลไก End-to-End หรือ Peer-to-Peer

ระยะที่ 1 - การสร้างลำดับชั้นระหว่าง Master-Slave

แต่ละพอร์ตของนาฬิกาปกติหรือ Edge Clock มีจำนวนสถานะที่แน่นอน (นาฬิการองและนาฬิกาหลัก) มาตรฐานจะอธิบายอัลกอริธึมการเปลี่ยนระหว่างสถานะเหล่านี้ ในการเขียนโปรแกรม อัลกอริธึมดังกล่าวเรียกว่าเครื่องสถานะจำกัดหรือเครื่องสถานะ (รายละเอียดเพิ่มเติมใน Wiki)

เครื่องสถานะนี้ใช้ Best Master Clock Algorithm (BMCA) เพื่อตั้งค่าหลักเมื่อเชื่อมต่อนาฬิกาสองตัว

อัลกอริธึมนี้ช่วยให้นาฬิการับช่วงหน้าที่ของนาฬิกาแกรนด์มาสเตอร์ได้เมื่อนาฬิกาแกรนด์มาสเตอร์อัปสตรีมสูญเสียสัญญาณ GPS, ออฟไลน์ ฯลฯ

การเปลี่ยนสถานะตาม ขสมก. สรุปได้ในแผนภาพต่อไปนี้:
รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ข้อมูลเกี่ยวกับนาฬิกาที่ปลายอีกด้านของ “สาย” จะถูกส่งไปในข้อความพิเศษ (ข้อความประกาศ) เมื่อได้รับข้อมูลนี้ อัลกอริธึมของเครื่องสถานะจะทำงานและทำการเปรียบเทียบเพื่อดูว่านาฬิกาใดดีกว่า พอร์ตบนนาฬิกาที่ดีที่สุดจะกลายเป็นนาฬิกาหลัก

ลำดับชั้นอย่างง่ายแสดงอยู่ในแผนภาพด้านล่าง เส้นทาง 1, 2, 3, 4, 5 อาจมีนาฬิกาแบบโปร่งใส แต่ไม่ได้มีส่วนร่วมในการสร้างลำดับชั้นของนาฬิกาหลัก - นาฬิการอง

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ระยะที่ 2 - ซิงโครไนซ์นาฬิกาปกติและนาฬิกาขอบ

ทันทีหลังจากสร้างลำดับชั้น "นาฬิกาหลัก – นาฬิกาทาส" ขั้นตอนการซิงโครไนซ์ของนาฬิกาปกติและนาฬิกาขอบเขตจะเริ่มต้นขึ้น

ในการซิงโครไนซ์ นาฬิกาหลักจะส่งข้อความที่มีการประทับเวลาไปยังนาฬิการอง

นาฬิกาหลักสามารถ:

  • ขั้นตอนเดียว
  • สองขั้นตอน

นาฬิกาแบบขั้นตอนเดียวจะส่งข้อความซิงค์หนึ่งข้อความเพื่อซิงโครไนซ์

นาฬิกาแบบสองขั้นตอนใช้สองข้อความในการซิงโครไนซ์ - ซิงค์และติดตามผล

สามารถใช้กลไกสองประการสำหรับขั้นตอนการซิงโครไนซ์:

  • กลไกการตอบกลับคำขอล่าช้า
  • กลไกการวัดความล่าช้าของเพียร์

ก่อนอื่น เรามาดูกลไกเหล่านี้ในกรณีที่ง่ายที่สุด - เมื่อไม่ได้ใช้นาฬิกาโปร่งใส

กลไกการตอบกลับคำขอล่าช้า

กลไกประกอบด้วยสองขั้นตอน:

  1. การวัดความล่าช้าในการส่งข้อความระหว่างนาฬิกาหลักและนาฬิการอง ดำเนินการโดยใช้กลไกการตอบกลับคำขอล่าช้า
  2. มีการดำเนินการแก้ไขการเปลี่ยนเวลาที่แน่นอน

การวัดความหน่วง
รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

t1 – เวลาที่ส่งข้อความซิงค์โดยนาฬิกาหลัก t2 - เวลาที่รับข้อความซิงค์โดยนาฬิกาทาส t3 – เวลาในการส่งคำขอล่าช้า (Delay_Req) ​​​​โดยนาฬิกาทาส t4 - เวลารับสัญญาณ Delay_Req โดยนาฬิกาหลัก

เมื่อนาฬิกาทาสทราบเวลา t1, t2, t3 และ t4 นาฬิกาจะสามารถคำนวณความล่าช้าโดยเฉลี่ยเมื่อส่งข้อความการซิงโครไนซ์ (tmpd) มีการคำนวณดังนี้:

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

เมื่อส่งข้อความ Sync และ Follow_Up เวลาล่าช้าจากต้นแบบไปยังทาสจะถูกคำนวณ - t-ms

เมื่อส่งข้อความ Delay_Req และ Delay_Resp การหน่วงเวลาจากทาสไปยังต้นแบบจะถูกคำนวณ - t-sm

หากความไม่สมดุลเกิดขึ้นระหว่างสองค่านี้ ข้อผิดพลาดในการแก้ไขค่าเบี่ยงเบนของเวลาที่แน่นอนจะปรากฏขึ้น ข้อผิดพลาดเกิดจากข้อเท็จจริงที่ว่าความล่าช้าที่คำนวณได้คือค่าเฉลี่ยของความล่าช้า t-ms และ t-sm หากความล่าช้าไม่เท่ากันเราจะปรับเวลาให้ไม่ถูกต้อง

การแก้ไขการเปลี่ยนเวลา

เมื่อทราบการหน่วงเวลาระหว่างนาฬิกาหลักและนาฬิการอง นาฬิการองจะทำการแก้ไขเวลา

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

นาฬิกาสเลฟใช้ข้อความซิงค์และข้อความเสริม Follow_Up เพื่อคำนวณค่าชดเชยเวลาที่แน่นอนเมื่อส่งแพ็กเก็ตจากนาฬิกาหลักไปยังนาฬิกาสเลฟ การเปลี่ยนแปลงคำนวณโดยใช้สูตรต่อไปนี้:

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

กลไกการวัดความล่าช้าของเพียร์

กลไกนี้ยังใช้สองขั้นตอนในการซิงโครไนซ์:

  1. อุปกรณ์จะวัดการหน่วงเวลาให้กับเพื่อนบ้านทั้งหมดผ่านพอร์ตทั้งหมด เมื่อต้องการทำเช่นนี้ พวกเขาใช้กลไกการหน่วงเวลาเพียร์
  2. แก้ไขการเปลี่ยนเวลาที่แน่นอน

การวัดเวลาแฝงระหว่างอุปกรณ์ที่รองรับโหมด Peer-to-Peer

เวลาแฝงระหว่างพอร์ตที่รองรับกลไกเพียร์ทูเพียร์วัดโดยใช้ข้อความต่อไปนี้:

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

เมื่อพอร์ต 1 รู้เวลา t1, t2, t3 และ t4 จะสามารถคำนวณความล่าช้าเฉลี่ย (tmld) คำนวณโดยใช้สูตรต่อไปนี้:

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

จากนั้นพอร์ตจะใช้ค่านี้เมื่อคำนวณฟิลด์การปรับเปลี่ยนสำหรับแต่ละข้อความซิงค์หรือข้อความเสริม Follow_Up ที่ส่งผ่านอุปกรณ์

ความล่าช้าทั้งหมดจะเท่ากับผลรวมของความล่าช้าระหว่างการส่งผ่านอุปกรณ์นี้ ความล่าช้าโดยเฉลี่ยระหว่างการส่งผ่านช่องข้อมูล และความล่าช้าที่มีอยู่แล้วในข้อความนี้ ซึ่งเปิดใช้งานบนอุปกรณ์อัปสตรีม

ข้อความ Pdelay_Req, Pdelay_Resp และ Pdelay_Resp_Follow_Up ที่เป็นทางเลือก ช่วยให้คุณสามารถรับการหน่วงเวลาจากต้นแบบไปยังทาส และจากทาสไปยังต้นแบบ (วงกลม)

ความไม่สมดุลระหว่างสองค่านี้จะทำให้เกิดข้อผิดพลาดในการแก้ไขการชดเชยเวลา

การปรับกะเวลาที่แน่นอน

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

นาฬิกาสเลฟใช้ข้อความซิงค์และข้อความเสริม Follow_Up เพื่อคำนวณค่าชดเชยเวลาที่แน่นอนเมื่อส่งแพ็กเก็ตจากนาฬิกาหลักไปยังนาฬิกาสเลฟ การเปลี่ยนแปลงคำนวณโดยใช้สูตรต่อไปนี้:

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ข้อดี การปรับกลไกเพียร์ทูเพียร์ - การหน่วงเวลาของแต่ละข้อความ Sync หรือ Follow_Up จะถูกคำนวณเมื่อมีการส่งในเครือข่าย ดังนั้นการเปลี่ยนเส้นทางการส่งสัญญาณจะไม่ส่งผลต่อความถูกต้องของการปรับแต่อย่างใด

เมื่อใช้กลไกนี้ การซิงโครไนซ์เวลาไม่จำเป็นต้องคำนวณการหน่วงเวลาตามเส้นทางที่สำรวจโดยแพ็กเก็ตการซิงโครไนซ์ เช่นเดียวกับที่ทำในการแลกเปลี่ยนพื้นฐาน เหล่านั้น. ข้อความ Delay_Req และ Delay_Resp จะไม่ถูกส่ง ในวิธีนี้ การหน่วงเวลาระหว่างนาฬิกาหลักและนาฬิการองจะถูกรวมไว้ในฟิลด์การปรับของแต่ละข้อความ Sync หรือ Follow_Up

ข้อดีอีกประการหนึ่งคือนาฬิกาหลักไม่ต้องประมวลผลข้อความ Delay_Req

โหมดการทำงานของนาฬิกาโปร่งใส

ดังนั้น สิ่งเหล่านี้จึงเป็นเพียงตัวอย่างง่ายๆ ตอนนี้สมมติว่าสวิตช์ปรากฏบนเส้นทางการซิงโครไนซ์

หากคุณใช้สวิตช์ที่ไม่รองรับ PTPv2 แพ็กเก็ตการซิงโครไนซ์บนสวิตช์จะล่าช้าประมาณ 10 μs

สวิตช์ที่รองรับ PTPv2 เรียกว่านาฬิกาแบบโปร่งใสในคำศัพท์เฉพาะของ IEEE 1588v2 นาฬิกาแบบโปร่งใสจะไม่ซิงโครไนซ์จากนาฬิกาหลักและไม่มีส่วนร่วมในลำดับชั้น "นาฬิกาหลัก - นาฬิกาทาส" แต่เมื่อส่งข้อความการซิงโครไนซ์พวกเขาจะจำได้ว่าข้อความนั้นล่าช้านานแค่ไหน สิ่งนี้ช่วยให้คุณปรับการหน่วงเวลาได้

นาฬิกาโปร่งใสสามารถทำงานได้ในสองโหมด:

  • จบสิ้น.
  • เพียร์ทูเพียร์.

จากต้นทางถึงปลายทาง (E2E)

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

นาฬิกาโปร่งใส E2E ออกอากาศข้อความซิงค์และข้อความ Follow_Up ที่มาพร้อมกับพอร์ตทั้งหมด แม้แต่ที่ถูกบล็อกโดยโปรโตคอลบางตัว (เช่น RSTP)

สวิตช์จะจดจำการประทับเวลาเมื่อได้รับแพ็กเก็ต Sync (Follow_Up) บนพอร์ต และเวลาที่ถูกส่งจากพอร์ต จากการประทับเวลาทั้งสองนี้ จะมีการคำนวณเวลาที่ใช้สำหรับสวิตช์ในการประมวลผลข้อความ ตามมาตรฐานเวลานี้เรียกว่าเวลาพัก

เวลาประมวลผลจะถูกเพิ่มลงในฟิลด์ CorrectionField ของข้อความ Sync (นาฬิกาขั้นตอนเดียว) หรือ Follow_Up (นาฬิกาสองขั้นตอน)

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

นาฬิกาโปร่งใส E2E จะวัดเวลาการประมวลผลสำหรับข้อความ Sync และ Delay_Req ที่ส่งผ่านสวิตช์ แต่สิ่งสำคัญคือต้องเข้าใจว่าการหน่วงเวลาระหว่างนาฬิกาหลักและนาฬิการองนั้นคำนวณโดยใช้กลไกการตอบสนองคำขอล่าช้า หากนาฬิกาหลักเปลี่ยนหรือเส้นทางจากนาฬิกาหลักไปยังนาฬิการองเปลี่ยนไป การหน่วงเวลาจะถูกวัดอีกครั้ง สิ่งนี้จะเพิ่มเวลาการเปลี่ยนแปลงในกรณีที่มีการเปลี่ยนแปลงเครือข่าย

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

นาฬิกาโปร่งใส P2P นอกเหนือจากการวัดเวลาที่ใช้ในสวิตช์ในการประมวลผลข้อความแล้ว ยังวัดความล่าช้าในการเชื่อมโยงข้อมูลไปยังเพื่อนบ้านที่ใกล้ที่สุดโดยใช้กลไกเวลาแฝงของเพื่อนบ้าน

เวลาแฝงจะถูกวัดในทุกลิงก์ในทั้งสองทิศทาง รวมถึงลิงก์ที่ถูกบล็อกโดยโปรโตคอลบางตัว (เช่น RSTP) ซึ่งช่วยให้คุณสามารถคำนวณความล่าช้าใหม่ในพาธการซิงโครไนซ์ได้ทันที หากนาฬิกาแกรนด์มาสเตอร์หรือโทโพโลยีเครือข่ายเปลี่ยนแปลง

เวลาในการประมวลผลข้อความตามสวิตช์และเวลาแฝงจะถูกสะสมเมื่อส่งข้อความ Sync หรือ Follow_Up

ประเภทของการรองรับ PTPv2 ด้วยสวิตช์

สวิตช์สามารถรองรับ PTPv2:

  • โดยทางโปรแกรม;
  • ฮาร์ดแวร์.

เมื่อใช้โปรโตคอล PTPv2 ในซอฟต์แวร์ สวิตช์จะขอการประทับเวลาจากเฟิร์มแวร์ ปัญหาคือเฟิร์มแวร์ทำงานเป็นรอบ และคุณจะต้องรอจนกว่าจะสิ้นสุดรอบปัจจุบัน รับคำขอเพื่อประมวลผล และออกการประทับเวลาหลังจากรอบถัดไป การดำเนินการนี้อาจต้องใช้เวลาและเราจะได้รับความล่าช้า แม้ว่าจะไม่สำคัญเท่ากับการไม่มีซอฟต์แวร์รองรับ PTPv2

การสนับสนุนฮาร์ดแวร์สำหรับ PTPv2 เท่านั้นที่ช่วยให้คุณรักษาความแม่นยำที่จำเป็นได้ ในกรณีนี้ ASIC พิเศษจะออกการประทับเวลาซึ่งติดตั้งอยู่บนพอร์ต

รูปแบบข้อความ

ข้อความ PTP ทั้งหมดประกอบด้วยฟิลด์ต่อไปนี้:

  • ส่วนหัว – 34 ไบต์
  • เนื้อความ – ขนาดขึ้นอยู่กับประเภทของข้อความ
  • คำต่อท้ายเป็นทางเลือก

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ส่วนหัว

ฟิลด์ส่วนหัวจะเหมือนกันสำหรับข้อความ PTP ทั้งหมด ขนาดของมันคือ 34 ไบต์

รูปแบบฟิลด์ส่วนหัว:

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ประเภทข้อความ – มีประเภทของข้อความที่กำลังส่ง เช่น Sync, Delay_Req, PDelay_Req เป็นต้น

ข้อความความยาว – มีขนาดเต็มของข้อความ PTP รวมถึงส่วนหัว เนื้อหา และส่วนต่อท้าย (แต่ไม่รวมไบต์จากช่องว่างภายใน)

โดเมนหมายเลข – กำหนดว่าข้อความเป็นของโดเมน PTP ใด

Домен - เหล่านี้เป็นนาฬิกาที่แตกต่างกันหลายชุดที่รวบรวมไว้ในกลุ่มลอจิคัลเดียวและซิงโครไนซ์จากนาฬิกาหลักตัวเดียว แต่ไม่จำเป็นต้องซิงโครไนซ์กับนาฬิกาที่เป็นของโดเมนอื่น

ธง – ฟิลด์นี้ประกอบด้วยแฟล็กต่างๆ เพื่อระบุสถานะของข้อความ

แก้ไขField – มีเวลาหน่วงเป็นนาโนวินาที เวลาหน่วงรวมถึงความล่าช้าเมื่อส่งสัญญาณผ่านนาฬิกาโปร่งใส เช่นเดียวกับความล่าช้าเมื่อส่งสัญญาณผ่านช่องสัญญาณเมื่อใช้โหมด Peer-to-Peer

แหล่งที่มาPortIdentity – ฟิลด์นี้มีข้อมูลเกี่ยวกับพอร์ตที่ข้อความนี้ถูกส่งมาจากครั้งแรก

รหัสลำดับ – มีหมายเลขประจำตัวสำหรับแต่ละข้อความ

ฟิลด์ควบคุม – ฟิลด์สิ่งประดิษฐ์ =) ยังคงมาจากเวอร์ชันแรกของมาตรฐานและมีข้อมูลเกี่ยวกับประเภทของข้อความนี้ โดยพื้นฐานแล้วจะเหมือนกับ messageType แต่มีตัวเลือกน้อยกว่า

logMessageInterval – ฟิลด์นี้จะถูกกำหนดโดยประเภทข้อความ

ร่างกาย

ตามที่กล่าวไว้ข้างต้น มีข้อความหลายประเภท ประเภทเหล่านี้อธิบายไว้ด้านล่าง:

ข้อความประกาศ
ข้อความประกาศใช้เพื่อ "บอก" นาฬิกาอื่นๆ ภายในโดเมนเดียวกันเกี่ยวกับพารามิเตอร์ของมัน ข้อความนี้อนุญาตให้คุณตั้งค่าลำดับชั้นนาฬิกาหลัก - นาฬิการอง
รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ซิงค์ข้อความ
นาฬิกาหลักส่งข้อความซิงค์และมีเวลาของนาฬิกาหลักในขณะที่สร้างข้อความซิงค์ หากนาฬิกาหลักเป็นแบบสองขั้น การประทับเวลาในข้อความซิงค์จะถูกตั้งค่าเป็น 0 และการประทับเวลาปัจจุบันจะถูกส่งไปในข้อความ Follow_Up ที่เกี่ยวข้อง ข้อความซิงค์ใช้สำหรับกลไกการวัดเวลาแฝงทั้งสอง

ข้อความถูกส่งโดยใช้ Multicast คุณสามารถเลือกใช้ Unicast ได้

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ข้อความ Delay_Req

รูปแบบของข้อความ Delay_Req จะเหมือนกับข้อความซิงค์ นาฬิกาทาสส่ง Delay_Req ประกอบด้วยเวลาที่ Delay_Req ถูกส่งโดยนาฬิกาทาส ข้อความนี้ใช้สำหรับกลไกการตอบกลับคำขอล่าช้าเท่านั้น

ข้อความถูกส่งโดยใช้ Multicast คุณสามารถเลือกใช้ Unicast ได้

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

ข้อความติดตามผล

ข้อความ 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
  • Channel – เป็นส่วนหนึ่งของเฟรม Ethernet

การส่งข้อความ PTP ผ่าน UDP ผ่าน IP ผ่านอีเธอร์เน็ต

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา PTPv2

PTP ผ่าน UDP ผ่านอีเธอร์เน็ต

รายละเอียดการใช้งานโปรโตคอลการซิงโครไนซ์เวลา 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

ที่มา: will.com

เพิ่มความคิดเห็น