การเข้าจังหวะเวลา กลายเป็นสิ่งจำเป็นเมื่ออุปกรณ์ต้องทำงานร่วมกันโดยมีระยะห่างกัน ด้วยรูปแบบการทำงานดังกล่าว นาฬิกาบนตัวอุปกรณ์ หรือนาฬิกาสแลฟและนาฬิกามาสเตอร์ จะต้องมีค่าเวลาเดียวกัน
การสื่อสารข้อมูลในงานอุตสาหกรรม
ตอนที่ 10 มารู้จักโปรโตคอล IEEE1588
พิชิต จินตโกศลวิทย์
pichitor@yahoo.com
ในบทความที่ได้แล้วได้กล่าวถึงการประยุกต์ใช้โปรโตคอลอีเทอร์เน็ตในงานอุตสาหกรรม ซึ่งประเด็นหัวข้อหนึ่งที่สำคัญที่สืบเนื่องจากการใช้โปรโตคอลอีเทอร์เน็ตนั้นคือการเข้าจังหวะเวลา
การเข้าจังหวะเวลา (Time Synchronization) กลายเป็นสิ่งจำเป็นเมื่ออุปกรณ์ต้องทำงานร่วมกันโดยมีระยะห่างกัน ด้วยรูปแบบการทำงานดังกล่าว นาฬิกาบนตัวอุปกรณ์ หรือนาฬิกาสแลฟ (Slave Clock/Local Clock) และนาฬิกามาสเตอร์ (Master Clock) จะต้องมีค่าเวลาเดียวกัน อย่างไรก็ตามถึงแม้จะตั้งเวลาอุปกรณ์ต่าง ๆ ให้เวลาเดียวกัน แต่ไม่ได้หมายความว่าเวลาจะเป็นเวลาเดียวกันตลอดไป อันสืบเนื่องจากหลายปัจจัย เช่น อุณหภูมิที่แตกต่างกัน อายุของนาฬิกา และระดับความถี่ของคริสตัล
ในปัจจุบัน จำนวนข้อมูลที่มากที่สุดที่ถูกส่งและถูกประมวลผลในเวลาที่สั้นที่สุด คือแนวโน้มความต้องการของเทคโนโลยีการสื่อสารในงานอุตสาหกรรม เพราะเหตุผลนี้อีเทอร์เน็ตจึงได้ถูกเลือกให้เป็นเทคโนโลยีในการขนย้ายข้อมูลสำหรับการสื่อสารในอนาคตข้างหน้า นอกจากความเร็วในการส่งข้อมูล ความง่ายในการติดตั้ง และคำว่า เรียลไทม์ (Real Time) มีความหมายเป็นพิเศษสำหรับระบบอัตโนมัติ ปัญหาที่สำคัญยังคงมีอยู่นั้นคือ การเข้าจังหวะเวลาที่แม่นยำของอุปกรณ์ที่อยู่ ณ ตำแหน่งต่าง ๆ ของระบบเครือข่าย
เพื่อแก้ไขปัญหาดังกล่าว ได้มีการพัฒนาโปรโตคอลในชื่อ IEEE1588 ซึ่งได้เป็นมาตรฐานในปี 2002 สำหรับจัดการเรื่องระบบเวลาให้แม่นยำยิ่งขึ้น ในช่วงแรกเริ่มมาตรฐานได้ถูกออกแบบให้มีความเป็นไปได้ในการเข้าจังหวะเวลาในแต่ละตำแหน่งของอุปกรณ์บนเครือข่ายด้วยความเร็วที่เร็วกว่า 1 ?s เพื่อให้สามารถสนับสนุนระบบงานที่ต้องการความละเอียดในระดับ 1 s เช่น สำหรับการแยกแยะเหตุการณ์หรืออะลาร์ม ในบทความนี้จะกล่าวถึงหลักการทำงาน และการประยุกต์ใช้ IEEE1588 ในระบบงานอุตสาหกรรม อันที่จริงแล้ว IEEE1588 เสมือนเป็นส่วนหนึ่งของชุดโปรโตคอล TCP/IP
รูปที่ 1 IEEE1588 กับ TCP/IP
เรียลไทม์
เรียลไทม์เป็นสิ่งที่ถูกต้องการซึ่งระดับของความเป็นเรียลไทม์ขึ้นอยู่กับระบบงานนั้น ๆ ระบบสื่อสารข้อมูลและระบบอัตโนมัติที่ดีต้องมีคุณสมบัติที่สามารถถูกคาดการณ์ได้ (Deterministic) นั้นหมายความว่า สามารถทำการแลกเปลี่ยนข้อมูลตามจำนวนที่ต้องการภายในเวลาที่กำหนด และทำงานได้ทันตามที่กำหนด ดังนั้นกลไกในการเข้าจังหวะเวลาที่แม่นยำ เพื่อให้แต่ละส่วนของระบบอัตโนมัติสามารถทำงานสอดคล้องกันจึงเป็นสิ่งสำคัญ
ในปัจจุบันมีโปรโตคอลมาตรฐาน และโปรโตคอลปิด เพียงไม่กี่โปรโตคอลที่สามารถเข้าจังหวะเวลาได้น้อยกว่า 1 ms และส่วนใหญ่ไม่สามารถทำงานได้ดีกับระบบอีเทอร์เน็ตเนื่องจากระบบอีเทอร์เน็ตมีหลักการสุ่มและการจัดลำดับคิวแฝงทำงานอยู่ภายใน เพื่อสนับสนุนระบบอีเทอร์เน็ตในงานอุตสาหกรรม วิธีการพิเศษในการวัดเวลาได้ถูกออกแบบโดยที่อีเทอร์เน็ตสามารถสนับสนุนวิธีการดังกล่าว
สืบเนื่องจากการส่งข้อมูลด้วยอีเทอร์เน็ตนั้น มีการกระจายตัวของระยะเวลาในการส่งข้อมูล อันมีผลมาจากการส่งข้อมูลนั้นมีกลไกการเข้าช่วงชิงการใช้สื่อสัญญาณ วิธีการในการแก้ไขที่ดีที่สุดก็คือการมีระบบนาฬิกาที่มีคุณภาพอยู่ที่อุปกรณ์ต้นทางของระบบงานย่อยทุกตัวเพื่อเข้าจังหวะเวลากับอุปกรณ์อื่น ๆ ข้างเคียงโดยที่ไม่ต้องเข้าจังหวะผ่านอุปกรณ์เครือข่ายจำนวนมาก และถ้าระบบงานมีความต้องการเวลาที่แม่นยำอย่างยิ่ง
การแยกระบบเข้าจังหวะเวลากับระบบสื่อสารข้อมูลก็อาจเป็นสิ่งที่จำเป็น ถ้าระบบงานทำงานบนนาฬิกาที่แม่นยำสูงบนตัวมันเองแล้ว กระบวนการทำงานสามารถลดผลกระทบจากการกระจายของเวลาในระบบสื่อสารได้ วิธีการนี้สามารถประยุกต์ใช้กับระบบที่ต้องทำงานร่วมกัน โดยเฉพาะที่ต้องทำงานพร้อมกันในเวลาเดียวกัน ตัวอย่างเช่น การทำงานพร้อมกันของหุ่นยนต์หลายตัว ๆ บนชิ้นงานชิ้นเดียวกัน เช่น งานเคลื่อนย้ายของหนักสูง หรือ งานบางอย่างที่หุ่นยนต์ต้องทำงานสอดคล้องกันอย่างละเอียดลออ
IEEE1588
IEEE1588 ปัจจุบันเป็นโปรโตคอลสำหรับเข้าจังหวะเวลา ที่เป็นทางเลือกที่ดีที่สุดทางหนึ่งบนระบบเครือข่ายอีเทอร์เน็ต
ต้นกำเนิดของโปรโตคอล IEEE1588 มาจากการพัฒนาโปรโตคอลเพื่อแก้ไขปัญหาในการทำงานไม่ประสานกันของบริษัท Agilent ในระบบเครื่องวัดและควบคุมแบบกระจาย เทคนิคและหลักการได้คิดค้นโดยนาย John Edison
การใช้ IEEE1588 มีความไปได้ที่เข้าจังหวะเวลาภายในช่วงเวลาที่ต่ำกว่า 1 s กับนาฬิกาในตัวเซนเซอร์, แอกชูเอเตอร์ และอุปกรณ์ประเภทเทอร์มินอล เช่น IEDโดยใช้เครือข่ายอีเทอร์เน็ตเดียวกันในการทำกระบวนการ
ถ้าไม่มีมาตรฐานในการเข้าจังหวะแบบความละเอียดสูงบนอีเทอร์เน็ต เป็นไปไม่ได้ที่อุปกรณ์ประเภทเทอร์มินอลที่มาจากต่างผู้ผลิตจะสามารถเข้าจังหวะการทำงานซึ่งกันและกันได้อย่างแม่นยำ ส่วนมาตรฐานการเข้าจังหวะเวลาบนอีเทอร์เน็ตตัวอื่น ๆ ที่มีใช้กันในปัจจุบัน เช่น NTP และ SNTP นั้นไม่สามารถเข้าจังหวะเวลาได้แม่นยำในระดับที่ต้องการโดยระบบอัตโนมัติ ตัวอื่น ๆ ที่มีความแม่นยำยังเป็นโปรโตคอลปิด เช่น โปรโตคอล SynUTP ที่พัฒนาโดยมหาวิทยาลัย Technical University ในกรุงเวียนนาก็ยังไม่เป็นที่ยอมรับ
แตกต่างจากโปรโตคอลอื่น IEEE1588 ทำงานบนหลักการเข้าคู่แมตชิ่งด้านเวลา เมื่อแพ็กเก็ตเข้าจังหวะถูกส่ง และรับ ไม่เหมือนกับโปรโตคอล SNTP เวลาไทม์แสตมป์ในการส่งแพ็กเก็ตเวลาจะไม่ได้ถูกใช้ในการเข้าจังหวะเวลา ซึ่งมีไว้เพื่อชดเชยเวลา
โปรโตคอล IEEE1588 ถูกออกแบบสำหรับระบบเครือข่ายขนาดเล็ก เช่น ระบบ LAN ผู้ออกแบบได้ให้ความสำคัญในเรื่องการใช้ทรัพยากรของระบบ ดังนั้นโปรโตคอล IEEE1588 สามารถทำงานโดยใช้ทรัพยากรระบบที่ต่ำ หรือทำงานบนอุปกรณ์ที่ราคาถูกได้ นั้นหมายความว่าโปรโตคอล IEEE1588ไม่ต้องการหน่วยความจำ หรือประสิทธิภาพของหน่วยประมวลผลที่เป็นพิเศษ รวมทั้งโปรโตคอล IEEE1588 มีการบริหารจัดการที่ไม่ซับซ้อน และสามารถสนับสนุนการทำงานแบบรีดันแดนซ์ คุณลักษณะที่สำคัญที่สุดของโปรโตคอล IEEE1588 คือสามารถเข้าจังหวะในช่วง s หรือต่ำกว่าได้
สิ่งที่ท้าทายที่สุดคือการเพิ่มระดับความสามารถในการคาดการณ์ได้ของระบบอีเทอร์เน็ตที่ถูกนำมาประยุกต์ใช้ในระบบอัตโนมัติโดยเฉพาะระบบควบคุมการเคลื่อนที่ แต่ปัจจุบันก็ยังมีความท้าทายในพัฒนาให้ชุดควบคุมการเคลื่อนที่ทุกตัวกระจายบนระบบเครือข่ายให้สามารถทำงานสอดคล้องแม่นยำสูงสุด
หลาย ๆ กลุ่มผู้ผลิตในแต่ส่วนงานอุตสาหกรรมได้ตัดสินใจเลือกใช้มาตรฐาน IEEE1588 ในระบบบัสสื่อสารที่ใช้เทคโนโลยีอีเทอร์เน็ต โดยกลุ่มผู้ใช้ ODVA ได้ตัดสินใจใช้ IEEE1588 สำหรับโปรโตคอล CIP Sync ในส่วนบริษัท SIEMENS ได้อยู่ในขั้นตอนนำ IEEE1588 มาใช้ในโปรโตคอล Profinet V3 รวมทั้งบริษัท Beckhoff ได้กำลังนำ IEEE1588 มาใช้ในผลิตภัณฑ์เช่นกัน ไม่เฉพาะในวงการอุตสาหกรรม แต่ในวงการทางทหาร การสื่อสาร และการไฟฟ้า (IEC61850) ก็ได้นำ IEEE1588 มาพิจารณาในการแก้ไขปัญหาการเข้าจังหวะเวลา
IEEE1588 มีหลักการอย่างไร
หลักการการทำงานพื้นฐานคือการที่นาฬิกาที่แม่นยำที่สุดบนเครือข่ายจะเป็นตัวเข้าจังหวะกับนาฬิกาอื่น ๆ โดยทั่วไปนาฬิกาจะมีเพียงหนึ่งช่องทางการสื่อสาร แต่สามารถทำงานเป็นทั้งมาสเตอร์และสแลฟ นาฬิกาที่แม่นยำโดยมากจะถูกกำหนดให้เป็นตัวส่งเวลาโดยมีการจัดลำดับในหน่วยที่เรียกว่า Stratum นาฬิกาที่อยู่ในกลุ่มความแม่นยำสูงสุดจะมีค่า Stratum เท่ากับ 1 IEEE1588 จะมีการเลือกนาฬิกาที่ดีที่สุดโดยอัตโนมัติโดยเรียกอัลกอริทึมนี้ว่า BMC Algorithm (Best Master Clock)
นาฬิกาที่ได้มีลำดับความสำคัญสูงสุดซึ่งหมายว่าแม่นยำสูงสุดถูกเรียกว่า BMC (Grandmaster Clock) ซึ่งจะเป็นตัวเข้าจังหวะกับนาฬิกาทุกตัวบนเครือข่าย ถ้าตัว BMC มีปัญหา หรือหายไปจากระบบเครือข่าย BMC algorithm จะทำการหานาฬิกา BMC ตัวใหม่โดยอัตโนมัติ
การจะเข้าจังหวะได้อย่างแม่นยำนั้นขึ้นอยู่กับระดับความคับคั่งและอุปกรณ์ที่ใช้ในระบบเครือข่ายเช่นกัน ด้วยเหตุผลนี้อุปกรณ์ประเภทเราเตอร์ และสวิตช์ จึงสมควรอย่างยิ่งที่ต้องมีระบบนาฬิกาในตัว เรียกว่า Boundary Clock สำหรับการบริหารจัดการระบบเวลาในเครือข่ายนั้น ยังต้องการโปรโตคอลประเภทบริหารจัดการมาช่วย เช่น SNMP (Simple Network Management Protocol)
IEEE1588 ทำงานบนการสื่อสารแบบมัลติคาสต์ (Multicast) และจริง ๆ แล้วไม่ได้ผูกติดกับระบบอีเทอร์เน็ตเพียงอย่างเดียว แต่สามารถถูกใช้บนทุกระบบบัสที่สนับสนุนการสื่อสารแบบมัลติคาสต์ การสื่อสารแบบมัลติคาสต์ มีข้อดีในเรื่องความง่ายในการจัดการหมายเลข IP ดังนั้น IEEE1588 สามารถขยายการขอบเขตโดเมนเข้าจังหวะเวลาไปสู่โหนดจำนวนมาก ๆ ได้
การเข้าจังหวะเวลา
ทุกสแลฟจะเข้าจังหวะเวลากับนาฬิกา BMCโดยการแลกเปลี่ยนเมสเซจเข้าจังหวะเวลาด้วยกับนาฬิกา BMC
กระบวนการเข้าจังหวะแบ่งเป็น 2 เฟส โดยที่ความแตกต่างของเวลาระหว่างมาสเตอร์และสแลฟจะถูกทำการแก้ไขก่อนโดยใช้วิธีการวัดค่า ออฟเซ็ต (Offset) เพื่อชดเชยค่าแตกต่าง
รูปที่ 2 Offset Correction
ระหว่างการแก้ไขค่าออฟเซต BMC ยังคงทำการส่งเมสเซจ SYNC อย่างเป็นจังหวะไปยังนาฬิกาของตัวสแลฟ โดยมีช่วงเวลาส่งตามที่กำหนดไว้ตายตัว (ค่าปริยายอยู่ที่ทุก 2 วินาที) ภายในเมสเสจ SYNC จะมีค่าคำนวณเวลาที่เมสเซจถูกส่งอยู่ภายใน
นาฬิกา BMC จะหาเวลาในการส่งที่แท้จริงคือ TM1 ในส่วนนาฬิกาของสแลฟจะหาเวลาการรับที่แท้จริงค่า TS1 ในการเข้าจังหวะหลังจากนั้น BMC จะส่งเมสเสจ SYNC นาฬิกา BMC จะส่งเมสเซจที่สอง หรือ เมสเซจฟอลโลว์อัพ (Follow-up Message) โดยมีเวลา TM1 ที่แท้จริงเป็นข้อมูลซึ่งจะตรงกับเวลาของเมสเซจ SYNC ก่อนหน้า สืบเนื่องเวลา TM1 ที่แท้จริงของเมสเสจ SYNC ไม่สามารถรู้ได้อย่างแน่นอนอันเนื่องจากการชนของข้อมูล และมีเวลาหน่วง (Back-off) เพื่อพยายามส่งอีกครั้ง
สำหรับการรับเมสเซจ SYNC ของนาฬิกาสแลฟจะทำงานสอดคล้องกับการรับเมสเซจฟอลโลว์อัพ นาฬิกาสแลฟจะสามารถคำนวณหาค่าออฟเซ็ตกับนาฬิกา BMC โดยใช้เวลาไทม์แสตมป์จากการรับเมสเซจ SYNC ดังนั้นเวลา Ts ต้องถูกแก้ไขให้ถูกต้องโดยใช้ค่าออฟเช็ตที่ได้ ถ้าไม่มีความหน่วงระหว่างเส้นทางการส่งข้อมูลแล้ว เวลาของนาฬิกาทั้งสองจะเท่ากันและเข้าจังหวะกัน
เฟสที่ 2 ของกระบวนการเข้าจังหวะเวลา คือการหาค่าความหน่วงเวลาในระบบสื่อสารระหว่างสแลฟและมาสเตอร์ จุดประสงค์นี้เพื่อให้นาฬิกาของสแลฟส่งเมสเซจการร้องขอหาค่าความหน่วงไปยังนาฬิกา BMC ระหว่างกระบวนการนี้จะหาเวลาของการส่งเมสเซจ TS3 มาสเตอร์จะแสตมป์เวลาของการรับเมสเซจร้องขอดังกล่าว และส่งเวลาที่รับ TM3 กลับไปยังสแลฟในเมสเซจที่เรียกว่า Delay Response
รูปที่ 3 Delay Measurement
จากค่าเวลาแสตมป์ TS3 และเวลาแสตมป์การรับที่ได้จาก BMC ค่า TM3 สแลฟจะสามารถคำนวณหาค่าความหน่วงเวลาเนื่องจากระบบสื่อสารระหว่างสแลฟและมาสเตอร์ได้
การวัดความหน่วงเวลาจะไม่ถูกกระทำบ่อย โดยปกติจะเป็นช่วงเวลาการวัดที่ค่อนข้างกว้าง (สุ่มช่วงเวลาระหว่าง 4 ถึง 60 วินาที) ซึ่งเป็นช่วงเวลาที่กว้างกว่ากระบวนการหาค่าออฟเซ็ต ด้วยหลักการนี้ระบบเครือข่ายและอุปกรณ์เทอร์มินอลจะไม่ทำงานหนักเกินไป
อย่างไรก็ตามสมมุติฐานค่าความหน่วงเวลาจากการสื่อสารเป็นแบบสมมาตรระหว่างมาสเตอร์และสแลฟซึ่งเป็นเรื่องสำคัญสำหรับการวัดความหน่วงเวลา ถ้าสมมุติฐานนี้ไม่ถูกต้องต้องหาวิธีการอื่นในการเข้าจังหวะเวลามาใช้ เช่น การรับเวลาจาก GPS โดยตรงเป็นต้น จะมีคำถามว่าทำไมการหาค่าความหน่วงของระบบสื่อสารต้องเริ่มจากนาฬิกาของสแลฟ เหตุผลก็เพราะว่าค่าความหน่วงจากระบบสื่อสารระหว่าง BMC และ นาฬิกาสแลฟแต่ละตัวไม่เท่ากันอันเนื่องจากตำแหน่งที่ติดตั้งบนระบบเครือข่าย
สถาปัตยกรรมและองค์ประกอบของ iEEE1588
อะไรคือจุดสำคัญของสถาปัตยกรรม IEEE1588 สิ่งนั้นคือ การออกแบบจัดแยกส่วนที่ความวิกฤติทางเวลาให้อยู่ในฮาร์ดแวร์ และส่วนโปรโตคอลจะถูกจัดแยกออกจากส่วนซอฟต์แวร์ที่ทำงานแบบเวลาจริง ดังนั้นโปรโตคอล IEEE1588 จะทำงานบนระดับความสำคัญที่ต่ำด้วยตัวประมวลผลที่ไม่ต้องมีประสิทธิภาพสูง
ภายในฮาร์ดแวร์ประกอบด้วย ระบบนาฬิกาแบบความแม่นยำสูง และตัวแสตมป์เวลา (TSU: Time Stamp Unit) เพื่อสร้างเวลาไทม์แสตมป์ สำหรับส่วนซอฟต์แวร์จะประกอบด้วยโปรโตคอล IEEE1588 พร้อมกับอินเตอร์เฟซเชื่อมต่อกับนาฬิกาเวลาจริง (RTC: Real-time Clock) และ TSU รูปที่ 4 แสดงการทำงานร่วมกันของฮาร์ดแวร์และซอฟต์แวร์สำหรับการเข้าจังหวะเวลาด้วยโปรโตคอล IEEE1588
รูปที่ 4 Synchronization Element
จุดประสงค์ของสถาปัตยกรรมคือการออกแบบให้สามารถทำงานร่วมกับทุกระบบปฏิบัติการได้ เพื่อที่จะให้เข้าใจจุดประสงค์ของสถาปัตยกรรม จะกล่าวถึงเลเยอร์สื่อสารจำนวน 3 เลเยอร์ ได้แก่เลเยอร์ระดับโปรโตคอลเลเยอร์ (Protocol Layer) จะถูกติดตั้งหรือพัฒนาให้โปรโตคอล IEEE1588 เป็นอิสระจากระบบปฏิบัติการ เลเยอร์ลำดับที่สองได้แก่ OS Abstraction Layer ถูกสร้างเพื่อเป็นตัวกลางเชื่อมต่อระหว่าง IEEE1588 และระบบปฏิบัติการที่เลือกใช้ ส่วนเลเยอร์สุดท้ายจะอยู่ภายในระบบปฏิบัติการนั้นโดยจะเตรียมฟังก์ชั่นระดับระบบปฏิบัติการให้แก่ผู้ใช้ เช่น Task/Process, Semaphores, Timer, Socket จะถูกจัดไว้ให้อยู่ในเลเยอร์นี้เรียกว่า OS layer
รูปที่ 5 Interaction Diagram
ดังรูปข้างต้นแสดงให้เห็นว่าเลเยอร์ในเลเยอร์ชั้นสูงสุดจะติดตั้ง IEEE1588 สำหรับการเข้าจังหวะเวลาในระบบเครือข่ายและสามารถทำงานได้บนอุปกรณ์เครือข่ายทุกชนิด (PC, Switch, Router) นี้คือสิ่งที่ต้องการอย่างแท้จริงของการออกแบบเพื่อให้สามารถทำการเข้าจังหวะเวลาได้ทุกองค์ประกอบของระบบเครือข่าย ภายในชั้น Protocol Layer ได้ใช้ข้อกำหนดของฟังก์ชั่นตามมาตรฐาน ANSI/ISO C
ดังนั้นจึงสามารถใช้งานโปรโตคอลได้โดยง่ายโดยไม่จำเป็นต้องรู้ฟังก์ชั่นเฉพาะของระบบปฏิบัติที่อาจจะแตกต่างกัน ตัวจัดการโปรโตคอล (Protocol Dispatcher) จะทำงานเข้าจังหวะเวลาด้วยโปรเซสขนาดเล็ก ๆ ระหว่างการประมวลผลและจบการทำงาน การสื่อสารข้อมูลระหว่าง Protocol Layer และ OS Abstraction Layer จะทำงานบนพื้นฐานการสื่อสารระหว่างโปรเซสแบบ Queue โดยใช้การอินเตอร์เฟซจำนวนสามรูปแบบ
ชั้นเลเยอร์ระหว่างกลางจะประกอบด้วยฟังก์ชั่นที่เป็นของระบบปฏิบัติการโดยที่ผู้ใช้งานต้องประยุกต์ใช้งานให้ถูกต้องตามคู่มือของระบบปฏิบัติการนั้น ๆ อันดับแรกได้แก่ Timestamp Interface ที่ให้ IEEE1588 ตรวจพิจารณาไทม์แสตมป์ของเมสเซจ SYNC และเมสเซจการร้องขอความหน่วงเวลา (Delay Request)
อย่างไรก็ตามระดับความแม่นยำจะขึ้นอยู่กับชนิดฮาร์ดแวร์ของ TSU หรือ ซอฟต์แวร์ที่สร้างไทม์แสตมป์ สำหรับวิธีการที่ดีที่สุดในการสร้างไทม์แสตมป์แบบซอฟต์แวร์คือการออกแบบให้สามารถติดต่อโดยตรงกับไดรเวอร์ของการ์ดสื่อสาร (NIC) ที่อยู่ใกล้ที่สุดกับสื่อสัญญาณที่รับส่งเมสเซจเวลา
อินเตอร์เฟซที่สองคือ Clock Interface สำหรับการอ่านและแก้ไขนาฬิกาเวลาจริงที่อยู่ในตัวอุปกรณ์ การปรับเปลี่ยนจะขึ้นอยู่กับฟังก์ชั่นของอุปกรณ์นั้น ๆ ตัวอินเตอร์เฟซนี้จะประกอบด้วยอัลกอริทึมที่จัดการเรื่องคุณภาพของการเข้าจังหวะเวลา
อินเตอร์เฟซสุดท้ายได้แก่ Port Interface ถูกใช้เพื่อสั่งการหรือรับเมสเซจ IEEE1588 ซึ่งใช้เทเลแกรม UDP/IP แบบมัลติคาสต์ ดังนั้นจึงสามารถจะส่งและรับเมสเซจจากซ็อกเก็ต (Socket) ของโปรโตคอลของ TCP/IP Stack ได้
เนื่องจาก IEEE1588 ถูกออกแบบเป็นโมดูลาร์ซอฟต์แวร์จึงสามารถพัฒนาใช้งานบน Linux, Windows และ VXWorks ได้ การติดตั้งใช้งาน IEEE1588 บน Windows และ Linux ใช้การทำไทม์แสตมป์แบบซอฟต์แวร์ แต่ถึงแม้จะเป็นการทำแบบซอฟต์แวร์ 100% ก็สามารถให้ความเม่นยำในระดับ 100 ?s และยังมีความเป็นไปได้ที่จะเพิ่มความแม่นยำเป็นระดับ 10 ?s จากการพัฒนาอย่างต่อเนื่องของเทคโนโลยีคอมพิวเตอร์
IEEE1588 และสวิตช์
ความแม่นยำของโปรโตคอลยังขึ้นอยู่กับความหน่วงของระบบเครือข่ายตามรูปแบบโทโปโลยี การเชื่อมต่อแบบ Point-to-Point จะให้ความแม่นยำในการเข้าจังหวะเวลาสูงสุด การเข้าจังหวะด้วยฮับจะให้ความหน่วงที่ต่ำที่สุดเพราะไม่มีการประมวลผลใด ๆ กับเมสเสจ
แต่มีอาจมีปัญหาอันเกิดจากการชนของเมสเซจ ในส่วนสวิตช์ที่ทำงานที่เลเยอร์ชั้นที่ 2 ถ้าทำงานที่สภาวะโหลดปกติจะใช้เวลาการประมวลผลที่ต่ำมากประมาณ 2 ถึง 10 s รวมเวลาในการรับเมสเซจ แต่ในปัจจุบันได้มีการออกแบบสวิตช์มีค่าความหน่วงลาเทนซีที่ต่ำมาก เช่น สวิตช์ของ Hirschman RS2-FX/FX จะมีความหน่วงประมาณ 0.4 s
หลักการทำงานของสวิตช์ใช้วิธีการสตอร์แอนด์ฟอร์เวิร์ด (Store and Forward) และคิว (Queues) เฉพาะเพียงแต่รอคิวหนึ่งคิวที่มีแพ็กเก็ตยาวที่สุดภายในสามารถทำให้เกิดความหน่วงเวลาประมาณ 122 s ได้ อีกประเด็นที่สำคัญที่เกี่ยวกับความแม่นยำคือต้องความหน่วงเวลาที่เท่ากันทั้งไปและกลับ นั้นคือ ความหน่วงจากนาฬิกามาสเตอร์ไปยังนาฬิกาสแลฟ และ จากนาฬิกาสแลฟไปยังนาฬิกามาสเตอร์ สมมติฐานที่ว่านี้เกือบรับรองไม่ได้ภายใต้สภาวะโหลดของเครือข่ายที่หนาแน่น
การจัดระดับความสำคัญของแพ็กเก็ต เช่น โดยโปรโตคอล IEEE 802.2 D/p จริง ๆ แล้วไม่สามารถแก้ปัญหาจากการความหนาแน่นของโหลดได้ เพราะว่าถ้ามีเพียงหนึ่งแพ็กเก็ตอยู่ก่อนหน้าของเมสเซจการเข้าจังหวะเวลาจะสร้างความความหน่วงถึง 122 s ปัจจุบันมีสวิตช์ที่สามารถแสดงผลของคิวหลังจากตัวจัดลำดับความสำคัญได้จัดแล้ว อาจจะมีแพ็กเก็ตก่อนหน้า 2 ถึง 8 แพ็กเก็ต ไม่ใช่แค่หนึ่งแพ็กเก็ต นั้นหมายความว่าอาจมีความหน่วงตั้งแต่ 360 s ถึง 1 ms ภายใต้สภาพโหลดที่หนาแน่น
วิธีการแก้ไขสำหรับปัญหาเหล่านี้คือการใช้ Boundary Clock ที่อยู่ภายในตัวสวิตช์ ในกรณีนี้เปรียบเสมือนการเชื่อมต่อ พอยต์ –ทู–พอยต์ มีคิวเฉพาะรับเมสเซจเวลา และเปรียบเสมือนว่าไม่มีความหน่วงระหว่างนาฬิกามาสเตอร์และนาฬิกาสแลฟ
รูปที่ 6 Boundary Clock
สรุป
IEEE1588 สามารถให้ความแม่นยำที่ต่ำกว่า 1 ms สำหรับระบบงานที่ต้องการความแม่นยำของนาฬิการะดับสูงในระบบเครือข่ายที่มีขนาดจำกัด ในบทความหน้าผู้เขียนจะกล่าวถึงโปรโตคอล UDP ที่ทำงานร่วมกับ IEEE1588 โปรดติดตามครับ
เอกสารอ้างอิง
1. J.E Goldman and P.T Rawles, Applied Data Communications. Addison-Wesley, New York, 2001
2. IEEE 1588 - Precise Time Synchronization as the Basis for Real Time Applications in Automation, www.industrialnetworking.com
3. IEEE 1588 it’s About Time, www.rtaautomation.com
สงวนลิขสิทธิ์ ตามพระราชบัญญัติลิขสิทธิ์ พ.ศ. 2539 www.thailandindustry.com
Copyright (C) 2009 www.thailandindustry.com All rights reserved.
ขอสงวนสิทธิ์ ข้อมูล เนื้อหา บทความ และรูปภาพ (ในส่วนที่ทำขึ้นเอง) ทั้งหมดที่ปรากฎอยู่ในเว็บไซต์ www.thailandindustry.com ห้ามมิให้บุคคลใด คัดลอก หรือ ทำสำเนา หรือ ดัดแปลง ข้อความหรือบทความใดๆ ของเว็บไซต์ หากผู้ใดละเมิด ไม่ว่าการลอกเลียน หรือนำส่วนหนึ่งส่วนใดของบทความนี้ไปใช้ ดัดแปลง โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร จะถูกดำเนินคดี ตามที่กฏหมายบัญญัติไว้สูงสุด