c - ويكيبيديا - ماهو البروتوكول في الشبكات




جيد بروتوكول الاتصالات التسلسلية/مكدس للأجهزة المدمجة؟ (4)

أعتقد أن نقطة انطلاق معقولة يمكن أن تكون uIP .

(إضافة مقال Wikipedia على µIP لأن الرابط الأصلي قد مات.)

بعد كتابة العديد من البروتوكولات التسلسلية المخصصة لمختلف المشاريع ، بدأت أشعر بالإحباط من إعادة اختراع العجلة في كل مرة. بدلاً من الاستمرار في تطوير حلول مخصصة لكل مشروع ، كنت أبحث عن حل أكثر عمومية. كنت أتساءل ما إذا كان أي شخص يعرف بروتوكولًا تسلسليًا (أو أفضل من التنفيذ) يفي بالمتطلبات التالية:

  • دعم أجهزة متعددة. نود أن نكون قادرين على دعم حافلة RS485.
  • ضمان التسليم. نوع من آلية الاعتراف ، وبعض اكتشاف الأخطاء البسيط (ربما يكون CRC16 جيدًا).
  • ليس سيد / عبد. من الناحية المثالية ، سيكون العبد (القادرون) قادرين على إرسال البيانات بشكل غير متزامن. هذا في الغالب فقط لأسباب جمالية ، مفهوم الاقتراع لكل عباد لا يشعر بأنه مناسب لي.
  • استقلال نظام التشغيل. من الناحية المثالية ، لن تعتمد على بيئة متعددة المهام وقائية على الإطلاق. أنا على استعداد للتنازل عن هذا إذا كان يمكنني الحصول على الأشياء الأخرى.
  • ANSI C. نحن بحاجة إلى أن نكون قادرين على تجميعها لعدة أبنية مختلفة.

السرعة ليست مشكلة كبيرة ، فنحن على استعداد للتخلي عن بعض السرعة لتلبية بعض تلك الاحتياجات الأخرى. ومع ذلك ، نود تقليل مقدار الموارد المطلوبة.

أنا على وشك البدء في تنفيذ بروتوكول نافذة منزلقة مع ACKs الخنزير ودون تكرار انتقائي ، ولكن أعتقد أنه ربما شخص ما يمكن أن ينقذني المتاعب. هل يعلم أي شخص عن مشروع قائم يمكنني الاستفادة منه؟ أو ربما استراتيجية أفضل؟

تحديث
لقد فكرت بجدية في تطبيق TCP / IP ، لكنني كنت آمل حقًا في الحصول على شيء أكثر خفيفة. العديد من ميزات TCP / IP مبالغة فيما أحاول القيام به. أنا على استعداد لقبول (بسخرية) أنه ربما لا يتم تضمين الميزات التي أريدها في بروتوكولات أخف وزنا.

تحديث 2
شكرا للنصائح حول CAN. لقد بحثت في الماضي ، وربما استخدمه في المستقبل. أود حقًا أن تتعامل المكتبة مع الإقرارات والتخزين المؤقت وإعادة المحاولة وما إلى ذلك. أعتقد أنني أبحث أكثر عن طبقة شبكة / نقل بدلاً من طبقة قاعدة بيانات / فعلية.

تحديث 3
لذلك يبدو أن أحدث ما في هذا المجال هو:

  • قلصت إلى أسفل مكدس TCP / IP. ربما تبدأ بشيء مثل lwIP أو uIP .
  • تطبيق يستند إلى CAN ، ربما يعتمد بشكل كبير على ناقل CAN ، لذلك لن يكون مفيدًا على الطبقات المادية الأخرى. شيء مثل مهرجان CAN يمكن أن يساعد على طول الطريق.
  • تطبيق HDLC أو SDLC (مثل هذا واحد ). ربما هذا هو الطريق الذي سنتخذه.

لا تتردد في نشر المزيد من الإجابات إذا صادفت هذا السؤال.


ألقِ نظرة على Profibus .

إذا كنت لا تريد السيد / العبد ، أعتقد أنك يجب أن تفعل التحكيم مع الأجهزة ( CAN ، FlexRay ).


هل تفكر في بروتوكول MODBUS؟ إنه موجه نحو السيد / العبد ، لذلك لم يتمكن العبد من بدء عملية النقل ، لكنه بخلاف ذلك خفيف الوزن للتنفيذ ، ومجاني ، ومدعوم جيدًا بأدوات عالية المستوى. يجب أن تحصل فقط على فهم المصطلحات / مثل عقد السجل ، سجل المدخلات ، ملف الإخراج وما إلى ذلك).

يمكن أن يكون مستوى Phy RS232 ، RS485 ، Ethernet ...


هل فكرت HDLC أو SDLC ؟

هناك أيضًا LAP/D (بروتوكول الوصول إلى الارتباط ، D-Channel).

" بروتوكولات ارتباط البيانات " الخاصة بـ Uyless Black موجودة دائمًا على رف الكتب - قد تجد بعض المواد المفيدة هناك أيضًا (حتى يمكنك الاطلاع على جدول المحتويات والبحث عن البروتوكولات المختلفة)





firmware