تم تصميم الترجمة الأساسية لبروتوكول SOME/IP لتوفير حل قابل للتعديل من أجل التكامل مع خدمات AUTOSAR. كان التحدي الأساسي الذي واجهه الوسيط هو ترجمة الرسائل وطلبات الإجراءات عن بُعد (RPC) التي لم تكن معروفة في وقت التجميع. لمعالجة هذه المشكلة، تفترض التعديلات في وقت التشغيل عمليات إضافة أو تعديل ديناميكية لخدمات SDV، على غرار طريقة تقديم أنواع الوحدات الجديدة.
يستند حل هذه الترجمة الديناميكية إلى معلومات النوع في وقت التشغيل (RTTI). يستهلك الوسيط الإعدادات من جميع حِزم الخدمات المثبَّتة ويُجري ترجمة تستند إلى الانعكاس باستخدام مخططات البيانات من تلك الإعدادات.
على الرغم من أنّ الترجمة المستندة إلى معلومات النوع في وقت التشغيل (RTTI) توفّر المرونة، إلا أنّها أبطأ بطبيعتها من الطرق التي تم تجميعها مسبقًا. لتحسين مسارات البيانات التي يتم تحميلها بشكل كبير، استخدِم تقنية تتجاوز الترجمة.
لدعم استهلاك الرسائل الكبيرة والمتكررة، يتيح لك SDV تجاوز الترجمة وإعادة توجيه وحدات البايت المنسّقة بتنسيق SOME/IP إلى حِزم خدمات المستهلك.
تتعامل حزمة الخدمة مع الحمولة المنسّقة بتنسيق SOME/IP، والتي يمكنها إما استهلاك الحمولة أو ترجمتها إلى بروتوكول المخزن المؤقت للبروتوكولات.
حدِّد message_translation_mode: INTERPRET_AS_BYTES للحدث في ملف ربط SOME/IP لتجاوز الترجمة. يمكنك الاطّلاع على مثال في samples/some_ip/catalog/integration_test/byte_forward_someip.vsidl.
مفاضلات طريقة الترجمة
عند اختيار طريقة ترجمة، ضَع هذه المفاضلات في الاعتبار:
التفاعل مع النظام: لا يمكن لخدمات SDV الأخرى تفسير وحدات البايت التي يتم إعادة توجيهها بتنسيق SOME/IP بدون معرفة تفاصيل التنسيق الأولي. على سبيل المثال، لا يمكن لخدمة SDV Telemetry معالجة الحقول الفردية لهذه الرسائل.
جهد إضافي: تتطلب ترجمة الحمولة الأولية بتنسيق SOME/IP جهدًا إضافيًا من مطوّر حزمة الخدمة.
أداة إنشاء المكتبة
توفّر SDV أداة إنشاء تلقائية لترجمة تنسيق SOME/IP. تنشئ هذه الأداة مكتبات استنادًا إلى تعريفات الرسائل وعمليات الربط المتاحة للترجمة المباشرة بدون انعكاس. يمكن لحِزم الخدمات التي تستهلك وحدات البايت التي تم إعادة توجيهها بتنسيق SOME/IP استخدام المكتبات التي تم إنشاؤها.
اقتراح: استخدِم أداة الإنشاء فقط إذا حدّد مصنّع المعدات الأصلية أحداثًا مهمة للأداء لا يمكن ترجمتها ضمن متطلبات الأداء في مشروعك. في هذه الحالات، من المفترض أن يكون لدى مصنّع المعدات الأصلية تعريف بروتوكول المخزن المؤقت للبروتوكولات وربط SOME/IP المستخدَم للترجمة المستندة إلى معلومات النوع في وقت التشغيل (RTTI). يمكن أن تكون هذه الإعدادات نفسها بمثابة إدخال لأداة الإنشاء. لمزيد من التفاصيل، يُرجى الاطّلاع على ملف README.md في الدليل core_services/tools/someip_translation_generator/.