FlexRay Transport Layer (FrTp)
Provides segmented data transmission over FlexRay (ISO 10681-2).
Funktionen — Übersicht
void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information.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.void FrTp_Shutdown (void);This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops...Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);Request to change a specific transport protocol parameter (e.Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.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...void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.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.void FrTp_MainFunction (void);Schedules the Flex Ray TP.
Typen — Übersicht
struct FrTp_ConfigTypeThis is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will...
Funktionen & Typen — Detailansicht
fonction FrTp_GetVersionInfo [SWS_FrTp_00215] 📄 PDF
void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information.
fonction 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 ).
La fonction synchrone FrTp_Init initialise toutes les variables globales d'une instance de la couche de transport FlexRay et la place à l'état de repos [SWS_FrTp_00147]. En tant que paramètre d'entrée, un pointeur vers la configuration du protocole de transport FlexRay est transmis via configPtr (const FrTp_ConfigType*) [SWS_FrTp_00147]. L'interface est déclarée via l'en-tête FrTp.h avec l'ID de service 0x00 [SWS_FrTp_00147].
Concernant le comportement interne et le traitement des erreurs, les dispositions suivantes s'appliquent :
- Une fois la couche de transport initialisée avec succès par l'appel de
FrTp_Init, le module FrTp passe dans l'état interneFRTP_ON[SWS_FrTp_01032]. - La fonction ne possède aucune valeur de retour (
void), car les erreurs logicielles dans les données d'initialisation doivent déjà être détectées pendant la phase de configuration, par exemple par un outil de configuration [SWS_FrTp_00147].
En ce qui concerne la concurrence, le service est spécifié comme non réentrant (Non Reentrant) [SWS_FrTp_00147]. Un appel parallèle ou multiple non coordonné n'est donc pas autorisé. Interprétation : l'appel devrait typiquement avoir lieu de manière centralisée dans le cadre du démarrage du calculateur avant l'utilisation des services de transport réguliers. Question Q-9b7cf7fc6dac510e (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base des exigences de spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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
La fonction synchrone FrTp_Shutdown met fin au fonctionnement du module de protocole de transport FlexRay (FrTp) [SWS_FrTp_00148]. Lors de l'appel, le service ferme immédiatement toutes les connexions de protocole de transport encore en attente par l'arrêt du fonctionnement, libère l'ensemble des ressources occupées et arrête complètement le module FrTp [SWS_FrTp_00148].
En ce qui concerne la spécification de l'interface et le comportement, les propriétés suivantes s'appliquent :
- Signature et en-tête : la fonction est disponible via le fichier d'en-tête
FrTp.h, possède le Service ID0x01, n'attend aucun paramètre et ne fournit aucune valeur de retour (void) [SWS_FrTp_00148]. - Concurrence :
FrTp_Shutdownest spécifiée comme non réentrante (Non Reentrant) et doit être exécutée de manière synchrone [SWS_FrTp_00148]. Un appel concurrent ou de multiples appels parallèles sont par conséquent inadmissibles. - Transition d'état : par l'exécution réussie de la primitive de service
FrTp_Shutdown(), le module FrTp passe dans l'état interneFRTP_OFF[SWS_FrTp_01036].
Étant donné que le service ferme les connexions en attente par le simple arrêt du fonctionnement, les transmissions en cours devraient être interrompues immédiatement et sans message de fin distinct. Question Q-35555515f521d0c3 (ouverte)
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction FrTp_Transmit [SWS_FrTp_00149] 📄 PDF
Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
Utilisation et sémantique
La fonction synchrone FrTp_Transmit demande la transmission d'une PDU via le module de la couche de transport FlexRay [SWS_FrTp_00149]. L'identifiant de la PDU à transmettre est passé via le paramètre TxPduId, tandis que PduInfoPtr pointe vers les données utiles, les métadonnées ainsi que la longueur [SWS_FrTp_00149]. Si une transmission doit être initiée avec une longueur de message encore inconnue de la couche supérieure, il faut appeler FrTp_Transmit avec la valeur de paramètre PduLength = 0 [SWS_FrTp_01064]. L'acceptation de la demande d'émission est confirmée de manière synchrone par E_OK ; si la demande ne peut pas être acceptée, la fonction renvoie E_NOT_OK [SWS_FrTp_00149].
Concurrence et disponibilité des canaux
La fonction est réentrante pour les appels avec des ID de PDU différents, mais non réentrante pour le même identifiant TxPduId [SWS_FrTp_00149]. De plus, l'exécution nécessite un canal de transmission libre : si aucun canal n'est disponible parce que l'état ne se trouve pas au repos (FrTpTxChannelState ≠ Idle), la fonction s'interrompt et renvoie E_NOT_OK [SWS_FrTp_01041].
Gestion des erreurs
Si l'interface de développement pour la détection d'erreurs est active, FrTp_Transmit valide les paramètres transmis :
- Si une
TxPduIdnon prise en charge ou non valide est transmise, le service s'interrompt avecE_NOT_OKet signale l'erreur de développementFRTP_E_INVALID_PDU_SDU_ID[SWS_FrTp_01040], [SWS_FrTp_01139]. - Si le pointeur
PduInfoPtrn'est pas valide, l'erreurFRTP_E_PARAM_POINTERest signalée et l'exécution s'interrompt également avecE_NOT_OK[SWS_FrTp_01140].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction de service synchrone FrTp_CancelTransmit demande l'annulation d'une transmission de PDU en cours dans un module de communication sous-jacent [SWS_FrTp_00150]. La transmission à annuler est adressée via le paramètre d'entrée TxPduId [SWS_FrTp_00150].
Comportement dépendant de l'état et valeurs de retour
Le comportement lors de l'annulation dépend de l'état actuel de la connexion :
- Si la demande d'émission est en attente mais que la transmission elle-même n'a pas encore commencé,
FrTp_CancelTransmitlibère immédiatement la connexion [SWS_FrTp_00385]. - Si la transmission est déjà en cours, la fonction interrompt le processus d'émission et confirme l'annulation réussie avec la valeur de retour
E_OK[SWS_FrTp_01116]. - Si la connexion n'est pas active ou si la dernière N-PDU d'une transmission non confirmée a déjà été transmise au FrIf, l'annulation échoue et la fonction renvoie
E_NOT_OK[SWS_FrTp_01116].
Gestion des erreurs et concurrence
Pour autant que la détection d'erreurs de développement (Development Error Detection) soit activée pour FrTp_CancelTransmit, la fonction vérifie la validité du paramètre TxPduId. Si cette vérification échoue, l'erreur de développement FRTP_E_INVALID_PDU_SDU_ID est signalée et E_NOT_OK est renvoyé [SWS_FrTp_01141].
La fonction est réentrante pour les appels avec des ID de PDU différents, mais ne doit pas être exécutée de manière concurrente pour le même TxPduId [SWS_FrTp_00150].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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).
La fonction synchrone FrTp_ChangeParameter sert, conformément à [SWS_FrTp_00151], à demander la modification au moment de l'exécution de paramètres spécifiques du protocole de transport. Le paramètre id référence la PDU concernée, tandis que parameter transmet l'identifiant du paramètre et value la nouvelle valeur. En cas d'adaptation réussie, la fonction renvoie E_OK ; dans le cas contraire, la demande de modification est rejetée avec E_NOT_OK [SWS_FrTp_00151].
Concrètement, ce service est utilisé pour modifier au moment de l'exécution des paramètres de la PDU FlowControl pour le contrôle de la bande passante (BandwidthControl, BC) selon l'ISO 10681-2 [SWS_FrTp_00242]. Cela concerne :
- le paramètre
FrTpSCexp[SWS_FrTp_00242], - le paramètre
FrTpMaxNbrOfNPduPerCycle[SWS_FrTp_00242].
Côté émetteur, une PDU FlowControl supplémentaire déclenchée de cette manière est reçue en tant que N-PDU inattendue et ignorée [SWS_FrTp_00242].
Gestion des erreurs
Si la détection des erreurs de développement (Development Error Detection) est activée pour la fonction, des vérifications formelles des paramètres sont effectuées :
- Vérification de l'identifiant de PDU
id: si la valeur est invalide, la fonction signale l'erreur de développementFRTP_E_INVALID_PDU_SDU_IDet renvoieE_NOT_OK[SWS_FrTp_01143]. - Vérification du paramètre
parameter: si l'identifiant est invalide, la fonction signaleFRTP_E_INVALID_PARAMETERet renvoieE_NOT_OK[SWS_FrTp_01144].
Concurrence et restrictions
La fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_FrTp_00151]. Les appelants doivent par conséquent s'assurer que les appels se déroulent de manière séquentielle ; une synchronisation externe est vraisemblablement requise en cas d'accès depuis différentes tâches. Question Q-fe82be70448a3e0b (ouverte)
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction synchrone FrTp_CancelReceive demande l'interruption d'une réception de PDU en cours dans la couche de transport FlexRay [SWS_FrTp_01172]. Elle est disponible via l'en-tête FrTp.h et permet d'arrêter de manière ciblée une opération de réception active.
Paramètres et valeurs de retour
RxPduId de type PduIdType est transmis en tant que paramètre d'entrée, ce qui permet d'identifier de manière unique la PDU à interrompre [SWS_FrTp_01172]. Il n'existe aucun paramètre d'entrée ou de sortie supplémentaire. La fonction renvoie une valeur d'état de type Std_ReturnType :
E_OK: l'interruption de la réception de la PDU a été exécutée avec succès par le module de destination [SWS_FrTp_01172], [SWS_FrTp_01183].E_NOT_OK: le module de destination a rejeté la demande d'interruption [SWS_FrTp_01172].
Concurrence et restrictions
La fonction est classée comme non réentrante (Non Reentrant) [SWS_FrTp_01172]. Les appelants doivent par conséquent s'assurer qu'aucun appel parallèle ou imbriqué n'a lieu afin d'éviter toute incohérence dans la gestion interne des états de la PDU.
Cette note d'utilisation a été générée automatiquement sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction synchrone [SWS_FrTp_00154] sert à fournir des données de SDU pour la transmission. Le paramètre TxPduId identifie la SDU à transmettre, tandis que PduInfoPtr pointe vers une structure contenant le tampon de destination (SduDataPtr) et la taille de tampon disponible (SduLength) [SWS_FrTp_00154].
Au sein de la fonction, il est vérifié si les données fournies tiennent dans le tampon de destination signalé via PduInfoPtr->SduLength [SWS_FrTp_00154] :
- Opération de copie réussie : si la capacité du tampon est suffisante, la fonction copie les informations d'adressage, le PCI ainsi que les données N-SDU dans le tampon
PduInfoPtr->SduDataPtr[SWS_FrTp_01060]. La longueur des données dansPduInfoPtr->SduLengthest définie sur la longueur exacte des données copiées et la fonction renvoieE_OK[SWS_FrTp_00154], [SWS_FrTp_01061]. - Tampon insuffisant : si les données ne tiennent pas dans le tampon, la fonction s'interrompt et renvoie
E_NOT_OKsans modifierPduInfoPtr[SWS_FrTp_00154]. En cas d'erreur,PduInfoPtrne doit pas être utilisé par l'appelant car il peut contenir des données invalides ou un pointeur nul [SWS_FrTp_00154].
Lorsque la détection des erreurs de développement (DET) est activée, la fonction effectue des vérifications préalables des paramètres transmis :
- Si
TxPduIdest invalide, la fonction signale l'erreurFRTP_E_INVALID_PDU_SDU_IDau DET et renvoieE_NOT_OK[SWS_FrTp_01145]. - Si
PduInfoPtrest invalide, elle signale l'erreurFRTP_E_PARAM_POINTERau DET et renvoie égalementE_NOT_OK[SWS_FrTp_01146].
En matière de concurrence, la fonction est réentrante pour différents ID de PDU, mais ne doit pas être appelée de manière concurrente pour le même TxPduId [SWS_FrTp_00154].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
Utilisation et sémantique
La fonction de rappel synchrone FrTp_RxIndication sert à indiquer une PDU reçue depuis un module d'interface de communication sous-jacent au module de la couche de transport ISO FlexRay et amorce l'ensemble du processus de réception [SWS_FrTp_00152], [SWS_FrTp_00137]. Elle est disponible via l'en-tête FrTp.h et possède l'ID de service 0x42 sans valeur de retour [SWS_FrTp_00152]. En tant que paramètres, elle attend l'identifiant de la PDU reçue (RxPduId) ainsi qu'un pointeur vers une structure de type PduInfoType (PduInfoPtr) [SWS_FrTp_00152]. Ce pointeur fournit la longueur de la PDU reçue (SduLength), un pointeur de tampon vers les données utiles (SduDataPtr) ainsi que les métadonnées associées [SWS_FrTp_00152].
Gestion des erreurs
En ce qui concerne le traitement des erreurs, la fonction vérifie les deux paramètres d'entrée lorsque la détection des erreurs de développement (DET) est active : si RxPduId n'est pas valide, elle signale l'erreur de développement FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01147]. Si PduInfoPtr n'est pas valide, l'erreur FRTP_E_PARAM_POINTER est signalée [SWS_FrTp_01148]. Si une RxPduId non prise en charge est transmise, l'exécution se termine sans autre action [SWS_FrTp_01075]. Si aucun canal de réception libre n'est disponible au moment de l'appel parce que l'état du canal n'est pas Idle (FrTpRxChannelState ≠ Idle), la fonction s'interrompt également sans traitement supplémentaire [SWS_FrTp_01076] et le module déclenche l'erreur d'exécution FRTP_E_NO_CHANNEL [SWS_FrTp_01186].
Concurrence et interaction
Concernant la concurrence, FrTp_RxIndication est réentrante pour des ID de PDU différents, mais non réentrante pour des ID de PDU identiques [SWS_FrTp_00152]. L'appel doit être effectué de manière synchrone par l'interface sous-jacente afin de démarrer correctement la réception dans le module FrTp [SWS_FrTp_00152], [SWS_FrTp_00137].
Cette note d'utilisation a été générée automatiquement sur la base des exigences de spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
La fonction synchrone [SWS_FrTp_00153] sert à la couche de communication sous-jacente pour notifier au module FrTp la transmission réussie ou l'échec d'une PDU. Lors de l'appel, la couche sous-jacente transmet l'identifiant configuré FrTpTxConfirmationPduId dans le paramètre TxPduId ainsi que le résultat d'émission result ([SWS_FrTp_01053]). Les valeurs valides pour result sont E_OK en cas d'émission réussie et E_NOT_OK en cas d'échec de la transmission ([SWS_FrTp_00153]).
Si la détection des erreurs de développement (DET) est activée, la fonction effectue une vérification des paramètres : un identifiant TxPduId non autorisé déclenche l'erreur de développement FRTP_E_INVALID_PDU_SDU_ID ([SWS_FrTp_01149]), tandis qu'une valeur invalide pour result entraîne l'erreur FRTP_E_INVALID_PARAMETER ([SWS_FrTp_01203]).
Concernant la concurrence, la fonction est réentrante pour différents identifiants de PDU, mais ne doit pas être appelée de manière concurrente pour le même TxPduId ([SWS_FrTp_00153]). À chaque appel avec le FrTpTxConfirmationPduId correspondant, le module décrémente le compteur TxPduPendingCounter ([SWS_FrTp_01092]).
En interaction avec l'état de transmission, la confirmation entraîne les transitions d'état suivantes :
- Côté émetteur, le canal occupé passe à l'état
Idle(FrTpTxChannelState = Idle) et les drapeauxTX_SDU_AVAILABLEainsi queTX_SDU_UNKNOWN_MSG_LENGTHsont réinitialisés dès que toutes les données N-SDU ont été envoyées, queresulta la valeurE_OKet qu'un accusé de réception éventuellement configuré a été reçu – ou immédiatement lorsqueresultest égal àE_NOT_OK([SWS_FrTp_01056], [SWS_FrTp_01057], [SWS_FrTp_01124]). - Côté récepteur, le canal de réception occupé (
FrTpRxChannelState = Idle) est libéré lorsque toutes les données ont été reçues et que toutes les PDU de contrôle de flux requises ont été confirmées avecE_OK, ou lorsque la confirmation a lieu avecE_NOT_OK([SWS_FrTp_01081]).
Ce texte a été généré par une IA et repose sur les spécifications de la version AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction FrTp_MainFunction [SWS_FrTp_00162] 📄 PDF
void FrTp_MainFunction (void);
Schedules the Flex Ray TP. (Entry point for scheduling)
Utilisation et contexte d'appel
La fonction FrTp_MainFunction possède la signature void FrTp_MainFunction (void); et est spécifiée avec le Service ID 0x10 [SWS_FrTp_00162]. Elle ne prend aucun paramètre d'entrée et ne renvoie aucune valeur de retour à l'appelant [SWS_FrTp_00162]. La déclaration est disponible via l'en-tête SchM_FrTp.h [SWS_FrTp_00162]. À titre d'interprétation, la fonction devrait ainsi être typiquement appelée de manière cyclique par l'ordonnanceur BSW (Schedule Manager). Question Q-aaa6251bd84aef94 (ouverte)
Interaction et tâches
La tâche principale de la fonction consiste en l'ordonnancement du module de protocole de transport FlexRay [SWS_FrTp_00162], [SWS_FrTp_00203]. Conformément à [SWS_FrTp_00580], FrTp_MainFunction constitue le point d'entrée obligatoire pour les tâches de traitement (processing tasks) en attente du module FrTp, ce qui permet d'exécuter et de gérer de façon cyclique les processus de protocole internes.
Conditions temporelles et restrictions
Pour l'intégration temporelle dans l'ensemble du système, la spécification définit une fréquence minimale d'appel fixe pour l'ordonnancement :
FrTp_MainFunctiondoit être appelée au moins une fois par cycle FlexRay [SWS_FrTp_01152].
Aucun traitement d'erreurs spécifique, notification DET ou DEM, ni prescription explicite relative à la réentrance ou à la concurrence n'est décrit dans le cadre de la présente spécification.
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité 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#3fafa46e- Content hash
3fafa46e- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayISOTransportLayer.pdf#nameddest=SWS_FrTp_00215
gemini-3.8-flash-low· 2026-10-13 · Original allemand