DEENESPTFRRUARHIKOZHNL

FlexRay Transceiver Driver (FrTrcv)

ModulFrTrcv (FlexRay Transceiver Driver)
BSW-Modul-ID71
Standard-Header#include "FrTrcv.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayTransceiverDriver.pdf
ClusterFlexRay

دليل الوحدةمولَّد بالذكاء الاصطناعي

يتحكم في أجهزة جهاز الإرسال والاستقبال FlexRay: يضبط أوضاع التشغيل، ويكتشف أحداث الاستيقاظ، ويبلغ عن أخطاء الناقل.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: d2a3c22cd47c المصدر أسئلة مفتوحة (6)
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يتحكم في أجهزة جهاز الإرسال والاستقبال FlexRay: يضبط أوضاع التشغيل، ويكتشف أحداث الاستيقاظ، ويبلغ عن أخطاء الناقل.

يتحكم مشغل جهاز الإرسال والاستقبال FlexRay في مكونات أجهزة الإرسال والاستقبال الخاصة بوحدة التحكم الإلكترونية ECU عبر Dio أو Spi ويوفر في ACTIVE الأوضاع NORMAL وRECEIVEONLY وSTANDBY وSLEEP [SWS_FrTrcv_00481]. ويقوم بضبط الأوضاع وقراءتها، ويكتشف أحداث الاستيقاظ عبر الاستقصاء الدوري أو الإشعار، ويبلغ عنها إلى EcuM ويقدم سبب الاستيقاظ. في النجوم النشطة، يستعلم عن أخطاء الناقل لكل فرع ويقوم بفصل الفروع أو توصيلها. وإذا فشل تغيير الوضع، فإنه يعيد E_NOT_OK ويترك الحالة السابقة دون تغيير [SWS_FrTrcv_00323].

يتحكم مشغل جهاز الإرسال والاستقبال FlexRay في مكونات أجهزة الإرسال والاستقبال الخاصة بـ ECU. ويقوم بعنونة كل مكوّن عبر الفهرس ذي الأساس الصفري FrTrcv_TrcvIdx [SWS_FrTrcv_00323]. ومن الناحية السفلية، يصل إلى الأجهزة اعتماداً على التكوين عبر Dio أو Spi SWS FrTrcv الشكل 10.4 ص. 77. بالإضافة إلى ذلك، يستخدم Icu وEcuM وDem وDet [SWS_FrTrcv_00334]. ومن الناحية العلوية، يُرجح أن FrIf يستخدم الخدمات في المقام الأول نيابة عن FlexRay State Manager (تفسير) SWS FrSM ص. 20. سؤال (مفتوح)

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

مخطط السياق: FrTrcv بين FrIf/FrSM، ومشغلات الأجهزة، والخدمات EcuM وDEM وDET. المصادر: [SWS_FrTrcv_00334]، SWS FrSM ص. 20

بعد التشغيل، يكون المشغل في NOT_ACTIVE وينتقل عبر FrTrcv_Init إلى ACTIVE SWS FrTrcv الشكل 7.1 ص. 23. وهناك تسري الأوضاع NORMAL وRECEIVEONLY وSTANDBY وSLEEP [SWS_FrTrcv_00481]. ويقوم FrTrcv_SetTransceiverMode بالتبديل بينها. إذا فشل التبديل، تقدم الخدمة E_NOT_OK وتترك الحالة القديمة قائمة. ينفذ المشغل فترات الانتظار باستخدام Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. في STANDBY، تكون قنوات الاستيقاظ لـ ICU مُمكَّنة، وفي NORMAL تكون معطلة [SWS_FrTrcv_00491] [SWS_FrTrcv_00492].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus إيقاف التغذية الكهربائية NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

مخطط الحالة: لا يمكن الوصول إلى أوضاع ACTIVE الأربعة إلا بعد FrTrcv_Init. تمت إعادة بناء المسارات جزئياً (تفسير). المصادر: SWS FrTrcv الشكل 7.1 ص. 23، [SWS_FrTrcv_00481]

يكتشف المشغل أحداث الاستيقاظ بطريقتين: عبر FrTrcv_MainFunction الدورية [SWS_FrTrcv_00330] أو عبر الإشعار. بعد FrTrcv_CheckWakeupByTransceiver، يبلغ عن الحدث إلى EcuM SWS FrTrcv ص. 46. ويقدم FrTrcv_GetTransceiverWUReason السبب، مثل FRTRCV_WU_BY_BUS، بقدر ما تستطيع الأجهزة تمييزه [SWS_FrTrcv_00074]. ويمسح FrTrcv_ClearTransceiverWakeup جميع الأحداث المعلقة [SWS_FrTrcv_00329].

في النجوم النشطة، تستعلم خدمات اختيارية عن أخطاء الناقل لكل فرع وتقوم بفصل الفروع أو إعادة توصيلها [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443]. بالنسبة لمعالجة الأخطاء، يسري ما يلي:

  • تذهب أخطاء التطوير مثل FRTRCV_E_UNINIT إلى DET [SWS_FrTrcv_00085].
  • تمر أخطاء وقت التشغيل مثل FRTRCV_E_FR_NO_CONTROL_TRCV عبر Det_ReportRuntimeError [SWS_FrTrcv_91001].
  • يبلغ المشغل عن أخطاء الناقل من الفئتين A وB إلى DEM أو إلى وظيفة بديلة تم تكوينها [SWS_FrTrcv_00475].

الدور: تجريد الأجهزة لمكونات جهاز الإرسال والاستقبال FlexRay

يتحكم مشغل جهاز الإرسال والاستقبال FlexRay في مكون واحد أو أكثر من مكونات جهاز الإرسال والاستقبال FlexRay التابعة لـ ECU. تختار جميع الخدمات المرتبطة بالقنوات المكون عبر الفهرس ذي الأساس الصفري FrTrcv_TrcvIdx، والذي يسري في سياق المشغل [SWS_FrTrcv_00323]. يقدم المشغل ثلاث مجموعات من الخدمات:

يقدم FrTrcv_GetVersionInfo صراحةً إصدار وحدة البرمجيات وليس إصدار أجهزة جهاز الإرسال والاستقبال SWS FrTrcv ص. 43.

من الناحية السفلية، يصل المشغل إلى المكون عبر Dio أو Spi. لإشعارات الاستيقاظ، يستخدم Icu، وتذهب البلاغات إلى EcuM وDem وDet [SWS_FrTrcv_00334] [SWS_FrTrcv_00321]. وتحدد حاوية الاختيار FrTrcvAccess نوع الوصول: حيث تسمح بواحد فقط من البديلين، أي الوصول عبر Dio أو تسلسل SPI SWS FrTrcv الشكل 10.4 ص. 77.

من الناحية العلوية، يُرجح أن واجهة FlexRay تستخدم الخدمات في المقام الأول. يحدد FlexRay State Manager سبب الاستيقاظ لكل جهاز إرسال واستقبال في الكتلة عبر FrIf_GetTransceiverWUReason SWS FrSM ص. 20. تفسير: يمرر FrIf هذه الطلبات إلى FrTrcv. سؤال Q-29229b532631a6b5 (مفتوح) ويتطابق مع ذلك حقيقة أن الأنواع المشتركة في Fr_GeneralTypes.h محمية بواسطة FR_GENERAL_TYPES، حتى يتمكن العديد من مشغلات أجهزة الإرسال والاستقبال وFrIf من مشاركتها SWS FrTrcv ص. 34.

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

مخطط السياق: يقع FrTrcv بين FrIf/FrSM والمشغلات Dio وSpi وIcu ويبلغ إلى EcuM وDEM وDET. المصادر: [SWS_FrTrcv_00334]، [SWS_FrTrcv_00485]، [SWS_FrTrcv_00330]، SWS FrSM ص. 20

أوضاع التشغيل بين NOT_ACTIVE وACTIVE

يصف الشكل 7.1 من المواصفات الأوضاع كآلة حالة متداخلة. ضمن POWER_ON، يكون المشغل بعد التشغيل في NOT_ACTIVE وينتقل عبر FrTrcv_Init() إلى ACTIVE SWS FrTrcv الشكل 7.1 ص. 23. وتسري القيم الأربع لـ FrTrcv_TrcvModeType فقط في ACTIVE: وهي FRTRCV_TRCVMODE_NORMAL وFRTRCV_TRCVMODE_RECEIVEONLY وFRTRCV_TRCVMODE_STANDBY وFRTRCV_TRCVMODE_SLEEP [SWS_FrTrcv_00481]. وتقوم الطبقة المستدعية بالتبديل بين هذه الأوضاع باستخدام FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323].

تتم عملية تغيير الوضع بشكل متزامن وغير قابلة لإعادة الدخول. ويُسمح بفشل الانتقالات إلى الحالات الاختيارية. في هذه الحالة، تقدم الخدمة E_NOT_OK، وتظل الحالة السابقة محفوظة SWS FrTrcv ص. 39. إذا احتاج المكون إلى فترات انتظار لتغيير الحالة، ينفذها المشغل باستخدام خدمة التوقيت Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. ويقرأ FrTrcv_GetTransceiverMode الحالة الفعلية. هذه الخدمة قابلة لإعادة الدخول وبالتالي يمكن استدعاؤها أيضاً بشكل متوازٍ [SWS_FrTrcv_00324].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus إيقاف التغذية الكهربائية NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

مخطط الحالة: لا يمكن الوصول إلى أوضاع ACTIVE الأربعة عبر FrTrcv_SetTransceiverMode إلا بعد FrTrcv_Init. تم اختيار المسارات بشكل معاد بناؤه جزئياً (تفسير). المصادر: SWS FrTrcv الشكل 7.1 ص. 23، [SWS_FrTrcv_00481]

بدء التشغيل وبدء اتصال الناقل

يتلقى FrTrcv_Init مؤشراً إلى مجموعة التكوين المحددة ويقوم بتهيئة المشغل [SWS_FrTrcv_00322]. تقوم هذه الدالة المنفصلة بتهيئة المتغيرات وموارد الأجهزة. وتتم إعادة تهيئة المشغلات التي تخدم مصادر الاستيقاظ في كتلة Restart، مما يعيد تفعيل آلية إطلاق بلاغ الاستيقاظ SWS FrTrcv ص. 37. يدعم المشغل تسلسل تهيئة حزمة AUTOSAR. تفسير: يُرجح أن ECU State Manager يستدعي الدالة ضمن هذا التسلسل. سؤال Q-93ce1e5987a96873 (مفتوح)

يؤثر الانتقال إلى NORMAL على مسارات الاستيقاظ. إذا تم تكوين FrTrcvIcuChannelRef، يقوم المشغل بتعطيل قنوات ICU باستخدام Icu_DisableNotification [SWS_FrTrcv_00492]. وبدون هذا المرجع، لا يصل إطلاقاً إلى قنوات ICU [SWS_FrTrcv_00490].

بدء التشغيل والانتقال إلى NORMALEcuMFrIf / FrSMFrTrcvDio / SpiIcuTmUse Case: InitialisierungFrTrcv_Init(ConfigPtr)المتغيرات وموارد العتادinitialisieren (NOT_ACTIVE → ACTIVE)Use Case: Kommunikation aufnehmenFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_NORMAL)تعيين دبابيس الوضع (Mode Pins) أو السجلاتTm_BusyWait1us16bit(...)optFrTrcvIcuChannelRef konfiguriertIcu_DisableNotification(...)altWechsel erfolgreichE_OKWechsel fehlgeschlagenE_NOT_OK (الحالة دون تغيير)

مخطط التسلسل: تلي التهيئةَ الانتقالُ إلى NORMAL مع الانتظار النشط (busy-wait) والتعطيل الاختياري لـ ICU. ويترك الفشلُ الحالةَ دون تغيير. المصادر: [SWS_FrTrcv_00322]، [SWS_FrTrcv_00323]، [SWS_FrTrcv_00485]، [SWS_FrTrcv_00492]

اكتشاف الاستيقاظ في STANDBY وSLEEP، وسبب الاستيقاظ

عند الانتقال إلى STANDBY، يعيد المشغل تمكين قنوات ICU [SWS_FrTrcv_00491]. بالإضافة إلى ذلك، يمسح FrTrcv_SetTransceiverMode سجل الأخطاء في جهاز الإرسال والاستقبال عند كل انتقال إلى STANDBY، شريطة أن تدعم الأجهزة ذلك SWS FrTrcv ص. 39.

بالإضافة إلى ذلك، يمكن للمشغل إجراء الاستقصاء بشكل دوري. ولهذا الغرض، يوفر FrTrcv_MainFunction عبر SchM_FrTrcv.h [SWS_FrTrcv_00330]. وفقاً للفقرة المرجعية من R23-11، تبحث الدالة في جميع النواقل في STANDBY وSLEEP عن أحداث الاستيقاظ وتخزن الأحداث التي تم العثور عليها داخلياً. ويحدد التكوين الفترة الزمنية. ويجوز أن تعمل الدالة بشكل متزامن أو غير متزامن مع جدول ناقل FlexRay SWS FrTrcv ص. 49.

الانتقال إلى STANDBY والكشف الدوري عن الإيقاظFrIf / FrSMFrTrcvIcuDio / SpiBSW-SchedulerFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_STANDBY)مسح سجل الأخطاء في جهاز الإرسال والاستقبال(إذا كان العتاد يدعم ذلك)optFrTrcvIcuChannelRef konfiguriertIcu_EnableNotification(...)E_OKloopدوري، وفقاً للفترة المحددة في التكوينFrTrcv_MainFunction()Weckstatus aller Busse inSTANDBY/SLEEP lesenWeckereignis intern speichernسلوك الاستقصاء (Polling) وفقاً للموضع المرجعي في الوثيقة R23-11؛بشكل مستقل عن جدول ناقل FlexRay

مخطط التسلسل: عند الانتقال إلى STANDBY، يتم مسح سجل الأخطاء وتمكين إشعار ICU. بعد ذلك، تبحث Main Function بشكل دوري عن أحداث الاستيقاظ. المصادر: [SWS_FrTrcv_00491]، [SWS_FrTrcv_00330]، SWS FrTrcv ص. 49

إذا اكتشف المكون استيقاظاً عبر الناقل، يُخطر جانب SPI أو DIO التابع المشغلَ. ويمكن أن يحدث ذلك في سياق المقاطعة SWS FrTrcv ص. 46. إذا تم استدعاء FrTrcv_CheckWakeupByTransceiver بعد ذلك [SWS_FrTrcv_00331]، يبلغ المشغل عن الحدث إلى ECU State Manager. ولهذا الغرض، تظهر EcuM_SetWakeupEvent في قائمة الواجهات المستخدمة [SWS_FrTrcv_00334]. تفسير: يُرجح أن EcuM يبدأ استدعاء الفحص في تسلسل الاستيقاظ الخاص به. سؤال Q-d5873691a495bef0 (مفتوح)

يقدم FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] سبب الاستيقاظ كقيمة لـ FrTrcv_TrcvWUReasonType. القيم الممكنة هي FRTRCV_WU_BY_BUS أو FRTRCV_WU_BY_PIN أو FRTRCV_WU_INTERNALLY أو FRTRCV_WU_NOT_SUPPORTED [SWS_FrTrcv_00074]. ويعتمد مدى دقة التمييز بين الأسباب اعتماداً كبيراً على الأجهزة SWS FrTrcv ص. 42. تذكر الفقرة المرجعية من الإصدارات اللاحقة بالإضافة إلى ذلك FRTRCV_WU_RESET وFRTRCV_WU_POWER_ON SWS FrTrcv ص. 34. تم اختصار نص متطلبات R20-11 في الحمولة في هذه النقطة.

يفحص FrSM سبب الاستيقاظ لكل جهاز إرسال واستقبال بحثاً عن FRTRCV_WU_BY_BUS. وهكذا يميز ما إذا كان لا يوجد استيقاظ للناقل، أو استيقاظ جزئي، أو استيقاظ كامل SWS FrSM ص. 20. بعد ذلك، يمسح FrTrcv_ClearTransceiverWakeup جميع أحداث الاستيقاظ المعلقة [SWS_FrTrcv_00329]. الاستدعاء مسموح به أيضاً حتى لو تم تعطيل إشعار الاستيقاظ SWS FrTrcv ص. 44.

اكتشاف حدث الإيقاظ والإبلاغ عنه وتقييمهIcu / Dio / SpiFrTrcvEcuMFrIf / FrSMUse Case: ErkennungWeck-Benachrichtigung(ggf. Interrupt-Kontext)FrTrcv_CheckWakeupByTransceiver(TrcvIdx)(Aufrufer: Interpretation)EcuM_SetWakeupEvent(...)Use Case: AuswertungFrTrcv_GetTransceiverWUReason(TrcvIdx, &Reason)altGrund in FrTrcv_TrcvWUReasonType definiertE_OK, z. B. FRTRCV_WU_BY_BUSالسبب غير محددE_NOT_OK (المخرج دون تغيير)FrTrcv_ClearTransceiverWakeup(TrcvIdx)E_OK (تم مسح كافة أحداث الإيقاظ المعلقة)

مخطط التسلسل: التسلسل بدءاً من إشعار الأجهزة مروراً ببلاغ EcuM وحتى الاستعلام عن سبب الاستيقاظ ومسحه. لا تذكر الحمولة مستدعي دالة الفحص (تفسير). المصادر: [SWS_FrTrcv_00331]، [SWS_FrTrcv_00325]، [SWS_FrTrcv_00329]، SWS FrTrcv ص. 46

النجوم النشطة: مراقبة الفروع وفصلها وتمكينها

بالنسبة لأجهزة الإرسال والاستقبال التي تخدم عدة فروع كنجمة نشطة، توجد ثلاث خدمات إضافية. وهي متاحة فقط إذا تم تكوين الفروع SWS FrTrcv ص. 52. تقوم الثلاث جميعها بعنونة الفرع بشكل إضافي عبر الفهرس ذي الأساس الصفري FrTrcv_BranchIdx وهي غير قابلة لإعادة الدخول [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

يكتب FrTrcv_GetTransceiverError حالة الخطأ لفرع كـ uint32 في FrTrcv_BusErrorState. يمكن الاستعلام عن جميع الأخطاء المنصوص عليها في FlexRay EPL والتي تدعمها الأجهزة SWS FrTrcv ص. 48. يتم فصل الفروع المعيبة باستخدام FrTrcv_DisableTransceiverBranch SWS FrTrcv ص. 50. ويعيد FrTrcv_EnableTransceiverBranch تمكينها بشكل متزامن مع جدول ناقل FlexRay SWS FrTrcv ص. 51. وإذا كان الفهرس يقع خارج النطاق الصالح، تقدم كلتا خدمتي التبديل E_NOT_OK، وتظل حالة الفرع دون تغيير [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

zweig start فحص حالة الفرع (الطبقة المستدعية، تفسير) get FrTrcv_GetTransceiverError (TrcvIdx, BranchIdx, &BusErrorState) start->get rc إرجاع E_OK؟ get->rc na حالة الخطأ غير متوفرة أو الفهرس خارج النطاق rc->na لا fehler Zweig fehlerhaft? rc->fehler نعم aktiv Zweig bleibt aktiv fehler->aktiv لا dis FrTrcv_DisableTransceiverBranch (TrcvIdx, BranchIdx) fehler->dis نعم wieder هل إعادة التمكين مطلوبة؟ dis->wieder aus Zweig bleibt abgeschaltet wieder->aus لا en FrTrcv_EnableTransceiverBranch بشكل متزامن مع جدول ناقل FlexRay wieder->en نعم

مخطط النشاط: الاستعلام عن الأخطاء لكل فرع، وفصل الفروع المعيبة، وإعادة التمكين بالتزامن مع جدول الناقل. يُعتبر اتخاذ الطبقة المستدعية للقرار تفسيراً. المصادر: [SWS_FrTrcv_00419]، SWS FrTrcv ص. 50، SWS FrTrcv ص. 51

التكوين، ونوع الوصول، والتقسيم

FrTrcv_ConfigType هو هيكل خاص بالتنفيذ [SWS_FrTrcv_00487]. تحتوي الوحدة على حاوية واحدة أو أكثر من FrTrcvChannel، واحدة لكل قناة جهاز إرسال واستقبال، بالإضافة إلى FrTrcvGeneral SWS FrTrcv ص. 59. بالإضافة إلى ذلك، تذكر هذه الفقرة المرجعية من R23-11/R25-11 فقط VARIANT-PRE-COMPILE دون دعم Post-Build. بالنسبة لـ R20-11، لا تحتوي الحمولة على متطلب بهذا الشأن.

لكل جهاز إرسال واستقبال (Transceiver)، يختار FrTrcvAccess إما FrTrcvDioAccess أو FrTrcvSpiSequence SWS FrTrcv الشكل 10.4 ص. 77. يمكن تمكين الوظائف الاختيارية وتعطيلها في وقت الترجمة SWS FrTrcv ص. 52. يربط FrTrcvIcuChannelRef إشعار التنبيه الخاص بـ ICU بـ [SWS_FrTrcv_00490]. باستخدام FrTrcvDemReportErrorStatusConfiguration، يمكن استخدام وظيفة مخصصة ذات التوقيع نفسه بدلاً من Dem_SetEventStatus [SWS_FrTrcv_00475].

في الأنظمة المقسمة إلى أجزاء (Partitioned systems)، تعمل الوحدة كنسخة مستقلة لكل قسم. يؤثر استدعاء API فقط على القسم الذي يتم فيه الاستدعاء [SWS_FrTrcv_00494]. يجب على الوحدة رفض تعيينات الأقسام التي لا يدعمها التنفيذ [SWS_FrTrcv_00497].

التصرف في حالة الخطأ

أخطاء التطوير محددة [SWS_FrTrcv_00085]:

  • FRTRCV_E_FR_INVALID_TRCVIDX (0x01),
  • FRTRCV_E_FR_INVALID_BRANCHIDX (0x02),
  • FRTRCV_E_UNINIT (0x10),
  • FRTRCV_E_PARAM_POINTER (0x15).

يتم الإبلاغ عنها فقط عند تفعيل خاصية اكتشاف أخطاء التطوير. من الأمثلة على ذلك FRTRCV_E_UNINIT في خدمات الفروع SWS FrTrcv ص. 50 ومؤشر NULL عند FrTrcv_GetVersionInfo SWS FrTrcv ص. 43.

كخطأ في وقت التشغيل، يبلغ برنامج التشغيل عن الاستدعاءات في الوضع غير الصحيح عبر FRTRCV_E_FR_TRCV_NOT_STANDBY إلى FRTRCV_E_FR_TRCV_NOT_RECEIVEONLY (من 0x11 إلى 0x14). ويبلغ عن فقدان الاتصال بالمكون أو حدوث خلل فيه عبر FRTRCV_E_FR_NO_CONTROL_TRCV (0x16) [SWS_FrTrcv_91001]. تمر هذه البلاغات عبر Det_ReportRuntimeError [SWS_FrTrcv_00493]. يطلق FrTrcv_GetTransceiverMode الخطأ FRTRCV_E_FR_NO_CONTROL_TRCV عند حدوث خطأ في الوصول إلى جهاز الإرسال والاستقبال مثلاً SWS FrTrcv ص. 41.

عند E_NOT_OK تظل معلمات الإخراج دون تغيير، كما هو الحال مع FrTrcv_GetTransceiverMode وFrTrcv_GetTransceiverError SWS FrTrcv ص. 48. يؤدي فشل تغيير الوضع إلى الإبقاء على الحالة السابقة [SWS_FrTrcv_00323].

pruefung start استدعاء إحدى خدمات FrTrcv init Modul initialisiert? start->init e_uninit Det_ReportError: FRTRCV_E_UNINIT init->e_uninit لا idx هل FrTrcv_TrcvIdx ضمن النطاق؟ init->idx نعم r_nok إرجاع E_NOT_OK (المخرجات أو الحالة دون تغيير) e_uninit->r_nok e_idx Det_ReportError: FRTRCV_E_FR_INVALID_TRCVIDX idx->e_idx لا br خدمة الفرع: هل FrTrcv_BranchIdx ضمن النطاق؟ idx->br نعم e_idx->r_nok e_br Det_ReportError: FRTRCV_E_FR_INVALID_BRANCHIDX br->e_br لا ptr Zeigerparameter ungleich NULL? br->ptr ja / kein Zweigdienst e_br->r_nok e_ptr Det_ReportError: FRTRCV_E_PARAM_POINTER ptr->e_ptr لا zugriff الوصول إلى جهاز الإرسال والاستقبال (Transceiver) (Dio / Spi) ptr->zugriff نعم e_ptr->r_nok ok Zugriff fehlerfrei? zugriff->ok e_rt Det_ReportRuntimeError: FRTRCV_E_FR_NO_CONTROL_TRCV ok->e_rt لا r_ok إرجاع E_OK ok->r_ok نعم e_rt->r_nok

مخطط النشاط: تؤدي فحوصات المعلمات والتهيئة إلى أخطاء تطوير، بينما تؤدي أخطاء الوصول إلى خطأ في وقت التشغيل. يُعد ترتيب الفحوصات مجرد تفسير. لا تتوفر فحوصات DET إلا عند تفعيل اكتشاف الأخطاء. المصادر: [SWS_FrTrcv_00085]، [SWS_FrTrcv_91001]، [SWS_FrTrcv_00493]

لأغراض تشخيص الإنتاج، يميّز برنامج التشغيل بين فئتين من أجهزة الإرسال والاستقبال:

  • في أجهزة الإرسال والاستقبال من الفئة A التي يتم التحكم فيها عبر GPIO، يعني طرف ERRN النشط (low) «Fail»، بينما يعني الطرف غير النشط (high) «Pass» [SWS_FrTrcv_00489].
  • في أجهزة الإرسال والاستقبال من الفئة B التي يتم التحكم فيها عبر SPI، تطلق كل بتة مضبوطة 1…9 خطأً في ناقل الاتصال [SWS_FrTrcv_00488].

يتم التقييم عند حدوث HALT غير متوقع أو عند NORMAL_ACTIVE لوحدة التحكم. في حال حدوث تماس كهربائي على ناقل الاتصال، لا تكفي نتيجة «Pass» لبرنامج التشغيل بمفردها كدليل SWS FrTrcv ص. 26. يتوفر Dem_SetEventStatus فقط مع STANDARD_REPORTING [SWS_FrTrcv_00334].

dem anlass السبب: HALT غير متوقع أو NORMAL_ACTIVE لوحدة التحكم klasse Transceiverklasse? anlass->klasse a Klasse A (GPIO): ERRN-Pin aktiv low? klasse->a A b الفئة B (SPI): هل تم تعيين بت من 1...9؟ klasse->b B fail_a Fail: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->fail_a نعم pass_a Pass: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->pass_a لا fail_b Fail: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->fail_b نعم pass_b Pass: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->pass_b لا cfg FrTrcvDemReportErrorStatusConfiguration konfiguriert? fail_a->cfg pass_a->cfg fail_b->cfg pass_b->cfg eigen الدالة المكونة (بصمة مطابقة لـ Dem_SetEventStatus) cfg->eigen نعم dem Dem_SetEventStatus (فقط في STANDARD_REPORTING) cfg->dem لا

مخطط النشاط: تقييم Pass/Fail لكل فئة جهاز إرسال واستقبال ومسار الإبلاغ إلى DEM أو إلى الوظيفة البديلة التي تم تكوينها. المصادر: [SWS_FrTrcv_00488]، [SWS_FrTrcv_00489]، [SWS_FrTrcv_00475]

أدلة تفصيلية إضافية

المرجعالتصنيف
[SWS_FrTrcv_00481], SWS FrTrcv Abb. 7.1 S. 23أوضاع التشغيل وآلة الحالات
[SWS_FrTrcv_00323], SWS FrTrcv S. 39تغيير الوضع، الفشل، ومسح سجل الأخطاء في STANDBY
[SWS_FrTrcv_00322], SWS FrTrcv S. 37التهيئة وقاعدة إعادة التشغيل لمصادر التنبيه
[SWS_FrTrcv_00330], [SWS_FrTrcv_00485]الاستقصاء الدوري وأوقات الانتظار
[SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00074], [SWS_FrTrcv_00329]مسار التنبيه من الاكتشاف حتى المسح
[SWS_FrTrcv_00490], [SWS_FrTrcv_00491], [SWS_FrTrcv_00492]إشعار ICU بالاعتماد على الوضع
[SWS_FrTrcv_00419], [SWS_FrTrcv_00442], [SWS_FrTrcv_00443]إدارة الفروع في الهياكل النجمية النشطة
[SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]أخطاء التطوير وأخطاء وقت التشغيل
[SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]أحداث DEM ومسار الإبلاغ
[SWS_FrTrcv_00487], [SWS_FrTrcv_00494], [SWS_FrTrcv_00497]نوع التكوين وتقسيم الأقسام

دليل تم إنشاؤه بواسطة الذكاء الاصطناعي بناءً على متطلبات R20-11 ومواضع الوثائق الواردة في الحمولة. تم تمييز مواضع الوثائق من الإصدارات اللاحقة على هذا النحو. مواصفة AUTOSAR وحدها هي الملزمة.

FlexRay Transceiver Driver (FrTrcv)

Controls physical bus transceiver states and bus diagnostics on FlexRay lines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة FrTrcv_Init [SWS_FrTrcv_00322] 📄 PDF

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

This service initializes the Fr Trcv.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8880c7552dd0 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة FrTrcv_Init بتهيئة برنامج تشغيل جهاز إرسال واستقبال FlexRay لمنصة AUTOSAR Classic ([SWS_FrTrcv_00322]). وتحمل معرف الخدمة 0x00 وتتوفر عبر ملف الرأس FrTrcv.h ([SWS_FrTrcv_00322]). توفر الوحدة FrTrcv هذه الخدمة لتكوين عتاد جهاز الإرسال والاستقبال وبدء تشغيله ([SWS_FrTrcv_00322]).

تتوقع الواجهة كمعلمة وحيدة المؤشر ConfigPtr من النوع const FrTrcv_ConfigType*، والذي يشير إلى مجموعة بيانات التكوين المحددة لجهاز الإرسال والاستقبال ([SWS_FrTrcv_00322]):

  • معلمات الإدخال: ConfigPtr (مؤشر إلى مجموعة التكوين المحددة) ([SWS_FrTrcv_00322]).
  • معلمات الإدخال/الإخراج: لا توجد ([SWS_FrTrcv_00322]).
  • معلمات الإخراج: لا توجد ([SWS_FrTrcv_00322]).
  • قيمة الإرجاع: void، لا يتم إرجاع أي حالة أو قيمة خطأ ([SWS_FrTrcv_00322]).

بما أن FrTrcv_Init محددة على أنها غير قابلة لإعادة الدخول (Non Reentrant)، فلا يجوز بأي حال من الأحوال استدعاء الدالة بشكل متزامن أو متعدد في نفس الوقت ([SWS_FrTrcv_00322]). ويتم التنفيذ بشكل متزامن حتى اكتمال التهيئة ([SWS_FrTrcv_00322]).

لا تقدم هذه المواصفة أي بيانات صريحة بشأن سياق الاستدعاء وشروط الترتيب؛ ومن المحتمل أن تتم التهيئة أثناء بدء تشغيل النظام بواسطة إدارة حالة البرمجيات الأساسية قبل جميع أنشطة الاتصال المنتظمة. سؤال Q-5fa4966e37b10516 (مفتوح) كما أن رموز الأخطاء المحددة، والاستجابات للمؤشرات الفارغة (Null Pointers)، والتفاعلات مع DET أو DEM غير متضمنة في نطاق المواصفة المقدم، وبالتالي لا يتم تفصيلها بشكل أكبر ([SWS_FrTrcv_00322]).

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفات AUTOSAR Classic R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323] 📄 PDF

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

This service sets the transceiver mode.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: fabc34a3f07e المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة FrTrcv_SetTransceiverMode لتبديل نمط تشغيل جهاز إرسال واستقبال FlexRay [SWS_FrTrcv_00323]. ويتم توفير تصريح هذه الخدمة عبر ملف الرأس FrTrcv.h [SWS_FrTrcv_00323].

المعلمات والتحكم

تتوقع الدالة معلمتي إدخال [SWS_FrTrcv_00323]:

  • FrTrcv_TrcvIdx: يحدد هذا الفهرس الصفري جهاز الإرسال والاستقبال الفعلي داخل مشغل جهاز الإرسال والاستقبال، والذي يجب تنفيذ تغيير الحالة له [SWS_FrTrcv_00323].
  • FrTrcv_TrcvMode: يحدد الحالة الهدف التي يجب أن ينتقل إليها جهاز الإرسال والاستقبال [SWS_FrTrcv_00323]. وتجدر الإشارة في هذا الصدد إلى أن الانتقالات إلى الحالات الاختيارية قد تفشل [SWS_FrTrcv_00323].

قيم الإرجاع والسلوك في حالة الخطأ

يتم إرسال نتيجة تبديل النمط بشكل متزامن عبر القيمة المرجعة من النوع Std_ReturnType [SWS_FrTrcv_00323]:

  • E_OK: يشير إلى أن حالة جهاز الإرسال والاستقبال قد تم تغييرها بنجاح إلى النمط المطلوب [SWS_FrTrcv_00323].
  • E_NOT_OK: يشير إلى فشل تغيير الحالة؛ وتبقى الحالة السابقة لجهاز الإرسال والاستقبال محفوظة دون تغيير [SWS_FrTrcv_00323].

التزامن

الخدمة محددة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ولها دلالات تنفيذ متزامنة [SWS_FrTrcv_00323]. ونظرًا للخاصية Non Reentrant، فمن المرجح أن يكون سياق الاستدعاء مسؤولًا عن تأمين الاستدعاءات المتوازية أو المتداخلة للمشغل. سؤال Q-b83c7a2879a572b7 (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا وتستند حصريًا إلى بيانات المواصفات من إصدار AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة FrTrcv_GetTransceiverMode [SWS_FrTrcv_00324] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);

This function returns the actual state of the transceiver.

دالة FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This function returns the wakeup reason.

دالة FrTrcv_ClearTransceiverWakeup [SWS_FrTrcv_00329] 📄 PDF

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 486bcee2a527 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام والدلالات

تُستخدم الدالة المتزامنة FrTrcv_ClearTransceiverWakeup لإعادة تعيين حدث تنبيه معلق في جهاز إرسال واستقبال FlexRay [SWS_FrTrcv_00329]. وهي مصرح عنها في ملف الرأس FrTrcv.h وتحمل معرف الخدمة ID 0x0c [SWS_FrTrcv_00329].

يتم تحديد جهاز الإرسال والاستقبال المعني داخل المشغل عبر معامل الإدخال الصفري FrTrcv_TrcvIdx [SWS_FrTrcv_00329].

معالجة الأخطاء وقيم الإرجاع

تفيد القيمة المرجعة من النوع Std_ReturnType بنتيجة العملية [SWS_FrTrcv_00329]:

  • E_OK: تم مسح حدث التنبيه لمصدر تنبيه جهاز الإرسال والاستقبال بنجاح [SWS_FrTrcv_00329].
  • E_NOT_OK: المعامل FrTrcv_TrcvIdx يقع خارج النطاق الصالح؛ وتظل حالة التنبيه في هذه الحالة دون تغيير [SWS_FrTrcv_00329].

التزامن والقيود

الدالة محددة على أنها غير قابلة لإعادة الدخول [SWS_FrTrcv_00329]. لذلك، يجب على جهات الاستدعاء التأكد من أن الاستدعاءات لنفس النسخة لا تحدث بشكل مقاطع أو متوازٍ. وبما أن الدالة معرفة بأنها متزامنة، فمن المرجح أن تكتمل معالجة حدث التنبيه مباشرة أثناء الاستدعاء على مستوى المشغل. سؤال Q-e548008f8bae0ff0 (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى المواصفة SWS_FrTrcv_00329.

دالة FrTrcv_CheckWakeupByTransceiver [SWS_FrTrcv_00331] 📄 PDF

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

-

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 61627651eb93 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تنتمي الدالة FrTrcv_CheckWakeupByTransceiver إلى مشغل جهاز إرسال واستقبال FlexRay (الوحدة FrTrcv) ويتم التصريح عنها عبر ملف الرأس FrTrcv.h [SWS_FrTrcv_00331]. تحمل الدالة معرف الخدمة ID 0x0e ويتم تنفيذها بشكل متزامن [SWS_FrTrcv_00331]. وهي تقبل معامل إدخال وحيد FrTrcv_TrcvIdx من النوع uint8، والذي يحدد كفهرس صفري جهاز الإرسال والاستقبال المعني في سياق مشغل جهاز الإرسال والاستقبال، والذي يجب تنفيذ العملية له [SWS_FrTrcv_00331]. لا توجد معاملات إدخال/إخراج ولا معاملات إخراج فقط، ولا تُرجع الدالة أي قيمة مرجعة (void) [SWS_FrTrcv_00331].

لا يوجد وصف تفصيلي وظيفي مسجل في بيانات المواصفات. تفسير: استنادًا إلى التسمية، من المرجح أن تُستخدم الدالة للتحقق مما إذا كان هناك حدث تنبيه (Wakeup) حاضرًا في عتاد جهاز الإرسال والاستقبال المعنون أو تم اكتشافه بواسطته [SWS_FrTrcv_00331]. سؤال Q-9b8b5d8fb8e4543f (مفتوح)

التزامن ومعالجة الأخطاء

فيما يتعلق بسلوك التزامن، تم تصنيف FrTrcv_CheckWakeupByTransceiver على أنها قابلة لإعادة الدخول [SWS_FrTrcv_00331]. وهذا يسمح باستدعاءات متوازية لنسخ مختلفة من جهاز الإرسال والاستقبال في النظام. ولا توجد آليات محددة لمعالجة الأخطاء، مثل عمليات التحقق المتعلقة بالفهارس غير الصالحة أو الإخطارات إلى Default Error Tracer (DET) أو Diagnostic Event Manager (DEM)، معرفة في عنصر المواصفة هذا [SWS_FrTrcv_00331].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصريًا إلى بيانات المواصفات الخاصة بالحزمة AUTOSAR R20-11.

دالة FrTrcv_GetTransceiverError [SWS_FrTrcv_00419] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

دالة FrTrcv_DisableTransceiverBranch [SWS_FrTrcv_00442] 📄 PDF

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function disable s the specified branch on the addressed (active star) transceiver.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f12db972f543 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة FrTrcv_DisableTransceiverBranch لتعطيل فرع مفرد ومحدد في جهاز إرسال واستقبال نجمي نشط مُعنون ([SWS_FrTrcv_00442]). ويتم توفيرها عبر ملف الرأس FrTrcv.h وتمتلك معرّف الخدمة 0x0f ([SWS_FrTrcv_00442]).

المعلمات وسياق الاستدعاء

يتم الاستدعاء بشكل متزامن وهو محدد على أنه غير قابل لإعادة الدخول (Non Reentrant) ‏([SWS_FrTrcv_00442]). وتتوقع الدالة معلمتي إدخال مبنيتين على الصفر:

  • FrTrcv_TrcvIdx: فهرس مبني على الصفر يعرّف جهاز الإرسال والاستقبال في سياق مشغل جهاز الإرسال والاستقبال، والذي يجب تطبيق العملية عليه ([SWS_FrTrcv_00442]).
  • FrTrcv_BranchIdx: فهرس مبني على الصفر يحدد الفرع المراد تعطيله في جهاز الإرسال والاستقبال النجمي النشط المُعنون ([SWS_FrTrcv_00442]).

قيم الإرجاع ومعالجة الأخطاء

يتم الإشارة إلى نتيجة العملية عبر نوع الإرجاع Std_ReturnType ‏([SWS_FrTrcv_00442]):

  • E_OK: تم تعطيل فرع جهاز الإرسال والاستقبال المحدد بنجاح ([SWS_FrTrcv_00442]).
  • E_NOT_OK: المعلمة FrTrcv_TrcvIdx أو FrTrcv_BranchIdx خارج النطاق الصالح ([SWS_FrTrcv_00442]). في حالة الخطأ هذه، تظل حالة فرع جهاز الإرسال والاستقبال دون تغيير ([SWS_FrTrcv_00442]).

القيود والتزامن

نظرًا لأن FrTrcv_DisableTransceiverBranch غير قابلة لإعادة الدخول، فلا يجوز تنفيذ الاستدعاءات بالتزامن دون حماية ([SWS_FrTrcv_00442]). ويجب على الجهات المستدعية أيضًا التأكد من وقوع كلا الفهرسين ضمن الحدود المكوّنة، لتجنب الرفض مع بقاء حالة الفرع دون تغيير ([SWS_FrTrcv_00442]).

تستند ملاحظة الاستخدام هذه إلى المواصفة SWS_FrTrcv_00442 من الإصدار R20-11.

دالة FrTrcv_EnableTransceiverBranch [SWS_FrTrcv_00443] 📄 PDF

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function enables the specified branch on the addressed (active star) transceiver.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8a9d8eb5de3b المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة FrTrcv_EnableTransceiverBranch لتنشيط فرع معين في جهاز إرسال واستقبال معنون، عادةً في طوبولوجيا النجمة النشطة (Active Star) [SWS_FrTrcv_00443].

المعلمات وسياق الاستدعاء

  • FrTrcv_TrcvIdx: الفهرس الصفري لجهاز الإرسال والاستقبال في سياق المشغل [SWS_FrTrcv_00443].
  • FrTrcv_BranchIdx: الفهرس الصفري لفرع جهاز الإرسال والاستقبال المحدد المراد تنشيطه [SWS_FrTrcv_00443].

قيم الإرجاع ومعالجة الأخطاء

تعيد الدالة حالة من النوع Std_ReturnType [SWS_FrTrcv_00443]:

  • E_OK: تم تنشيط فرع جهاز الإرسال والاستقبال المحدد بنجاح [SWS_FrTrcv_00443].
  • E_NOT_OK: أحد المعاملين (FrTrcv_TrcvIdx أو FrTrcv_BranchIdx) يقع خارج النطاق الصالح؛ وتظل حالة الفرع في هذه الحالة دون تغيير [SWS_FrTrcv_00443].

التزامن والقيود

يتم تنفيذ الاستدعاء بشكل متزامن ومحدد على أنه غير قابل لإعادة الدخول (Non Reentrant) [SWS_FrTrcv_00443]. لذلك، يجب على جهات الاستدعاء التأكد من عدم استدعاء الدالة بشكل متزامن لنفس السياق أو لسياقات متوازية.

تم توليد ملاحظة الاستخدام هذه تلقائياً بناءً على المواصفة.

دالة FrTrcv_MainFunction [SWS_FrTrcv_00330] 📄 PDF

void FrTrcv_MainFunction (void);

-

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f615787755a2 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تشكّل الدالة FrTrcv_MainFunction الدالة الدورية الرئيسية لمشغل جهاز إرسال واستقبال FlexRay (الوحدة FrTrcv) وهي مسجلة بمعرّف الخدمة 0x0d [SWS_FrTrcv_00330]. تم تعريف واجهة C بالتوقيع void FrTrcv_MainFunction (void) كدالة عديمة المعلمات، ولهذا السبب لا يتم تمرير أي معلمات إدخال عند الاستدعاء ولا توجد قيمة حالة كنوع إرجاع [SWS_FrTrcv_00330].

تم تحديد ملف الرأس SchM_FrTrcv.h كملف تضمين للدالة [SWS_FrTrcv_00330]. ويبرر توفيرها عبر واجهة Schedule Manager التفسير القائل بأن الاستدعاء في تشغيل النظام يتم عادةً بشكل دوري بواسطة مجدول BSW في سياق مهمة نظام تشغيل مكوّنة.

في ظل غياب المعلمات وقيم الإرجاع، يُرجح أن تُنفّذ عمليات التحكم والمراقبة الخاصة بجهاز الإرسال والاستقبال بشكل مستقل داخل الوحدة. سؤال Q-2710fa5096bf4d90 (مفتوح) ولا تحتوي المواصفة في هذا الموضع على أي محددات بخصوص جوانب مثل قابلية إعادة الدخول، أو التزامن، أو معالجة أخطاء DET، أو التفاعلات مع واجهات المشغل الأخرى [SWS_FrTrcv_00330].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند حصرًا إلى محتويات مواصفات الإصدار R20-11.

نوع FrTrcv_TrcvModeType [SWS_FrTrcv_00481] 📄 PDF

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 4db36c82b07f المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يحدد نوع التعداد FrTrcv_TrcvModeType وفقًا لـ [SWS_FrTrcv_00481] أنماط التشغيل المسموح بها لجهاز إرسال واستقبال FlexRay في حالة التشغيل الشاملة ACTIVE. ويعد التعريف ذو النوع المحدد جزءًا لا يتجزأ من مشغل جهاز إرسال واستقبال FlexRay FrTrcv ويتم توفيره عبر المنصة ككل عبر ملف الرأس Fr_GeneralTypes.h لوحدات البرمجيات العليا [SWS_FrTrcv_00481].

يتضمن التعداد أربع حالات معرفة لتشغيل جهاز الإرسال والاستقبال [SWS_FrTrcv_00481]:

  • FRTRCV_TRCVMODE_NORMAL: يشير إلى أن جهاز الإرسال والاستقبال في حالة التشغيل العادية NORMAL [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_STANDBY: يشير إلى أن جهاز الإرسال والاستقبال في حالة الاستعداد الموفرة للطاقة STANDBY [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_SLEEP: يشير إلى أن جهاز الإرسال والاستقبال في حالة السكون SLEEP [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_RECEIVEONLY: يشير إلى أن جهاز الإرسال والاستقبال في الحالة RECEIVEONLY ويسمح بعمليات الاستقبال فقط [SWS_FrTrcv_00481].

فيما يتعلق بالاستخدام والتكامل، يعمل هذا النوع كمتغير واجهة مركزي للتحكم وكذلك لتسجيل حالة عتاد جهاز إرسال واستقبال FlexRay (تفسير: من المرجح أن تُستخدم قيم التعداد كمعاملات لاستدعاءات الدوال لتبديل نمط التشغيل وكذلك لتقديم إفادة عند الاستعلام عن الحالة، حيث لا تحتوي حمولة البيانات على تواقيع دوال). سؤال Q-205f2b0575c32460 (مفتوح) لا توجد رموز أخطاء محددة، أو معالجة للأخطاء عبر DET أو DEM، أو قيود على إمكانية إعادة الدخول محددة لنوع التعداد الأولي هذا في التوجيهات [SWS_FrTrcv_00481].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا وتستند إلى مواصفة AUTOSAR CP R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

نوع FrTrcv_TrcvWUReasonType [SWS_FrTrcv_00074] 📄 PDF

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

نوع ofaCfunctionwhichsubstitutesMultiplicityType [SWS_FrTrcv_00497] 📄 PDF

Type ofaCfunctionwhichsubstitutesMultiplicityType.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_FrTrcv
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_FrTrcv@rel:R20-11#18ce03a5
Content hash
18ce03a5
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayTransceiverDriver.pdf#nameddest=SWS_FrTrcv_00322

التهيئة والحالة

This service returns the version information of this module.

void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTrcv_Init دالة

This service initializes the Fr Trcv.

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

الخدمات

-

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function disable s the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function enables the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);

This function returns the actual state of the transceiver.

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);

This function returns the wakeup reason.

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This service sets the transceiver mode.

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

دورية

-

void FrTrcv_MainFunction (void);

الأنواع

Configuration data structure of the Fr Trcv module.

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

Type ofaCfunctionwhichsubstitutesMultiplicityType.