DEENESPTFRRUARHIKOZHNL

FlexRay Transport Layer (FrTp)

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

मॉड्यूल गाइडएआई जनित

PDU Router और FlexRay Interface के बीच ISO 10681-2 के अनुसार बड़े संदेशों को सेगमेंट और पुनः असेंबल करता है।
एआई-जनित असत्यापित मॉडल: claude-opus-5-5 · प्रयास: high · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 74e3fa4a7265 उद्गम खुले प्रश्न (1)
कारणात्मक एंकर: R20-11 R20-11 से मान्य इस विनिर्देश संस्करण के लिए नए सिरे से संश्लेषित।
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

PDU Router और FlexRay Interface के बीच ISO 10681-2 के अनुसार बड़े संदेशों को सेगमेंट और पुनः असेंबल करता है।

FrTp ISO 10681-2 ([SWS_FrTp_01005]) के अनुसार PduR और FrIf के बीच बड़े संदेशों को प्रसारित करता है। यह उन्हें सेगमेंट और पुनः असेंबल करता है, प्रवाह को नियंत्रित करता है और साझा Tx-PDU पूलों के माध्यम से बैंडविड्थ वितरित करता है। FrTp_Transmit केवल एक ट्रांसमिशन अनुरोध स्वीकार करता है; वास्तविक कार्य आवधिक FrTp_MainFunction द्वारा किया जाता है, जिसे प्रत्येक FlexRay चक्र में कम से कम एक बार चलना चाहिए ([SWS_FrTp_01152])। पावती-सहित और बिना पावती वाले प्रसारण के साथ-साथ अज्ञात लंबाई के संदेश समर्थित हैं। प्रोटोकॉल त्रुटियों या अमान्य सेगमेंटेशन की स्थिति में, FrTp निरस्त हो जाता है और PduR को E_NOT_OK की रिपोर्ट करता है।

FrTp ISO 10681-2 के अनुसार FlexRay के लिए ट्रांसपोर्ट लेयर है। जहाँ विनिर्देश कुछ भी विशिष्ट निर्दिष्ट नहीं करता है, मॉड्यूल इस मानक ([SWS_FrTp_01005]) का अनुसरण करता है। यह PduR के बड़े N-SDU को N-PDU में विभाजित करता है, उन्हें FrIf_Transmit के साथ FrIf को अग्रेषित करता है और प्राप्त फ़्रेमों को पुनः असेंबल करता है ([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

संदर्भ आरेख: PduR और FrIf के बीच FrTp, जो 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-SDU डेटा प्रेषित न हो जाएंPduR_FrTpCopyTxData(लंबाई FrTpTxPdu)Address Information और PCI तैयार करेंFrIf_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 freigebenTX_SDU_AVAILABLE रीसेट करेंPduR_FrTpTxConfirmation(E_OK)

अनुक्रम आरेख: कार्य की स्वीकृति, MainFunction में निष्पादन, प्रति N-PDU और अंत में PduR को पुष्टिकरण। स्रोत: FrTp SWS पृ. 44, [SWS_FrTp_01042]

रिसेप्शन पर, FrTp कनेक्शन कॉन्फ़िगरेशन ([SWS_FrTp_01069], [SWS_FrTp_01071]) के विरुद्ध RxPduId और पतों की जांच करता है। एक नए कनेक्शन पर, यह 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 की रिपोर्ट करता है: अमान्य या निरस्त होने वाले फ्लो स्टेटस पर और 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 ISO 10681-2 के अनुसार FlexRay ट्रांसपोर्ट लेयर है। जहाँ विनिर्देश कुछ भी विशिष्ट निर्दिष्ट नहीं करता है, मॉड्यूल इस मानक का पालन करता है और इसके 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 FrIf_Transmit ([SWS_FrTp_01050]) के साथ N-PDUs सौंपता है। 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) को कॉल करता है।

रिलीज़ के बीच एक अंतर: बाद के संस्करण FrTp और FrIf (FrTp SWS पृ. 19) के बीच एक L-SDU राउटर (LSduR) सम्मिलित करते हैं। 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_ConfigType के सूचक के साथ एक सफल FrTp_Init ही FRTP_ON ([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_Init और FrTp_Shutdown के बीच FrTp डेटा संसाधित करता है। स्रोत: [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 SenderFrTp रिसीवरStartFrame (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

अज्ञात लंबाई के साथ ट्रांसमिशन:

  • यह कंपाइलर स्विच ([SWS_FrTp_01062]) के माध्यम से सक्रिय होता है।
  • इसे FrTp_Transmit और लंबाई 0 ([SWS_FrTp_01064], [SWS_FrTp_01043]) के साथ शुरू किया जाता है।
  • यह तब समाप्त होता है जब रिपोर्ट किया गया लंबाई पैरामीटर 0 होता है ([SWS_FrTp_01066])।
  • फ़्लैग TX_SDU_UNKNOWN_MSG_LENGTH प्रति चैनल स्थिति बनाए रखता है ([SWS_FrTp_01101], [SWS_FrTp_01102])।
  • प्राप्तकर्ता अपेक्षित लंबाई 0 ([SWS_FrTp_01184]) के साथ PduR_FrTpStartOfReception को कॉल करता है।
  • किसी 1:n कनेक्शन पर FrTp_Transmit ऐसे अनुरोधों को E_NOT_OK के साथ अस्वीकार करता है और FRTP_E_SEG_ERROR रिपोर्ट करता है ([SWS_FrTp_01187], FrTp SWS पृ. 47)।

कनेक्शन, चैनल और 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-PDUs नेटवर्क शेड्यूल के आरोही क्रम में होती हैं और उनकी लंबाई भिन्न हो सकती है ([SWS_FrTp_01088], [SWS_FrTp_01089])।
  • किसी चैनल का TxPduPendingCounter अपुष्ट N-PDUs की गणना करता है ([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 PDUs का उपयोग करता है ([SWS_FrTp_01175])। पूलों का ओवरलैप होना अनुमत है ([SWS_FrTp_01176])।
  • FrIf को किसी जॉब के भीतर कनेक्शन के PDUs को आरोही क्रम में शेड्यूल करना चाहिए (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 उपलब्ध है? 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-SDU डेटा प्रेषित न हो जाएंPduR_FrTpCopyTxData(लंबाई FrTpTxPdu)Address Information और PCI तैयार करेंFrIf_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 freigebenTX_SDU_AVAILABLE रीसेट करेंPduR_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])। चैनल तब मुक्त होता है जब सभी डेटा प्राप्त हो जाते हैं और सभी FlowControls की पुष्टि हो जाती है ([SWS_FrTp_01081])। यदि PduR_FrTpStartOfReception सफल रहा हो, तो उसके बाद हमेशा PduR_FrTpRxIndication आता है ([SWS_FrTp_01083])।

प्राप्ति और पुनर्संयोजनFrIfFrTpPduRFrTp_RxIndication(RxPduId, PduInfoPtr)RxPduId जाँचेंगंतव्य/स्रोत को FrTpLa/FrTpRa के विरुद्ध जाँचेंaltStartFrame 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, स्टार्ट फ़्रेम का डेटा और आकार, लंबाई)Puffer bereitgestelltPduR_FrTpCopyRxData (N-SDU-Fragment)optFlowControl erforderlichFrIf_Transmit(FC N-PDU)FrTp_TxConfirmation(E_OK)RX_PDU_AVAILABLE रीसेट करेंoptN-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 SenderFrTp रिसीवरPduR (रिसीवर)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 ID।
  • FRTP_E_INVALID_PARAMETER: अमान्य पैरामीटर।
  • FRTP_E_UMSG_LENGTH_ERROR: उपयुक्त कॉन्फ़िगरेशन के बिना अज्ञात लंबाई ([SWS_FrTp_01134])।
  • असफल इनिशियलाइज़ेशन के लिए एक त्रुटि कोड।

APIs IDs और पॉइंटर्स की जांच करते हैं और त्रुटियों के मामले में 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])।

तीन मामलों में प्रेषक निरस्त करता है और E_NOT_OK के साथ PduR_FrTpTxConfirmation की रिपोर्ट करता है:

  • किसी FlowControl में अमान्य Flow Status या OVFLW/ABT हो ([SWS_FrTp_01198])।
  • ACK_RET बफ़र के बाहर की स्थिति को संदर्भित करता हो ([SWS_FrTp_01199])।
  • किसी 1:n कनेक्शन को खंडित करना पड़ता हो (FrTp SWS पृ. 51)।

E_NOT_OK के साथ एक FrTp_TxConfirmation दोनों पक्षों में चैनल को मुक्त करती है ([SWS_FrTp_01056], [SWS_FrTp_01081])। फ़्लैग RX_ERROR किसी रिसेप्शन त्रुटि को तब तक याद रखता है जब तक FlowControl भेजने की अनुमति न हो। प्रतिक्रिया (Retry, नकारात्मक पावती या निरस्तीकरण) के बाद इसे साफ़ कर दिया जाता है ([SWS_FrTp_00429], [SWS_FrTp_00430])। 1:n कनेक्शनों पर न तो पावती होती है और न ही Retry ([SWS_FrTp_00598])।

टाइमर और टाइमआउट विनिर्देश की तालिकाओं का पालन करते हैं ([SWS_FrTp_01099], [SWS_FrTp_01100], FrTp SWS पृ. 67)। कॉन्फ़िगरेशन को निम्नलिखित शर्तों का पालन करना चाहिए:

  • FRTP_TIMEOUT_BS > FRTP_TIME_BR + FRTP_TIME_AR ([SWS_FrTp_00599])
  • FRTP_TIMEOUT_CR > FRTP_TIME_CS + FRTP_TIME_AS ([SWS_FrTp_01153])
  • सेपरेशन साइकिल एक्सपोनेंट के लिए एक सीमा ([SWS_FrTp_00180])

यदि ट्रांसमिशन के दौरान 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 SenderFrTp रिसीवरPduR (रिसीवर)StartFrameप्रेषक Timeout_BS की निगरानी करता हैPduR_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

आगे विस्तृत साक्ष्य

पेलोड में विनिर्देश अंशों पर आधारित AI-जनरेटेड गाइड। 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 ट्रांसपोर्ट प्रोटोकॉल के कॉन्फ़िगरेशन का एक पॉइंटर (const FrTp_ConfigType*) configPtr के माध्यम से पास किया जाता है [SWS_FrTp_00147]। इंटरफ़ेस को हेडर FrTp.h के माध्यम से सर्विस ID 0x00 के साथ घोषित किया गया है [SWS_FrTp_00147]।

आंतरिक व्यवहार और त्रुटि प्रबंधन के संबंध में, निम्नलिखित प्रावधान लागू होते हैं:

  • FrTp_Init के कॉल द्वारा ट्रांसपोर्ट परत के सफलतापूर्वक प्रारंभ होने के बाद, FrTp मॉड्यूल आंतरिक स्थिति FRTP_ON में बदल जाता है [SWS_FrTp_01032]।
  • फ़ंक्शन का कोई रिटर्न मान (void) नहीं है, क्योंकि प्रारंभिक डेटा में सॉफ़्टवेयर त्रुटियों का पता कॉन्फ़िगरेशन चरण के दौरान ही लगाया जाना चाहिए, उदाहरण के लिए एक कॉन्फ़िगरेशन टूल द्वारा [SWS_FrTp_00147]।

संगामीता के संबंध में, सेवा को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_FrTp_00147]। इसलिए एक समानांतर या एकाधिक असंगठित कॉल अस्वीकार्य है। Interpretation: कॉल आमतौर पर नियमित परिवहन सेवाओं के उपयोग से पहले ECU स्टार्टअप के हिस्से के रूप में केंद्रीय रूप से किए जाने की संभावना है। प्रश्न 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 के माध्यम से उपलब्ध है, इसकी सर्विस ID 0x01 है, यह किसी पैरामीटर की अपेक्षा नहीं करता है और कोई रिटर्न मान नहीं देता है (void) [SWS_FrTp_00148]।
  • कॉनकरेंसी: FrTp_Shutdown गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट है और इसे समकालिक (synchronously) निष्पादित किया जाना चाहिए [SWS_FrTp_00148]। इसलिए समवर्ती (concurrent) या एकाधिक समानांतर कॉल अस्वीकार्य है।
  • स्थिति संक्रमण: सेवा प्रिमिटिव 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 FlexRay ट्रांसपोर्ट लेयर मॉड्यूल पर एक PDU के प्रसारण का अनुरोध करता है [SWS_FrTp_00149]। प्रेषित किए जाने वाले PDU का पहचानकर्ता पैरामीटर TxPduId के माध्यम से पास किया जाता है, जबकि PduInfoPtr पेलोड डेटा, मेटाडेटा और लंबाई को संदर्भित करता है [SWS_FrTp_00149]। यदि ऊपरी परत के लिए अभी भी अज्ञात संदेश लंबाई के साथ एक प्रसारण आरंभ किया जाना है, तो FrTp_Transmit को पैरामीटर मान PduLength = 0 के साथ कॉल किया जाना चाहिए [SWS_FrTp_01064]। प्रसारण अनुरोध की स्वीकृति की समकालिक रूप से E_OK के साथ पुष्टि की जाती है; यदि अनुरोध स्वीकार नहीं किया जा सकता है, तो फ़ंक्शन E_NOT_OK लौटाता है [SWS_FrTp_00149]।

समवर्तीता और चैनल उपलब्धता

फ़ंक्शन विभिन्न PDU ID के साथ कॉल के लिए रीएंट्रेंट है, लेकिन समान पहचानकर्ता के लिए गैर-रीएंट्रेंट है TxPduId [SWS_FrTp_00149]। इसके अतिरिक्त, निष्पादन के लिए एक मुक्त ट्रांसमिशन चैनल की आवश्यकता होती है: यदि कोई चैनल उपलब्ध नहीं है क्योंकि स्थिति निष्क्रिय (idle) नहीं है (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 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता 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]।

त्रुटि हैंडलिंग और समवर्तीता

यदि FrTp_CancelTransmit के लिए डेवलपमेंट एरर डिटेक्शन (Development Error Detection) सक्रिय है, तो फ़ंक्शन पैरामीटर TxPduId की वैधता की जाँच करता है। यदि यह जाँच विफल हो जाती है, तो डेवलपमेंट एरर FRTP_E_INVALID_PDU_SDU_ID रिपोर्ट किया जाता है और E_NOT_OK लौटाया जाता है [SWS_FrTp_01141]।

यह फ़ंक्शन भिन्न PDU-ID के साथ कॉल के लिए रीएंट्रेंट है, लेकिन इसे समान 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]।

विशेष रूप से, इस सेवा का उपयोग ISO 10681-2 के अनुसार बैंडविड्थ नियंत्रण (BandwidthControl, BC) के लिए FlowControl-PDU के पैरामीटरों को रनटाइम पर संशोधित करने के लिए किया जाता है [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 (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 FlexRay ट्रांसपोर्ट लेयर में एक चल रहे PDU रिसेप्शन को निरस्त करने का अनुरोध करता है [SWS_FrTp_01172]। यह हेडर FrTp.h के माध्यम से उपलब्ध है और किसी सक्रिय रिसेप्शन ऑपरेशन को लक्षित रूप से रोकने में सक्षम बनाता है।

पैरामीटर और रिटर्न मान

इनपुट पैरामीटर के रूप में प्रकार PduIdType का RxPduId पास किया जाता है, जिससे निरस्त की जाने वाली PDU की विशिष्ट पहचान होती है [SWS_FrTp_01172]। कोई अतिरिक्त इनपुट या आउटपुट पैरामीटर मौजूद नहीं हैं। फ़ंक्शन प्रकार Std_ReturnType का एक स्थिति मान लौटाता है:

  • E_OK: गंतव्य मॉड्यूल द्वारा PDU रिसेप्शन का निरस्तीकरण सफलतापूर्वक निष्पादित किया गया [SWS_FrTp_01172], [SWS_FrTp_01183]।
  • E_NOT_OK: गंतव्य मॉड्यूल ने निरस्तीकरण अनुरोध को अस्वीकार कर दिया [SWS_FrTp_01172]।

समवर्तीता और प्रतिबंध

फ़ंक्शन को non-reentrant (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 डेटा प्रदान करने का कार्य करता है। पैरामीटर TxPduId के माध्यम से प्रेषित की जाने वाली SDU की पहचान की जाती है, जबकि 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]।
  • अपर्याप्त बफ़र: यदि डेटा बफ़र में समाहित नहीं होता है, तो फ़ंक्शन निरस्त हो जाता है और PduInfoPtr को बदले बिना E_NOT_OK लौटाता है [SWS_FrTp_00154]। त्रुटि की स्थिति में, कॉलर द्वारा PduInfoPtr का उपयोग नहीं किया जाना चाहिए, क्योंकि इसमें अमान्य डेटा या शून्य पॉइंटर (null pointer) हो सकता है [SWS_FrTp_00154]।

सक्रिय विकास त्रुटि पहचान (DET) के साथ, फ़ंक्शन पास किए गए पैरामीटरों की अग्रिम जांच करता है:

  • यदि TxPduId अमान्य है, तो फ़ंक्शन DET को त्रुटि FRTP_E_INVALID_PDU_SDU_ID की रिपोर्ट करता है और E_NOT_OK लौटाता है [SWS_FrTp_01145]।
  • यदि PduInfoPtr अमान्य है, तो यह DET को त्रुटि FRTP_E_PARAM_POINTER की रिपोर्ट करता है और E_NOT_OK भी लौटाता है [SWS_FrTp_01146]।

समवर्तीता के संबंध में, फ़ंक्शन विभिन्न PDU-IDs के लिए रीएंट्रेंट है, लेकिन इसे समान 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 अंतर्निहित संचार इंटरफ़ेस मॉड्यूल से FlexRay ISO ट्रांसपोर्ट लेयर मॉड्यूल को प्राप्त PDU के संकेत के रूप में कार्य करता है और संपूर्ण रिसेप्शन प्रक्रिया को प्रारंभ करता है [SWS_FrTp_00152], [SWS_FrTp_00137]। यह हेडर FrTp.h के माध्यम से उपलब्ध है और बिना रिटर्न मान के इसकी सर्विस-ID 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 भिन्न PDU-ID के लिए रीएंट्रेंट है, लेकिन समान PDU-ID के लिए रीएंट्रेंट नहीं है [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 के सफल ट्रांसमिशन या विफलता की सूचना देने के लिए उपयोग किया जाता है। कॉल के समय, निचली परत पैरामीटर TxPduId में कॉन्फ़िगर किया गया पहचानकर्ता FrTpTxConfirmationPduId और ट्रांसमिशन परिणाम 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-IDs के लिए reentrant है, लेकिन समान 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-PDUs को E_OK के साथ पुष्टि कर दी जाती है या यदि पुष्टि E_NOT_OK के साथ होती है ([SWS_FrTp_01081])।

यह पाठ AI द्वारा तैयार किया गया था और 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); है और यह सर्विस-ID 0x10 के साथ निर्दिष्ट है [SWS_FrTp_00162]। यह कोई इनपुट पैरामीटर स्वीकार नहीं करता है और कॉलर को कोई रिटर्न मान नहीं देता है [SWS_FrTp_00162]। डिक्लेरेशन हेडर SchM_FrTp.h के माध्यम से उपलब्ध है [SWS_FrTp_00162]। व्याख्या के रूप में, यह फ़ंक्शन आमतौर पर BSW-Scheduler (Schedule Manager) द्वारा चक्रीय रूप से कॉल किया जाना संभावित है। प्रश्न Q-aaa6251bd84aef94 (खुला)

पारस्परिक क्रिया और कार्य

फ़ंक्शन का मुख्य कार्य FlexRay ट्रांसपोर्ट प्रोटोकॉल मॉड्यूल [SWS_FrTp_00162], [SWS_FrTp_00203] का शेड्यूलिंग करना है। [SWS_FrTp_00580] के अनुसार, FrTp_MainFunction FrTp मॉड्यूल के आगामी प्रसंस्करण कार्यों (processing tasks) के लिए बाध्यकारी प्रवेश बिंदु का प्रतिनिधित्व करता है, जिसके द्वारा आंतरिक प्रोटोकॉल प्रक्रियाओं को चक्रीय रूप से संसाधित और प्रबंधित किया जाता है।

समय संबंधी शर्तें और सीमाएं

समग्र प्रणाली में समयबद्ध एकीकरण के लिए, विनिर्देश शेड्यूलिंग के लिए एक निश्चित न्यूनतम कॉल दर को परिभाषित करता है:

  • FrTp_MainFunction को प्रति FlexRay चक्र में कम से कम एक बार कॉल किया जाना चाहिए [SWS_FrTp_01152]।

विशिष्ट त्रुटि हैंडलिंग, DET या DEM संदेश, साथ ही पुनःप्रवेश्यता (reentrancy) या कॉनकरेंसी के स्पष्ट विनिर्देश वर्तमान विनिर्देश के दायरे में वर्णित नहीं हैं।

यह उपयोग निर्देश 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#07f37dcf
Content hash
07f37dcf
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayISOTransportLayer.pdf#nameddest=SWS_FrTp_00215

विषय मानचित्र

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

आरंभीकरण और स्थिति

FrTp_GetVersionInfo फ़ंक्शन

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);

सेवाएँ

FrTp_CancelReceive फ़ंक्शन

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

Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);
FrTp_CancelTransmit फ़ंक्शन

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

Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);
FrTp_ChangeParameter फ़ंक्शन

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);

कॉलबैक

FrTp_RxIndication फ़ंक्शन

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

void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
FrTp_TriggerTransmit फ़ंक्शन

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);
FrTp_TxConfirmation फ़ंक्शन

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);

चक्रीय

FrTp_MainFunction फ़ंक्शन

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

void FrTp_MainFunction (void);

टाइप

FrTp_ConfigType टाइप

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