DEENESPTFRRUARHIKOZHNL

FlexRay Transport Layer (FrTp)

ModulFrTp (FlexRay Transport Layer)
BSW-Modul-ID36
Standard-Header#include "FrTp.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayISOTransportLayer.pdf
ClusterFlexRay

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

يقوم بتقسيم الرسائل الكبيرة وإعادة تجميعها وفقًا للمعيار ISO 10681-2 بين PDU Router وFlexRay Interface.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: 74e3fa4a7265 المصدر أسئلة مفتوحة (1)
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يقوم بتقسيم الرسائل الكبيرة وإعادة تجميعها وفقًا للمعيار ISO 10681-2 بين PDU Router وFlexRay Interface.

ينقل FrTp الرسائل الكبيرة بين PduR وFrIf وفقًا للمعيار ISO 10681-2 ([SWS_FrTp_01005]). ويقوم بتقسيمها وإعادة تجميعها، والتحكم في التدفق وتوزيع النطاق الترددي عبر تجمعات Tx-PDU المشتركة. تقبل FrTp_Transmit طلب الإرسال فقط؛ بينما يتم تنفيذ العمل الفعلي بواسطة FrTp_MainFunction الدورية، والتي يجب أن تعمل مرة واحدة على الأقل في كل دورة FlexRay ([SWS_FrTp_01152]). ويدعم عمليات النقل المؤكدة وغير المؤكدة بالإضافة إلى الرسائل ذات الطول غير المعروف. في حالة حدوث أخطاء في البروتوكول أو تجزئة غير مسموح بها، يتوقف FrTp ويبلغ PduR بـ E_NOT_OK.

يعد FrTp طبقة النقل لـ FlexRay وفقًا للمعيار ISO 10681-2. وحيثما لا تحدد المواصفة شيئًا خاصًا بها، تتبع الوحدة هذا المعيار ([SWS_FrTp_01005]). وتقوم بتقسيم وحدات N-SDU الكبيرة لـ PduR إلى وحدات N-PDU، وتمريرها إلى FrIf باستخدام FrIf_Transmit وإعادة تجميع الإطارات المستلمة ([SWS_FrTp_01050]، FrTp SWS ص. 19). وتتم المعالجة فقط في الحالة FRTP_ON، أي بين FrTp_Init وFrTp_Shutdown ([SWS_FrTp_01032]، [SWS_FrTp_01036]). ويجب أن تعمل FrTp_MainFunction مرة واحدة على الأقل في كل دورة FlexRay ([SWS_FrTp_01152]).

kontext EcuM EcuM FrTp FrTp EcuM->FrTp FrTp_Init / FrTp_Shutdown SchM BSW-Scheduler SchM->FrTp FrTp_MainFunction PduR PduR PduR->FrTp FrTp_Transmit, FrTp_CancelTransmit, FrTp_CancelReceive, FrTp_ChangeParameter FrTp->PduR PduR_FrTpStartOfReception, PduR_FrTpCopyRxData, PduR_FrTpRxIndication, PduR_FrTpCopyTxData, PduR_FrTpTxConfirmation FrIf FrIf FrTp->FrIf FrIf_Transmit Det DET FrTp->Det Det_ReportRuntimeError FrIf->FrTp FrTp_RxIndication, FrTp_TxConfirmation, FrTp_TriggerTransmit

مخطط السياق: FrTp بين PduR وFrIf، يتم التحكم فيه بواسطة EcuM وجدول BSW. المصادر: [SWS_FrTp_00577]، FrTp SWS ص. 21

يبدأ الإرسال دائمًا بـ FrTp_Transmit. يشغل هذا الاستدعاء قناة واحدة فقط ويضبط TX_SDU_AVAILABLE ([SWS_FrTp_00136]، [SWS_FrTp_01039]). وتقوم MainFunction بالباقي: حيث تجلب البيانات عبر PduR_FrTpCopyTxData، وتحجز أول PDU متاح في التجمع وتقرر بشأن التجزئة ([SWS_FrTp_01045]، [SWS_FrTp_01048]). في وضع «Decoupled Buffer Access»، يجلب FrIf البيانات لاحقًا عبر FrTp_TriggerTransmit ([SWS_FrTp_01060]). ويتبع PduR_FrTpTxConfirmation بعد كل طلب مقبول ([SWS_FrTp_01058]).

إرسال N-SDU (Immediate / Decoupled Buffer Access)PduRFrTpFrIfFrTp_Transmit(TxPduId, PduInfoPtr)التحقق من TxPduId، وحجز قناة متاحةTX_SDU_AVAILABLE setzenAuftrag angenommenUse Case: FrTp_MainFunctionPduR_FrTpCopyTxData(الطول المتاح)ersten freien FrTpTxPdu belegenSegmentierung entscheidenloopحتى يتم إرسال كافة بيانات N-SDUPduR_FrTpCopyTxData(طول FrTpTxPdu)تجهيز معلومات العنوان (Address Information) و PCIFrIf_Transmit(TxPduId)optDecoupled Buffer AccessFrTp_TriggerTransmit(TxPduId, PduInfoPtr)تم نسخ AI و PCI والبياناتFrTp_TxConfirmation(TxPduId, E_OK)تعيين FrTpTxPdu إلى وضع الخمول (idle)optFlowControl erwartetwarten, bis FlowControl per FrTp_RxIndication eintrifftKanal freigebenإعادة تعيين TX_SDU_AVAILABLEPduR_FrTpTxConfirmation(E_OK)

مخطط التسلسل: قبول الطلب، المعالجة في MainFunction، التأكيد لكل N-PDU وفي النهاية إلى PduR. المصادر: FrTp SWS ص. 44، [SWS_FrTp_01042]

عند الاستلام، يتحقق FrTp من RxPduId والعناوين مقابل تكوين الاتصال ([SWS_FrTp_01069]، [SWS_FrTp_01071]). وفي حالة وجود اتصال جديد، يستدعي PduR_FrTpStartOfReception، وينسخ الأجزاء إلى الأعلى ويرسل FlowControl عند الحاجة ([SWS_FrTp_01078]، [SWS_FrTp_01080]). وتُدعم ستة متغيرات: غير مجزأة أو مجزأة، مع تأكيد أو بدونه، بطول معروف أو غير معروف ([SWS_FrTp_01007]–[SWS_FrTp_01012]). وتشترك عدة اتصالات في تجمعات Tx-PDU وتتم خدمتها بالتناوب ([SWS_FrTp_01020]، [SWS_FrTp_01096]).

في حالة حدوث خطأ، يتوقف FrTp في ثلاث حالات ويبلغ PduR بـ E_NOT_OK: في حالة Flow Status غير صالحة أو متوقفة وعند الحاجة إلى التجزئة في اتصالات 1:n ([SWS_FrTp_01198]، [SWS_FrTp_01208]). وأخطاء وقت التشغيل هي FRTP_E_SEG_ERROR وFRTP_E_NO_CHANNEL. تحدد المؤقتات والعدادات مثل حد FC.WAIT أوقات الانتظار ([SWS_FrTp_01100]، [SWS_FrTp_01114]). ويمكن إلغاء عمليات النقل الجارية باستخدام FrTp_CancelTransmit وFrTp_CancelReceive ([SWS_FrTp_01116]، [SWS_FrTp_01181]).

الدور في مكدس FlexRay وحالة الوحدة

يعد FrTp طبقة نقل FlexRay وفقًا للمعيار ISO 10681-2. وحيثما لا تحدد المواصفة شيئًا خاصًا بها، تتبع الوحدة هذا المعيار وتدعم تنسيقات N-PDU الخاصة به ([SWS_FrTp_01005]، [SWS_FrTp_01006]). وفي الاتجاه الأعلى، يخدم FrTp الـ PduR. يبدأ PduR عمليات النقل باستخدام FrTp_Transmit، أو يلغيها أو يعدل المعلمات. ويعيد FrTp البيانات والنتائج عبر PduR_FrTpStartOfReception وPduR_FrTpCopyRxData وPduR_FrTpCopyTxData وPduR_FrTpRxIndication وPduR_FrTpTxConfirmation (FrTp SWS ص. 19). وفي الاتجاه الأدنى، يمرر FrTp وحدات N-PDU باستخدام FrIf_Transmit ([SWS_FrTp_01050]). ويستجيب FrIf بـ FrTp_RxIndication وFrTp_TxConfirmation وFrTp_TriggerTransmit (FrTp SWS ص. 21). ويستدعي EcuM FrTp_Init وFrTp_Shutdown (FrTp SWS ص. 19). ويستدعي جدول BSW FrTp_MainFunction ([SWS_FrTp_00162]، FrTp SWS ص. 81).

أحد الاختلافات بين الإصدارات: تضع الإصدارات اللاحقة موجه L-SDU ‏(LSduR) بين FrTp وFrIf (FrTp SWS ص. 19). أما بالنسبة للإصدار R20-11، فتسري الواجهة المباشرة مع FrIf كما هو محدد في [SWS_FrTp_00577] و[SWS_FrTp_01050].

kontext EcuM EcuM FrTp FrTp EcuM->FrTp FrTp_Init / FrTp_Shutdown SchM BSW-Scheduler SchM->FrTp FrTp_MainFunction PduR PduR PduR->FrTp FrTp_Transmit, FrTp_CancelTransmit, FrTp_CancelReceive, FrTp_ChangeParameter FrTp->PduR PduR_FrTpStartOfReception, PduR_FrTpCopyRxData, PduR_FrTpRxIndication, PduR_FrTpCopyTxData, PduR_FrTpTxConfirmation FrIf FrIf FrTp->FrIf FrIf_Transmit Det DET FrTp->Det Det_ReportRuntimeError FrIf->FrTp FrTp_RxIndication, FrTp_TxConfirmation, FrTp_TriggerTransmit

مخطط السياق: يقع FrTp بين PduR وFrIf ويتم التحكم فيه بواسطة EcuM وجدول BSW. المصادر: FrTp SWS ص. 19، FrTp SWS ص. 21، [SWS_FrTp_00577]

تتضمن الوحدة حالتين، FRTP_OFF وFRTP_ON ([SWS_FrTp_01028]). ويسجل متغير الحالة FrTpState أي الحالتين سارية ([SWS_FrTp_01029]، [SWS_FrTp_01106]). بعد التشغيل، يكون FrTp في الحالة FRTP_OFF ([SWS_FrTp_01030]). ولا ينتقل إلى FRTP_ON إلا بعد تنفيذ ناجح لـ FrTp_Init مع مؤشر إلى FrTp_ConfigType ([SWS_FrTp_01032]، [SWS_FrTp_00147]، [SWS_FrTp_01194]). وتعمل التجزئة وإعادة التجميع فقط في FRTP_ON ([SWS_FrTp_01033]). وينهي FrTp_Shutdown جميع الاتصالات المفتوحة ببساطة عن طريق إيقاف التشغيل. حيث يحرر الموارد ويعيد إلى FRTP_OFF ([SWS_FrTp_00148]، [SWS_FrTp_01036]).

lebenszyklus start OFF FRTP_OFF (لا توجد معالجة) start->OFF Einschalten ON FRTP_ON (Segmentierung, Reassemblierung, Verbindungsverarbeitung) OFF->ON FrTp_Init(configPtr) erfolgreich ON->OFF FrTp_Shutdown() تم إنهاء كافة الاتصالات، وتحرير الموارد

مخطط الحالة: يعالج FrTp البيانات فقط بين FrTp_Init وFrTp_Shutdown. المصادر: [SWS_FrTp_01030]، [SWS_FrTp_01032]، [SWS_FrTp_01036]، FrTp SWS ص. 38

تقوم FrTp_MainFunction بجدولة الوحدة وتمثل نقطة الدخول لجميع مهام المعالجة ([SWS_FrTp_00203]، [SWS_FrTp_00580]). ويجب أن تعمل مرة واحدة على الأقل في كل دورة FlexRay ([SWS_FrTp_01152]). في المقابل، تقوم دوال الاستدعاء المرتجع بشكل أساسي بتعيين الأعلام فقط: توجد TX_SDU_AVAILABLE لكل قناة ([SWS_FrTp_00415]، [SWS_FrTp_00416]). وتوجد RX_PDU_AVAILABLE لكل N-PDU يمكن استلامها ويتم مسحها بعد المعالجة ([SWS_FrTp_00418]، [SWS_FrTp_00421]).

متغيرات النقل وفقًا للمعيار ISO 10681-2

يدعم FrTp ستة تسلسلات إطارات. وتختلف في ثلاث نقاط: ما إذا كانت الرسالة مجزأة، وما إذا كان المستلم يرسل تأكيدًا، وما إذا كان الطول معروفًا في بداية النقل (FrTp SWS ص. 27، FrTp SWS ص. 31):

المتغيرالإطارات المميزةالمرجع
غير مجزأ، بدون تأكيد، الطول معروفSTFU[SWS_FrTp_01007]
غير مجزأ، مع تأكيد، الطول معروفSTFA → FC.ACK[SWS_FrTp_01008]
مجزأ، بدون تأكيد، الطول معروفSTFU, FC.CTS, CF, CFEOB, LF[SWS_FrTp_01009]
مجزأ، مع تأكيد، الطول معروفSTFA, FC.CTS, CF, CFEOB, LF, FC.ACK[SWS_FrTp_01010]
مجزأ، بدون تأكيد، الطول غير معروفكما هو موضح أعلاه، الطول الإجمالي فقط في LF[SWS_FrTp_01011], [SWS_FrTp_01067]
مجزأ، مع تأكيد، الطول غير معروفكما هو موضح أعلاه، بالإضافة إلى FC.ACK[SWS_FrTp_01012]

في المتغيرات المجزأة والمؤكدة، من المحتمل أن يتبع FC.ACK بعد LastFrame ويكمل النقل. سؤال Q-f3c70b1506e2cde4 (مفتوح) هذا تفسير لنصوص المخططات، التي لا يكون ترتيبها واضحًا تمامًا (FrTp SWS ص. 29). يوضح المخطط التالي الحالة الأساسية المجزأة بدون تأكيد.

نقل مجزأ بدون إشعار استلام، الطول معروفFrTp Senderمستقبل FrTpStartFrame (STFU)FlowControl_CTS (FC.CTS)Use Case: Block 1ConsecutiveFrame (CF)ConsecutiveFrame (CF)ConsecutiveFrame_EOB (CFEOB)Blockende: neue Flusssteuerung erforderlichFlowControl_CTS (FC.CTS)Use Case: Block 2ConsecutiveFrame (CF)LastFrame (LF)

مخطط التسلسل: يحرر المستلم كل كتلة عبر FC.CTS، ويغلق CFEOB الكتلة. المصادر: [SWS_FrTp_01009]، FrTp SWS ص. 28

النقل بطول غير معروف:

الاتصالات، القنوات وتجمعات PDU

كل علاقة اتصال هي FrTpConnection مستقلة. عددها قابل للتكوين في مرحلة post-build ([SWS_FrTp_01014]، [SWS_FrTp_01015]). ولكل اتصال زوج عناوين فريد على مستوى الوحدة وFRTP_SDUID فريد ([SWS_FrTp_01017]، [SWS_FrTp_01018]). ويمكن لعدة اتصالات أن تشترك في FrTpConnectionControl واحدة وFrTpTxPduPool واحد ([SWS_FrTp_01022]، [SWS_FrTp_01020]). وفي وقت التشغيل، تعمل عدة FrTpChannel بالتوازي؛ ويحدد FrTpChanNum عددها ([SWS_FrTp_00088]، [SWS_FrTp_00228]). وللإرسال والاستلام، تتبدل القنوات على التوالي بين «idle» و«busy» ([SWS_FrTp_01117]، [SWS_FrTp_01025]).

konfiguration Kanal FrTpChannel (Anzahl: FrTpChanNum) TxCon FrTpConnection (Tx) FrTpLa/FrTpRa, FRTP_SDUID Kanal->TxCon FrTpTxConRef RxCon FrTpConnection (Rx) FrTpLa/FrTpRa, FRTP_SDUID Kanal->RxCon FrTpRxConRef Ctrl FrTpConnectionControl (mehrfach referenzierbar) TxCon->Ctrl Referenz Pool FrTpTxPduPool (mehrfach referenzierbar) TxCon->Pool Referenz RxCon->Ctrl Referenz RxCon->Pool مرجع (للتحكم في التدفق FlowControl) NPdu Tx N-PDUs (تصاعدياً، طول فردي) Pool->NPdu يتضمن FrIf FrIf NPdu->FrIf SF, CF, LF / FC

مخطط السياق: تشير قناة نصف ازدواج إلى اتصال Tx واتصال Rx. ويشير كلاهما إلى معلمات التحكم وتجمع Tx-PDU. المصادر: FrTp SWS ص. 39، [SWS_FrTp_01020]، [SWS_FrTp_01088]

العناوين:

  • عند الإرسال، يأخذ FrTp العناوين من البيانات الوصفية SOURCE_ADDRESS_16 وTARGET_ADDRESS_16. ويكون للقيم المكونة FrTpLa/FrTpRa الأولوية ([SWS_FrTp_01204]، [SWS_FrTp_01205]).
  • عند الاستلام، يمرر FrTp العناوين كبيانات وصفية إلى الأعلى. ويستخدم العناوين نفسها لـ FlowControl ([SWS_FrTp_01206]).

يوزع FrTp النطاق الترددي عبر التجمعات:

  • تترتب وحدات Tx-N-PDU الخاصة بالتجمع بترتيب تصاعدي وفقًا لجدول الشبكة، ويمكن أن تختلف في الطول ([SWS_FrTp_01088]، [SWS_FrTp_01089]).
  • يقوم TxPduPendingCounter الخاص بالقناة بعد وحدات N-PDU غير المؤكدة ([SWS_FrTp_01091]، [SWS_FrTp_01092]). وتتم معالجة الاتصال فقط إذا كانت قيمته 0 ([SWS_FrTp_01094]). وبهذه الطريقة لا يمكن لـ Consecutive Frames تجاوز بعضها البعض (FrTp SWS ص. 61).
  • تأتي الاتصالات النشطة بدورها بالتناوب ([SWS_FrTp_01096]).
  • عند تحديد النطاق الترددي، تنطبق ثلاث قواعد: يتم إرسال StartFrame وFlowControl في أول PDU من التجمع ([SWS_FrTp_01174]، [SWS_FrTp_01177]). ويستخدم المرسل فقط وحدات BC.MPPC PDU ([SWS_FrTp_01175]). ويجوز أن تتداخل التجمعات ([SWS_FrTp_01176]).
  • يجب على FrIf جدولة وحدات PDU الخاصة بالاتصال بترتيب تصاعدي داخل المهمة (Job) (FrTp SWS ص. 122).

مسار الإرسال: من FrTp_Transmit إلى PduR_FrTpTxConfirmation

يبدأ كل إرسال بـ FrTp_Transmit ([SWS_FrTp_00136]، [SWS_FrTp_00149]). يضبط هذا الاستدعاء TX_SDU_AVAILABLE فقط إذا كان TxPduId صالحًا وكانت هناك قناة شاغرة ([SWS_FrTp_01039]). وإلا فإنه ينتهي بـ E_NOT_OK. وينطبق الشيء نفسه إذا كان هناك نقل جارٍ بالفعل للعنوان نفسه ([SWS_FrTp_01041]، [SWS_FrTp_01200]).

يقوم FrTp_MainFunction بالعمل الفعلي:

  1. يستعلم عن الطول المتاح عبر PduR_FrTpCopyTxData ([SWS_FrTp_01042]).
  2. يحجز أول FrTpTxPdu متاح ([SWS_FrTp_01045]).
  3. يقرر بشأن التجزئة ([SWS_FrTp_01048]).
  4. ينسخ البيانات بطول PDU ([SWS_FrTp_01123]).
  5. يسلم N-PDU بالطول الدقيق إلى FrIf_Transmit ([SWS_FrTp_01051]).

يوضح FrTp SWS ص. 44 هذا التسلسل.

segmentierung start laenge تم تعيين TX_SDU_AVAILABLE: PduR_FrTpCopyTxData يقدم الطول المتاح start->laenge frei هل يوجد FrTpTxPdu متاح في التجمع (Pool)؟ laenge->frei warten تأجيل الاتصال حتى استدعاء FrTp_MainFunction التالي frei->warten لا groesse FrTpTxSdu.Length > FrTpTxPdu.Length - AI.Length - PCI.Length? frei->groesse نعم unseg unsegmentiert (einzelner StartFrame) groesse->unseg لا multi 1:n-Verbindung? groesse->multi نعم senden تجهيز AI و PCI، PduR_FrTpCopyTxData (طول FrTpTxPdu)، FrIf_Transmit unseg->senden fehler الإبلاغ عن FRTP_E_SEG_ERROR، وإلغاء النقل، PduR_FrTpTxConfirmation(E_NOT_OK) multi->fehler نعم seg segmentiert (StartFrame, CF ..., LastFrame) multi->seg لا seg->senden

مخطط النشاط: القرار بين النقل غير المجزأ والمجزأ، بما في ذلك الإلغاء في اتصالات 1:n. المصادر: [SWS_FrTp_01047]، [SWS_FrTp_01048]، [SWS_FrTp_01208]، FrTp SWS ص. 51

مهم لمعدل النقل: إذا لم يتوفر PDU، يؤجل FrTp الاتصال حتى استدعاء MainFunction التالي ([SWS_FrTp_01047]).

بعد كل N-PDU، يستدعي FrIf FrTp_TxConfirmation. ويضبط ذلك FrTpTxPdu على الحالة «idle» ([SWS_FrTp_01052]، [SWS_FrTp_01054]). وتصبح القناة والعلم متاحين بمجرد استيفاء ثلاثة شروط: إرسال جميع البيانات، وتأكيدها بشكل إيجابي، وإقرار استلامها إذا تم تكوين ذلك ([SWS_FrTp_01056]، [SWS_FrTp_01057]). ويأتي PduR_FrTpTxConfirmation بعد كل طلب مقبول، مع E_OK فقط في حالة النجاح ([SWS_FrTp_01058]). وتوجد طريقتان للوصول إلى المخزن المؤقت للإرسال: «Immediate» و«Decoupled Buffer Access» ([SWS_FrTp_01084]). في وضع «Decoupled»، يجلب FrIf البيانات لاحقًا عبر FrTp_TriggerTransmit. وينسخ هذا الاستدعاء Address Information وPCI والبيانات المفيدة إلى المخزن المؤقت المقدم ([SWS_FrTp_01060]، [SWS_FrTp_01061]، FrTp SWS ص. 50).

إرسال N-SDU (Immediate / Decoupled Buffer Access)PduRFrTpFrIfFrTp_Transmit(TxPduId, PduInfoPtr)التحقق من TxPduId، وحجز قناة متاحةTX_SDU_AVAILABLE setzenAuftrag angenommenUse Case: FrTp_MainFunctionPduR_FrTpCopyTxData(الطول المتاح)ersten freien FrTpTxPdu belegenSegmentierung entscheidenloopحتى يتم إرسال كافة بيانات N-SDUPduR_FrTpCopyTxData(طول FrTpTxPdu)تجهيز معلومات العنوان (Address Information) و PCIFrIf_Transmit(TxPduId)optDecoupled Buffer AccessFrTp_TriggerTransmit(TxPduId, PduInfoPtr)تم نسخ AI و PCI والبياناتFrTp_TxConfirmation(TxPduId, E_OK)تعيين FrTpTxPdu إلى وضع الخمول (idle)optFlowControl erwartetwarten, bis FlowControl per FrTp_RxIndication eintrifftKanal freigebenإعادة تعيين TX_SDU_AVAILABLEPduR_FrTpTxConfirmation(E_OK)

مخطط التسلسل: يصل الطلب بشكل متزامن وتتم معالجته بشكل غير متزامن في MainFunction؛ ويتبع ذلك اختياريًا TriggerTransmit (Decoupled). المصادر: FrTp SWS ص. 44، FrTp SWS ص. 50، [SWS_FrTp_01058]

مسار الاستقبال وإعادة التجميع

يبدأ الاستقبال بـ FrTp_RxIndication ([SWS_FrTp_00137]). ويعالج FrTp وحدة N-PDU فقط في حال استيفاء شرطين ([SWS_FrTp_01069]، [SWS_FrTp_01071]):

  • أن يكون RxPduId صالحًا.
  • عنوان الوجهة يطابق FrTpLa وعنوان المصدر يطابق FrTpRa.

خلاف ذلك، يتم تجاهل N-PDU ([SWS_FrTp_01072]). وإذا لم تكن هناك قناة Rx شاغرة، تنتهي المعالجة ويبلغ FrTp عن FRTP_E_NO_CHANNEL ([SWS_FrTp_01076]، [SWS_FrTp_01186]). ويخزن FrTp إطار StartFrame في مخزن مؤقت محلي. يتيح ذلك للبوابة معالجته بشكل صحيح حتى في حالة نقص الموارد المؤقت (FrTp SWS ص. 56).

عند إنشاء اتصال جديد، يستدعي FrTp PduR_FrTpStartOfReception. ويتم تمرير الطول المتوقع بالإضافة إلى محتوى وحجم StartFrame ([SWS_FrTp_01078]، [SWS_FrTp_01193]). وحيثما يتم هذا الاستدعاء، تظهره الرسوم التوضيحية لـ R20-11 في متغيرين: في FrTp_RxIndication (FrTp SWS ص. 55) وفي FrTp_MainFunction (FrTp SWS ص. 86). ويسمح R23-11 صراحةً بكلا الأمرين (FrTp SWS ص. 54).

بعد ذلك، ينسخ FrTp الأجزاء عبر PduR_FrTpCopyRxData ويرسل FlowControl حيثما يتطلب البروتوكول ذلك ([SWS_FrTp_01138]، [SWS_FrTp_01080]). ويحرر القناة عند استلام جميع البيانات وتأكيد جميع إطارات FlowControl ([SWS_FrTp_01081]). ويتبع PduR_FrTpRxIndication دائمًا إذا كان PduR_FrTpStartOfReception ناجحًا ([SWS_FrTp_01083]).

الاستقبال وإعادة التجميعFrIfFrTpPduRFrTp_RxIndication(RxPduId, PduInfoPtr)التحقق من RxPduIdالتحقق من الوجهة/المصدر مقابل FrTpLa/FrTpRaaltStartFrame empfangenfreien Rx-Kanal belegenStartFrame in lokalen Puffer kopierenFolgerahmen (CF, LF)البحث عن القناة المقترنةRX_PDU_AVAILABLE setzenUse Case: FrTp_MainFunction (StartOfReception alternativ schon in FrTp_RxIndication)optneue VerbindungPduR_FrTpStartOfReception(RxSduId والبيانات وحجم StartFrame والطول)Puffer bereitgestelltPduR_FrTpCopyRxData (N-SDU-Fragment)optFlowControl erforderlichFrIf_Transmit(FC N-PDU)FrTp_TxConfirmation(E_OK)إعادة تعيين RX_PDU_AVAILABLEoptتم استلام N-SDU بالكاملRx-Kanal freigebenPduR_FrTpRxIndication(RxSduId, E_OK)

مخطط التسلسل: يتحقق رد النداء ويخزن مؤقتًا، وتعيد MainFunction التجميع وترسل FlowControl. المصادر: FrTp SWS ص. 55، [SWS_FrTp_01074]، [SWS_FrTp_01083]

الإلغاء ومعلمات وقت التشغيل

يحدد FrTpTransmitCancellation بشكل ثابت ما إذا كان إلغاء الإرسال متاحًا أم لا؛ ويتم تفعيله باستخدام FrTp_CancelTransmit ([SWS_FrTp_01097]، [SWS_FrTp_00384]). ويعتمد التأثير على مستوى التقدم:

  • إذا تم قبول الطلب ولكنه لم يبدأ بعد، يصبح الاتصال شاغرًا على الفور. ولا يلاحظ المستلم شيئًا ([SWS_FrTp_00385]، FrTp SWS ص. 63).
  • إذا كان النقل قيد التشغيل، يوقفه FrTp بـ E_OK ([SWS_FrTp_01116]).
  • يتبع E_NOT_OK إذا لم يكن هناك اتصال نشط أو إذا تم بالفعل تسليم آخر N-PDU لعملية نقل غير مؤكدة إلى FrIf ([SWS_FrTp_01116]).

في الحالة المجزأة، تنتهي مهلة انتظار لدى المستلم، مما ينهي الاستقبال (FrTp SWS ص. 59).

إلغاء الإرسال في حالة النقل المجزأPduR (Sender)FrTp Senderمستقبل FrTpPduR (المستقبل)FrTp_TransmitUse Case: FrTp_MainFunctionStartFramePduR_FrTpStartOfReceptionFlowControlFrTp_CancelTransmit(TxPduId)E_OKتم إيقاف النقل، لا توجد أطر CF إضافيةمهلة زمنية (لم تصل أي أطر CF)PduR_FrTpRxIndication(Empfang abgebrochen)

مخطط التسلسل: إذا ألغى المرسل عملية نقل مجزأة جارية، ينهي المستلم الاستقبال عند انتهاء المهلة. المصادر: [SWS_FrTp_01116]، FrTp SWS ص. 69

تلغي FrTp_CancelReceive عملية استقبال جارية إذا كان RxPduId صالحًا، وتوفر حينئذٍ E_OK ([SWS_FrTp_01181]، [SWS_FrTp_01183]). وفي حالة الاستقبال غير المجزأ أو وجود LastFrame قيد التشغيل، ترفض الوظيفة ([SWS_FrTp_01182]). وتغير FrTp_ChangeParameter قيم BandwidthControl FrTpSCexp وFrTpMaxNbrOfNPduPerCycle في وقت التشغيل ([SWS_FrTp_00242]). ويتوافق تخطيط البت مع تخطيط إطار FC(CTS) ([SWS_FrTp_01195]). ومعرف المعلمة لذلك هو TP_BC (ComStack Types ص. 18). وأثناء الاستقبال الجاري، يتم رفض التغيير ([SWS_FrTp_01115]). وبعد التغيير الناجح، يستخدم الاتصال القيم الجديدة ([SWS_FrTp_01156]).

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

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

  • FRTP_E_UNINIT: استدعاء بدون تهيئة؛ باستثناء FrTp_Init وFrTp_GetVersionInfo.
  • FRTP_E_PARAM_POINTER: مؤشر NULL.
  • FRTP_E_INVALID_PDU_SDU_ID: معرف SDU أو PDU غير صالح.
  • FRTP_E_INVALID_PARAMETER: معلمة غير صالحة.
  • FRTP_E_UMSG_LENGTH_ERROR: طول غير معروف بدون تكوين مطابق ([SWS_FrTp_01134]).
  • رمز خطأ لفشل عملية التهيئة.

تتحقق واجهات برمجة التطبيقات (APIs) من المعرفات والمؤشرات، وتوفر E_NOT_OK في حالة حدوث أخطاء حيثما توجد قيمة إرجاع ([SWS_FrTp_01139]، [SWS_FrTp_01145]، [SWS_FrTp_01147]). وأخطاء وقت التشغيل هي FRTP_E_SEG_ERROR (0x05) وFRTP_E_NO_CHANNEL (0x07). ويتم تمريرها عبر Det_ReportRuntimeError ([SWS_FrTp_01208]، [SWS_FrTp_00577]).

في ثلاث حالات، يتوقف المرسل ويبلغ عن PduR_FrTpTxConfirmation مع E_NOT_OK:

يحرر FrTp_TxConfirmation مع E_NOT_OK القناة في كلا الجانبين ([SWS_FrTp_01056]، [SWS_FrTp_01081]). ويتذكر العلم RX_ERROR خطأ الاستقبال حتى يُسمح بإرسال FlowControl. وبعد الاستجابة (إعادة المحاولة، التأكيد السلبي أو الإلغاء)، يتم مسحه ([SWS_FrTp_00429]، [SWS_FrTp_00430]). وفي اتصالات 1:n، لا يوجد تأكيد ولا إعادة محاولة ([SWS_FrTp_00598]).

تتبع المؤقتات والمهلات جداول المواصفات ([SWS_FrTp_01099]، [SWS_FrTp_01100]، FrTp SWS ص. 67). ويجب أن يتوافق التكوين مع الشروط التالية:

إذا أرجع PduR القيمة BUFREQ_E_BUSY أثناء الإرسال، يحاول FrTp إعادة المحاولة حتى FrTpTimeCs مرة ([SWS_FrTp_01196]). والعدادات محدودة ([SWS_FrTp_01105]، [SWS_FrTp_01114]). ويحدد [SWS_FrTp_01113] ما يحدث عند الوصول إلى الحد الأقصى؛ الجدول المقابل غير متوفر هنا. وإذا كان المستلم يفتقر إلى مخزن مؤقت، فإنه يرسل FC.WAIT. ويحد FrTpMaxFCWait من عدد هذه الإطارات (FrTp SWS ص. 69).

نقص الذاكرة المؤقتة لدى المستقبل: FC.WAIT وحد العدادFrTp Senderمستقبل FrTpPduR (المستقبل)StartFrameالمرسل يراقب Timeout_BSPduR_FrTpStartOfReceptionkein Pufferloopkein Puffer; COUNTER_FCWT begrenzt durch FrTpMaxFCWaitFlowControl (WAIT)Pufferanforderung wiederholenkein PufferPufferanforderungالذاكرة المؤقتة متاحةPduR_FrTpCopyRxDataFlowControl (CTS)ConsecutiveFrameالمستقبل يراقب Timeout_CR

مخطط التسلسل: في حال عدم توفر مخزن مؤقت، يرسل المستلم FC.WAIT حتى الوصول إلى حد العداد؛ بعد ذلك يستأنف FC.CTS عملية النقل. المصادر: [SWS_FrTp_01105]، [SWS_FrTp_01114]، FrTp SWS ص. 70

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

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

FlexRay Transport Layer (FrTp)

Provides segmented data transmission over FlexRay (ISO 10681-2).

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة FrTp_Init [SWS_FrTp_00147] 📄 PDF

void FrTp_Init (const FrTp_ConfigType* configPtr);

This service initializes all global variables of a Flex Ray Transport Layer instance and set it in the idle state. It has no return value because software errors in initialisation data shall be detected during configuration time (e.g. by configuration tool ).

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

تقوم الدالة المتزامنة FrTp_Init بتهيئة جميع المتغيرات العامة لمثيل من طبقة نقل FlexRay وتضعه في حالة السكون [SWS_FrTp_00147]. وكمعلمة إدخال، يتم تمرير مؤشر إلى تكوين بروتوكول نقل FlexRay عبر configPtr (const FrTp_ConfigType*) [SWS_FrTp_00147]. يتم الإعلان عن الواجهة عبر الرأس FrTp.h بمعرف الخدمة 0x00 [SWS_FrTp_00147].

فيما يتعلق بالسلوك الداخلي ومعالجة الأخطاء، تسري التحديدات التالية:

  • بعد تهيئة طبقة النقل بنجاح عن طريق استدعاء FrTp_Init، تنتقل وحدة FrTp إلى الحالة الداخلية FRTP_ON [SWS_FrTp_01032].
  • ليس للدالة قيمة إرجاع (void)، حيث يجب اكتشاف أخطاء البرمجيات في بيانات التهيئة بالفعل أثناء مرحلة التكوين، على سبيل المثال بواسطة أداة تكوين [SWS_FrTp_00147].

فيما يتعلق بالتزامن، تم تحديد الخدمة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_FrTp_00147]. وبالتالي، فإن الاستدعاء المتوازي أو المتكرر غير المنسق غير مسموح به. تفسير: يُرجَّح أن يتم الاستدعاء عادةً بشكل مركزي في إطار بدء تشغيل وحدة التحكم الإلكترونية قبل استخدام خدمات النقل المنتظمة. سؤال Q-9b7cf7fc6dac510e (مفتوح)

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

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

دالة FrTp_Shutdown [SWS_FrTp_00148] 📄 PDF

void FrTp_Shutdown (void);

This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops the Fr Tp Module

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

تنهي الدالة المتزامنة FrTp_Shutdown تشغيل وحدة بروتوكول نقل FlexRay ‏(FrTp) [SWS_FrTp_00148]. وعند الاستدعاء، تغلق الخدمة جميع اتصالات بروتوكول النقل التي لا تزال معلقة مباشرةً عن طريق إيقاف التشغيل، وتحرر كافة الموارد المشغولة وتوقف وحدة FrTp بالكامل [SWS_FrTp_00148].

فيما يتعلق بمواصفات الواجهة والسلوك، تسري الخصائص التالية:

  • التوقيع وملف الرأس: تتوفر الدالة عبر ملف الرأس FrTp.h، وتمتلك معرّف الخدمة 0x01، ولا تتوقع أي معلمات ولا تُرجع أي قيمة (void) [SWS_FrTp_00148].
  • التزامن: تم تحديد FrTp_Shutdown على أنها غير قابلة لإعادة الدخول (Non Reentrant) ويجب تنفيذها بشكل متزامن [SWS_FrTp_00148]. ولذلك، فإن الاستدعاء المتزامن أو المتوازي المتعدد غير مسموح به.
  • انتقال الحالة: من خلال التنفيذ الناجح للخدمة الأولية FrTp_Shutdown()، تنتقل وحدة FrTp إلى الحالة الداخلية FRTP_OFF [SWS_FrTp_01036].

نظرًا لأن الخدمة تغلق الاتصالات المعلقة بمجرد إيقاف التشغيل، يُرجح أن يتم إلغاء عمليات الإرسال الجارية فورًا ودون إشعار إتمام منفصل. سؤال Q-35555515f521d0c3 (مفتوح)

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

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

دالة FrTp_Transmit [SWS_FrTp_00149] 📄 PDF

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

Requests transmission of a PDU.

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

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

تطلب الدالة المتزامنة FrTp_Transmit نقل PDU عبر وحدة طبقة نقل FlexRay [SWS_FrTp_00149]. يتم تمرير معرف PDU المراد نقلها عبر المعلمة TxPduId، بينما تشير PduInfoPtr إلى البيانات المفيدة والبيانات الوصفية بالإضافة إلى الطول [SWS_FrTp_00149]. إذا كان سيتم بدء نقل بطول رسالة غير معروف بعد للطبقة العليا، فيجب استدعاء FrTp_Transmit بقيمة المعلمة PduLength = 0 [SWS_FrTp_01064]. يتم تأكيد قبول طلب الإرسال بشكل متزامن مع E_OK؛ وإذا تعذر قبول الطلب، تُرجع الدالة E_NOT_OK [SWS_FrTp_00149].

التزامن وتوافر القناة

الدالة قابلة لإعادة الدخول (reentrant) للاستدعاءات ذات معرفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول للمعرف نفسه TxPduId [SWS_FrTp_00149]. بالإضافة إلى ذلك، يتطلب التنفيذ توفر قناة نقل شاغرة: إذا لم تكن هناك قناة متاحة لأن الحالة ليست في وضع الخمول (FrTpTxChannelState ≠ Idle)، فإن الدالة تلغي العملية وتُرجع E_NOT_OK [SWS_FrTp_01041].

معالجة الأخطاء

إذا كانت واجهة التطوير لاكتشاف الأخطاء نشطة، تتحقق FrTp_Transmit من صحة المعلمات الممررة:

  • إذا تم تمرير TxPduId غير مدعومة أو غير صالحة، تتوقف الخدمة مع E_NOT_OK وتبلغ عن خطأ التطوير FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01040]، [SWS_FrTp_01139].
  • إذا كان المؤشر PduInfoPtr غير صالح، يتم الإبلاغ عن الخطأ FRTP_E_PARAM_POINTER ويتوقف التنفيذ أيضًا مع E_NOT_OK [SWS_FrTp_01140].

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

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

دالة FrTp_CancelTransmit [SWS_FrTp_00150] 📄 PDF

Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);

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

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

تطلب دالة الخدمة المتزامنة FrTp_CancelTransmit إلغاء عملية نقل PDU جارية في وحدة اتصال تابعة [SWS_FrTp_00150]. وتتم عنونة عملية النقل المراد إلغاؤها عبر معلمة الإدخال TxPduId [SWS_FrTp_00150].

السلوك المعتمد على الحالة وقيم الإرجاع

يعتمد سلوك الإلغاء على الحالة الحالية للاتصال:

  • إذا كان طلب الإرسال معلقًا ولكن النقل نفسه لم يبدأ بعد، فإن FrTp_CancelTransmit تحرر الاتصال فورًا [SWS_FrTp_00385].
  • إذا كان النقل قيد التقدم بالفعل، توقف الدالة عملية الإرسال وتؤكد الإلغاء الناجح بقيمة الإرجاع E_OK [SWS_FrTp_01116].
  • إذا كان الاتصال غير نشط أو تم بالفعل إعادة توجيه آخر N-PDU لعملية نقل غير مؤكدة إلى FrIf، يفشل الإلغاء وتُرجع الدالة E_NOT_OK [SWS_FrTp_01116].

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

إذا تم تفعيل ميزة اكتشاف أخطاء التطوير (Development Error Detection) لـ FrTp_CancelTransmit، تتحقق الدالة من صحة المعلمة TxPduId. وإذا فشل هذا التحقق، يتم الإبلاغ عن خطأ التطوير FRTP_E_INVALID_PDU_SDU_ID ويتم إرجاع E_NOT_OK [SWS_FrTp_01141].

الدالة قابلة لإعادة الدخول (reentrant) للاستدعاءات ذات معرفات PDU المختلفة، ولكن لا يجوز تنفيذها بشكل متزامن لـ TxPduId نفسها [SWS_FrTp_00150].

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

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

دالة FrTp_ChangeParameter [SWS_FrTp_00151] 📄 PDF

Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

Request to change a specific transport protocol parameter (e.g. block size).

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

تُستخدم الدالة التزامنية FrTp_ChangeParameter وفقًا لـ [SWS_FrTp_00151] لطلب تعديل معلمات محددة لبروتوكول النقل أثناء وقت التشغيل. عبر المعامل id تتم الإشارة إلى PDU المعنية، بينما يمرر parameter معرف المعلمة وvalue القيمة الجديدة. في حال نجاح التعديل، تُرجع الدالة E_OK، وإلا يُرفض طلب التغيير مع E_NOT_OK [SWS_FrTp_00151].

تحديدًا، تُستخدم هذه الخدمة لتعديل معلمات FlowControl-PDU للتحكم في عرض النطاق الترددي (BandwidthControl، BC) وفقًا للمعيار ISO 10681-2 أثناء وقت التشغيل [SWS_FrTp_00242]. وهذا يشمل:

في جانب الإرسال، يتم استقبال أي FlowControl-PDU إضافية ناتجة عن ذلك باعتبارها N-PDU غير متوقعة ويتم تجاهلها [SWS_FrTp_00242].

معالجة الأخطاء

إذا تم تفعيل اكتشاف أخطاء التطوير (Development Error Detection) للدالة، فسيتم إجراء عمليات تحقق شكلية للمعلمات:

  • التحقق من معرف PDU id: إذا كانت القيمة غير صالحة، تبلغ الدالة عن خطأ التطوير FRTP_E_INVALID_PDU_SDU_ID وتُرجع E_NOT_OK [SWS_FrTp_01143].
  • التحقق من المعلمة parameter: إذا كان المعرف غير صالح، تبلغ الدالة عن FRTP_E_INVALID_PARAMETER وتُرجع E_NOT_OK [SWS_FrTp_01144].

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

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

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

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

دالة FrTp_CancelReceive [SWS_FrTp_01172] 📄 PDF

Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

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

تطلب الدالة التزامنية FrTp_CancelReceive إلغاء عملية استقبال PDU جارية في طبقة النقل لـ FlexRay [SWS_FrTp_01172]. وهي متوفرة عبر الترويسة FrTp.h وتتيح إيقاف عملية استقبال نشطة بشكل مستهدف.

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

كمعامل إدخال، يتم تمرير RxPduId من النوع PduIdType، مما يحدد بشكل فريد PDU المراد إلغاؤها [SWS_FrTp_01172]. ولا توجد معلمات إدخال أو إخراج إضافية. تُرجع الدالة قيمة حالة من النوع Std_ReturnType:

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

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

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

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

دالة FrTp_TriggerTransmit [SWS_FrTp_00154] 📄 PDF

Std_ReturnType FrTp_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the 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 copied 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 · درجة الحرارة: غير قابل للتحكم · الموجّه: fdebe9a74064 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة التزامنية [SWS_FrTp_00154] لتوفير بيانات SDU لعملية النقل. يتم تحديد SDU المراد نقلها عبر المعامل TxPduId، بينما يشير PduInfoPtr إلى هيكل يحتوي على المخزن المؤقت للوجهة (SduDataPtr) وحجم المخزن المؤقت المتاح (SduLength) [SWS_FrTp_00154].

يتم التحقق داخل الدالة مما إذا كانت البيانات المقدمة تتسع في المخزن المؤقت للوجهة المُبلغ عنه عبر PduInfoPtr->SduLength [SWS_FrTp_00154]:

  • عملية نسخ ناجحة: إذا كانت سعة المخزن المؤقت كافية، تنسخ الدالة معلومات العنوان وPCI بالإضافة إلى بيانات N-SDU إلى المخزن المؤقت PduInfoPtr->SduDataPtr [SWS_FrTp_01060]. ويتم ضبط طول البيانات في PduInfoPtr->SduLength على الطول الدقيق للبيانات المنسوخة، وتُرجع الدالة E_OK [SWS_FrTp_00154]، [SWS_FrTp_01061].
  • سعة المخزن المؤقت غير كافية: إذا لم تتسع البيانات في المخزن المؤقت، يتم إلغاء الدالة وتُرجع E_NOT_OK دون تعديل PduInfoPtr [SWS_FrTp_00154]. في حالة الخطأ، لا يجوز لجهة الاستدعاء استخدام PduInfoPtr، لأنه قد يحتوي على بيانات غير صالحة أو مؤشر فارغ [SWS_FrTp_00154].

عند تفعيل اكتشاف أخطاء التطوير (DET)، تُجري الدالة عمليات فحص مسبقة لمعلمات التمرير:

  • إذا كان TxPduId غير صالح، تبلغ الدالة عن الخطأ FRTP_E_INVALID_PDU_SDU_ID إلى DET وتُرجع E_NOT_OK [SWS_FrTp_01145].
  • إذا كان PduInfoPtr غير صالح، تبلغ عن الخطأ FRTP_E_PARAM_POINTER إلى DET وتُرجع أيضًا E_NOT_OK [SWS_FrTp_01146].

فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول (reentrant) لمعرّفات PDU مختلفة، ولكن لا يجوز استدعاؤها بالتزامن لـ TxPduId نفسها [SWS_FrTp_00154].

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

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

دالة FrTp_RxIndication [SWS_FrTp_00152] 📄 PDF

void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

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

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

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

تُستخدم دالة رد النداء المتزامنة FrTp_RxIndication للإشارة إلى PDU مستلمة من وحدة واجهة اتصال تابعة إلى وحدة طبقة نقل FlexRay ISO وبدء عملية الاستقبال بأكملها [SWS_FrTp_00152]، [SWS_FrTp_00137]. وهي متاحة عبر الرأس FrTp.h وتحمل معرف الخدمة 0x42 بدون قيمة إرجاع [SWS_FrTp_00152]. وتتوقع كمعلمات معرف PDU المستلمة (RxPduId) ومؤشرًا إلى بنية من النوع PduInfoType (PduInfoPtr) [SWS_FrTp_00152]. يوفر هذا المؤشر طول PDU المستلمة (SduLength)، ومؤشر تخزين مؤقت للبيانات المفيدة (SduDataPtr)، بالإضافة إلى البيانات الوصفية المقترنة [SWS_FrTp_00152].

معالجة الأخطاء

فيما يتعلق بمعالجة الأخطاء، تتحقق الدالة عند تفعيل اكتشاف أخطاء التطوير (DET) من كلا معلمتي الإدخال: إذا كانت RxPduId غير صالحة، فإنها تبلغ عن خطأ التطوير FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01147]. وإذا كانت PduInfoPtr غير صالحة، يتم الإبلاغ عن الخطأ FRTP_E_PARAM_POINTER [SWS_FrTp_01148]. وإذا تم تمرير RxPduId غير مدعومة، يتم إنهاء التنفيذ دون اتخاذ أي إجراءات أخرى [SWS_FrTp_01075]. وإذا لم تكن هناك قناة استقبال شاغرة متاحة في وقت الاستدعاء لأن حالة القناة ليست Idle (FrTpRxChannelState ≠ Idle)، تتوقف الدالة أيضًا دون معالجة إضافية [SWS_FrTp_01076] وتُطلق الوحدة خطأ وقت التشغيل FRTP_E_NO_CHANNEL [SWS_FrTp_01186].

التزامن والتفاعل

فيما يتعلق بالتزامن، فإن FrTp_RxIndication قابلة لإعادة الدخول (reentrant) لمعرفات PDU المختلفة، ولكنها غير قابلة لإعادة الدخول لمعرفات PDU المتطابقة [SWS_FrTp_00152]. يجب أن يتم الاستدعاء بشكل متزامن بواسطة الواجهة التابعة لبدء الاستقبال بشكل صحيح في وحدة FrTp [SWS_FrTp_00152]، [SWS_FrTp_00137].

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

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

دالة FrTp_TxConfirmation [SWS_FrTp_00153] 📄 PDF

void FrTp_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 · درجة الحرارة: غير قابل للتحكم · الموجّه: 9cfd8edaa6b0 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة التزامنية [SWS_FrTp_00153] بواسطة طبقة الاتصال السفلية لإبلاغ الوحدة FrTp بنجاح نقل PDU أو فشله. عند الاستدعاء، تمرر الطبقة السفلية المعرف المهيأ FrTpTxConfirmationPduId في المعامل TxPduId بالإضافة إلى نتيجة الإرسال result ([SWS_FrTp_01053]). القيم الصالحة لـ result هي E_OK في حال الإرسال الناجح وE_NOT_OK في حال فشل النقل ([SWS_FrTp_00153]).

إذا تم تفعيل اكتشاف أخطاء التطوير (DET)، تُجري الدالة فحصًا للمعلمات: يؤدي المعرف غير الصالح TxPduId إلى إطلاق خطأ التطوير FRTP_E_INVALID_PDU_SDU_ID ([SWS_FrTp_01149])، بينما تؤدي القيمة غير الصالحة لـ result إلى الخطأ FRTP_E_INVALID_PARAMETER ([SWS_FrTp_01203]).

فيما يتعلق بالتزامن، فإن الدالة قابلة لإعادة الدخول لمعرفات PDU المختلفة، ولكن لا يجوز استدعاؤها بشكل متزامن لنفس TxPduId ([SWS_FrTp_00153]). مع كل استدعاء بالمعرف المقترن FrTpTxConfirmationPduId، تقلل الوحدة قيمة العداد TxPduPendingCounter بمقدار واحد ([SWS_FrTp_01092]).

بالتفاعل مع حالة النقل، يتسبب التأكيد في انتقالات الحالة التالية:

  • في جانب المرسل، يتم نقل القناة المشغولة إلى الحالة Idle (FrTpTxChannelState = Idle) وتتم إعادة تعيين الرايتين TX_SDU_AVAILABLE وTX_SDU_UNKNOWN_MSG_LENGTH بمجرد إرسال جميع بيانات N-SDU، وتكون قيمة result هي E_OK، مع استلام إشعار التأكيد في حال تهيئته — أو فورًا عندما تكون result مساوية لـ E_NOT_OK ([SWS_FrTp_01056]، [SWS_FrTp_01057]، [SWS_FrTp_01124]).
  • في جانب المستقبل، يتم تحرير قناة الاستقبال المشغولة (FrTpRxChannelState = Idle) عند استلام جميع البيانات وتأكيد جميع وحدات Flow-Control-PDU المطلوبة بـ E_OK، أو عندما يتم التأكيد بـ E_NOT_OK ([SWS_FrTp_01081]).

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

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

دالة FrTp_MainFunction [SWS_FrTp_00162] 📄 PDF

void FrTp_MainFunction (void);

Schedules the Flex Ray TP. (Entry point for scheduling)

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

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

تمتلك الدالة FrTp_MainFunction التوقيع void FrTp_MainFunction (void); وهي محددة بمعرّف الخدمة 0x10 [SWS_FrTp_00162]. ولا تستقبل أي معلمات إدخال ولا تُرجع أي قيمة إلى الجهة المستدعية [SWS_FrTp_00162]. الإعلان متاح عبر ملف الرأس SchM_FrTp.h [SWS_FrTp_00162]. وكتفسير، يُرجح بالتالي أن يتم استدعاء الدالة عادةً بشكل دوري بواسطة مجدول BSW (Schedule Manager). سؤال Q-aaa6251bd84aef94 (مفتوح)

التفاعل والمهام

تتمثل المهمة الرئيسية للدالة في جدولة وحدة بروتوكول نقل FlexRay [SWS_FrTp_00162]، [SWS_FrTp_00203]. ووفقًا لـ [SWS_FrTp_00580]، يمثل FrTp_MainFunction نقطة الدخول الإلزامية لمهام المعالجة (processing tasks) المعلقة لوحدة FrTp، والتي من خلالها تتم معالجة عمليات البروتوكول الداخلية وإدارتها دوريًا.

الشروط والقيود الزمنية

بالنسبة للتكامل الزمني في النظام ككل، تحدد المواصفة حدًا أدنى ثابتًا لمعدل الاستدعاء للجدولة:

  • يجب استدعاء FrTp_MainFunction مرة واحدة على الأقل لكل دورة FlexRay [SWS_FrTp_01152].

لا تتضمن المواصفة الحالية وصفًا لمعالجات أخطاء محددة، أو رسائل DET أو DEM، أو متطلبات صريحة بشأن قابلية إعادة الدخول أو التزامن.

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

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

نوع FrTp_ConfigType [SWS_FrTp_01194] 📄 PDF

This is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will be used in the initialization of the Flex Ray Transport Protocol. The outline of the structure is defined in chapter 10 Configura tion Specification

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

Record
AUTOSAR/AP/record/CP_MOD_FrTp
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_FrTp@rel:R20-11#9fc31139
Content hash
9fc31139
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayISOTransportLayer.pdf#nameddest=SWS_FrTp_00215

خريطة المواضيع

عرض التفاصيل

اختر عنصرًا من المخطط.

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

Returns the version information.

void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTp_Init دالة

This service initializes all global variables of a Flex Ray Transport Layer instance and set it in the idle state. It has no return value because software errors in initialisation data shall be detected during configuration time (e.g. by configuration tool ).

void FrTp_Init (const FrTp_ConfigType* configPtr);

الخدمات

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);

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

Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);

Request to change a specific transport protocol parameter (e.g. block size).

Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);
FrTp_Shutdown دالة

This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops the Fr Tp Module

void FrTp_Shutdown (void);
FrTp_Transmit دالة

Requests transmission of a PDU.

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

دوال الاستدعاء الراجع

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

void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the 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 copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

Std_ReturnType FrTp_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 FrTp_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

دورية

Schedules the Flex Ray TP. (Entry point for scheduling)

void FrTp_MainFunction (void);

الأنواع

This is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will be used in the initialization of the Flex Ray Transport Protocol. The outline of the structure is defined in chapter 10 Configura tion Specification