DEENESPTFRRUARHIKOZHNL

FlexRay Transport Layer (FrTp)

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

ModulegidsAI-GEGENEREERD

Segmenteert en reassembleert grote berichten conform ISO 10681-2 tussen PDU Router en FlexRay Interface.
DOOR AI GEGENEREERD ongecontroleerd Model: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 74e3fa4a7265 Herkomst Open vragen (1)
Causaal anker: R20-11 Geldig vanaf R20-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Segmenteert en reassembleert grote berichten conform ISO 10681-2 tussen PDU Router en FlexRay Interface.

FrTp draagt grote berichten over tussen PduR en FrIf conform ISO 10681-2 ([SWS_FrTp_01005]). Het segmenteert en reassembleert deze, bestuurt de flow en verdeelt de bandbreedte via gezamenlijk gebruikte Tx-PDU-pools. FrTp_Transmit accepteert een verzendopdracht slechts; het eigenlijke werk wordt verricht door de cyclische FrTp_MainFunction, die ten minste eenmaal per FlexRay-cyclus moet draaien ([SWS_FrTp_01152]). Ondersteund worden bevestigde en onbevestigde overdrachten evenals berichten van onbekende lengte. Bij protocolfouten of ontoelaatbare segmentering breekt FrTp af en meldt E_NOT_OK aan de PduR.

FrTp is de transportlaag voor FlexRay conform ISO 10681-2. Waar de specificatie niets eigens vastlegt, volgt de module deze norm ([SWS_FrTp_01005]). Het splitst grote N-SDU's van de PduR op in N-PDU's, geeft deze met FrIf_Transmit door aan FrIf en assembleert ontvangen frames weer ([SWS_FrTp_01050], FrTp SWS p. 19). Er wordt alleen verwerkt in de toestand FRTP_ON, dus tussen FrTp_Init en FrTp_Shutdown ([SWS_FrTp_01032], [SWS_FrTp_01036]). FrTp_MainFunction moet ten minste eenmaal per FlexRay-cyclus draaien ([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

Contextdiagram: FrTp tussen PduR en FrIf, bestuurd door EcuM en BSW-scheduler. Bronnen: [SWS_FrTp_00577], FrTp SWS p. 21

Verzenden begint altijd met FrTp_Transmit. De aanroep reserveert slechts één kanaal en stelt TX_SDU_AVAILABLE in ([SWS_FrTp_00136], [SWS_FrTp_01039]). De MainFunction handelt de rest af: deze haalt de gegevens op via PduR_FrTpCopyTxData, reserveert de eerste vrije pool-PDU en beslist over de segmentering ([SWS_FrTp_01045], [SWS_FrTp_01048]). In de modus „Decoupled Buffer Access” haalt FrIf de gegevens later op via FrTp_TriggerTransmit ([SWS_FrTp_01060]). PduR_FrTpTxConfirmation volgt na elke geaccepteerde opdracht ([SWS_FrTp_01058]).

Verzenden van een N-SDU (Immediate / Decoupled Buffer Access)PduRFrTpFrIfFrTp_Transmit(TxPduId, PduInfoPtr)TxPduId controleren, vrij kanaal toewijzenTX_SDU_AVAILABLE setzenAuftrag angenommenUse Case: FrTp_MainFunctionPduR_FrTpCopyTxData(beschikbare lengte)ersten freien FrTpTxPdu belegenSegmentierung entscheidenlooptotdat alle N-SDU-gegevens zijn verzondenPduR_FrTpCopyTxData(lengte FrTpTxPdu)Address Information en PCI voorbereidenFrIf_Transmit(TxPduId)optDecoupled Buffer AccessFrTp_TriggerTransmit(TxPduId, PduInfoPtr)AI, PCI en gegevens gekopieerdFrTp_TxConfirmation(TxPduId, E_OK)FrTpTxPdu op idle instellenoptFlowControl erwartetwarten, bis FlowControl per FrTp_RxIndication eintrifftKanal freigebenTX_SDU_AVAILABLE resettenPduR_FrTpTxConfirmation(E_OK)

Sequentiediagram: acceptatie van de opdracht, verwerking in de MainFunction, bevestiging per N-PDU en aan het einde aan de PduR. Bronnen: FrTp SWS p. 44, [SWS_FrTp_01042]

Bij ontvangst controleert FrTp RxPduId en adressen tegen de verbindingsconfiguratie ([SWS_FrTp_01069], [SWS_FrTp_01071]). Bij een nieuwe verbinding roept het PduR_FrTpStartOfReception aan, kopieert het de fragmenten naar boven en verzendt het indien nodig FlowControl ([SWS_FrTp_01078], [SWS_FrTp_01080]). Er worden zes varianten ondersteund: ongefragmenteerd of gefragmenteerd, met of zonder ontvangstbevestiging, met bekende of onbekende lengte ([SWS_FrTp_01007]–[SWS_FrTp_01012]). Meerdere verbindingen delen Tx-PDU-pools en worden afwisselend bediend ([SWS_FrTp_01020], [SWS_FrTp_01096]).

In geval van een fout breekt FrTp in drie situaties af en meldt het E_NOT_OK aan de PduR: bij een ongeldige of afbrekende Flow Status en bij noodzaak tot segmentatie op 1:n-verbindingen ([SWS_FrTp_01198], [SWS_FrTp_01208]). Runtimefouten zijn FRTP_E_SEG_ERROR en FRTP_E_NO_CHANNEL. Timers en tellers zoals de FC.WAIT-limiet beperken wachttijden ([SWS_FrTp_01100], [SWS_FrTp_01114]). Lopende overdrachten kunnen met FrTp_CancelTransmit en FrTp_CancelReceive worden afgebroken ([SWS_FrTp_01116], [SWS_FrTp_01181]).

Rol in de FlexRay-stack en modulestatus

FrTp is de FlexRay-transportlaag conform ISO 10681-2. Waar de specificatie niets eigens vastlegt, volgt de module deze norm en ondersteunt het de N-PDU-formaten daarvan ([SWS_FrTp_01005], [SWS_FrTp_01006]). Naar boven bedient FrTp de PduR. De PduR start overdrachten met FrTp_Transmit, breekt ze af of wijzigt parameters. FrTp levert via PduR_FrTpStartOfReception, PduR_FrTpCopyRxData, PduR_FrTpCopyTxData, PduR_FrTpRxIndication en PduR_FrTpTxConfirmation gegevens en resultaten terug (FrTp SWS p. 19). Naar beneden draagt FrTp N-PDU's over met FrIf_Transmit ([SWS_FrTp_01050]). FrIf meldt zich terug met FrTp_RxIndication, FrTp_TxConfirmation en FrTp_TriggerTransmit (FrTp SWS p. 21). De EcuM roept FrTp_Init en FrTp_Shutdown aan (FrTp SWS p. 19). De BSW-scheduler roept FrTp_MainFunction aan ([SWS_FrTp_00162], FrTp SWS p. 81).

Een verschil tussen de releases: latere versies schakelen een L-SDU-router (LSduR) tussen FrTp en FrIf (FrTp SWS p. 19). Voor R20-11 geldt de directe interface naar FrIf, zoals vastgelegd door [SWS_FrTp_00577] en [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

Contextdiagram: FrTp bevindt zich tussen PduR en FrIf en wordt aangestuurd door EcuM en BSW-scheduler. Bronnen: FrTp SWS p. 19, FrTp SWS p. 21, [SWS_FrTp_00577]

De module kent twee toestanden, FRTP_OFF en FRTP_ON ([SWS_FrTp_01028]). Welke van toepassing is, legt de statusvariabele FrTpState vast ([SWS_FrTp_01029], [SWS_FrTp_01106]). Na het inschakelen bevindt FrTp zich in FRTP_OFF ([SWS_FrTp_01030]). Pas een succesvolle FrTp_Init met pointer naar FrTp_ConfigType schakelt naar FRTP_ON ([SWS_FrTp_01032], [SWS_FrTp_00147], [SWS_FrTp_01194]). Segmentatie en reassemblage draaien alleen in FRTP_ON ([SWS_FrTp_01033]). FrTp_Shutdown beëindigt alle openstaande verbindingen door het bedrijf eenvoudig te stoppen. Het geeft de resources vrij en keert terug naar FRTP_OFF ([SWS_FrTp_00148], [SWS_FrTp_01036]).

lebenszyklus start OFF FRTP_OFF (geen verwerking) start->OFF Einschalten ON FRTP_ON (Segmentierung, Reassemblierung, Verbindungsverarbeitung) OFF->ON FrTp_Init(configPtr) erfolgreich ON->OFF FrTp_Shutdown() alle verbindingen beëindigd, resources vrijgegeven

Toestandsdiagram: alleen tussen FrTp_Init en FrTp_Shutdown verwerkt FrTp gegevens. Bronnen: [SWS_FrTp_01030], [SWS_FrTp_01032], [SWS_FrTp_01036], FrTp SWS p. 38

FrTp_MainFunction plant de module in en is het instappunt voor alle verwerkingstaken ([SWS_FrTp_00203], [SWS_FrTp_00580]). Deze moet minstens eenmaal per FlexRay-cyclus worden uitgevoerd ([SWS_FrTp_01152]). De callbacks zetten daarentegen in wezen alleen vlaggen: TX_SDU_AVAILABLE bestaat per kanaal ([SWS_FrTp_00415], [SWS_FrTp_00416]). RX_PDU_AVAILABLE bestaat per ontvangbare N-PDU en wordt na de verwerking gewist ([SWS_FrTp_00418], [SWS_FrTp_00421]).

Overdrachtsvarianten conform ISO 10681-2

FrTp ondersteunt zes framevolgordes. Ze verschillen op drie punten: of het bericht wordt gesegmenteerd, of de ontvanger bevestigt en of de lengte bij aanvang van de overdracht bekend is (FrTp SWS p. 27, FrTp SWS p. 31):

VariantKenmerkende framesReferentie
ongesegmenteerd, zonder ontvangstbevestiging, lengte bekendSTFU[SWS_FrTp_01007]
ongesegmenteerd, met ontvangstbevestiging, lengte bekendSTFA → FC.ACK[SWS_FrTp_01008]
gesegmenteerd, zonder ontvangstbevestiging, lengte bekendSTFU, FC.CTS, CF, CFEOB, LF[SWS_FrTp_01009]
gesegmenteerd, met ontvangstbevestiging, lengte bekendSTFA, FC.CTS, CF, CFEOB, LF, FC.ACK[SWS_FrTp_01010]
gesegmenteerd, zonder ontvangstbevestiging, lengte onbekendals hierboven, totale lengte pas in het LF[SWS_FrTp_01011], [SWS_FrTp_01067]
gesegmenteerd, met ontvangstbevestiging, lengte onbekendals hierboven, aanvullend FC.ACK[SWS_FrTp_01012]

In de gesegmenteerde, bevestigde varianten zou het FC.ACK na het LastFrame moeten volgen en de overdracht voltooien. Vraag Q-f3c70b1506e2cde4 (open) Dat is een interpretatie van de bijschriften, waarvan de volgorde niet eenduidig is (FrTp SWS p. 29). Het volgende diagram toont het gesegmenteerde basisgeval zonder ontvangstbevestiging.

Gesegmenteerde overdracht zonder bevestiging, lengte bekendFrTp SenderFrTp-ontvangerStartFrame (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)

Sequentiediagram: de ontvanger geeft elk blok vrij via FC.CTS, en CFEOB sluit een blok af. Bronnen: [SWS_FrTp_01009], FrTp SWS p. 28

Overdracht met onbekende lengte:

Verbindingen, kanalen en PDU-pools

Elke communicatierelatie is een eigen FrTpConnection. Het aantal daarvan is post-build configureerbaar ([SWS_FrTp_01014], [SWS_FrTp_01015]). Elke verbinding heeft een modulebreed uniek adresparen en een unieke FRTP_SDUID ([SWS_FrTp_01017], [SWS_FrTp_01018]). Meerdere verbindingen kunnen een FrTpConnectionControl en een FrTpTxPduPool delen ([SWS_FrTp_01022], [SWS_FrTp_01020]). Tijdens runtime werken meerdere FrTpChannel parallel; het aantal daarvan legt FrTpChanNum vast ([SWS_FrTp_00088], [SWS_FrTp_00228]). Voor zenden en ontvangen wisselen de kanalen telkens tussen “idle” en “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 Referentie (voor FlowControl) NPdu Tx N-PDU's (oplopend, individuele lengte) Pool->NPdu bevat FrIf FrIf NPdu->FrIf SF, CF, LF / FC

Contextdiagram: een half-duplex-kanaal verwijst naar een Tx- en een Rx-verbinding. Beide refereren aan stuurparameters en een Tx-PDU-pool. Bronnen: FrTp SWS p. 39, [SWS_FrTp_01020], [SWS_FrTp_01088]

Adressen:

  • Bij het zenden neemt FrTp adressen over uit de metadata SOURCE_ADDRESS_16 en TARGET_ADDRESS_16. Geconfigureerde FrTpLa/FrTpRa hebben daarbij voorrang ([SWS_FrTp_01204], [SWS_FrTp_01205]).
  • Bij ontvangst geeft FrTp de adressen als metadata door naar boven. Dezelfde adressen gebruikt het voor FlowControl ([SWS_FrTp_01206]).

Bandbreedte verdeelt FrTp via de pools:

Verzendpad: van FrTp_Transmit tot PduR_FrTpTxConfirmation

Elke verzending begint met FrTp_Transmit ([SWS_FrTp_00136], [SWS_FrTp_00149]). De aanroep stelt TX_SDU_AVAILABLE alleen in als de TxPduId geldig is en er een kanaal vrij is ([SWS_FrTp_01039]). Anders eindigt deze met E_NOT_OK. Hetzelfde geldt als er voor hetzelfde adres al een overdracht loopt ([SWS_FrTp_01041], [SWS_FrTp_01200]).

Het eigenlijke werk wordt gedaan door FrTp_MainFunction:

  1. Deze vraagt de beschikbare lengte op via PduR_FrTpCopyTxData ([SWS_FrTp_01042]).
  2. Deze reserveert de eerste vrije FrTpTxPdu ([SWS_FrTp_01045]).
  3. Deze beslist over de segmentatie ([SWS_FrTp_01048]).
  4. Deze kopieert gegevens op PDU-lengte ([SWS_FrTp_01123]).
  5. Deze draagt de N-PDU met exacte lengte over aan FrIf_Transmit ([SWS_FrTp_01051]).

Het verloop wordt getoond door FrTp SWS p. 44.

segmentierung start laenge TX_SDU_AVAILABLE ingesteld: PduR_FrTpCopyTxData levert beschikbare lengte start->laenge frei vrije FrTpTxPdu in de pool? laenge->frei warten Verbinding uitstellen tot de volgende FrTp_MainFunction frei->warten nein groesse FrTpTxSdu.Length > FrTpTxPdu.Length - AI.Length - PCI.Length? frei->groesse ja unseg unsegmentiert (einzelner StartFrame) groesse->unseg nein multi 1:n-Verbindung? groesse->multi ja senden AI en PCI voorbereiden, PduR_FrTpCopyTxData (lengte FrTpTxPdu), FrIf_Transmit unseg->senden fehler FRTP_E_SEG_ERROR melden, overdracht afbreken, PduR_FrTpTxConfirmation(E_NOT_OK) multi->fehler ja seg segmentiert (StartFrame, CF ..., LastFrame) multi->seg nein seg->senden

Activiteitendiagram: beslissing tussen ongesegmenteerde en gesegmenteerde overdracht, inclusief afbreken op 1:n-verbindingen. Bronnen: [SWS_FrTp_01047], [SWS_FrTp_01048], [SWS_FrTp_01208], FrTp SWS p. 51

Belangrijk voor de doorvoer: als er geen PDU vrij is, stelt FrTp de verbinding uit tot de volgende MainFunction-aanroep ([SWS_FrTp_01047]).

Na elke N-PDU roept FrIf FrTp_TxConfirmation aan. Dat zet de FrTpTxPdu op “idle” ([SWS_FrTp_01052], [SWS_FrTp_01054]). Kanaal en vlag komen vrij zodra aan drie voorwaarden is voldaan: alle gegevens verzonden, positief bevestigd en, indien geconfigureerd, met ontvangstbevestiging ([SWS_FrTp_01056], [SWS_FrTp_01057]). PduR_FrTpTxConfirmation volgt na elke geaccepteerde opdracht, met E_OK alleen in geval van succes ([SWS_FrTp_01058]). Voor het zenden zijn er twee buffertoegangstypen: “Immediate” en “Decoupled Buffer Access” ([SWS_FrTp_01084]). Bij “Decoupled” haalt FrIf de gegevens later op via FrTp_TriggerTransmit. Deze aanroep kopieert Address Information, PCI en gebruikersgegevens naar de klaargezette buffer ([SWS_FrTp_01060], [SWS_FrTp_01061], FrTp SWS p. 50).

Verzenden van een N-SDU (Immediate / Decoupled Buffer Access)PduRFrTpFrIfFrTp_Transmit(TxPduId, PduInfoPtr)TxPduId controleren, vrij kanaal toewijzenTX_SDU_AVAILABLE setzenAuftrag angenommenUse Case: FrTp_MainFunctionPduR_FrTpCopyTxData(beschikbare lengte)ersten freien FrTpTxPdu belegenSegmentierung entscheidenlooptotdat alle N-SDU-gegevens zijn verzondenPduR_FrTpCopyTxData(lengte FrTpTxPdu)Address Information en PCI voorbereidenFrIf_Transmit(TxPduId)optDecoupled Buffer AccessFrTp_TriggerTransmit(TxPduId, PduInfoPtr)AI, PCI en gegevens gekopieerdFrTp_TxConfirmation(TxPduId, E_OK)FrTpTxPdu op idle instellenoptFlowControl erwartetwarten, bis FlowControl per FrTp_RxIndication eintrifftKanal freigebenTX_SDU_AVAILABLE resettenPduR_FrTpTxConfirmation(E_OK)

Sequentiediagram: de opdracht komt synchroon binnen en wordt asynchroon in de MainFunction verwerkt; optioneel volgt TriggerTransmit (Decoupled). Bronnen: FrTp SWS p. 44, FrTp SWS p. 50, [SWS_FrTp_01058]

Ontvangstpad en reassemblage

De ontvangst begint met FrTp_RxIndication ([SWS_FrTp_00137]). FrTp verwerkt een N-PDU alleen als aan twee voorwaarden is voldaan ([SWS_FrTp_01069], [SWS_FrTp_01071]):

  • De RxPduId is geldig.
  • Het bestemmingsadres komt overeen met FrTpLa en het bronadres met FrTpRa.

Anders wordt de N-PDU genegeerd ([SWS_FrTp_01072]). Is er geen Rx-kanaal vrij, dan eindigt de verwerking en meldt FrTp FRTP_E_NO_CHANNEL ([SWS_FrTp_01076], [SWS_FrTp_01186]). Een StartFrame slaat FrTp op in een lokale buffer. Zo kan een gateway dit ook bij een kortstondig gebrek aan resources correct verwerken (FrTp SWS p. 56).

Bij een nieuwe verbinding roept FrTp PduR_FrTpStartOfReception aan. Meegegeven worden de verwachte lengte evenals inhoud en omvang van het StartFrame ([SWS_FrTp_01078], [SWS_FrTp_01193]). Waar deze aanroep plaatsvindt, tonen de R20-11-diagrammen in twee varianten: in FrTp_RxIndication (FrTp SWS p. 55) en in FrTp_MainFunction (FrTp SWS p. 86). R23-11 staat uitdrukkelijk beide toe (FrTp SWS p. 54).

Daarna kopieert FrTp de fragmenten via PduR_FrTpCopyRxData en verzendt het FlowControl waar het protocol dit vereist ([SWS_FrTp_01138], [SWS_FrTp_01080]). Het kanaal wordt vrijgegeven wanneer alle gegevens zijn ontvangen en alle FlowControls zijn bevestigd ([SWS_FrTp_01081]). PduR_FrTpRxIndication volgt altijd wanneer PduR_FrTpStartOfReception succesvol was ([SWS_FrTp_01083]).

Ontvangst en reassemblageFrIfFrTpPduRFrTp_RxIndication(RxPduId, PduInfoPtr)RxPduId controlerenBestemming/bron tegen FrTpLa/FrTpRa controlerenaltStartFrame empfangenfreien Rx-Kanal belegenStartFrame in lokalen Puffer kopierenFolgerahmen (CF, LF)bijbehorend kanaal zoekenRX_PDU_AVAILABLE setzenUse Case: FrTp_MainFunction (StartOfReception alternativ schon in FrTp_RxIndication)optneue VerbindungPduR_FrTpStartOfReception(RxSduId, gegevens en grootte van het StartFrame, lengte)Puffer bereitgestelltPduR_FrTpCopyRxData (N-SDU-Fragment)optFlowControl erforderlichFrIf_Transmit(FC N-PDU)FrTp_TxConfirmation(E_OK)RX_PDU_AVAILABLE resettenoptN-SDU volledig ontvangenRx-Kanal freigebenPduR_FrTpRxIndication(RxSduId, E_OK)

Sequentiediagram: de callback controleert en buffert, de MainFunction reassembleert en verzendt FlowControl. Bronnen: FrTp SWS p. 55, [SWS_FrTp_01074], [SWS_FrTp_01083]

Afbreken en runtimeparameters

Of verzendafbraak beschikbaar is, legt FrTpTransmitCancellation statisch vast; deze wordt geactiveerd met FrTp_CancelTransmit ([SWS_FrTp_01097], [SWS_FrTp_00384]). Het effect hangt af van de voortgang:

  • Is de opdracht geaccepteerd, maar nog niet gestart, dan komt de verbinding direct vrij. De ontvanger merkt niets ([SWS_FrTp_00385], FrTp SWS p. 63).
  • Loopt de overdracht al, dan stopt FrTp deze met E_OK ([SWS_FrTp_01116]).
  • E_NOT_OK volgt wanneer er geen verbinding actief is of de laatste N-PDU van een niet-bevestigde overdracht al aan FrIf is overgedragen ([SWS_FrTp_01116]).

In het gesegmenteerde geval verloopt bij de ontvanger een time-out die de ontvangst beëindigt (FrTp SWS p. 59).

Verzendafbreking bij gesegmenteerde overdrachtPduR (Sender)FrTp SenderFrTp-ontvangerPduR (ontvanger)FrTp_TransmitUse Case: FrTp_MainFunctionStartFramePduR_FrTpStartOfReceptionFlowControlFrTp_CancelTransmit(TxPduId)E_OKOverdracht gestopt, geen verdere CFTimeout (geen CF binnengekomen)PduR_FrTpRxIndication(Empfang abgebrochen)

Sequentiediagram: breekt de zender een lopende gesegmenteerde overdracht af, dan beëindigt de ontvanger de ontvangst via een time-out. Bronnen: [SWS_FrTp_01116], FrTp SWS p. 69

FrTp_CancelReceive breekt een lopende ontvangst af wanneer de RxPduId geldig is, en levert dan E_OK op ([SWS_FrTp_01181], [SWS_FrTp_01183]). Bij ongesegmenteerde ontvangst of een lopend LastFrame wijst de functie dit af ([SWS_FrTp_01182]). FrTp_ChangeParameter wijzigt tijdens runtime de BandwidthControl-waarden FrTpSCexp en FrTpMaxNbrOfNPduPerCycle ([SWS_FrTp_00242]). De bitlayout komt overeen met die van het FC(CTS)-frame ([SWS_FrTp_01195]). De parameteridentificatie hiervoor is TP_BC (ComStack Types p. 18). Tijdens een lopende ontvangst wordt de wijziging afgewezen ([SWS_FrTp_01115]). Na een succesvolle wijziging gebruikt de verbinding de nieuwe waarden ([SWS_FrTp_01156]).

Gedrag in het foutgeval

Ontwikkelfouten zijn vastgelegd in [SWS_FrTp_01201]:

  • FRTP_E_UNINIT: aanroep zonder initialisatie; uitgezonderd zijn FrTp_Init en FrTp_GetVersionInfo.
  • FRTP_E_PARAM_POINTER: NULL-pointer.
  • FRTP_E_INVALID_PDU_SDU_ID: ongeldige SDU- of PDU-ID.
  • FRTP_E_INVALID_PARAMETER: ongeldige parameter.
  • FRTP_E_UMSG_LENGTH_ERROR: onbekende lengte zonder passende configuratie ([SWS_FrTp_01134]).
  • een foutcode voor een mislukte initialisatie.

De API's controleren ID's en pointers en leveren bij fouten E_NOT_OK op waar ze een retourwaarde hebben ([SWS_FrTp_01139], [SWS_FrTp_01145], [SWS_FrTp_01147]). Runtimefouten zijn FRTP_E_SEG_ERROR (0x05) en FRTP_E_NO_CHANNEL (0x07). Ze verlopen via Det_ReportRuntimeError ([SWS_FrTp_01208], [SWS_FrTp_00577]).

In drie gevallen breekt de zender af en meldt PduR_FrTpTxConfirmation met E_NOT_OK:

Een FrTp_TxConfirmation met E_NOT_OK geeft aan beide zijden het kanaal vrij ([SWS_FrTp_01056], [SWS_FrTp_01081]). De vlag RX_ERROR onthoudt een ontvangstfout totdat FlowControl verzonden mag worden. Na de reactie (retry, negatieve bevestiging of afbreken) wordt deze gewist ([SWS_FrTp_00429], [SWS_FrTp_00430]). Op 1:n-verbindingen is er noch bevestiging noch retry ([SWS_FrTp_00598]).

Timers en timeouts volgen de tabellen van de specificatie ([SWS_FrTp_01099], [SWS_FrTp_01100], FrTp SWS p. 67). De configuratie moet aan de volgende voorwaarden voldoen:

Als de PduR bij het verzenden BUFREQ_E_BUSY oplevert, probeert FrTp het tot FrTpTimeCs keer opnieuw ([SWS_FrTp_01196]). De tellers zijn begrensd ([SWS_FrTp_01105], [SWS_FrTp_01114]). Wat er gebeurt bij het bereiken van een limiet, legt [SWS_FrTp_01113] vast; de bijbehorende tabel is hier niet beschikbaar. Als de ontvanger een buffer ontbreekt, verzendt hij FC.WAIT. Het aantal van deze frames wordt begrensd door FrTpMaxFCWait (FrTp SWS p. 69).

Buffertekort bij de ontvanger: FC.WAIT en tellerlimietFrTp SenderFrTp-ontvangerPduR (ontvanger)StartFrameZender bewaakt Timeout_BSPduR_FrTpStartOfReceptionkein Pufferloopkein Puffer; COUNTER_FCWT begrenzt durch FrTpMaxFCWaitFlowControl (WAIT)Pufferanforderung wiederholenkein PufferPufferanforderungBuffer beschikbaarPduR_FrTpCopyRxDataFlowControl (CTS)ConsecutiveFrameOntvanger bewaakt Timeout_CR

Sequentiediagram: Als de buffer ontbreekt, verzendt de ontvanger FC.WAIT totdat de tellerlimiet van kracht wordt; daarna zet FC.CTS de overdracht voort. Bronnen: [SWS_FrTp_01105], [SWS_FrTp_01114], FrTp SWS p. 70

Verdere gedetailleerde bewijzen

AI-gegenereerde handleiding op basis van de specificatie-uittreksels in de payload. Normatief voor R20-11 zijn de gekoppelde requirements; documentpassages van andere releases dienen slechts ter toelichting.

FlexRay Transport Layer (FrTp)

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

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

functie 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 ).

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c550cdee4114 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie FrTp_Init initialiseert alle globale variabelen van een instantie van de FlexRay-transportlaag en brengt deze in de rusttoestand [SWS_FrTp_00147]. Als invoerparameter wordt via configPtr een pointer naar de configuratie van het FlexRay-transportprotocol doorgegeven (const FrTp_ConfigType*) [SWS_FrTp_00147]. De interface wordt via de header FrTp.h gedeclareerd met de service-ID 0x00 [SWS_FrTp_00147].

Ten aanzien van het interne gedrag en de foutafhandeling gelden de volgende bepalingen:

  • Nadat de transportlaag succesvol is geïnitialiseerd door de aanroep van FrTp_Init, gaat de FrTp-module over naar de interne toestand FRTP_ON [SWS_FrTp_01032].
  • De functie heeft geen retourwaarde (void), aangezien softwarefouten in de initialisatiegegevens al tijdens de configuratiefase, bijvoorbeeld door een configuratietool, moeten worden gedetecteerd [SWS_FrTp_00147].

Wat betreft de concurrency is de service gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_FrTp_00147]. Een parallelle of meervoudige ongecoördineerde aanroep is daarom niet toegestaan. Interpretatie: de aanroep zal doorgaans centraal plaatsvinden tijdens het opstarten van de ECU voorafgaand aan het gebruik van reguliere transportservices. Vraag Q-9b7cf7fc6dac510e (open)

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen van AUTOSAR R20-11.

Implementer's Guide volgt (complexiteit I1)

functie 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 00fb8d95a0be Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie FrTp_Shutdown beëindigt de werking van de FlexRay-transportprotocolmodule (FrTp) [SWS_FrTp_00148]. Bij aanroep sluit de service alle nog openstaande transportprotocolverbindingen onmiddellijk door de werking te staken, geeft alle bezette resources vrij en stopt de FrTp-module volledig [SWS_FrTp_00148].

Met betrekking tot de interfacespecificatie en het gedrag gelden de volgende eigenschappen:

  • Signatuur en header: De functie is beschikbaar via het headerbestand FrTp.h, heeft de service-ID 0x01, verwacht geen parameters en levert geen retourwaarde op (void) [SWS_FrTp_00148].
  • Concurrency: FrTp_Shutdown is gespecificeerd als niet re-entrant (Non Reentrant) en moet synchroon worden uitgevoerd [SWS_FrTp_00148]. Een gelijktijdige of meervoudige parallelle aanroep is daarom niet toegestaan.
  • Toestandsovergang: Door de succesvolle uitvoering van de service-primitieve FrTp_Shutdown() gaat de FrTp-module over naar de interne toestand FRTP_OFF [SWS_FrTp_01036].

Aangezien de dienst openstaande verbindingen sluit door simpelweg de werking te staken, zullen lopende overdrachten vermoedelijk direct en zonder afzonderlijke voltooiingsmelding worden afgebroken. Vraag Q-35555515f521d0c3 (open)

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie R20-11.

Implementer's Guide volgt (complexiteit I1)

functie FrTp_Transmit [SWS_FrTp_00149] 📄 PDF

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

Requests transmission of a PDU.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ad193864f748 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en semantiek

De synchrone functie FrTp_Transmit vraagt de overdracht van een PDU aan via de FlexRay-transportlaagmodule [SWS_FrTp_00149]. Via de parameter TxPduId wordt de identifier van de te verzenden PDU doorgegeven, terwijl PduInfoPtr verwijst naar de payload, metadata en de lengte [SWS_FrTp_00149]. Indien een overdracht met een voor de bovenliggende laag nog onbekende berichtlengte moet worden geïnitieerd, dient FrTp_Transmit te worden aangeroepen met de parameterwaarde PduLength = 0 [SWS_FrTp_01064]. De acceptatie van het zendverzoek wordt synchroon bevestigd met E_OK; kan het verzoek niet worden geaccepteerd, dan retourneert de functie E_NOT_OK [SWS_FrTp_00149].

Concurrency en kanaalbeschikbaarheid

De functie is re-entrant voor aanroepen met verschillende PDU-ID's, maar niet-re-entrant voor dezelfde identifier TxPduId [SWS_FrTp_00149]. Bovendien vereist de uitvoering een vrij overdrachtskanaal: als er geen kanaal beschikbaar is omdat de toestand zich niet in idle bevindt (FrTpTxChannelState ≠ Idle), breekt de functie af en retourneert E_NOT_OK [SWS_FrTp_01041].

Foutafhandeling

Indien de ontwikkelingsinterface voor foutdetectie actief is, valideert FrTp_Transmit de doorgegeven parameters:

  • Als er een niet-ondersteunde of ongeldige TxPduId wordt doorgegeven, breekt de service af met E_NOT_OK en meldt de ontwikkelingsfout FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01040], [SWS_FrTp_01139].
  • Als de pointer PduInfoPtr ongeldig is, wordt de fout FRTP_E_PARAM_POINTER gemeld en breekt de uitvoering eveneens af met E_NOT_OK [SWS_FrTp_01140].

Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie.

Implementer's Guide volgt (complexiteit I1)

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ce8fe8bc8ce1 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone servicefunctie FrTp_CancelTransmit vraagt het afbreken van een lopende PDU-overdracht in een onderliggende communicatiemodule aan [SWS_FrTp_00150]. De af te breken overdracht wordt geadresseerd via de ingangsparameter TxPduId [SWS_FrTp_00150].

Toestandsafhankelijk gedrag en retourwaarden

Het gedrag bij het afbreken hangt af van de actuele toestand van de verbinding:

  • Als het zendverzoek weliswaar in behandeling is, maar de overdracht zelf nog niet is gestart, geeft FrTp_CancelTransmit de verbinding onmiddellijk vrij [SWS_FrTp_00385].
  • Beleert de overdracht zich al in uitvoering, dan stopt de functie het verzendproces en bevestigt de succesvolle afbreking met de retourwaarde E_OK [SWS_FrTp_01116].
  • Als de verbinding niet actief is of als de laatste N-PDU van een onbevestigde overdracht al is doorgestuurd naar het FrIf, mislukt het afbreken en retourneert de functie E_NOT_OK [SWS_FrTp_01116].

Foutafhandeling en gelijktijdigheid

Voor zover ontwikkelingsfoutdetectie (Development Error Detection) voor FrTp_CancelTransmit is geactiveerd, controleert de functie de parameter TxPduId op geldigheid. Mislukt deze controle, dan wordt de ontwikkelingsfout FRTP_E_INVALID_PDU_SDU_ID gemeld en wordt E_NOT_OK geretourneerd [SWS_FrTp_01141].

De functie is re-entrant voor aanroepen met verschillende PDU-ID's, maar mag voor dezelfde TxPduId niet gelijktijdig worden uitgevoerd [SWS_FrTp_00150].

Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie AUTOSAR CP R20-11.

Implementer's Guide volgt (complexiteit I2)

functie 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).

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: a8ec21fec13d Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie FrTp_ChangeParameter dient conform [SWS_FrTp_00151] voor het verzoek om specifieke parameters van het transportprotocol tijdens runtime te wijzigen. Via de parameter id wordt gerefereerd aan de betreffende PDU, terwijl parameter de identificatie van de parameter en value de nieuwe waarde doorgeeft. Bij een succesvolle aanpassing retourneert de functie E_OK, anders wordt het wijzigingsverzoek met E_NOT_OK afgewezen [SWS_FrTp_00151].

Concreet wordt deze service gebruikt om parameters van de FlowControl-PDU voor bandbreedteregeling (BandwidthControl, BC) conform ISO 10681-2 tijdens runtime te wijzigen [SWS_FrTp_00242]. Dit betreft:

Aan zenderzijde wordt een hierdoor geactiveerde extra FlowControl-PDU als onverwachte N-PDU ontvangen en genegeerd [SWS_FrTp_00242].

Foutafhandeling

Als ontwikkelingsfoutdetectie (Development Error Detection) voor de functie is ingeschakeld, worden formele parametercontroles uitgevoerd:

  • Controle van de PDU-identificatie id: Is de waarde ongeldig, dan meldt de functie de ontwikkelingsfout FRTP_E_INVALID_PDU_SDU_ID en levert E_NOT_OK op [SWS_FrTp_01143].
  • Controle van de parameter parameter: Is de identificatie ongeldig, dan meldt de functie FRTP_E_INVALID_PARAMETER en geeft E_NOT_OK terug [SWS_FrTp_01144].

Gelijktijdigheid en beperkingen

De functie is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_FrTp_00151]. Oproepers moeten er daarom voor zorgen dat aanroepen sequentieel verlopen; vermoedelijk is bij toegang vanuit verschillende taken externe synchronisatie vereist. Vraag Q-fe82be70448a3e0b (open)

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.

Implementer's Guide volgt (complexiteit I1)

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 0a137ff0f510 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie FrTp_CancelReceive verzoekt om het afbreken van een lopende PDU-ontvangst in de FlexRay-transportlaag [SWS_FrTp_01172]. Deze is beschikbaar via de header FrTp.h en maakt het mogelijk om een actieve ontvangstbewerking doelgericht te stoppen.

Parameters en retourwaarden

Als ingangsparameter wordt RxPduId van het type PduIdType meegegeven, waardoor de af te breken PDU eenduidig wordt geïdentificeerd [SWS_FrTp_01172]. Aanvullende in- of uitgangsparameters bestaan niet. De functie levert een statuswaarde van het type Std_ReturnType terug:

Gelijktijdigheid en beperkingen

De functie is geclassificeerd als niet-re-entrant (Non Reentrant) [SWS_FrTp_01172]. Oproepers moeten er daarom voor zorgen dat er geen parallelle of geneste aanroepen plaatsvinden om inconsistenties bij het interne PDU-statusbeheer te voorkomen.

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie.

Implementer's Guide volgt (complexiteit I1)

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: fdebe9a74064 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie [SWS_FrTp_00154] dient voor het gereedstellen van SDU-gegevens voor overdracht. Via de parameter TxPduId wordt de over te dragen SDU geïdentificeerd, terwijl PduInfoPtr verwijst naar een structuur met de doelbuffer (SduDataPtr) en de beschikbare buffergrootte (SduLength) [SWS_FrTp_00154].

Binnen de functie wordt gecontroleerd of de gereedgestelde gegevens in de via PduInfoPtr->SduLength gemelde doelbuffer passen [SWS_FrTp_00154]:

  • Geslaagde kopieerbewerking: Is de buffercapaciteit voldoende, dan kopieert de functie de adresinformatie, PCI evenals N-SDU-gegevens naar de buffer PduInfoPtr->SduDataPtr [SWS_FrTp_01060]. De gegevenslengte in PduInfoPtr->SduLength wordt ingesteld op de exacte lengte van de gekopieerde gegevens en de functie geeft E_OK terug [SWS_FrTp_00154], [SWS_FrTp_01061].
  • Onvoldoende buffer: Passen de gegevens niet in de buffer, dan breekt de functie af en geeft E_NOT_OK terug, zonder PduInfoPtr te wijzigen [SWS_FrTp_00154]. In geval van een fout mag PduInfoPtr niet door de oproeper worden gebruikt, omdat deze ongeldige gegevens of een null-pointer kan bevatten [SWS_FrTp_00154].

Bij ingeschakelde ontwikkelingsfoutdetectie (DET) voert de functie voorafgaande controles van de overdrachtsparameters uit:

  • Is TxPduId ongeldig, dan meldt de functie de fout FRTP_E_INVALID_PDU_SDU_ID aan het DET en levert E_NOT_OK op [SWS_FrTp_01145].
  • Is PduInfoPtr ongeldig, dan meldt deze de fout FRTP_E_PARAM_POINTER aan het DET en geeft eveneens E_NOT_OK terug [SWS_FrTp_01146].

Wat betreft concurrency is de functie reentrant voor verschillende PDU-ID's, maar mag deze voor dezelfde TxPduId niet gelijktijdig worden aangeroepen [SWS_FrTp_00154].

Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie AUTOSAR CP R20-11.

Implementer's Guide volgt (complexiteit I2)

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: e20d38175b0c Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en semantiek

De synchrone callback-functie FrTp_RxIndication dient voor de indicatie van een ontvangen PDU van een onderliggende communicatie-interfacemodule aan de FlexRay ISO-transportlaagmodule en leidt het volledige ontvangstproces in [SWS_FrTp_00152], [SWS_FrTp_00137]. Deze is beschikbaar via de header FrTp.h en heeft de service-ID 0x42 zonder retourwaarde [SWS_FrTp_00152]. Als parameter verwacht deze de identifier van de ontvangen PDU (RxPduId) en een pointer naar een structuur van het type PduInfoType (PduInfoPtr) [SWS_FrTp_00152]. Deze pointer stelt de lengte van de ontvangen PDU (SduLength), een bufferpointer naar de payload (SduDataPtr) en de bijbehorende metadata beschikbaar [SWS_FrTp_00152].

Foutafhandeling

Wat betreft de foutafhandeling controleert de functie bij actieve foutdetectie (DET) beide ingangsparameters: als RxPduId ongeldig is, meldt deze de ontwikkelingsfout FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01147]. Als PduInfoPtr ongeldig is, wordt de fout FRTP_E_PARAM_POINTER gemeld [SWS_FrTp_01148]. Wordt er een niet-ondersteunde RxPduId doorgegeven, dan wordt de uitvoering zonder verdere acties beëindigd [SWS_FrTp_01075]. Indien er op het moment van de aanroep geen vrij ontvangstkanaal beschikbaar is omdat de kanaaltoestand niet Idle is (FrTpRxChannelState ≠ Idle), breekt de functie eveneens zonder verdere verwerking af [SWS_FrTp_01076] en triggert de module de runtimefout FRTP_E_NO_CHANNEL [SWS_FrTp_01186].

Gelijktijdigheid en wisselwerking

Wat betreft concurrency is FrTp_RxIndication re-entrant voor verschillende PDU-ID's, maar niet-re-entrant voor identieke PDU-ID's [SWS_FrTp_00152]. De aanroep moet synchroon plaatsvinden door de onderliggende interface om de ontvangst in de FrTp-module correct te starten [SWS_FrTp_00152], [SWS_FrTp_00137].

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen van AUTOSAR R20-11.

Implementer's Guide volgt (complexiteit I2)

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9cfd8edaa6b0 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie [SWS_FrTp_00153] dient ertoe dat de onderliggende communicatielaag aan de FrTp-module de geslaagde overdracht of het mislukken van een PDU meedeelt. Bij de aanroep geeft de onderliggende laag de geconfigureerde identificatie FrTpTxConfirmationPduId door in de parameter TxPduId evenals het verzendresultaat result ([SWS_FrTp_01053]). Geldige waarden voor result zijn E_OK bij een geslaagde verzending en E_NOT_OK bij een mislukte overdracht ([SWS_FrTp_00153]).

Als ontwikkelingsfoutdetectie (DET) is ingeschakeld, voert de functie een parametercontrole uit: Een ontoelaatbare identifier TxPduId leidt tot de ontwikkelingsfout FRTP_E_INVALID_PDU_SDU_ID ([SWS_FrTp_01149]), terwijl een ongeldige waarde voor result de fout FRTP_E_INVALID_PARAMETER tot gevolg heeft ([SWS_FrTp_01203]).

Wat betreft gelijktijdigheid is de functie re-entrant voor verschillende PDU-ID's, maar mag voor dezelfde TxPduId niet gelijktijdig worden aangeroepen ([SWS_FrTp_00153]). Bij elke aanroep met de bijbehorende FrTpTxConfirmationPduId decrementeert de module de teller TxPduPendingCounter ([SWS_FrTp_01092]).

In samenhang met de overdrachtsstatus bewerkstelligt de bevestiging de volgende statusovergangen:

  • Aan de zenderzijde wordt het bezette kanaal naar de status Idle (FrTpTxChannelState = Idle) overgebracht en worden de vlaggen TX_SDU_AVAILABLE en TX_SDU_UNKNOWN_MSG_LENGTH gereset zodra alle N-SDU-gegevens zijn verzonden, result de waarde E_OK heeft en een eventueel geconfigureerde ontvangstbevestiging is binnengekomen – of onmiddellijk wanneer result gelijk is aan E_NOT_OK ([SWS_FrTp_01056], [SWS_FrTp_01057], [SWS_FrTp_01124]).
  • Aan de ontvangerzijde wordt het bezette ontvangstkanaal (FrTpRxChannelState = Idle) vrijgegeven wanneer alle gegevens zijn ontvangen en alle vereiste Flow-Control-PDU's met E_OK zijn bevestigd, of wanneer de bevestiging met E_NOT_OK plaatsvindt ([SWS_FrTp_01081]).

Deze tekst is opgesteld door een AI en is gebaseerd op de specificaties van de AUTOSAR-release R20-11.

Implementer's Guide volgt (complexiteit I2)

functie FrTp_MainFunction [SWS_FrTp_00162] 📄 PDF

void FrTp_MainFunction (void);

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 74855f22061c Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De functie FrTp_MainFunction heeft de signatuur void FrTp_MainFunction (void); en is gespecificeerd met de service-ID 0x10 [SWS_FrTp_00162]. Deze accepteert geen invoerparameters en retourneert geen retourwaarde aan de aanroeper [SWS_FrTp_00162]. De declaratie is beschikbaar via de header SchM_FrTp.h [SWS_FrTp_00162]. Als interpretatie zal de functie dan ook doorgaans cyclisch worden aangeroepen door de BSW-scheduler (Schedule Manager). Vraag Q-aaa6251bd84aef94 (open)

Samenspel en taken

De hoofdtaak van de functie bestaat uit de scheduling van de FlexRay-transportprotocolmodule [SWS_FrTp_00162], [SWS_FrTp_00203]. Volgens [SWS_FrTp_00580] vormt FrTp_MainFunction het bindende instappunt voor openstaande verwerkingstaken (processing tasks) van de FrTp-module, waardoor de interne protocolprocessen cyclisch worden afgehandeld en beheerd.

Tijdvoorwaarden en beperkingen

Voor de temporele integratie in het totale systeem definieert de specificatie een vaste minimale aanroepfrequentie voor de scheduling:

  • FrTp_MainFunction moet ten minste eenmaal per FlexRay-cyclus worden aangeroepen [SWS_FrTp_01152].

Specifieke foutafhandelingen, DET- of DEM-meldingen evenals expliciete voorschriften met betrekking tot re-entry of concurrency worden in de onderhavige specificatieomvang niet beschreven.

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR R20-11.

Implementer's Guide volgt (complexiteit I1)

type 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#c905e643
Content hash
c905e643
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayISOTransportLayer.pdf#nameddest=SWS_FrTp_00215

Initialisatie en status

Returns the version information.

void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTp_Init functie

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

Diensten

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

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

Requests transmission of a PDU.

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

Callbacks

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

Cyclisch

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

void FrTp_MainFunction (void);

Typen

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