سيفال

Cyphal هو بروتوكول خفيف الوزن مصمم لاتصالات موثوقة داخل المركبات باستخدام وسائل نقل اتصالات متنوعة، وكان مخصصًا في الأصل لحافلة CAN ، [ 2 ] ولكنه يستهدف أنواعًا مختلفة من الشبكات في الإصدارات اللاحقة. [ 3 ] OpenCyphal هو مشروع مفتوح المصدر يهدف إلى توفير تطبيقات لبروتوكول Cyphal مرخصة بموجب ترخيص MIT. كان المشروع يُعرف باسم UAVCAN (الحوسبة والشبكات غير المعقدة على مستوى التطبيقات للمركبات) قبل تغيير علامته التجارية في مارس 2022.

تاريخ

تم نشر أول طلب تعليقات (RFC) يحدد بشكل عام الأفكار العامة التي ستشكل فيما بعد مبادئ التصميم الأساسية لـ Cyphal (التي كانت تحمل العلامة التجارية UAVCAN في ذلك الوقت) في أوائل عام 2014. [ 4 ] كان ذلك بمثابة رد فعل على النقص الملحوظ في التكنولوجيا الكافية التي يمكن أن تسهل تبادل البيانات داخل المركبة في الوقت الفعلي بين المكونات الموزعة للمركبات الذكية الحديثة (الطائرات بدون طيار بشكل أساسي).

منذ تقديم طلب التعليقات الأصلي (RFC)، مرّ البروتوكول بثلاث مراحل تصميم رئيسية، تُوّجت بإصدار أول نسخة مستقرة طويلة الأمد في عام 2020 (بعد ست سنوات) تحت اسم UAVCAN v1.0. وخلال هذه الفترة، تمّ استخدام البروتوكول في العديد من الأنظمة المتنوعة، بما في ذلك الطائرات المسيّرة، [ 5 ] [ 6 ] والمركبات الفضائية، [ 7 ] والروبوتات تحت الماء، [ 8 ] وسيارات السباق، [ 9 ] وأنظمة الروبوتات العامة، [ 10 ] ومركبات التنقل الصغيرة. [ 11 ] وفي عام 2022، أُعيد تسمية البروتوكول إلى Cyphal. [ 12 ]

يُسوّق مطورو Cyphal نظامهم كبديل عالي التحديد والأمان لأطر النشر والاشتراك عالية المستوى مثل DDS أو مخطط الحساب في ROS ، وهو صغير الحجم وبسيط بما يكفي لاستخدامه في التطبيقات المدمجة عالية الموثوقية. [ 13 ] وقد ثبتت إمكانية استخدام Cyphal مع وحدات تحكم دقيقة ذات ذاكرة قراءة فقط (ROM) بسعة 32 كيلوبايت وذاكرة وصول عشوائي (RAM) بسعة 8 كيلوبايت. [ 14 ]

البروتوكول مفتوح المصدر ويمكن إعادة استخدامه بحرية دون الحاجة إلى موافقة أو رسوم ترخيص. يتم تطوير المعيار الأساسي وتطبيقاته المرجعية بطريقة مفتوحة، بالتنسيق عبر منتدى نقاش عام. [ 15 ] اعتبارًا من عام 2020، يحظى المشروع بدعم العديد من المنظمات الكبرى، بما في ذلك شركة NXP لأشباه الموصلات [ 16 ] ومشروع Dronecode. [ 17 ]

تاريخ بروتوكول Cyphal في سياق البروتوكولات التسلسلية الأخرى

أ. غالبًا ما يتم تشغيل MODBUS عبر RS-232.

ب. يستعير نظام DDS لغة تعريف الواجهة من CORBA.

ج. MODBUS عبر منفذ TCP 502.

د. تقدمت شركة إيرباص إلى ARINC لطلب تطوير معيار CAN جديد. وقدّم مايكل ستوك خبرته في تطوير CAN Aerospace . وكانت النتيجة ARINC-825-1.

هـ. تم نشر أول معيار AVB من قبل فريق عمل AVB التابع لمجموعة عمل IEEE 802.1. وتم إصدار معيار IEEE1722-2011.

و. تم تغيير اسم مجموعة عمل AVB إلى مجموعة عمل TSN.

ز. يعتمد نظام ROS2 على DDS . الوسائط النموذجية لأنظمة ROS2 الموزعة هي الإيثرنت.

h. تم إصدار 802.1Qbv و 802.1Qbu، مما يتيح تعريف شبكات إيثرنت حتمية بالكامل.

يقود بافيل كيرينكو جهودًا مفتوحة المصدر لتحديد UAVCAN v0. في البداية، يدعم فقط CAN 2.0B.

ج. قدمت شركة إيرباص عرضًا تقديميًا إلى معهد مهندسي الكهرباء والإلكترونيات بعنوان "إيثرنت ثنائي الاتجاه الكامل في إلكترونيات الطيران ومعيار الشبكات الحساسة للوقت" والذي يقترح دمج AFDX في معايير TSN.

k. ARINC 825-4 يضيف دعمًا لـ CAN-FD ويحدد النفق عبر ARINC-664.

ل. يحدد برنامج Amazon Prime Air مجموعةً أساسيةً من التغييرات على الإصدار v0، مضيفًا دعم CAN-FD. ويُطلق على النسخة غير الرسمية اسم v0.5. وفي الوقت نفسه، خلال قمة ستوكهولم، [ 18 ] تم وضع تصور UAVCAN v1.

تمت إضافة بروتوكول m. 10 BASE T1S إلى معيار IEEE 802.3، والذي يُعرّف وسائط إيثرنت ثنائية الاتجاه، ثنائية الأسلاك، متعددة النقاط مع تقنية PLCA ( تجنب التصادم على مستوى الطبقة الفيزيائية ). ويستهدف هذا المعيار تطبيقات السيارات والصناعة (مثل استبدال بروتوكول MODBUS).

ن. توقف إنتاج طائرة إيرباص A380 .

o. UAVCAN v1 يصبح إصدارًا تجريبيًا (بيتا).

p. تتولى DroneCAN صيانة مواصفات UAVCAN v0/v0.5 وتطويرها.

q. تم تغيير اسم UAVCAN v1 إلى Cyphal. [ 12 ]

تصميم

توفر Cyphal تجريدات مجانية سهلة الاستخدام ومألوفة لمهندسي البرمجيات [ 19 ] دون المساس بالسلامة الوظيفية والحتمية. [ 3 ] وباعتبارها تقنية جديدة، فهي غير مثقلة بالأنظمة القديمة [ 3 ] وتستفيد بشكل كبير من التطورات الحديثة في مجال تكنولوجيا المعلومات العامة . [ 20 ] يقدم البروتوكول نموذج اتصال لا يعتمد على الحالة، حيث يمكن للعقدة بدء التشغيل فور اتصالها بالشبكة لتلبية متطلبات التطبيقات عالية الموثوقية. [ 13 ]

يتألف البروتوكول من مكونين رئيسيين منفصلين بوضوح: [ 21 ] طبقة النقل التي تعمل على شبكات المركبات الموثوقة مثل الإيثرنت أو CAN FD ، وطبقة العرض (التسلسل) المستقلة عن نوع النقل والمبنية على ما يُسمى بلغة وصف بنية البيانات (DSDL). وقد ثبت أن البروتوكول قابل للتنفيذ بأقل من 1000 سطر برمجي منطقي. [ 22 ]

تتشابه لغة وصف الواجهات (DSDL) من حيث المبدأ مع لغة وصف الواجهات المستخدمة في نظام التشغيل ROS، إلا أنها تُضيف قيودًا ثابتة إضافية لجعل الحل مناسبًا للأنظمة المدمجة عالية الموثوقية التي تعمل في الوقت الحقيقي. وقد دفع هذا التشابه بعض المطورين إلى ربط نظام التشغيل ROS بلغة Cyphal باستخدام طبقات الترجمة الآلية. [ 10 ] [ 23 ]

المبادئ الأساسية

تم بناء البروتوكول حول مبادئ التصميم الأساسية التالية التي تهدف إلى ضمان أن يكون الحل مناسبًا تمامًا لأنظمة المركبات الحديثة المعقدة ذات الأهمية البالغة للسلامة.

  • شبكة ديمقراطية - لا توجد عقدة رئيسية. جميع العقد في الشبكة لها نفس حقوق الاتصال؛ لا ينبغي أن تكون هناك نقطة فشل واحدة.
  • تسهيل السلامة الوظيفية - يمتلك مصممو أنظمة Cyphal الضمانات والأدوات اللازمة لتحليل النظام وضمان سلوكه الصحيح.
  • تجريدات اتصال عالية المستوى — يدعم البروتوكول دلالات الاتصال بالنشر/الاشتراك واستدعاء الإجراءات عن بُعد باستخدام أنواع بيانات (مخطط) مُعرَّفة ومُدقَّقة بشكل ثابت. تُعرَّف أنواع البيانات المستخدمة في الاتصال بطريقة واضحة ومستقلة عن المنصة، بحيث يسهل فهمها من قِبل الآلات والبشر على حد سواء.
  • تسهيل التوافق بين منتجات مختلف الموردين - يوفر Cyphal أساسًا مشتركًا يمكن للموردين المختلفين البناء عليه لضمان توافق معداتهم. يوفر Cyphal مجموعة عامة من أنواع بيانات الاتصال القياسية المستقلة عن التطبيقات.
  • وظائف عامة عالية المستوى محددة جيدًا - يحدد Cyphal الخدمات والرسائل القياسية للوظائف الشائعة عالية المستوى، مثل: اكتشاف الشبكة، وتكوين العقدة، وتحديث برامج العقدة، ومراقبة حالة العقدة، ومزامنة الوقت على مستوى الشبكة، ودعم التوصيل والتشغيل للعقدة، وما إلى ذلك.
  • تجريدات البيانات الذرية — تستطيع العُقد تبادل هياكل بيانات ضخمة تتجاوز سعة إطار نقل واحد. يقوم Cyphal بتفكيك البيانات وإعادة تجميعها تلقائيًا على مستوى البروتوكول، مُخفيًا التعقيدات المرتبطة بذلك عن التطبيق.
  • معدل نقل بيانات عالٍ، زمن استجابة منخفض، حتمية - يضيف Cyphal عبئًا إضافيًا ضئيلًا جدًا إلى بروتوكول النقل الأساسي، مما يضمن معدل نقل بيانات عالٍ وزمن استجابة منخفض. وهذا ما يجعل Cyphal مناسبًا تمامًا للتطبيقات التي تتطلب استجابة فورية صارمة.
  • دعم الواجهات والعقد الزائدة — Cyphal مناسب للتطبيقات التي تتطلب تكرارًا معياريًا.
  • منطق بسيط، متطلبات حسابية منخفضة — تستهدف لغة Cyphal مجموعة واسعة من الأنظمة المدمجة، بدءًا من الحواسيب المدمجة عالية الأداء، وصولًا إلى وحدات التحكم الدقيقة ذات الموارد المحدودة للغاية. كما أنها غير مكلفة من حيث قوة الحوسبة وساعات العمل الهندسية، ويمكن إضافة الميزات المتقدمة تدريجيًا حسب الحاجة.
  • أنواع البيانات الغنية وتجريدات الواجهة - لغة وصف الواجهة هي جزء أساسي من التكنولوجيا، مما يسمح للأنظمة الفرعية المضمنة بعمق بالتفاعل مع الأنظمة ذات المستوى الأعلى مباشرة (وبطريقة قابلة للصيانة)، مع تمكين المحاكاة والاختبار الوظيفي.
  • دعم بروتوكولات النقل المختلفة - يمكن استخدام Cyphal مع العديد من بروتوكولات النقل المختلفة، ويمكن توسيعه لدعم بروتوكولات نقل أخرى في المستقبل.
  • معيار مستقل عن واجهة برمجة التطبيقات (API ) - على عكس بعض معايير الشبكات الأخرى، لا يسعى معيار Cyphal إلى وصف واجهة برمجة التطبيقات (API). أي تفاصيل لا تؤثر على سلوك التنفيذ الذي يمكن ملاحظته من قبل المشاركين الآخرين في الشبكة تقع خارج نطاق المواصفات.
  • المواصفات المفتوحة والتطبيقات المرجعية — مواصفات Cyphal مفتوحة ومتاحة للاستخدام مجانًا للجميع، وستبقى كذلك دائمًا. أما التطبيقات المرجعية، فتُوزَّع بموجب شروط رخصة MIT المُرخِّصة أو تُنشر في الملكية العامة.

طبقة النقل

سيفال/علبة

تعتمد طبقة نقل البيانات CAN على CAN و CAN FD باستخدام مُعرّفات 29 بت. تتضمن حمولة CAN حجمًا ثابتًا إضافيًا قدره بايت واحد لكل إطار لتلبية احتياجات طبقة النقل. [ 21 ]

Cyphal/UDP

تم اقتراح بروتوكول نقل البيانات Cyphal/UDP لشبكات المركبات القائمة على الإيثرنت في الوقت الحقيقي. ويُقال إن تصميمه متأثر ببروتوكولات AFDX وDDS/RTPS وSOME/IP. [ 20 ]

أنواع البيانات القياسية

على غرار التقنيات المماثلة الأخرى، توفر Cyphal مكتبةً لأنواع البيانات الشائعة، تُدار وتُنسق من قِبل القائمين على صيانة البروتوكول، بهدف معالجة بعض المشكلات الشائعة في التطبيقات الرائجة. [ 24 ] تُكمّل أنواع البيانات هذه أنواع البيانات الخاصة بالبائعين أو التطبيقات، والتي يُحددها المستخدمون، تمامًا كما تُحدد لغة البرمجة عادةً مكتبةً قياسيةً يعتمد عليها البرنامج الذي يُطوره المستخدم. تُقدم مواصفات البروتوكول مجموعةً من القواعد التي تهدف إلى تجنب التعارضات وتعزيز قابلية التشغيل البيني لأنواع البيانات التي يُحددها البائعون المستقلون. [ 25 ]

مراجع

  1. "تقنية مفتوحة للاتصالات في الوقت الحقيقي في الأنظمة السيبرانية الفيزيائية" .
  2. "حول OpenCyphal" . تم الاطلاع عليه بتاريخ 28 فبراير 2020 .
  3. 1 2 3 "UAVCAN - Kvaser - حلول CAN المتقدمة" . تم الاطلاع عليه بتاريخ 16 أكتوبر 2019 .
  4. "نقاش حول الطائرات بدون طيار | UAVCAN - ناقل CAN للطائرات بدون طيار" . groups.google.com/forum/#!topic/drones-discuss . تم الاطلاع عليه بتاريخ 27 فبراير 2020 .
  5. ماير، لورنز (2017). بنية الروبوت الديناميكية للرؤية الحاسوبية القوية في الوقت الحقيقي (أطروحة). المعهد الفدرالي السويسري للتكنولوجيا في زيورخ. doi : 10.3929/ethz-a-010874068 . hdl : 20.500.11850/129849 .
  6. "مطور ArduPilot | ناقل CAN وبروتوكول UAVCAN" . ardupilot.org . تم الاطلاع عليه بتاريخ 27 فبراير 2020 .
  7. لوسيكام، مارتن؛ ميلد، مايكل؛ بوشل، توماس؛ غرينوالد، ديفيد؛ بول، ستيفان (2016). "مراقبة الإشعاع متعددة الاتجاهات في الوقت الحقيقي على متن المركبات الفضائية". مؤتمر AIAA للفضاء 2016 (ورقة بحثية). doi : 10.2514/6.2016-5532 . ISBN 978-1-62410-427-5.
  8. بهات، سريهارشا؛ ستينيوس، إيفان؛ بور، نيلز؛ سيفرهولت، جوزفين؛ ليونغ، كارل؛ توروبا بالموري، إغناسيو (2019). "نحو نظام سيبراني-فيزيائي للمركبات الآلية تحت الماء ذات القدرة على المناورة". مؤتمر OCEANS 2019 - مرسيليا . الصفحات 1-7 . doi : 10.1109/OCEANSE.2019.8867392 . ISBN  978-1-7281-1450-7. S2CID 204700489 . 
  9. "نسخة مؤرشفة" (PDF) . مؤرشفة من الأصل (PDF) بتاريخ 28 فبراير 2020. تم الاطلاع عليها بتاريخ 28 فبراير 2020 .{{cite web}}: CS1 maint: archived copy as title ( link )
  10. 1 2 "GitHub - MonashUAS/Canros: UAVCAN to ROS interface" . GitHub . 5 أبريل 2022.
  11. "إصدار جديد كليًا من VESC-Tool لعام 2019" . 8 فبراير 2019.
  12. 1 2 "UAVCAN v1 أصبح الآن Cyphal" . منتدى OpenCyphal . 25 مارس 2022. تم الاطلاع عليه بتاريخ 13 أكتوبر 2022 .
  13. 1 2 "UAVCAN: بروتوكول نشر واشتراك عالي الموثوقية للشبكات داخل المركبات في الوقت الحقيقي" . 2 يوليو 2019.
  14. "نظام OpenGrab EPM V3 الجديد لحمل شحنات الطائرات بدون طيار" . 4 ديسمبر 2015.
  15. "منتدى OpenCyphal" . منتدى OpenCyphal . تم الاطلاع عليه بتاريخ 25 أبريل 2024 .
  16. "يسر شركة NXP Semiconductors دعم UAVCAN V1.0" . 9 ديسمبر 2019.
  17. "Dronecode | المكونات الرائدة مفتوحة المصدر للطائرات بدون طيار" . www.dronecode.org . تم الاطلاع عليه بتاريخ 27 فبراير 2020 .
  18. "ملخص قمة ستوكهولم" . منتدى أوبن سايفال . 5 أكتوبر 2018. تم الاطلاع عليه بتاريخ 13 أكتوبر 2022 .
  19. "OlliW's Bastelseiten » UC4H: UAVCAN for Hobbyists" . 
  20. 1 2 "بروتوكولات النقل البديلة في UAVCAN" . 11 يناير 2019.
  21. 1 2 المواصفات opencyphal.org
  22. "Compact Cyphal/CAN v1 in C" . GitHub . 22 نوفمبر 2021.
  23. "أول عقد ناشر وخدمة لـ ROS2 UAVCAN (PyCyphal)" . منتدى OpenCyphal . 12 أبريل 2022. تم الاطلاع عليه في 13 أكتوبر 2022 .
  24. "تعريفات DSDL المنظمة" . GitHub . 16 نوفمبر 2021.
  25. "سياسة تنظيم أنواع البيانات ورسوم العضوية" . 8 ديسمبر 2019.