TSN: كيف يُطبَّق الإيثرنت الحتمي والاستباق الإطاري فعليًا على FPGA
«أفضل جهد» في الإيثرنت القياسي لا يكفي للتحكم الصناعي: نقل ملف كبير على نفس الكابل قد يؤخّر إطار تحكّم بالحركة بمليّ ثوانٍ. تضيف TSN (الشبكات الحساسة زمنيًا، IEEE 802.1) مزامنة الزمن والجدولة الزمنية واستباق الإطارات لتحويل الإيثرنت إلى شبكة يمكن التنبؤ بها وحساب زمنها. يشرح هذا المقال ذلك بأرقام ويوضّح تطبيقه على لوحات FPGA.
لماذا الإيثرنت القياسي «غير متوقَّع» في التحكم الصناعي
الإيثرنت القياسي يعني أساسًا: من يصل أولًا يرسل أولًا. المشكلة ليست في زمن الكمون المتوسط بل في أسوأ حالة غير القابلة للضبط:
- على منفذ 1Gbps يُرسَل حاليًا إطار كبير طوله 1518 بايتًا؛
- في اللحظة نفسها يصل إلى منفذ المبدّل إطار تحكّم بالحركة عالي الأولوية طوله 64 بايتًا؛
- لا يستطيع المبدّل مقاطعة الإطار الجاري، فينتظر إطار التحكم في الطابور.
هذا الانتظار في الطابور هو مصدر الارتجف (jitter). لا يهمّ ذلك في شبكة المكاتب، لكن في التحكّم متعدد المحاور ومفاصل الروبوت وتنسيق المحركات يكون دورة التحكم عادةً 125µs أو أقل؛ فتأخّر إطار التحكم مئات المايكروثوانٍ يُخرج المحاور من التزامن.
لا يغيّر TSN الكابل، بل يضع على الإيثرنت مجموعة قواعد جدولة حتمية تجعل أسوأ حالة قابلة للتصميم والحساب.
ما الذي يحلّه TSN فعلًا: أربعة معايير معًا
TSN ليس بروتوكولًا واحدًا بل مجموعة معايير من مجموعة عمل IEEE 802.1. الكتل الأربع الأكثر استخدامًا:
| المعيار | ما الذي يحلّه | ببساطة |
|---|---|---|
| 802.1AS (gPTP) | مزامنة الزمن عبر الشبكة | تشترك كل المبدّلات والعقد في ساعة واحدة ضمن 1µs |
| 802.1Qbv (TAS، المُشكِّل الواعك زمنيًا) | إرسال الحركة وفق جدول | لكل طوابير المنفذ «جدول بوابات»: متى يخرج الزمن الحقيقي ومتى تخرج الحركة العادية، بالمايكروثانية |
| 802.1Qbu / 802.3br (استباق الإطارات) | الإطارات عالية الأولوية لا يحجبها الكبير | يمكن مقاطعة الإطار الطويل في منتصفه ثم إكماله |
| 802.1Qat / 802.1Qav | حجز النطاق وإدارة الطوابير | يُحجز نطاق ثابت للتدفقات الزمنية فلا تقتحمها الحركة العادية |
تخيّل TSN كحارة مخصّصة للحافلة على الكابل: أولًا تزامن كل التقاطعات ساعاتها (gPTP)، ثم تلتزم الحافلة بالممر المخصّص في الوقت المجدول ويسير سائر المرور في غير ذروة (TAS)، وعندما يحجبها شاحن تنسل الحافلة من فجوة (الاستباق).
ثلاثة أرقام: من المليّ ثانية إلى المايكروثانية
كم يشغل إطارٌ خطّ 1Gbps
أولًا الطبقة الفيزيائية. 1Gbps = 10^9 بت في الثانية؛ زمن الإرسال = البتات / 10^9.
| نوع الإطار | بايت | بت | زمن الإرسال على 1Gbps |
|---|---|---|---|
| أصغر إطار إيثرنت | 64 بايت | 512 بت | 0.512 µs |
| إطار عادي | 512 بايت | 4096 بت | 4.10 µs |
| أكبر إطار قياسي | 1518 بايت | 12144 بت | 12.14 µs |
| إطار جامبو | 9000 بايت | 72000 بت | 72.0 µs |
إذًا يشغل أكبر إطار قياسي الخطّ نحو 12.1µs. وبدون الاستباق ينتظر إطار التحكم عالي الأولوية أسوأ الحالات كلّ هذه الـ12.1µs، بالإضافة إلى تمرير المبدّل والطابور، فيسهل أن يصل الارتجف إلى مئات المايكروثواني والمليّ ثواني.
كم الحجب الذي يزيله الاستباق
تقسم 802.1Qbu/802.3br الإطار الطويل عند حدّ 64 بايت. عند وصول إطار عالي الأولوية:
- إذا كان الإطار الطويل الجاري قد تجاوز أول 64 بايت (نقطة فحص الشظية)، يقاطعه فورًا؛
- يُرسَل الإطار عالي الأولوية كاملًا (أسوأ حالة 0.512µs)؛
- تُحفظ نقطة القطع في الإطار الطويل ويُكمَّل لاحقًا.
قارن الحجب في أسوأ الحالات:
- بدون استباق: إطار التحكم ينتظر إطارًا كبيرًا كاملًا ≈ 12.14µs؛
- مع استباق: إطار التحكم ينتظر أقلّ من شظية واحدة (≤64 بايت، 0.512µs) بالإضافة إلى زمن إرساله.
هذه الفجوة من ~12µs إلى ~1µs هي سبب وصول TSN إلى دورات تحكم بالمايكروثانية.
كيف تتزامن ساعات gPTP
يجب أن يستخدم جدول TAS وقتًا مشتركًا واحدًا عبر الشبكة، وإلا فتحت كل مبدّل بواباته في وقت مختلف. تُحاذي 802.1AS (gPTP) الماجستير والتابع عبر تبادل دموس زمن على مستوى الرابط:
- ترسل الساعة الرئيسية رسائل مزامنة دورية؛
- تضع كل قفزة في المبدّل دموسًا زمنيًا للأجهزة عند دخول/خروج الحزمة لتصحيح عدم تناظر الرابط؛
- تضبط العقد الطرفية ساعتها المحلية وفق الساعة الرئيسية.
عمليًّا يكون انحراف gPTP من طرف إلى طرف ضمن ±1µs عادةً، وهو شرط جداول TAS بدقة المايكروثانية. ومن دون مزامنة جيدة يصبح كل الجدولة بلا فائدة.
تطبيق TSN على FPGA: من MAC إلى البوابة الزمنية
تتطلب دموس زمن TSN والبوابة الزمنية دقّة الأجهزة؛ فكومة+مكدس برمجي لا تصل إلى المايكروثانية، وهنا يجلس FPGA. سلسلة عقدة TSN نموذجية على FPGA:
1. PHY: تعدد السرعات 100M/1G/2.5G/5G، مع تفتيت وإعادة تجميع استباق الإطارات (802.3br)؛
2. Ethernet MAC: MAC صلب أو مرن، يخرّج تدفقات موسومة زمنيًا؛
3. نواة IP لـ TSN: ساعة gPTP تابعة، وجدول بوابة زمنية TAS، واستباق/إعادة تجميع في منطق FPGA؛
4. منطق الأعمال: إطارات التحكم بالحركة وبيانات المستشعرات والحركة العادية في طوابير منفصلة.
النقطة الجوهرية: يجب وضع الدموس الزمني في الأجهزة عند حدود PHY/MAC، لا أن يسجّلها البرنامج بعد استلام الحزمة — فذلك وحده يكلف عشرات المايكروثواني. يُبقي FPGA سلسلة «تصل الحزمة → دموس → فحص جدول البوابات → تحديد زمن الإرسال» كلها في مجال تردد واحد.
الاختيار: ثلاث فئات لوحات لعقد TSN
تتطلب سيناريوهات TSN المختلفة موارد منطق وأجهزة إرسال/استقبال مختلفة؛ اختر بحسب الميزانية وعدد المنافذ:
| اللوحة | منصة FPGA | دور TSN | لماذا |
|---|---|---|---|
| لوحة نواة XCKU15P | Kintex UltraScale+ | تجميع TSN متعدد المنافذ / بوابة حافّة | منطق وافر، أجهزة GTH وTri-Mode MAC صلبة؛ يشغّل تابع gPTP + جدولة TAS متعددة + تسريع الأعمال معًا |
| DUF7690T | FudanMicro JFM7VX690T (متوافق مع XC7VX690T) | عقدة TSN وطنية عالية الموثوقية | فئة Virtex-7، درجة حرارة صناعية، لخطوط حسّاسة بسلسلة التوريد والموثوقية |
| DUK7410T | FudanMicro JFM7K410T (متوافق مع XC7K410T) | عقدة طرفية TSN بمنفذ/منفذين | فئة Kintex-7، تكلفة أقل؛ تكفي لمنفذ تابع gPTP واحد + TAS بسيط، للعقد الطرفية الكمية |
مزيج شائع: DUK7410T كعقد طرفية ميدانية، وDUF7690T كبوابات وطنية لمحطات العمل، وXCKU15P كعقدة تجميع TSN متعددة المنافذ للخطّ كاملًا، فتنفصل حركة IP/الفيديو العادية عن حركة التحكم الزمنية بطوابير TSN على كابل واحد.
مثال عملي: تحويل كابل مختلط إلى TSN
كانت آلة تستخدم أصلاً كابلين: واحد للتحكم الزمني في PLC والمحركات، والآخر لصور الكاميرا والسجلات. بعد التحديث دُمجا في كابل جيجابت واحد يفصله TSN:
- تسلك إطارات التحكم الزمنية بوابة TAS مخصّصة، دورة 125µs، وحجز نحو 10% من النطاق؛
- تسلك حركة الكاميرا الضخمة الطابور العادي، ويضمن الاستباق ألّا تحجب إطار التحكم أبدًا؛
- تُحاذي gPTP محاور المحرّكات الأربع ضمن 1µs.
القياس بعد التحديث: هبط أسوأ ارتجف لإطار التحكم من نحو 800µs إلى أقلّ من 3µs، وانخفض عدد الكوابل من اثنين إلى واحد، وتراجعت منافذ المبدّل وتكاليف الأسلاك.
الحتمية ليست تسريع الشبكة، بل تحويل «أسوأ حالة» من المجهول إلى القابل للحساب — وهذا بالضبط ما يضعه FPGA من زمن في الأجهزة.
قراءات إضافية
- [الوصلة الخلفية الضوئية 10G/25G: بناء وصلات عالية النطاق بعيدة المدى](/article/fiber-backhaul-10g-25g/)
- [منظومة لوحات FMC الميزانينة: توسيع اللوحات بواجهات مخصصة](/article/fmc-mezzanine-ecosystem/)
- [تخطيط نطاق PCIe: حساب النطاق بين المضيف واللوحة](/article/pcie-bandwidth-planning/)
