DEENESPTFRRUARHIKOZHNL

FlexRay Interface (FrIf)

ModulFrIf (FlexRay Interface)
BSW-Modul-ID61
Standard-Header#include "FrIf.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayInterface.pdf
ClusterFlexRay

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

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

يغلف برنامج تشغيل وجهاز إرسال واستقبال FlexRay ويتحكم لكل عنقود في الحالة وحركة PDU وتنفيذ قائمة المهام (Job-List).

تغلف واجهة FlexRay برامج تشغيل FlexRay وأجهزة الإرسال والاستقبال خلف فهرس تحكم موحد وتتوسط في تمرير وحدات PDU بين الطبقات العليا والناقل. وتدير لكل عنقود آلة حالة تحتوي على الحالتين FRIF_STATE_OFFLINE وFRIF_STATE_ONLINE، اللتين يبدلهما FlexRay State Manager عبر FrIf_SetState [SWS_FrIf_05174]. ويتم الإرسال والاستقبال وفق توقيت زمني ضمن Job List Execution للعنقود، وذلك في حالة online فقط (SWS FrIf ص. 37). وتعمل خدمات البدء والإيقاف والإيقاظ بشكل غير متزامن. ولذلك يحدد المتصل حالة POC التي تم الوصول إليها عبر FrIf_GetPOCStatus.

تقع واجهة FlexRay (FrIf) بين وحدات الاتصال العليا وبرامج التشغيل Fr وFrTrcv. وتحتاج لأداء وظيفتها الأساسية إلى خدمات برامج التشغيل مثل Fr_ControllerInit وFr_GetPOCStatus وFr_ReceiveRxLPdu [SWS_FrIf_05043]. وتغلف معظم خدمات التحكم خدمة من خدمات برامج التشغيل: حيث تترجم FrIf_CtrlIdx استناداً إلى التكوين الساكن إلى الصف (FlexRay Driver | Fr_CtrlIdx) وتعيد نتيجة برنامج التشغيل (SWS FrIf ص. 55). وتعمل خدمات البدء والإيقاف وتمكين البدء على البارد (Coldstart) والإيقاظ بشكل غير متزامن [SWS_FrIf_05005]. ولذلك يحدد المتصل الحالة التي تم الوصول إليها فعلياً باستخدام FrIf_GetPOCStatus.

frif_kontext FrSM FrSM (Lebenszyklus) FrIf FrIf FrSM->FrIf FrIf_ControllerInit, FrIf_StartCommunication, FrIf_SetState, FrIf_GetPOCStatus PduR PduR / Upper Layer (PDU-Nutzer) PduR->FrIf FrIf_Transmit, FrIf_CancelTransmit FrNm FrNm FrNm->FrIf FrIf_Transmit, FrIf_GetGlobalTime, FrIf_GetNmVector FrTp FrTp / FrArTp FrTp->FrIf FrIf_Transmit FrTSyn FrTSyn FrTSyn->FrIf FrIf_GetState, FrIf_GetGlobalTime, FrIf_GetMacroticksPerCycle EcuM EcuM EcuM->FrIf FrIf_Init, FrIf_CheckWakeupByTransceiver Mirror Bus Mirroring Mirror->FrIf FrIf_EnableBusMirroring SchM SchM SchM->FrIf FrIf_MainFunction_<FrIfCluster.ShortName> ISR Interrupt Service Routine ISR->FrIf FrIf_JobListExec_<FrIfCluster.ShortName> FrIf->PduR <User_RxIndication>, <User_TxConfirmation>, <User_TriggerTransmit> FrIf->FrTp RxIndication, TxConfirmation, TriggerTransmit FrIf->Mirror Mirror_ReportFlexRayFrame Fr Fr (FlexRay-Treiber) FrIf->Fr Fr_* بعد ترجمة الفهرس (FlexRay Driver | Fr_CtrlIdx) FrTrcv FrTrcv (Transceiver-Treiber) FrIf->FrTrcv FrTrcv_* Det Det FrIf->Det Det_ReportError, Det_ReportRuntimeError Dem Dem FrIf->Dem Dem_SetEventStatus

مخطط سياقي: تتوسط FrIf بين FrSM ومستخدمي PDU وخدمات الوقت وعكس المرآة (Mirroring) من جهة، وبرامج التشغيل Fr وFrTrcv من جهة أخرى. المصادر: [SWS_FrIf_05043]، SWS FrSM ص. 22

تدير FrIf لكل عنقود آلة حالة ذات الحالتين FRIF_STATE_OFFLINE وFRIF_STATE_ONLINE [SWS_FrIf_05755]. ويضبط FrIf_Init() كل عنقود على الوضع غير المتصل (Offline). وتطلب البيئة الانتقالات باستخدام FrIf_SetState وFRIF_GOTO_ONLINE أو FRIF_GOTO_OFFLINE [SWS_FrIf_05174]. ولا يعمل الاستقبال والإرسال وتأكيد الإرسال إلا في الوضع المتصل (online). وعند الانتقال إلى Offline، تتلقى Upper Layers القيمة E_NOT_OK للتأكيدات المعلقة [SWS_FrIf_05501].

frif_zustand start off FRIF_STATE_OFFLINE لا توجد خدمات اتصال (العنقود غير متزامن) start->off (1) FrIf_Init() off->off FRIF_GOTO_OFFLINE: لا يوجد انتقال on FRIF_STATE_ONLINE الاستقبال والإرسال وتأكيد الإرسال Tx (العنقود متزامن) off->on (2) FrIf_SetState(FRIF_GOTO_ONLINE) on->off (3) FrIf_SetState(FRIF_GOTO_OFFLINE) لكل PDU مع TxConfCounter > 0: <UL>_TxConfirmation(id, E_NOT_OK) on->on FRIF_GOTO_ONLINE: لا يوجد انتقال

مخطط الحالة: يبدأ كل عنقود في وضع غير متصل (offline) ولا ينتقل إلا عند الطلب عبر FrIf_SetState. المصادر: [SWS_FrIf_05303]، SWS FrIf ص. 25

يقود FrSM هذا التسلسل. وعند بدء التشغيل، يضبط أجهزة الإرسال والاستقبال على Normal، ويبدأ الاتصال، ويمكّن البدء على البارد عند الاقتضاء. ثم يستعلم عن حالة POC حتى الوصول إلى FR_POCSTATE_NORMAL_ACTIVE، ولا يضبط العنقود على online إلا بعد ذلك (SWS FrSM ص. 50). ويتم إيقاف التشغيل على مرحلتين: أولاً Offline وHalt، وبعد ذلك إعادة تهيئة وحدات التحكم ووضع الاستعداد لأجهزة الإرسال والاستقبال (SWS FrSM ص. 58).

يقوم FrIf_Transmit في البداية بعدّ طلبات الإرسال فقط [SWS_FrIf_05033]. أما النقل الفعلي فيتم في Job List Execution لكل عنقود [SWS_FrIf_05040]. وهناك تجلب FrIf البيانات عبر TriggerTransmit، وتؤكد عمليات النقل، وتبلغ عن الاستقبالات. وتبلغ عن الأخطاء في ثلاث فئات: أخطاء التطوير إلى DET [SWS_FrIf_05145]، وخطأ وقت التشغيل FRIF_E_JLE_SYNC [SWS_FrIf_05432]، وأخطاء الإنتاج لكل قناة إلى DEM [SWS_FrIf_05146].

الدور في حزمة FlexRay وحدود النظام

تقع واجهة FlexRay (FrIf) بين وحدات الاتصال العليا وبرامج التشغيل القريبة من العتاد. وتحتاج لأداء وظيفتها الأساسية إلى خدمات برنامج تشغيل FlexRay. ويشمل ذلك Fr_ControllerInit وFr_GetPOCStatus وFr_ReceiveRxLPdu وFr_CheckTxLPduStatus بالإضافة إلى Det_ReportRuntimeError [SWS_FrIf_05043]. وتشمل الخدمات الاختيارية، من بين أمور أخرى، Fr_AllSlots وFr_CancelTxLPdu وDem_SetEventStatus [SWS_FrIf_05044]. وتوضح بنية الترويسة (Header) تضمين Fr.h وFrTrcv.h وPduR_FrIf.h وFrNm_Cbk.h وFrTp_Cbk.h (SWS FrIf ص. 18).

يتحكم FlexRay State Manager في دورة الحياة. وهو يطابق عناصره الوظيفية مع استدعاءات FrIf (SWS FrSM ص. 22). ويتم ربط مستخدمي PDU عبر استدعاءات راجعة قابلة للتكوين: <User_RxIndication> و<User_TxConfirmation> و<User_TriggerTransmit> [SWS_FrIf_05045] [SWS_FrIf_05046] [SWS_FrIf_05047]. وتشمل الوجهات المسموح بها، من بين أمور أخرى، FrTSyn [SWS_FrIf_05434] وFrNm وFrArTp. كما يمكن أيضاً ربط Complex Drivers ذات الواجهات المماثلة (SWS FrIf ص. 97). وللمستخدمين الآخرين مهام خاصة بهم:

  • يقرأ FrTSyn معلومات الوقت والحالة (SWS FrTSyn ص. 13).
  • يفحص EcuM عمليات إيقاظ أجهزة الإرسال والاستقبال (SWS EcuM ص. 186).
  • يقوم Bus Mirroring بتبديل عكس أطر البيانات (SWS Mirror ص. 31).
frif_kontext FrSM FrSM (Lebenszyklus) FrIf FrIf FrSM->FrIf FrIf_ControllerInit, FrIf_StartCommunication, FrIf_SetState, FrIf_GetPOCStatus PduR PduR / Upper Layer (PDU-Nutzer) PduR->FrIf FrIf_Transmit, FrIf_CancelTransmit FrNm FrNm FrNm->FrIf FrIf_Transmit, FrIf_GetGlobalTime, FrIf_GetNmVector FrTp FrTp / FrArTp FrTp->FrIf FrIf_Transmit FrTSyn FrTSyn FrTSyn->FrIf FrIf_GetState, FrIf_GetGlobalTime, FrIf_GetMacroticksPerCycle EcuM EcuM EcuM->FrIf FrIf_Init, FrIf_CheckWakeupByTransceiver Mirror Bus Mirroring Mirror->FrIf FrIf_EnableBusMirroring SchM SchM SchM->FrIf FrIf_MainFunction_<FrIfCluster.ShortName> ISR Interrupt Service Routine ISR->FrIf FrIf_JobListExec_<FrIfCluster.ShortName> FrIf->PduR <User_RxIndication>, <User_TxConfirmation>, <User_TriggerTransmit> FrIf->FrTp RxIndication, TxConfirmation, TriggerTransmit FrIf->Mirror Mirror_ReportFlexRayFrame Fr Fr (FlexRay-Treiber) FrIf->Fr Fr_* بعد ترجمة الفهرس (FlexRay Driver | Fr_CtrlIdx) FrTrcv FrTrcv (Transceiver-Treiber) FrIf->FrTrcv FrTrcv_* Det Det FrIf->Det Det_ReportError, Det_ReportRuntimeError Dem Dem FrIf->Dem Dem_SetEventStatus

مخطط سياقي: تتوسط FrIf بين التحكم في الحالة ومستخدمي PDU وخدمات الوقت وعكس المرآة من جهة، وبرامج التشغيل Fr وFrTrcv من جهة أخرى. وتبلغ عن الأخطاء إلى DET وDEM. المصادر: [SWS_FrIf_05043]، [SWS_FrIf_05045]، SWS FrSM ص. 22، SWS FrIf ص. 18

فهرس تحكم واحد لجميع برامج التشغيل: مبدأ الغلاف (Wrapper)

تخاطب معظم خدمات التحكم وحدة تحكم اتصال (Communication Controller - CC) عبر FrIf_CtrlIdx. ويمكن توضيح هذا النمط باستخدام مثال FrIf_ControllerInit. تترجم الخدمة الفهرس استناداً إلى التكوين الساكن إلى الصف (FlexRay Driver | Fr_CtrlIdx). بعد ذلك، تستدعي Fr_ControllerInit() لبرنامج التشغيل المحدد (SWS FrIf ص. 55). وتماثل القيمة المرجعة نتيجة برنامج التشغيل [SWS_FrIf_05004]. ووفقاً للنمط ذاته، تغلف خدمات أخرى نظيراتها في برامج التشغيل: البدء، والإيقاف، والإلغاء، وتمكين البدء على البارد، والإيقاظ، وحالة POC، والوقت العام [SWS_FrIf_05005] [SWS_FrIf_05006] [SWS_FrIf_05007] [SWS_FrIf_05017] [SWS_FrIf_05011] [SWS_FrIf_05014] [SWS_FrIf_05015]. وينطبق الأمر نفسه على خدمات المؤقت المطلق [SWS_FrIf_05021] [SWS_FrIf_05025] [SWS_FrIf_05029].

تعد خاصية التزامن أمراً حاسماً للمتصلين. تعمل FrIf_StartCommunication وFrIf_HaltCommunication وFrIf_AllowColdstart وFrIf_SendWUP بشكل غير متزامن [SWS_FrIf_05005] [SWS_FrIf_05011]. في حين تعمل FrIf_ControllerInit وFrIf_AbortCommunication بشكل متزامن [SWS_FrIf_05007]. وفي الخدمات غير المتزامنة، تعني E_OK فقط أن استدعاء برنامج التشغيل قد أرجع E_OK. ويحدد FrSM حالة POC التي تم الوصول إليها فعلياً من خلال الاستعلام المتكرر باستخدام FrIf_GetPOCStatus (SWS FrSM ص. 50).

تخاطب خدمات أجهزة الإرسال والاستقبال قناة FrIf_ChnlIdx إضافية وتغلف برنامج تشغيل جهاز إرسال واستقبال FlexRay ‏[SWS_FrIf_05034] [SWS_FrIf_05036] [SWS_FrIf_05039]. وتكون القيمة FR_CHANNEL_AB غير صالحة في هذا السياق (SWS FrIf ص. 73). ولا تستدعي استعلامات مثل FrIf_GetMacroticksPerCycle أو FrIf_GetCycleLength أي برنامج تشغيل، بل تقرأ التكوين الساكن [SWS_FrIf_05018] [SWS_FrIf_05239].

آلة الحالة لكل عنقود: FRIF_STATE_OFFLINE وFRIF_STATE_ONLINE

تدير FrIf آلة حالة خاصة بكل عنقود FlexRay. يضبط FrIf_Init() كل عنقود مبدئياً على FRIF_STATE_OFFLINE (SWS FrIf ص. 25). وللحالتين المعنى التالي [SWS_FrIf_05755]:

  • FRIF_STATE_OFFLINE: وحدة CC ليست جاهزة للاتصال، والعنقود غير متزامن.
  • FRIF_STATE_ONLINE: وحدة CC جاهزة للاتصال، والعنقود متزامن.

تطلب البيئة الانتقالات باستخدام FrIf_SetState، وذلك بالقيمتين الحرفيتين FRIF_GOTO_ONLINE أو FRIF_GOTO_OFFLINE [SWS_FrIf_05174] [SWS_FrIf_05303]. ولا يحدث الانتقال إلا إذا كان العنقود في الحالة الأخرى (SWS FrIf ص. 25). وتعد FrIf_GetState قابلة لإعادة الدخول [SWS_FrIf_05170]، في حين أن FrIf_SetState ليست كذلك.

تحدد الحالة ما إذا كانت حركة البيانات تتم أم لا. ففي وضع Offline، لا تنفذ FrIf أي خدمات اتصال. وفي وضع Online، تنفذ الاستقبال والإرسال وتأكيد الإرسال (SWS FrIf ص. 25). وعند الانتقال إلى Offline، تفحص FrIf كل وحدة PDU: إذا كان TxConfCounter الخاص بها > 0، تتلقى الطبقة العليا <UL>_TxConfirmation(id, E_NOT_OK) [SWS_FrIf_05501]. وابتداءً من الإصدار R23-11، تتطلب المواصفة بالإضافة إلى ذلك أن تُرجع FrIf_Transmit() في حالة Offline القيمة E_NOT_OK (SWS FrIf ص. 68). ويوضح رسم بياني أقدم أربع حالات، من بينها FRIF_STATE_HALT (SWS FrIf ص. 28). ولا ينطبق هذا على R20-11، لأن FrIf_StateType لا يعرف هنا سوى قيمتين [SWS_FrIf_05755].

frif_zustand start off FRIF_STATE_OFFLINE لا توجد خدمات اتصال (العنقود غير متزامن) start->off (1) FrIf_Init() off->off FRIF_GOTO_OFFLINE: لا يوجد انتقال on FRIF_STATE_ONLINE الاستقبال والإرسال وتأكيد الإرسال Tx (العنقود متزامن) off->on (2) FrIf_SetState(FRIF_GOTO_ONLINE) on->off (3) FrIf_SetState(FRIF_GOTO_OFFLINE) لكل PDU مع TxConfCounter > 0: <UL>_TxConfirmation(id, E_NOT_OK) on->on FRIF_GOTO_ONLINE: لا يوجد انتقال

مخطط الحالة: يبدأ كل عنقود في وضع غير متصل (offline) ولا ينتقل إلا عند الطلب عبر FrIf_SetState. وعند الانتقال إلى Offline، تُختتم تأكيدات الإرسال المعلقة بشكل سلبي. المصادر: [SWS_FrIf_05174]، [SWS_FrIf_05303]، [SWS_FrIf_05501]، SWS FrIf ص. 25

بدء التشغيل والإيقاظ وإيقاف التشغيل تحت إدارة FrSM

يقوم EcuM بتهيئة FrIf باستخدام FrIf_Init، وذلك قبل FrSM_Init (SWS FrSM ص. 46). ويمرر أثناء ذلك مؤشراً إلى FrIf_ConfigType [SWS_FrIf_05003]. ويتحكم FrSM في جميع الخطوات الأخرى عبر عناصره الوظيفية. ويستدعي كل عنصر خدمة FrIf المقابلة لكل وحدة تحكم في العنقود (SWS FrSM ص. 22):

  • FE_CONFIG يستدعي FrIf_ControllerInit.
  • FE_START يستدعي FrIf_StartCommunication.
  • FE_ALLOW_COLDSTART يستدعي FrIf_AllowColdstart، ولكن فقط عندما يكون FrSMIsColdstartEcu مضبوطاً.
  • FE_WAKEUP يستدعي FrIf_SendWUP.
  • FE_HALT يستدعي FrIf_HaltCommunication.

يتم بدء التشغيل السلبي (Passive Startup) بعد إيقاظ الناقل بهذا الترتيب (SWS FrSM ص. 50):

  1. يتم تبديل أجهزة الإرسال والاستقبال إلى FRTRCV_TRCVMODE_NORMAL.
  2. يبدأ الاتصال.
  3. تقوم عقدة البدء على البارد بتمكين البدء على البارد بشكل إضافي.
  4. يستعلم FrSM عن حالة POC حتى الوصول إلى FR_POCSTATE_NORMAL_ACTIVE.
  5. بعد ذلك فقط يتبع FrIf_SetState(…, FRIF_GOTO_ONLINE).

عند الإيقاظ النشط، تختار العقد ثنائية القناة قناة الإيقاظ باستخدام FrIf_SetWakeupChannel [SWS_FrIf_05010]. ويبلغ FrIf_GetWakeupRxStatus بترميز بتي عن القناة التي تم استقبال الإيقاظ عليها [SWS_FrIf_05102].

بدء تشغيل غير نشط (Passive Startup) لعنقود (قناة مفردة، إيقاظ عبر الناقل)ComMSchMFrSMFrIfBswMDemFrSM_RequestComMode(network,COMM_FULL_COMMUNICATION)FrSM_MainFunction_<FrSMCluster.ShortName>()loopلكل CtrlIdx لوحدات CC الخاصة بالعنقودFrIf_GetTransceiverWUReason(CtrlIdx,ChnlIdx, TrcvWUReasonPtr)FRTRCV_WU_BY_BUSFrIf_SetTransceiverMode(CtrlIdx, ChnlIdx,FRTRCV_TRCVMODE_NORMAL)FrIf_StartCommunication(CtrlIdx)BswM_FrSM_CurrentState(FRSM_STARTUP)optFrSMIsColdstartEcu (فورًا إذا كان FrSMDurationT1 = 0)FrIf_AllowColdstart(CtrlIdx)loopbis FR_POCSTATE_NORMAL_ACTIVEFrSM_MainFunction_<FrSMCluster.ShortName>()FrIf_GetPOCStatus(CtrlIdx, POCStatusPtr)FR_POCSTATE_STARTUP /FR_POCSTATE_NORMAL_ACTIVEFrIf_SetState(ClstIdx, FRIF_GOTO_ONLINE)Cluster jetzt FRIF_STATE_ONLINE:قائمة المهام تنفذ الاتصالDem_SetEventStatus(FRSM_E_CLUSTER_STARTUP, PASSED)BswM_FrSM_CurrentState(FRSM_ONLINE)ComM_BusSM_ModeIndication(NetworkHandle, COMM_FULL_COM)

مخطط تسلسلي: بدء التشغيل السلبي حتى حالة online. تنفذ FrIf الخدمات الفردية فقط، بينما تقع إدارة التحكم في التسلسل على عاتق FrSM. تفسير: تم تبسيط الترتيب الذي يسبق البدء. المصادر: SWS FrSM ص. 50، SWS FrSM ص. 21

يتم إيقاف التشغيل على مرحلتين. أولاً يضبط FrSM العنقود على وضع غير متصل (offline) باستخدام FRIF_GOTO_OFFLINE ويستدعي FrIf_HaltCommunication. ولاحقاً يعيد تهيئة وحدات التحكم وينقل أجهزة الإرسال والاستقبال إلى النمط STANDBY (SWS FrSM ص. 58). ويحدد المؤقت t_TrcvStdbyDelay مدة التأخير بين المرحلتين (SWS FrSM ص. 21).

الانتقال من FullCom إلى NoComComMSchMFrSMFrIfBswMFrSM_RequestComMode(BusHandle, COMM_NO_COM)Use Case: Phase 1: Kommunikation anhaltenFrSM_MainFunction_<FrSMCluster.ShortName>()FrIf_SetState(ClstIdx, FRIF_GOTO_OFFLINE)FrIf_HaltCommunication(CtrlIdx)BswM_FrSM_CurrentState(HALT_REQ)ComM_BusSM_ModeIndication(BusHandle, COMM_NO_COM)Use Case: المرحلة 2: إعادة التهيئة بعد t_TrcvStdbyDelay والاستعداد (Standby)FrSM_MainFunction_<FrSMCluster.ShortName>()FrIf_GetPOCStatus(CtrlIdx, FrIf_POCStatusPtr)E_OKFrIf_ControllerInit(FrIf_CtrlIdx)FrIf_SetTransceiverMode(FrIf_CtrlIdx,FrIf_ChnlIdx, STANDBY)BswM_FrSM_CurrentState(READY)

مخطط تسلسلي: الانتقال من FullCom إلى NoCom، أولاً Halt، ثم إعادة التهيئة والاستعداد (Standby). تفسير: تم تبسيط الترتيب داخل المرحلة الأولى. المصادر: SWS FrSM ص. 58، SWS FrSM ص. 56

حركة PDU: طلب الإرسال وتنفيذ قائمة المهام (Job List Execution)

FrIf_Transmit متزامن وقابل لإعادة الدخول لقيم مختلفة من TxPduId [SWS_FrIf_05033]. وفي حالة الوصول المنفصل للمخزن المؤقت، تحفظ FrIf عدد طلبات الإرسال في TrigTxCounter فقط، وليس البيانات نفسها (SWS FrIf ص. 38). وعند التعامل مع وحدات PDU فورية (Immediate-PDUs) ذات طول ثابت، تفحص FrIf الطول الممرر مقارنة بالتكوين [SWS_FrIf_05757]. ويمكن إلغاء عملية إرسال جارية باستخدام FrIf_CancelTransmit [SWS_FrIf_05070].

يتم اتصال الناقل الفعلي في Job List Execution Function FrIf_JobListExec_<FrIfCluster.ShortName>، والتي توجد لكل كتل [SWS_FrIf_05040]. وفي المخططات التوضيحية، يقوم روتين خدمة المقاطعة (Interrupt Service Routine) باستدعائها (SWS FrIf ص. 102). ويُطلق هذا الروتين على الأرجح عبر Absolute Timer الخاص بـ CC [SWS_FrIf_05021]. سؤال Q-d0a286cc1698d9d3 (مفتوح) تراقب FrIf_MainFunction_<FrIfCluster.ShortName> [SWS_FrIf_05042] الدورية التنفيذ المستمر لقائمة المهام طالما كانت الكتلة متصلة بالشبكة (online). ويتضمن ذلك أيضًا (إعادة) التزامن (SWS FrIf ص. 26).

لا يتم تنفيذ كل Communication Operation إلا في الحالة FRIF_STATE_ONLINE، وتُتجاهل خلاف ذلك (SWS FrIf ص. 37). وتعمل أهم العمليات على النحو التالي:

  • الإرسال المنفصل: لكل PDU بقيمة TrigTxCounter > 0، يجلب FrIf البيانات عبر <User_TriggerTransmit> [SWS_FrIf_05047]. بعد ذلك، يمرر الإطار إلى Fr_TransmitTxLPdu(). وإذا رفض برنامج التشغيل، يعيد FrIf العدادات إلى حالتها السابقة (SWS FrIf ص. 102).
  • TX_CONFIRMATION: إذا أبلغ برنامج التشغيل عن FR_TRANSMITTED، يؤكد FrIf الإرسال عبر <User_TxConfirmation> [SWS_FrIf_05046].
  • RECEIVE_AND_INDICATE: يقرأ FrIf حتى FrIfRxComOpMaxLoop مرات ويبلغ عن كل استقبال عبر <User_RxIndication> [SWS_FrIf_05045] (SWS FrIf ص. 41).

العمليات الخاصة بالأجهزة مثل <Free_Op_A> تعمل أيضًا في قائمة المهام [SWS_FrIf_05316]. ويبلغ FrIf عن تعارضات الإرسال عبر <UL_TxConflictNotification> [SWS_FrIf_91001].

الإرسال عبر وصول منفصل إلى الذاكرة المؤقتة (Decoupled Buffer Access)ComPduR (Upper Layer)FrIfInterrupt Service RoutineFrPduR_ComTransmit()FrIf_Transmit(TxPduId, PduInfoPtr)زيادة TrigTxCounter(حتى CounterLimit، دون تخزين بيانات)E_OKUse Case: المهمة DECOUPLED_TRANSMISSION (فقط FRIF_STATE_ONLINE)FrIf_JobListExec_<FrIfCluster.ShortName>()loopلكل PDU في الإطارaltTrigTxCounter > 0 أو FrIfNoneMode == trueTrigTxCounter dekrementierenPduR_<User:Lo>Triggertransmit()Com_TriggerTransmit()copy buffer()E_OKE_OKUpdate-Bit "up-to-date" setzenوإلاUpdate-Bit "outdated" setzenoptAlwaysTransmit == TRUE أو PDU واحدة على الأقل محدثةFr_TransmitTxLPdu()زيادة TxConfCounter؛التراجع عن العداد عند E_NOT_OKUse Case: Job TX_CONFIRMATIONFrIf_JobListExec_<FrIfCluster.ShortName>()Fr_CheckTxLPduStatus()FR_TRANSMITTEDPduR_<User:Lo>TxConfirmation()Com_TxConfirmation()

مخطط تسلسلي: الإرسال مع وصول منفصل إلى التخزين المؤقت. يتم في البداية عدّ الطلب فقط، ولا يجلب FrIf البيانات إلا في قائمة المهام. وتمرر الإصدارات الأحدث ذلك عبر LSduR. المصادر: [SWS_FrIf_05033]، SWS FrIf ص. 102، SWS PduR ص. 106

frif_joblist start حان موعد مهمة من قائمة المهام FrIf_JobListExec_<FrIfCluster.ShortName>() online FrIf_State الخاص بـ CC == FRIF_STATE_ONLINE؟ start->online ignore Communication Operation ignorieren online->ignore لا art نوع Communication Operation؟ online->art نعم ende المهمة التالية ignore->ende dtx DECOUPLED_TRANSMISSION: فحص TrigTxCounter لكل PDU، و<User_TriggerTransmit>، وبتات التحديث، وFr_TransmitTxLPdu() art->dtx txc TX_CONFIRMATION: Fr_CheckTxLPduStatus()؛ عند FR_TRANSMITTED وTxConfCounter > 0: <User_TxConfirmation> art->txc rai RECEIVE_AND_INDICATE: Fr_ReceiveRxLPdu() bis zu FrIfRxComOpMaxLoop-mal; <User_RxIndication> art->rai ras RECEIVE_AND_STORE: Fr_ReceiveRxLPdu() إلى ذاكرة تخزين مؤقت مؤقتة، ونسخ PDUs إلى ذاكرات التخزين المؤقت المحلية لـ FrIf art->ras free <Free_Op_A> / <Free_Op_B>: hardwarespezifische Operation art->free dtx->ende txc->ende mirr انعكاس الناقل (Bus Mirroring) نشط لوحدة CC هذه؟ rai->mirr Frame empfangen ras->mirr Frame empfangen free->ende report Mirror_ReportFlexRayFrame() mirr->report نعم mirr->ende لا report->ende

مخطط النشاط: معالجة Communication Operation في قائمة المهام. تحدد حالة الكتلة أولاً، ثم نوع العملية. المصادر: [SWS_FrIf_05040]، SWS FrIf ص. 37، SWS FrIf ص. 39

قاعدة الوقت، والخدمات الإضافية، والتكوين

يستدعي FrTSyn FrIf_GetGlobalTime فقط إذا أعادت FrIf_GetState القيمة FRIF_STATE_ONLINE. عندئذٍ فقط يكون CC متزامنًا مع وقت FlexRay العام (SWS FrTSyn ص. 19). يُسمح باستدعاء FrIf_GetGlobalTime أيضًا داخل Exclusive Area (SWS FrIf ص. 64). ويحدد FrNm الدورة الحالية أيضًا عبر هذه الخدمة (SWS FrNm ص. 38). يمكن إيقاف تشغيل FrIf_GetNmVector [SWS_FrIf_05016] عبر FrIfGetNmVectorSupport.

تحدد FrIf_EnableBusMirroring لكل كتلة ما إذا كان سيتم استدعاء Mirror_ReportFlexRayFrame لكل إطار تم إرساله أو استقباله. إذا كانت FrIfBusMirroringSupport معطلة عالميًا، تقدم الخدمة E_NOT_OK [SWS_FrIf_05726]. إن تكوين ما بعد البناء (Post-Build) خاص بالتنفيذ ولا يمكن الوصول إليه إلا عبر مؤشرات إلى FrIf_ConfigType [SWS_FrIf_05301]. يوضح رسم تخطيطي بدءًا من R22-11 البنية: يوجد FrIfController واحد أو أكثر بقيمة FrIfCtrlIdx تتراوح بين 0 و31، وكل منها يحتوي على ما يصل إلى جهازي إرسال واستقبال (SWS FrIf ص. 139). يتم تفعيل الخدمات الاختيارية مثل FrIf_DisableLPdu [SWS_FrIf_05710] عبر مفتاح ما قبل التحويل البرمجي (Pre-Compile)، هنا عبر FrIfDisableLPduSupport (SWS FrIf ص. 84).

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

إذا تم ضبط FrIfDevErrorDetect على ON، تبلغ الخدمات عن أخطاء التطوير إلى Det_ReportError. وتتراوح الرموز من FRIF_E_PARAM_POINTER (0x01) إلى FRIF_E_INV_FRIF_STATE (0x0A) وتشمل، من بين أمور أخرى، FRIF_E_INV_CTRL_IDX وFRIF_E_UNINIT [SWS_FrIf_05145]. أهم الحالات:

  • FrIf_CtrlIdx غير صالح: تبلغ المغلفات (wrappers) عن FRIF_E_INV_CTRL_IDX وتوفر E_NOT_OK (SWS FrIf ص. 55).
  • انتقال غير صالح في FrIf_SetState: تبلغ الخدمة عن FRIF_E_INV_FRIF_STATE [SWS_FrIf_05037].
  • طول غير صحيح لـ Immediate-PDU: تُرجع FrIf_Transmit() القيمة E_NOT_OK وتبلغ عن FRIF_E_INV_PDULENGTH [SWS_FrIf_05757].
frif_wrapper aufruf Aufruf FrIf_<Dienst>(FrIf_CtrlIdx, …) det FrIfDevErrorDetect == ON و غير مهيأ / المعلمة غير صالحة؟ aufruf->det melden Det_ReportError(FRIF_E_UNINIT, FRIF_E_INV_CTRL_IDX, FRIF_E_INV_CHNL_IDX, …) det->melden نعم uebersetzen ترجمة FrIf_CtrlIdx عبر التكوين الثابت إلى (FlexRay Driver | Fr_CtrlIdx) det->uebersetzen لا nok1 إرجاع E_NOT_OK melden->nok1 treiber استدعاء Fr_<Dienst>(Fr_CtrlIdx, …) أو FrTrcv_<Dienst> لبرنامج التشغيل المحدد uebersetzen->treiber erg برنامج التشغيل يعيد E_OK؟ treiber->erg ok إرجاع E_OK erg->ok نعم nok2 إرجاع E_NOT_OK erg->nok2 لا

مخطط النشاط: تسلسل خدمة التغليف بدءًا من فحص المعلمات، مرورًا بترجمة الفهرس، وحتى إرجاع نتيجة برنامج التشغيل. المصادر: [SWS_FrIf_05004]، [SWS_FrIf_05145]، SWS FrIf ص. 55

تحدد المواصفة FRIF_E_JLE_SYNC كخطأ أثناء التشغيل. ويحدث عندما يفقد Job List Execution التزامن مع وقت FlexRay [SWS_FrIf_05432]. تفسير: من المرجح أن يكون استئناف العمل مهمة (إعادة) التزامن بواسطة Main Function (SWS FrIf ص. 26). سؤال Q-9d075afc8e49d498 (مفتوح)

يبلغ FrIf عن أخطاء الإنتاج لكل قناة إلى DEM: FRIF_E_NIT_CH_A/B، وFRIF_E_SW_CH_A/B، وFRIF_E_ACS_CH_A/B [SWS_FrIf_05146]. يكون البلاغ DEM_EVENT_STATUS_PREFAILED بمجرد تعيين بتات الخطأ مثل vSS!SyntaxError [SWS_FrIf_05426] [SWS_FrIf_05428]. وعلى النقيض من ذلك، يبلغ FrSM عن نتيجة بدء تشغيل الكتلة (SWS FrSM ص. 50).

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

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

FlexRay Interface (FrIf)

Abstracts FlexRay hardware controllers for upper layers.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة FrIf_Init [SWS_FrIf_05003] 📄 PDF

void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);

Initializes the Flex Ray Interface.

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

تُستخدم الدالة FrIf_Init لتهيئة وحدة واجهة FlexRay ([SWS_FrIf_05003]). يتم الاستدعاء بشكل متزامن ومحدد بأنه غير قابل لإعادة الدخول (Non Reentrant) ([SWS_FrIf_05003]).

المعلمات وقيم الإرجاع

  • FrIf_ConfigPtr (معلمة إدخال): مؤشر أساسي إلى بنية تكوين واجهة FlexRay ([SWS_FrIf_05003]).
  • قيمة الإرجاع: void - الدالة لا تُرجع أي قيمة إرجاع ([SWS_FrIf_05003]).

القيود وشروط الاستدعاء

نظرًا لأن FrIf_Init غير قابلة لإعادة الدخول، فلا يجوز استدعاء الدالة مرة أخرى بشكل متوازٍ أو مقاطِع بواسطة نفس سلسلة العمليات أو المهمة أو سلسلة أخرى في أي وقت ([SWS_FrIf_05003]). يجب أن يتم الاستدعاء في سياق تهيئة النظام قبل استخدام الخدمات العادية لواجهة FlexRay.

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

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

دالة FrIf_ControllerInit [SWS_FrIf_05004] 📄 PDF

Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);

Initialized a Flex Ray CC.

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

تُستخدم الدالة المتزامنة FrIf_ControllerInit لتهيئة وحدة التحكم بالاتصال FlexRay Communication Controller المسماة (FlexRay CC) [SWS_FrIf_05004]. تتوفر الدالة عبر ملف الرأس FrIf.h ويتم تحديدها بواسطة معرّف الخدمة 0x03 [SWS_FrIf_05004].

يتم عبر مُعامل الإدخال FrIf_CtrlIdx من نوع البيانات uint8 تمرير فهرس وحدة تحكم FlexRay المراد عنونتها [SWS_FrIf_05004]. ولا توجد أي مُعاملات إدخال أو إخراج أخرى لهذه الواجهة [SWS_FrIf_05004].

تكون قيمة الإرجاع من النوع Std_ReturnType وتُرجع حالة التهيئة إلى جهة الاستدعاء [SWS_FrIf_05004]:

  • E_OK: نجح استدعاء خدمة API لبرنامج تشغيل FlexRay الأساسي وأرجع E_OK [SWS_FrIf_05004].
  • E_NOT_OK: أرجعت خدمة API لبرنامج تشغيل FlexRay القيمة E_NOT_OK أو تم اكتشاف خطأ في وضع التطوير [SWS_FrIf_05004].

فيما يتعلق بالتزامن، فإن FrIf_ControllerInit قابلة لإعادة الدخول لفهارس وحدات تحكم مختلفة (FrIf_CtrlIdx)، ولكنها غير قابلة لإعادة الدخول لقيم متطابقة من FrIf_CtrlIdx [SWS_FrIf_05004]. ولذلك يجب منع الاستدعاءات المتزامنة لوحدة التحكم نفسها بواسطة النظام الكلي.

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

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

دالة FrIf_EnableAbsoluteTimerIRQ [SWS_FrIf_05025] 📄 PDF

Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Service FrIf_EnableAbsoluteTimerIRQ.

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

الاستخدام

تمثل الدالة FrIf_EnableAbsoluteTimerIRQ خدمة تزامنية بمعرف الخدمة (Service ID) 0x1d، وتُتاح عبر ملف الرأس FrIf.h [SWS_FrIf_05025]. وتعمل كغلاف حول واجهة Fr_EnableAbsoluteTimerIRQ() الخاصة ببرنامج تشغيل FlexRay لتفعيل مقاطعة مؤقت مطلق [SWS_FrIf_05025].

يتطلب الاستدعاء معلمتي إدخال [SWS_FrIf_05025]:

  • FrIf_CtrlIdx: فهرس وحدة تحكم اتصالات FlexRay (FlexRay CC) المعنية [SWS_FrIf_05025].
  • FrIf_AbsTimerIdx: فهرس المؤقت المطلق المراد تفعيله في وحدة التحكم المعنونة [SWS_FrIf_05025].

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

تُرجع الوظيفة قيمة حالة من النوع Std_ReturnType [SWS_FrIf_05025]:

  • E_OK: نجح استدعاء خدمة برنامج التشغيل الأساسية وأرجع E_OK [SWS_FrIf_05025].
  • E_NOT_OK: أرجعت دالة برنامج التشغيل E_NOT_OK أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05025].

التزامن وإعادة الدخول

فيما يتعلق بسياق الاستدعاء، فإن FrIf_EnableAbsoluteTimerIRQ غير قابلة لإعادة الدخول (non-reentrant) لنفس وحدة تحكم FlexRay، ولكن يُسمح باستدعائها بشكل قابل لإعادة الدخول لوحدات تحكم FlexRay مختلفة [SWS_FrIf_05025].

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

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

دالة FrIf_AckAbsoluteTimerIRQ [SWS_FrIf_05029] 📄 PDF

Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()

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

تُغلف دالة الواجهة التزامنية FrIf_AckAbsoluteTimerIRQ، كغلاف، استدعاء واجهة برمجة التطبيقات (API) لدالة برنامج التشغيل Fr_AckAbsoluteTimerIRQ() التابعة لبرنامج تشغيل FlexRay [SWS_FrIf_05029]. وتحمل معرف الخدمة 0x21، وتُتاح عبر ملف الرأس FrIf.h، وتُستخدم لتأكيد طلب مقاطعة لمؤقت مطلق خاص بـ FlexRay Communication Controller.

عند استدعاء الدالة، يجب تمرير معلمتي إدخال [SWS_FrIf_05029]:

  • FrIf_CtrlIdx: فهرس وحدة تحكم اتصالات FlexRay (CC) المطلوب مخاطبتها.
  • FrIf_AbsTimerIdx: فهرس المؤقت المطلق المحدد المراد إقرار مقاطعته.

تُرجع الدالة قيمة إرجاع من النوع Std_ReturnType لتقييم النتيجة [SWS_FrIf_05029]:

  • E_OK: نُفذ استدعاء واجهة برمجة التطبيقات (API) لبرنامج التشغيل Fr_AckAbsoluteTimerIRQ() بنجاح.
  • E_NOT_OK: أبلغ برنامج تشغيل FlexRay عند الاستدعاء عن E_NOT_OK، أو تم اكتشاف خطأ في وضع التطوير (Development Mode).

فيما يتعلق بسلوك التزامن، تعمل الدالة بشكل تزامني. الاستدعاءات لوحدات FlexRay CC مختلفة تكون قابلة لإعادة الدخول، بينما الاستدعاءات المتزامنة لنفس وحدة FlexRay CC غير قابلة لإعادة الدخول ويجب تجنبها [SWS_FrIf_05029].

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

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

دالة FrIf_StartCommunication [SWS_FrIf_05005] 📄 PDF

Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Start Communication().

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

تعمل الدالة FrIf_StartCommunication كغلاف لدالة برنامج تشغيل FlexRay المسماة Fr_StartCommunication() وتُطلق بدء الاتصال لوحدة التحكم باتصال FlexRay المعنونة [SWS_FrIf_05005].

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

تم التصريح عن الواجهة عبر ملف الرأس FrIf.h ولديها معرّف الخدمة 0x04 [SWS_FrIf_05005]. تتم معالجة الاستدعاء بشكل غير متزامن [SWS_FrIf_05005]. ويعمل FrIf_CtrlIdx (النوع uint8) كمُعامل إدخال وحيد يحدد فهرس وحدة التحكم باتصال FlexRay المراد التحكم بها؛ ولا توجد مُعاملات إدخال/إخراج أو مُعاملات إخراج بحتة [SWS_FrIf_05005].

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

تُرجع الدالة رمز حالة من النوع Std_ReturnType [SWS_FrIf_05005]:

  • E_OK: نجح استدعاء خدمة API الأساسية في برنامج تشغيل FlexRay وأرجع E_OK [SWS_FrIf_05005].
  • E_NOT_OK: أبلغت خدمة API لبرنامج التشغيل عن E_NOT_OK أو تم اكتشاف خطأ أثناء التنفيذ في وضع التطوير (Development Mode) [SWS_FrIf_05005].

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

فيما يتعلق بإعادة الدخول، فإن FrIf_StartCommunication قابلة لإعادة الدخول لفهارس وحدات التحكم المتباينة (FrIf_CtrlIdx)، ولكنها غير قابلة لإعادة الدخول لقيم وحدات التحكم المتطابقة [SWS_FrIf_05005]. ولذلك، يجب على الوحدات المستدعية التأكد عند عمليات الوصول المتزامنة من عدم إجراء استدعاءات متزامنة لوحدة التحكم نفسها.

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

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

دالة FrIf_HaltCommunication [SWS_FrIf_05006] 📄 PDF

Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Halt Communication().

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

تمثل الدالة FrIf_HaltCommunication (معرّف الخدمة 0x05) في واجهة FlexRay Interface (FrIf) غلافاً لاستدعاء دالة API لبرنامج التشغيل Fr_HaltCommunication() ويتم التصريح عنها عبر ملف الرأس FrIf.h [SWS_FrIf_05006]. يتم تنفيذ الخدمة بدلالات غير متزامنة [SWS_FrIf_05006]. كمعامل وحيد، يتم تمرير قيمة الإدخال FrIf_CtrlIdx، والتي تحدد فهرس وحدة التحكم باتصال FlexRay المراد مخاطبتها في كل حالة؛ ولم يتم تحديد مُعاملات إدخال/إخراج أو مُعاملات إخراج بحتة لهذه الخدمة [SWS_FrIf_05006].

قيمة الإرجاع من النوع Std_ReturnType وتشير إلى نتيجة الاستدعاء [SWS_FrIf_05006]:

  • E_OK: نجح استدعاء خدمة API في برنامج تشغيل FlexRay وأرجع E_OK [SWS_FrIf_05006].
  • E_NOT_OK: أرجع استدعاء API لبرنامج تشغيل FlexRay القيمة E_NOT_OK أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05006].

فيما يتعلق بالتزامن، فإن FrIf_HaltCommunication قابلة لإعادة الدخول لقيم مختلفة لفهرس وحدة التحكم FrIf_CtrlIdx، ولكنها غير قابلة لإعادة الدخول عند تطابق قيم FrIf_CtrlIdx [SWS_FrIf_05006]. وبالتالي، فإن الاستدعاءات المتزامنة أو المقاطِعة لوحدة التحكم نفسها غير مسموح بها ويجب منعها في سياق جهة الاستدعاء.

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

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

دالة FrIf_AbortCommunication [SWS_FrIf_05007] 📄 PDF

Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Abort Communication().

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

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

تعمل دالة الواجهة المتزامنة FrIf_AbortCommunication كغلاف مباشر لدالة API Fr_AbortCommunication() الخاصة ببرنامج تشغيل FlexRay [SWS_FrIf_05007]. تم التصريح عنها في ملف الترويسة FrIf.h ولديها معرّف الخدمة 0x06 [SWS_FrIf_05007].

عبر معلمة الإدخال FrIf_CtrlIdx، يتم تحديد فهرس FlexRay Communication Controller المراد مخاطبته [SWS_FrIf_05007]. لم يتم تحديد معلمات إدخال أو إخراج إضافية لهذه الواجهة [SWS_FrIf_05007].

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

تُرجع الوظيفة قيمة حالة من النوع Std_ReturnType [SWS_FrIf_05007]:

  • E_OK: كان استدعاء خدمة API الخاصة ببرنامج تشغيل FlexRay ناجحًا وأرجع E_OK [SWS_FrIf_05007].
  • E_NOT_OK: أرجعت خدمة API الخاصة ببرنامج تشغيل FlexRay E_NOT_OK أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05007].

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

تنفيذ FrIf_AbortCommunication متزامن [SWS_FrIf_05007]. الدالة قابلة لإعادة الدخول للقيم المختلفة لـ FrIf_CtrlIdx، لكنها غير قابلة لإعادة الدخول لفهارس وحدات التحكم المتطابقة [SWS_FrIf_05007].

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

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

دالة FrIf_SetState [SWS_FrIf_05174] 📄 PDF

Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);

Requests Fr If state machine transition.

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

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

تطلب الدالة التزامنية FrIf_SetState انتقال حالة في آلة حالة واجهة FlexRay [SWS_FrIf_05174]. ويتم تمرير فهرس المجموعة FrIf_ClstIdx والانتقال المطلوب FrIf_StateTransition كمعلمات. وتُرجع الدالة E_OK إذا نُفذ الاستدعاء بنجاح وقُبل تغيير الحالة؛ وفي حالة الخطأ تُرجع E_NOT_OK [SWS_FrIf_05174].

معالجة الأخطاء والشروط الحدية

عُرفت الدالة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_FrIf_05174]. وإذا كان فحص التطوير مفعلًا (FrIfDevErrorDetect == ON) واحتوت المعلمة FrIf_StateTransition على قيمة غير صالحة، تبلغ الدالة عن رمز الخطأ FRIF_E_INV_FRIF_STATE عبر Det_ReportError إلى وحدة DET [SWS_FrIf_05037].

التفاعل أثناء الانتقالات إلى وضع عدم الاتصال (Offline)

إذا تم استدعاء FrIf_SetState باستخدام معلمة الانتقال FRIF_STATE_OFFLINE، تتحقق واجهة FlexRay من العداد TxConfCounter لكل PDU [SWS_FrIf_05501]. وإذا كانت هذه القيمة أكبر من 0 لـ PDU ما، تُخطر الوحدة الطبقة الواقعة أعلاها عبر الاستدعاء <UL>_TxConfirmation(id, E_NOT_OK) بفشل التأكيد المعلق [SWS_FrIf_05501].

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

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

دالة FrIf_SendWUP [SWS_FrIf_05011] 📄 PDF

Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Send WUP().

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

تتوفر الدالة FrIf_SendWUP (معرّف الخدمة 0x0a) للوحدة FrIf عبر ملف الرأس FrIf.h وتعمل كغلاف واجهة لاستدعاء دالة API المسماة Fr_SendWUP() لبرنامج تشغيل FlexRay الأساسي [SWS_FrIf_05011].

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

يتم تنفيذ الخدمة بشكل غير متزامن [SWS_FrIf_05011]. ويعمل مُعامل الإدخال FrIf_CtrlIdx من النوع uint8 كمُعامل التمرير الوحيد، والذي يحدد فهرس وحدة تحكم الاتصال FlexRay Communication Controller (FlexRay CC) المراد عنونتها [SWS_FrIf_05011]. ولا يتم استخدام أي مُعاملات Inout أو Out [SWS_FrIf_05011].

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

تُرجع الدالة حالة من النوع Std_ReturnType كقيمة إرجاع [SWS_FrIf_05011]:

  • E_OK: تم تنفيذ استدعاء خدمة API لبرنامج تشغيل FlexRay بنجاح وأبلغ عن E_OK [SWS_FrIf_05011].
  • E_NOT_OK: أرجع استدعاء خدمة API لبرنامج تشغيل FlexRay القيمة E_NOT_OK أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05011].

التزامن وإعادة الدخول

فيما يتعلق بالوصول المتزامن، فإن FrIf_SendWUP قابل لإعادة الدخول (reentrant) للاستدعاءات ذات القيم المختلفة لـ FrIf_CtrlIdx، ولكنه غير قابل لإعادة الدخول (non-reentrant) للقيم المتطابقة لـ FrIf_CtrlIdx [SWS_FrIf_05011].

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

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

دالة FrIf_GetGlobalTime [SWS_FrIf_05015] 📄 PDF

Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);

Wraps the Flex Ray Driver API function Fr_ Get Global Time(). Impo rtant Note: Fr If_ Get Global Time may be called within an exclusive area.

دالة FrIf_AllowColdstart [SWS_FrIf_05017] 📄 PDF

Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().

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

الاستخدام وطريقة العمل

تخدم الدالة FrIf_AllowColdstart كغلاف لـ FlexRay-Treiber-API Fr_AllowColdstart() وفقًا لـ [SWS_FrIf_05017]. وهي تعنون عبر معلمة الإدخال FrIf_CtrlIdx وحدة FlexRay Communication Controller (CC) المراد مخاطبتها [SWS_FrIf_05017]. تم تحديد تنفيذ الدالة على أنه غير متزامن [SWS_FrIf_05017].

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

تعكس قيمة الإرجاع من النوع Std_ReturnType نتيجة التنفيذ [SWS_FrIf_05017]:

  • E_OK: تم استدعاء خدمة API الأساسية لبرنامج تشغيل FlexRay بنجاح وأبلغت بإرجاع E_OK [SWS_FrIf_05017].
  • E_NOT_OK: فشل استدعاء برنامج التشغيل (قيمة الإرجاع E_NOT_OK) أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05017].

تفسير: يُرجّح أن اكتشاف الأخطاء في Development Mode يتم عبر وحدة Default Error Tracer (DET)، على الرغم من عدم توثيق أي معرّفات أخطاء محددة أو عمليات فحص في مقتطف المواصفات. سؤال Q-5dffd71d66731cc9 (مفتوح)

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

فيما يتعلق بإمكانية إعادة الدخول، فإن FrIf_AllowColdstart غير قابلة لإعادة الدخول للقيم المتطابقة لـ FrIf_CtrlIdx، ولكن يُسمح باستدعائها بالتوازي لفهارس وحدات التحكم المختلفة [SWS_FrIf_05017]. لذلك، يجب على جهات الاستدعاء التأكد من مزامنة الاستدعاءات المتزامنة لوحدة التحكم نفسها. يتم توفير الواجهة عبر الترويسة FrIf.h [SWS_FrIf_05017].

أُنشئت إرشادات الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى بيانات المواصفات من AUTOSAR CP R20-11.

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

دالة FrIf_Transmit [SWS_FrIf_05033] 📄 PDF

Std_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

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

تطلب الدالة المتزامنة FrIf_Transmit إرسال PDU عبر واجهة FlexRay [SWS_FrIf_05033]. وتستقبل معرّف الـ PDU المراد إرسالها (TxPduId) بالإضافة إلى مؤشر إلى البنية PduInfoPtr، التي توفر طول الـ PDU ومؤشرات البيانات والبيانات الوصفية [SWS_FrIf_05033].

فيما يتعلق بالتزامن وإعادة الدخول، فإن FrIf_Transmit قابل لإعادة الدخول لمعرّفات PDU المختلفة، ولكنه غير قابل لإعادة الدخول لنفس معرّف الـ PDU [SWS_FrIf_05033]. يُرجع الاستدعاء E_OK بمجرد قبول طلب الإرسال، وإلا فإنه يُرجع E_NOT_OK [SWS_FrIf_05033].

يتم إجراء فحص أخطاء محدد مع وحدات الـ PDU الفورية (Immediate PDUs)، بشرط إلغاء تفعيل أطوال L-SDU الديناميكية عبر معامل التكوين FrIfAllowDynamicLSduLength إلى FALSE [SWS_FrIf_05757]:

  • يتم فحص الطول المُمرّر في PduInfoPtr مقارنةً بطول الـ PDU المكوّن استاتيكيًا [SWS_FrIf_05757].
  • إذا لم يتطابق تحديد الطول، يُلغي FrIf_Transmit إرسال الـ Immediate PDU ويُرجع E_NOT_OK [SWS_FrIf_05757].
  • طالما أن اكتشاف التطوير (FrIfDevErrorDetect == ON) نشط، تُبلّغ الدالة عن خطأ التطوير FRIF_E_INV_PDULENGTH عبر Det_ReportError إلى وحدة DET [SWS_FrIf_05757].

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

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

دالة FrIf_SetTransceiverMode [SWS_FrIf_05034] 📄 PDF

Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️

Wraps the Flex Ray Transceiver Driver API function Fr

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

تعمل الواجهة المتزامنة FrIf_SetTransceiverMode ذات معرّف الخدمة 0x13 في واجهة FlexRay كغلاف (wrapper) لدالة المشغل FrTrcv_SetTransceiverMode() الخاصة بمشغل جهاز إرسال واستقبال FlexRay، وهي متاحة عبر ملف الرأس FrIf.h [SWS_FrIf_05034]. وتتيح للطبقات العليا ضبط نمط تشغيل جهاز إرسال واستقبال لمتحكم FlexRay وقناة محددين [SWS_FrIf_05034].

عند الاستدعاء، يجب تمرير ثلاث معلمات: فهرس المتحكم FrIf_CtrlIdx لعنونة FlexRay Communication Controller، وفهرس القناة FrIf_ChnlIdx لتحديد قناة FlexRay ضمن نطاق صلاحية المتحكم، بالإضافة إلى نمط جهاز الإرسال والاستقبال المطلوب FrIf_TrcvMode من النوع FrTrcv_TrcvModeType [SWS_FrIf_05034]. لا توجد معلمات إدخال/إخراج ولا معلمات إخراج [SWS_FrIf_05034]. بالنسبة للمعلمة FrIf_ChnlIdx، يسري المتطلب الإلزامي بأنه لا يجوز بأي حال من الأحوال استخدام قيمة التعداد FR_CHANNEL_AB [SWS_FrIf_05034].

الدالة محددة على أنها قابلة لإعادة الدخول وتمرر تغيير النمط بشكل متزامن إلى مشغل جهاز الإرسال والاستقبال [SWS_FrIf_05034]. وكنتيجة، تُرجع الحالة Std_ReturnType: حيث تُبلّغ عن E_OK إذا أرجع استدعاء خدمة الـ API في مشغل جهاز الإرسال والاستقبال بنجاح E_OK؛ وإذا فشل استدعاء المشغل هذا وأرجع E_NOT_OK، فسيتم إرجاع E_NOT_OK أيضًا [SWS_FrIf_05034].

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

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

دالة FrIf_GetTransceiverMode [SWS_FrIf_05035] 📄 PDF

Std_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode(). The enum value "FR_ CHANNEL_ AB" shall not be used.

دالة FrIf_GetTransceiverWUReason [SWS_FrIf_05036] 📄 PDF

Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason(). The enum value "FR_ CHANNEL_ AB" shall not be used.

دالة FrIf_ClearTransceiverWakeup [SWS_FrIf_05039] 📄 PDF

Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup(). The enum value "FR_ CHANNEL_ AB" shall not be used. A vailable via Fr If.h

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

تعمل الدالة التزامنية FrIf_ClearTransceiverWakeup (معرف الخدمة 0x18) كغلاف ضمن واجهة FlexRay وتُغلف استدعاء دالة API FrTrcv_ClearTransceiverWakeup() الخاصة ببرنامج تشغيل جهاز إرسال واستقبال FlexRay [SWS_FrIf_05039]. وتتوفر الواجهة عبر ملف الرأس FrIf.h [SWS_FrIf_05039].

عند الاستدعاء، تتوقع الدالة معلمتي إدخال تحديدًا [SWS_FrIf_05039]:

  • FrIf_CtrlIdx: فهرس وحدة FlexRay-Communication-Controller المراد عنونتها [SWS_FrIf_05039].
  • FrIf_ChnlIdx: فهرس قناة FlexRay المعنية ضمن نطاق صلاحية وحدة التحكم FrIf_CtrlIdx [SWS_FrIf_05039].

لم تُحدد أي معلمات أخرى (inout أو out) للدالة [SWS_FrIf_05039].

فيما يتعلق بالتزامن والشروط الحدية، صُنفت الدالة على أنها قابلة لإعادة الدخول [SWS_FrIf_05039]. وكقيد وظيفي أساسي، تنص المواصفة على عدم جواز استخدام قيمة التعداد FR_CHANNEL_AB للمعلمة FrIf_ChnlIdx [SWS_FrIf_05039].

تُرجع نتيجة العملية بشكل تزامني كـ Std_ReturnType وتعكس مباشرة نتيجة خدمة برنامج التشغيل [SWS_FrIf_05039]:

  • E_OK: نُفذت خدمة API لبرنامج تشغيل جهاز إرسال واستقبال FlexRay بنجاح وأرجعت E_OK [SWS_FrIf_05039].
  • E_NOT_OK: فشل استدعاء خدمة برنامج التشغيل وأبلغ عن E_NOT_OK [SWS_FrIf_05039].

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

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

دالة FrIf_CancelAbsoluteTimer [SWS_FrIf_05023] 📄 PDF

Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer() .

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

تُستخدم الدالة FrIf_CancelAbsoluteTimer للإلغاء المتزامن لمؤقت مطلق تم تكوينه على وحدة التحكم في اتصالات (CC) FlexRay [SWS_FrIf_05023]. وهي تعمل كغلاف حول دالة برنامج التشغيل المقابلة Fr_CancelAbsoluteTimer() لبرنامج تشغيل FlexRay وتتوفر عبر ملف الرأس FrIf.h [SWS_FrIf_05023].

المعلمات وقيم الإرجاع

عند الاستدعاء، يتم تمرير معاملي دخل [SWS_FrIf_05023]:

  • FrIf_CtrlIdx: فهرس وحدة تحكم FlexRay المراد مخاطبتها.
  • FrIf_AbsTimerIdx: فهرس المؤقت المطلق المراد إلغاؤه.

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

  • E_OK: انتهى الاستدعاء الأساسي لواجهة برمجة تطبيقات (API) برنامج تشغيل FlexRay بنجاح مع E_OK [SWS_FrIf_05023].
  • E_NOT_OK: فشل استدعاء واجهة برمجة تطبيقات برنامج التشغيل (Treiber-API) (إرجاع E_NOT_OK) أو تم اكتشاف خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05023].

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

يتم التنفيذ بشكل متزامن مع معرّف الخدمة 0x1b [SWS_FrIf_05023]. وفيما يتعلق بإمكانية إعادة الدخول، فإن الخدمة قابلة لإعادة الدخول لوحدات FlexRay CC المختلفة، ولكن لا يجوز استدعاؤها بالتزامن لنفس وحدة FlexRay CC [SWS_FrIf_05023].

تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Classic R20-11.

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

دالة FrIf_DisableAbsoluteTimerIRQ [SWS_FrIf_05031] 📄 PDF

Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().

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

تعد الدالة FrIf_DisableAbsoluteTimerIRQ جزءًا من وحدة واجهة FlexRay (FlexRay-Interface) ويتم توفيرها عبر ملف الترويسة FrIf.h [SWS_FrIf_05031]. وتعمل كغلاف متزامن للدالة Fr_DisableAbsoluteTimerIRQ() الخاصة بـ FlexRay-Treiber-API، وتمرر طلب إلغاء تنشيط توليد المقاطعات للمؤقت المطلق المعنون إلى مستوى برنامج التشغيل [SWS_FrIf_05031].

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

يتم الاستدعاء بشكل متزامن باستخدام معرّف الخدمة 0x23 [SWS_FrIf_05031]. لا تحتوي الواجهة على معاملات دخل/خرج أو معاملات خرج صرفة، ولكنها تتطلب معاملي دخل إلزاميَين [SWS_FrIf_05031]:

  • FrIf_CtrlIdx: فهرس وحدة التحكم في اتصالات (CC) FlexRay المراد مخاطبتها [SWS_FrIf_05031].
  • FrIf_AbsTimerIdx: فهرس المؤقت المطلق المراد تكوينه [SWS_FrIf_05031].

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

تُرجع الدالة الحالة إلى جهة الاستدعاء عبر نوع الإرجاع Std_ReturnType [SWS_FrIf_05031]:

  • E_OK: تشير إلى أن استدعاء خدمة API لبرنامج تشغيل FlexRay كان ناجحًا وأرجع E_OK [SWS_FrIf_05031].
  • E_NOT_OK: تشير إلى أن خدمة API لبرنامج تشغيل FlexRay أرجعت E_NOT_OK أو تم رصد خطأ في وضع التطوير (Development Mode) [SWS_FrIf_05031].

التزامن وإعادة الدخول

وفقًا لمتطلبات إعادة الدخول، فإن FrIf_DisableAbsoluteTimerIRQ غير قابلة لإعادة الدخول لنفس وحدة التحكم في اتصالات FlexRay، ولكنها قابلة لإعادة الدخول لوحدات FlexRay CC المختلفة [SWS_FrIf_05031]. لذلك لا يجوز إجراء استدعاءات لنفس مثيل وحدة التحكم بالتزامن من سياقات مختلفة دون مزامنة.

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

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

دالة FrIf_GetCycleLength [SWS_FrIf_05239] 📄 PDF

uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);

This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with index Fr If_ Ctrl Idx.

دالة FrIf_AllSlots [SWS_FrIf_05020] 📄 PDF

Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ All Slots

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

تُستخدم الواجهة المتزامنة FrIf_AllSlots داخل واجهة FlexRay كغلاف لاستدعاء دالة برنامج التشغيل الأساسية Fr_AllSlots الخاصة ببرنامج تشغيل FlexRay [SWS_FrIf_05020]. يتم توفير الدالة عبر ملف الرأس FrIf.h وتملك معرّف الخدمة 0x33 [SWS_FrIf_05020]. ويُتوقع كمعامل تمرير وحيد FrIf_CtrlIdx، والذي يحدد الفهرس المنطقي لوحدة التحكم في اتصالات FlexRay المراد مخاطبتها [SWS_FrIf_05020]. لا توجد معاملات دخل وخرج (inout/out) مخصصة لهذه الخدمة [SWS_FrIf_05020].

تُرجع الوظيفة الحالة Std_ReturnType كقيمة مُرجعة بالمعاني التالية [SWS_FrIf_05020]:

  • E_OK: كان استدعاء واجهة برمجة تطبيقات (API) برنامج التشغيل Fr_AllSlots ناجحًا وأرجع E_OK [SWS_FrIf_05020].
  • E_NOT_OK: فشل استدعاء برنامج تشغيل FlexRay أو أرجع E_NOT_OK، أو تم اكتشاف خطأ أثناء التنفيذ في وضع التطوير [SWS_FrIf_05020].

فيما يتعلق بسلوك وقت التشغيل والتزامن، حُددت FrIf_AllSlots على أنها غير قابلة لإعادة الدخول (non reentrant) [SWS_FrIf_05020]. لذلك يجب على الكيان المستدعي ضمان استبعاد الاستدعاءات المتزامنة أو المتداخلة لوحدة التحكم المعنية. تفسير: يُرجح أن الاستدعاء يجب أن يتم من سياق مهمة محمي، لأن الواجهة لا توفر إدارة إعادة دخول خاصة بها عند الوصول المتوازي. سؤال Q-e4ce542c60b470c8 (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ والمعيار المعتمد هو معيار AUTOSAR.

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

دالة FrIf_GetChannelStatus [SWS_FrIf_05030] 📄 PDF

Std_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);

Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.

دالة FrIf_GetClockCorrection [SWS_FrIf_05071] 📄 PDF

Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);

Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.

دالة FrIf_GetNumStartupFrames [SWS_FrIf_05073] 📄 PDF

Std_ReturnType FrIf_GetNumOfStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr);

Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

دالة FrIf_GetWakeupRxStatus [SWS_FrIf_05102] 📄 PDF

Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);

Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray controller.

دالة FrIf_CancelTransmit [SWS_FrIf_05070] 📄 PDF

Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);

Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.

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

الاستخدام

تطلب الدالة التزامنية FrIf_CancelTransmit إلغاء عملية نقل PDU جارية في وحدة اتصال تابعة [SWS_FrIf_05070]. ويُمرر TxPduId كمعلمة إدخال، والذي يحدد الـ PDU المراد إلغاؤها. ويتم التنفيذ تزامنيًا ويُرجع قيمة إرجاع من النوع Std_ReturnType [SWS_FrIf_05070]:

  • E_OK: تم تنفيذ إلغاء الإرسال بنجاح بواسطة الوحدة الهدف.
  • E_NOT_OK: رُفض الإلغاء من قِبل الوحدة المستهدفة.

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

فيما يتعلق بالتزامن، فإن FrIf_CancelTransmit قابلة لإعادة الدخول لمعرفات PDU مختلفة، لكنها غير قابلة لإعادة الدخول لنفس المعرف TxPduId [SWS_FrIf_05070]. لذلك، عند إجراء استدعاءات من سياقات متوازية لنفس معرف PDU، فمن المرجح أن تكون هناك حاجة إلى مزامنة خارجية من جانب المتصل لتجنب حالات التسابق (Race Conditions). سؤال Q-38e799ac1564f60f (مفتوح)

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

لم تُحدد رموز خطأ خاصة بـ DET أو DEM في الواجهة؛ ويُشار إلى فشل الإلغاء مباشرة عبر قيمة الإرجاع E_NOT_OK [SWS_FrIf_05070]. وتحمل الخدمة معرف الخدمة 0x4a وتتوفر عبر ملف الرأس FrIf.h [SWS_FrIf_05070].

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

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

دالة FrIf_DisableLPdu [SWS_FrIf_05710] 📄 PDF

Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Wraps the Flex Ray Driver Function Fr_ Disable LPdu. It disables the hardware resource of an LPdu for transmission/ recept ion.

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

تعمل الدالة FrIf_DisableLPdu كغلاف لدالة المشغل Fr_DisableLPdu الخاصة بمشغل FlexRay، وتعطّل مورد العتاد الأساسي لـ L-PDU الخاصة بالإرسال أو الاستقبال [SWS_FrIf_05710].

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

يتم استدعاء FrIf_DisableLPdu بشكل متزامن عبر الواجهة FrIf.h باستخدام معرّف الخدمة 0x28 [SWS_FrIf_05710]. وتتوقع الدالة معلمتي إدخال:

  • FrIf_CtrlIdx: فهرس FlexRay Communication Controller في سياق واجهة FlexRay [SWS_FrIf_05710].
  • FrIf_LPduIdx: فهرس فريد لتعريف إطار FlexRay المعني [SWS_FrIf_05710].

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

تُرجع الدالة كمعامل نتيجة حالة من النوع Std_ReturnType [SWS_FrIf_05710]:

  • E_OK: تم اكتمال استدعاء API بنجاح [SWS_FrIf_05710].
  • E_NOT_OK: تم إلغاء استدعاء الـ API بسبب وجود أخطاء [SWS_FrIf_05710].

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

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

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

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

دالة FrIf_EnableTransceiverBranch [SWS_FrIf_05085] 📄 PDF

Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.

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

تُغلّف الدالة FrIf_EnableTransceiverBranch، بوصفها غلافاً متزامناً وقابلاً لإعادة الدخول، استدعاء API FrTrcv_EnableTransceiverBranch لمشغل جهاز إرسال واستقبال FlexRay الأساسي [SWS_FrIf_05085]. ومن خلال هذه الواجهة، يتم تنشيط فرع محدد لجهاز إرسال واستقبال بشكل مستهدف، على سبيل المثال في سياق نجمة نشطة [SWS_FrIf_05085]. ويتم توفير تصريح الدالة والأنواع المرتبطة بها عبر ملف الرأس FrIf.h [SWS_FrIf_05085].

المعلمات وشروط الاستدعاء

عند الاستدعاء، يجب تمرير ثلاث معلمات إدخال [SWS_FrIf_05085]:

  • FrIf_CtrlIdx: يعنون فهرس وحدة تحكم اتصالات FlexRay المعنية [SWS_FrIf_05085].
  • FrIf_ChnlIdx: يحدد قناة FlexRay ضمن نطاق صلاحية وحدة التحكم FrIf_CtrlIdx [SWS_FrIf_05085]. ينطبق هنا قيد إلزامي يقضي بعدم جواز استخدام قيمة التعداد FR_CHANNEL_AB [SWS_FrIf_05085].
  • FrIf_BranchIdx: يحدد عبر فهرس صفري الأساس الفرع الفعلي لجهاز الإرسال والاستقبال الذي يُطبق عليه التنشيط [SWS_FrIf_05085].

قيم الإرجاع

تُرجع الدالة قيمة حالة من النوع Std_ReturnType، والتي تعكس مباشرة نتيجة استدعاء المشغل الذي تمت إعادة توجيهه [SWS_FrIf_05085]:

  • E_OK: كان استدعاء خدمة المشغل FrTrcv_EnableTransceiverBranch ناجحاً وأرجع E_OK [SWS_FrIf_05085].
  • E_NOT_OK: أبلغ استدعاء خدمة المشغل عن E_NOT_OK [SWS_FrIf_05085].

تم توليد هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR CP R20-11.

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

دالة FrIf_DisableTransceiverBranch [SWS_FrIf_05028] 📄 PDF

Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.

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

تُغلف الدالة التزامنية والقابلة لإعادة الدخول FrIf_DisableTransceiverBranch، كدالة غلاف، الخدمة FrTrcv_DisableTransceiverBranch الخاصة ببرنامج تشغيل جهاز إرسال واستقبال FlexRay [SWS_FrIf_05028]. وتُتاح عبر ملف الرأس FrIf.h، وتحمل معرف الخدمة 0x37، وتُستخدم لتعطيل فرع محدد لجهاز إرسال واستقبال ذي طوبولوجيا نجمية نشطة بشكل موجه [SWS_FrIf_05028].

عند الاستدعاء، يجب تمرير ثلاث معلمات إدخال:

  • FrIf_CtrlIdx: فهرس وحدة تحكم FlexRay المراد عنونتها [SWS_FrIf_05028].
  • FrIf_ChnlIdx: قناة FlexRay ضمن نطاق صلاحية وحدة التحكم. وهنا تنطبق التوجيهات الإلزامية بعدم جواز استخدام قيمة التعداد FR_CHANNEL_AB [SWS_FrIf_05028].
  • FrIf_BranchIdx: فهرس يبدأ من الصفر، يحدد الفرع المعني لجهاز الإرسال والاستقبال الذي سيتم تطبيق العملية عليه [SWS_FrIf_05028].

كقيمة إرجاع، تُرجع الواجهة حالة من النوع Std_ReturnType. وتُرجع E_OK إذا نجح استدعاء برنامج تشغيل جهاز الإرسال والاستقبال، وE_NOT_OK إذا أبلغت خدمة برنامج التشغيل عن E_NOT_OK [SWS_FrIf_05028]. لم يتم توثيق رسائل خطأ محددة لـ DET أو DEM ضمن نطاق المواصفة؛ ويرجع الفشل على الأرجح مباشرة إلى سلوك برنامج التشغيل التابع. سؤال Q-52d5e5fedd147532 (مفتوح)

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

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

دالة FrIf_ReconfigLPdu [SWS_FrIf_05048] 📄 PDF

Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️

Service FrIf_ReconfigLPdu.

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

تُستخدم الدالة المتزامنة FrIf_ReconfigLPdu لإعادة تكوين L-PDU في واجهة FlexRay (FrIf) وتمرر الاستدعاء مباشرةً إلى واجهة برنامج التشغيل Fr_ReconfigLPdu التابعة لبرنامج تشغيل FlexRay [SWS_FrIf_05048]. يتم توفير الواجهة عبر ملف الرأس FrIf.h [SWS_FrIf_05048].

المعاملات وقيود التكوين

  • FrIf_CtrlIdx: يعنون فهرس وحدة تحكم اتصالات FlexRay داخل مشغل FlexRay [SWS_FrIf_05048].
  • FrIf_LPduIdx: يحدد الفهرس الفريد لتعريف إطار FlexRay المراد تكوينه [SWS_FrIf_05048].
  • FrIf_FrameId وFrIf_CycleRepetition وFrIf_CycleOffset: تحدد معرّف إطار FlexRay الجديد بالإضافة إلى التكرار والإزاحة لآلية تصفية الدورات الخاصة بـ L-PDU [SWS_FrIf_05048].
  • FrIf_ChnlIdx: يحدد قناة FlexRay من النوع Fr_ChannelType [SWS_FrIf_05048]. وفي هذا السياق، يُشترط بصرامة عدم جواز استخدام قيمة التعداد FR_CHANNEL_AB [SWS_FrIf_05048].
  • FrIf_PayloadLength وFrIf_HeaderCRC: يحددان طول البيانات المفيدة بالبايت بالإضافة إلى Header-CRC المرتبط، واللذين يجب ضبط L-PDU عليهما [SWS_FrIf_05048].

قيم الإرجاع وسياق التنفيذ

تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة إعادة التكوين: يشير E_OK إلى التنفيذ الناجح لاستدعاء API، بينما يشير E_NOT_OK إلى الإلغاء بسبب خطأ [SWS_FrIf_05048].

الدالة متزامنة ومحددة بأنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_FrIf_05048]. وبالتالي، لا يجوز استدعاؤها على نحو متزامن.

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

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

دالة FrIf_ReadCCConfig [SWS_FrIf_05313] 📄 PDF

Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️

Wraps the Flex Ray Driver API function Fr_ Read CCConfig().

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

تمثل الدالة FrIf_ReadCCConfig خدمة متزامنة لواجهة FlexRay برمز الخدمة ID 0x3b وتكون مصرّحة عبر ملف الرأس FrIf.h [SWS_FrIf_05313]. وتتمثل مهمتها الأساسية في استدعاء دالة المشغل Fr_ReadCCConfig() لمشغل FlexRay الأساسي كغلاف لقراءة معلمات تكوين وحدة التحكم [SWS_FrIf_05313].

تتوقع الواجهة ثلاث معلمات عند الاستدعاء [SWS_FrIf_05313]:

  • FrIf_CtrlIdx (دخل): الفهرس العددي لوحدة تحكم اتصالات FlexRay المراد مخاطبتها (CC).
  • FrIf_ConfigParamIdx (دخل): فهرس معلمة التكوين المحددة التي يُراد الاستعلام عن قيمتها.
  • FrIf_ConfigParamValuePtr (خرج): مؤشر إلى موقع الذاكرة الذي سيتم تخزين قيمة التكوين المقروءة بعرض 32 بت فيه.

تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة الاستعلام [SWS_FrIf_05313]:

  • E_OK: تم تنفيذ استدعاء API للمشغل Fr_ReadCCConfig() بنجاح وأرجع E_OK.
  • E_NOT_OK: أبلغ مشغل FlexRay عن E_NOT_OK أو تم اكتشاف خطأ أثناء التنفيذ في وضع التطوير (Development Mode).

فيما يتعلق بالتزامن وبيئة التنفيذ، فإن FrIf_ReadCCConfig غير قابلة لإعادة الدخول لنفس وحدة تحكم FlexRay، ولكنها قابلة لإعادة الدخول لوحدات تحكم مختلفة [SWS_FrIf_05313]. وعند الوصول إلى وحدة التحكم نفسها، يجب على المستدعي ضمان المزامنة المناسبة. ويُفترض على الأرجح إعادة توجيه أي خطأ يُكتشف في وضع التطوير إلى Default Error Tracer (DET). سؤال Q-bfe56460515de4de (مفتوح)

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

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

دالة FrIf_EnableBusMirroring [SWS_FrIf_05726] 📄 PDF

Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);

Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.

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

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

تقوم الدالة المتزامنة FrIf_EnableBusMirroring بتبديل Bus-Mirroring لجميع وحدات تحكم FlexRay المرتبطة بعنقود FlexRay الممرَّر [SWS_FrIf_05726]. وتتم عنونة العنقود المعني عبر المعلمة FrIf_ClstIdx. وتحدد المعلمة المنطقية FrIf_MirroringActive الوضع: عند تمرير TRUE، يتم استدعاء الواجهة Mirror_ReportFlexRayFrame لكل إطار مستلَم أو مُرسَل على وحدات التحكم؛ وعند FALSE يتم إلغاء تفعيل إعادة توجيه الإطارات إلى وحدة Mirror [SWS_FrIf_05726].

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

يُرجع استدعاء الدالة حالة من النوع Std_ReturnType [SWS_FrIf_05726]:

  • E_OK: تم تحديث وضع النسخ المتطابق للعنقود المحدد بنجاح [SWS_FrIf_05726].
  • E_NOT_OK: تم رفض التبديل إذا كانت وظيفة النسخ المتطابق غير مفعّلة عموميًا (معلمة التكوين FrIfBusMirroringSupport) أو في حال وجود فهرس غير صالح [SWS_FrIf_05726]. تفسير: من المرجح أن تشير مواصفة FrIf_CtrlIdx عند E_NOT_OK، على الرغم من التسمية المختلفة، إلى التحقق من فهرس العنقود FrIf_ClstIdx أو وحدات التحكم المخصصة. سؤال Q-9daba2ff2b1a3ff1 (مفتوح)

التزامن والتكامل

تم الإعلان عن الدالة على أنها قابلة لإعادة الدخول (reentrant) وتحمل معرف الخدمة 0x4b؛ ويتم توفيرها عبر ملف الرأس FrIf.h [SWS_FrIf_05726]. ويجب على المستدعين مراعاة أن التنفيذ يتم بشكل متزامن. لا توجد قنوات خطأ إضافية عبر DET أو DEM مدرجة لهذه الخدمة.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتظل مواصفة AUTOSAR هي المرجع المعتمد.

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

دالة FrIf_CheckWakeupByTransceiver [SWS_FrIf_05041] 📄 PDF

void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver(). The enum value "FR_ CHANNEL_ AB" shall not be used.

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

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

تعمل الدالة FrIf_CheckWakeupByTransceiver (معرّف الخدمة 0x39) في واجهة FlexRay كغلاف متزامن للدالة FrTrcv_CheckWakeupByTransceiver() الخاصة ببرنامج تشغيل جهاز إرسال واستقبال FlexRay [SWS_FrIf_05041]. يتم توفيرها عبر ملف الرأس FrIf.h وليس لها قيمة إرجاع [SWS_FrIf_05041].

لعنونة مثيل العتاديات المعني، تتطلب الواجهة معاملي دخل إلزاميَين [SWS_FrIf_05041]:

  • FrIf_CtrlIdx (معامل دخل، uint8): فهرس وحدة التحكم في اتصالات FlexRay المراد عنونتها [SWS_FrIf_05041].
  • FrIf_ChnlIdx (معامل دخل، Fr_ChannelType): فهرس قناة FlexRay المراد مخاطبتها ضمن نطاق صلاحية وحدة التحكم المحددة FrIf_CtrlIdx [SWS_FrIf_05041].

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

تحدد المواصفة الواجهة على أنها قابلة لإعادة الدخول، بحيث يمكن إرسال الاستدعاءات المتزامنة بالتوازي [SWS_FrIf_05041].

يوجد قيد تطبيق صارم على معامل القناة FrIf_ChnlIdx: لا يجوز تمرير قيمة التعداد FR_CHANNEL_AB [SWS_FrIf_05041]. تفسير: يُرجح أن هذا يعني أن برنامج تشغيل جهاز الإرسال والاستقبال الأساسي لا يدعم فحص استيقاظ مجمع لكلا القناتين في استدعاء واحد، ويجب بدلاً من ذلك فحص الأنظمة ذات قناتي FlexRay بالتتابع أو بشكل منفصل لكل قناة. سؤال Q-a30cf39f0d3ca295 (مفتوح)

أُنشئ هذا النص بواسطة ذكاء اصطناعي ويستند إلى AUTOSAR R20-11.

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

دالة <User_RxIndication> [SWS_FrIf_05045] 📄 PDF

void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

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

تُستخدم دالة معاودة الاتصال (Callback) <User_RxIndication> للإشارة إلى PDU مستلمة من طبقة واجهة الاتصال الواقعة أسفلها [SWS_FrIf_05045]. التفسير: يُرجح أن يمثل المعرف دالة معاودة اتصال قابلة للتهيئة لطبقة عليا، يتم إخطارها عند وصول بيانات FlexRay. سؤال Q-a9037bc7502dd9ea (مفتوح)

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

يتم التنفيذ بشكل تزامني دون قيمة إرجاع (void) [SWS_FrIf_05045]. وعند الاستدعاء، يتم تمرير معلمتي إدخال [SWS_FrIf_05045]:

  • RxPduId (PduIdType): المعرف الفريد لـ PDU المستلمة [SWS_FrIf_05045].
  • PduInfoPtr (const PduInfoType*): مؤشر إلى بنية تحتوي على طول الـ PDU المستلمة (SduLength)، ومؤشر إلى المخزن المؤقت المحتوي على البيانات المفيدة (SduDataPtr) بالإضافة إلى البيانات الوصفية المرتبطة بها [SWS_FrIf_05045].

التزامن والتكوين

فيما يتعلق بإمكانية إعادة الدخول، فإن الدالة قابلة لإعادة الدخول لمعرفات PDU مختلفة، ولكن لا يجوز استدعاؤها بشكل قابل لإعادة الدخول لنفس معرف PDU [SWS_FrIf_05045]. والواجهة متاحة بشكل قابل للتهيئة في الوحدة («Available via configurable») [SWS_FrIf_05045]. لم تُحدد رموز خطأ أو قيم إرجاع أو إشعارات محددة لـ DET وDEM في المصادر لهذه الواجهة [SWS_FrIf_05045].

أُنشئ هذا النص تلقائيًا. وتستند جميع البيانات حصريًا إلى بيانات مواصفات الوحدة FrIf.

دالة <User_TxConfirmation> [SWS_FrIf_05046] 📄 PDF

void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

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

يتم استدعاء دالة معاودة الاتصال القابلة للتهيئة <User_TxConfirmation> بواسطة وحدة واجهة الاتصال التابعة لتأكيد اكتمال عملية إرسال لـ PDU [SWS_FrIf_05046]. وتبلغ الطبقة الأعلى تزامنيًا بما إذا كان نقل الـ PDU المقابلة قد تم بنجاح أم فشل [SWS_FrIf_05046].

لا تملك الواجهة قيمة إرجاع (void) وتتوقع معلمتي إدخال [SWS_FrIf_05046]:

  • TxPduId (النوع PduIdType): يحدد المعرف الفريد لـ PDU المنقولة [SWS_FrIf_05046].
  • result (النوع Std_ReturnType): يحدد نتيجة النقل، حيث يؤكد E_OK النقل الناجح ويبلغ E_NOT_OK عن فشل نقل الـ PDU [SWS_FrIf_05046].

تعمل الدالة بشكل تزامني [SWS_FrIf_05046]. وفيما يخص التزامن، فهي قابلة لإعادة الدخول لمعرفات PDU مختلفة، ولكنها غير قابلة لإعادة الدخول لنفس المعرف TxPduId [SWS_FrIf_05046]. لذلك، يجب استبعاد استدعاءات التأكيد المتوازية لمعرفات PDU المتطابقة.

لم تُحدد رموز خطأ مخصصة بخلاف E_NOT_OK أو رسائل منفصلة إلى DET أو DEM لهذا الاستدعاء [SWS_FrIf_05046]. التفسير: نظرًا لأن الواجهة مصنفة على أنها قابلة للتهيئة، فمن المرجح أن يعمل المعرف <User_TxConfirmation> كعنصر نائب لاسم الدالة المكون فعليًا في الطبقة الأعلى [SWS_FrIf_05046]. سؤال Q-f2a08258df49b3ec (مفتوح)

أُنشئ هذا النص بواسطة ذكاء اصطناعي ويعمل كمساعدة لمواصفة AUTOSAR.

دالة <User_TriggerTransmit> [SWS_FrIf_05047] 📄 PDF

Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API, the upper lay er module (called module) shall check whether the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayInterface available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual c opied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

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

الاستخدام

يتم استدعاء دالة معاودة الاتصال التزامنية <User_TriggerTransmit> لطلب بيانات SDU من طبقة عليا لأغراض النقل [SWS_FrIf_05047]. وتُمرر كمعلمات المعرف TxPduId لـ SDU المراد إرسالها بالإضافة إلى المؤشر PduInfoPtr من النوع PduInfoType* [SWS_FrIf_05047]. ويوفر المتصل عبر PduInfoPtr->SduDataPtr مخزنًا مؤقتًا للهدف ويحدد في PduInfoPtr->SduLength حجم المخزن المؤقت المتاح [SWS_FrIf_05047].

تتحقق وحدة الطبقة العليا المستدعاة مما إذا كانت البيانات الجاهزة تتسع في حجم المخزن المؤقت المحدد [SWS_FrIf_05047]:

  • إذا كانت البيانات تتسع، تنسخها الوحدة إلى PduInfoPtr->SduDataPtr، وتحدث PduInfoPtr->SduLength إلى عدد البايتات المنسوخة فعليًا وتُرجع E_OK [SWS_FrIf_05047].
  • إذا لم تتسع البيانات، تُرجع الوحدة E_NOT_OK دون تعديل PduInfoPtr [SWS_FrIf_05047].

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

في حالة الخطأ (قيمة الإرجاع E_NOT_OK)، لا يتم نسخ أي بيانات SDU. وفي هذه الحالة، لا يجوز استخدام PduInfoPtr بعد ذلك، لأنه قد يحتوي على مؤشر NULL أو يشير إلى بيانات غير صالحة [SWS_FrIf_05047].

الواجهة قابلة لإعادة الدخول لمعرفات PDU مختلفة، لكنها غير قابلة لإعادة الدخول لنفس معرف PDU [SWS_FrIf_05047]. وتوفر الدالة قابل للتهيئة [SWS_FrIf_05047].

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

دالة <Free_Op_A> [SWS_FrIf_05316] 📄 PDF

void <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.

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

صُممت الدالة <Free_Op_A> كعملية اتصال محددة من قبل المستخدم في واجهة FlexRay، لدعم ميزات أداء خاصة بالعتاد أو ميزات إضافية لـ Communication Controller بهدف زيادة الأداء العام [SWS_FrIf_05316]. ويُتاح تصريح هذه الواجهة عبر ملف الرأس FrIf_Externals.h [SWS_FrIf_05316].

يتم تحديد معلمتي إدخال وظيفيتين للاستدعاء [SWS_FrIf_05316]:

  • FrIf_CtrlIdx (النوع uint8): يحدد كفهرس وحدة FlexRay Communication Controller المعنية تحديدًا [SWS_FrIf_05316].
  • FrIf_LPduIdx (النوع uint16): يعمل كفهرس فريد لتعريف إطار FlexRay المعني [SWS_FrIf_05316].

تُنفَّذ العملية بشكل متزامن وليس لها قيمة إرجاع (void)؛ كما لم يتم تحديد معلمات إدخال أو إخراج [SWS_FrIf_05316]. وفيما يتعلق بالتزامن وسياق الاستدعاء، فإن الدالة قابلة لإعادة الدخول (reentrant) لقيم مختلفة من FrIf_LPduIdx، ولكنها صراحةً غير قابلة لإعادة الدخول عند استخدام الفهرس نفسه FrIf_LPduIdx [SWS_FrIf_05316].

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

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

دالة <Free_Op_B> [SWS_FrIf_05317] 📄 PDF

void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.

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

تُستخدم الدالة <Free_Op_B> المخصصة من قبل المستخدم لتنفيذ عمليات اتصال خاصة بالمستخدم في واجهة FlexRay Interface [SWS_FrIf_05317]. والغرض منها هو دعم ميزات الأداء الخاصة بالعتاد أو الإضافية لوحدة FlexRay Communication Controller بهدف تحسين أداء الاتصال [SWS_FrIf_05317]. يتم توفير تصريح الدالة عبر ملف الترويسة FrIf_Externals.h [SWS_FrIf_05317].

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

يتم استدعاء العملية تزامنيًا ولا تُرجع أي قيمة (void) [SWS_FrIf_05317]. وهي تعالج معاملي إدخال، بينما لا توجد معلمات إدخال/إخراج ولا معلمات إخراج [SWS_FrIf_05317]:

  • FrIf_CtrlIdx: فهرس وحدة FlexRay Communication Controller المطلوب مخاطبتها (النوع uint8) [SWS_FrIf_05317].
  • FrIf_LPduIdx: فهرس فريد لتمييز إطار FlexRay المعني (النوع uint16) [SWS_FrIf_05317].

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

فيما يتعلق بقابلية إعادة الدخول (Reentrancy)، تم تحديد الدالة بأنها قابلة لإعادة الدخول لفهارس LPdu مختلفة (FrIf_LPduIdx)، ولكنها غير قابلة لإعادة الدخول صراحةً لنفس فهرس LPdu [SWS_FrIf_05317]. لذلك، يجب على جهات الاستدعاء التأكد من عدم حدوث استدعاءات متزامنة لنفس PDU.

تفسير: نظرًا لتصنيف العملية بأنها محددة من قبل المستخدم ووجودها في FrIf_Externals.h، يُرجح أنه يجب تقديم التنفيذ الفعلي بشكل مخصص من قبل المستخدم أو كامتداد لبرنامج التشغيل. سؤال Q-6668832db63b9906 (مفتوح)

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

دالة <UL_TxConflictNotification> [SWS_FrIf_91001] 📄 PDF

void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Notification in case a Tx Conflict has been detected.

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

الاستخدام

يتم استدعاء دالة الإشعار <UL_ Tx Conflict Notification> بمجرد اكتشاف تعارض في الإرسال (Tx Conflict) في واجهة FlexRay [SWS_FrIf_91001]. ويتم توفير الإعلان عن هذه الواجهة عبر ملف الرأس Fr If_ Externals.h [SWS_FrIf_91001].

ليس للدالة أي قيمة معادة وتستقبل معلمتي دخل [SWS_FrIf_91001]:

  • Fr If_ Ctrl Idx: معرف FlexRay-Communication-Controller المُعنوَن [SWS_FrIf_91001].
  • Fr If_ LPdu Idx: معرف إطار FlexRay المُرسَل المعني [SWS_FrIf_91001].

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

يتم الاستدعاء بدلالات متزامنة [SWS_FrIf_91001]. وفيما يتعلق بالتزامن، فإن التنفيذ يكون قابلاً لإعادة الدخول (reentrant) لفهارس مختلفة من Fr If_ LPdu Idx، ولكنه صراحةً غير قابل لإعادة الدخول لفهرس LPdu نفسه [SWS_FrIf_91001]. ولذلك، يجب التأكد عند التنفيذ من منع الاستدعاءات المتزامنة لفهرس الإطار نفسه.

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

لا تحدد المواصفة أي رسائل DET أو DEM منفصلة ولا رموز خطأ محددة لواجهة رد النداء هذه [SWS_FrIf_91001]. تفسير: يُرجَّح أن توفر الطبقة الأعلى هذا الاستدعاء لتتمكن من تسجيل التعارضات التي حدثت فورًا على مسار نقل FlexRay أو معالجتها. سؤال Q-fc63c251dbc03307 (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وتم فحصه وفق إرشادات محددة. الأدلة الفنية مأخوذة حصريًا من المواصفة.

نوع FrIf_ConfigType [SWS_FrIf_05301] 📄 PDF

This type contains the implementation - specific post build time configuration structure. Only pointers of this type are allowed.

نوع FrIf_StateType [SWS_FrIf_05755] 📄 PDF

Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.

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

الاستخدام ومجال القيم

يتم تعريف النوع التعدادي FrIf_StateType في ملف الرأس FrIf.h ويُستخدم في FlexRay Interface لتمثيل حالة التشغيل الحالية لـ FlexRay Communication Controller (FlexRay CC) [SWS_FrIf_05755]. وتسجل المتغيرات من هذا النوع ما إذا كانت وحدة التحكم جاهزة لعملية الاتصال وما إذا كان هناك تزامن مع عنقود FlexRay [SWS_FrIf_05755].

يتضمن نطاق القيم حالتين محددتين [SWS_FrIf_05755]:

  • FRIF_STATE_OFFLINE: وحدة FlexRay CC غير جاهزة للاتصال، وعنقود FlexRay غير متزامن [SWS_FrIf_05755].
  • FRIF_STATE_ONLINE: وحدة FlexRay CC جاهزة للاتصال، وعنقود FlexRay متزامن [SWS_FrIf_05755].

التكامل والشروط الحدية

تعكس الحالات مراحل الاتصال الأساسية: طالما أن FRIF_STATE_OFFLINE سارية، فلا يمكن إجراء اتصال منتظم بالعنقود عبر وحدة التحكم، في حين تشير FRIF_STATE_ONLINE إلى عملية الإرسال والاستقبال المتزامنة [SWS_FrIf_05755]. ونظرًا لأن مقتطف المواصفة لا يذكر أي تواقيع API أخرى أو رسائل خطأ، فمن المرجح أن يُستخدم هذا النوع أساسًا في استعلامات الحالة أو انتقالات الحالة لـ FlexRay Interface. سؤال Q-071cd300dcaa0a3b (مفتوح)

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

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

نوع FrIf_StateTransitionType [SWS_FrIf_05303] 📄 PDF

Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.

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

يُتاح نوع التعداد FrIf_StateTransitionType عبر ملف الرأس FrIf.h، ويُستخدم وفقًا لـ [SWS_FrIf_05303] لتمثيل أو طلب انتقالات الحالة لـ FlexRay-Communication-Controller (FlexRay CC).

الاستخدام ومجال القيم

تأخذ متغيرات هذا النوع قيمًا لطلب تغييرات حالة محددة لـ FlexRay CC [SWS_FrIf_05303]. ويشمل نطاق القيم العناصر الحرفية (Literals) التالية:

  • FRIF_GOTO_OFFLINE: عنصر حرفي لطلب انتقال إلى الحالة FRIF_STATE_OFFLINE [SWS_FrIf_05303].
  • FRIF_GOTO_ONLINE: عنصر حرفي لطلب انتقال إلى الحالة FRIF_STATE_ONLINE [SWS_FrIf_05303].

السياق والتفاعل

على الرغم من أن الوصف الرسمي للنوع يتحدث عن تمثيل حالة FlexRay CC، فإن العناصر الحرفية المحددة ترجح التفسير القائل بأن نوع التعداد هذا يُستخدم بشكل أساسي كمعلمة تحكم لطلب تغييرات الحالة (غير متصل أو متصل) [SWS_FrIf_05303]. ونظرًا لأن الحمولة لا تسرد أي واجهات أخرى أو متطلبات لإعادة الدخول أو رموز خطأ لهذا النوع، تنطبق قواعد التضمين العامة عبر ملف الرأس FrIf.h.

أُنشئ هذا النص بواسطة ذكاء اصطناعي. وهو يستند إلى AUTOSAR R20-11 والمتطلب [SWS_FrIf_05303].

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

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

Record
AUTOSAR/AP/record/CP_MOD_FrIf
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_FrIf@rel:R20-11#ff2b54a9
Content hash
ff2b54a9
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayInterface.pdf#nameddest=SWS_FrIf_05003

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

Returns the version information of this module.

void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);
FrIf_Init دالة

Initializes the Flex Ray Interface.

void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);

الخدمات · Get…

Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()

Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);

Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.

Std_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);

Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.

Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);

This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with index Fr If_ Ctrl Idx.

uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Get Global Time(). Impo rtant Note: Fr If_ Get Global Time may be called within an exclusive area.

Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);

Retrieves the Duration of a Macrotick in ns

uint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);

Retrieves the amount of Macroticks per Cycle

uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);

Derives the Flex Ray NM Vector. Av ailable via Fr If.h

Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);

Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

Std_ReturnType FrIf_GetNumOfStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr);

Wraps the Flex Ray Driver API function Fr_ Get POCStatus().

Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);
FrIf_GetState دالة

Get current Fr If state.

Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);

Service FrIf_GetSyncFrameList.

Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error. The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_GetTransceiverError (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx, uint32* FrIf_BusErrorState);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode(). The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason(). The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);

Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray controller.

Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);

الخدمات · Set…

Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().

Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);
FrIf_SetState دالة

Requests Fr If state machine transition.

Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);

Wraps the Flex Ray Transceiver Driver API function Fr

Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️

Wraps the Flex Ray Driver API functi on Fr_ Set Wakeup Channel(). The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);

الخدمات · Disable…

Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().

Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Wraps the Flex Ray Driver Function Fr_ Disable LPdu. It disables the hardware resource of an LPdu for transmission/ recept ion.

Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);

الخدمات · Enable…

Service FrIf_EnableAbsoluteTimerIRQ.

Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.

Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.

Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);

الخدمات · أخرى

Wraps the Flex Ray Driver API function Fr_ Abort Communication().

Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()

Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().

Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);
FrIf_AllSlots دالة

Wraps the Flex Ray Driver API function Fr_ All Slots

Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer() .

Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);

Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.

Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver(). The enum value "FR_ CHANNEL_ AB" shall not be used.

void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);

Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup(). The enum value "FR_ CHANNEL_ AB" shall not be used. A vailable via Fr If.h

Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);

Initialized a Flex Ray CC.

Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Halt Communication().

Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Read CCConfig().

Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️

Service FrIf_ReconfigLPdu.

Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️
FrIf_SendWUP دالة

Wraps the Flex Ray Driver API function Fr_ Send WUP().

Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);

Wraps the Flex Ray Driver API function Fr_ Start Communication().

Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);
FrIf_Transmit دالة

Requests transmission of a PDU.

Std_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

دوال Callout والواجهات المتوقعة

<Free_Op_A> دالة

User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.

void <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
<Free_Op_B> دالة

User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.

void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Notification in case a Tx Conflict has been detected.

void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);

Indication of a received PDU from a lower layer communication interface module.

void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Within this API, the upper lay er module (called module) shall check whether the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayInterface available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual c opied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);

الأنواع

This type contains the implementation - specific post build time configuration structure. Only pointers of this type are allowed.

Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.

Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.