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
función FrTp_GetVersionInfo [SWS_FrTp_00215] 📄 PDF
void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information.
función 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 función síncrona FrTp_Init inicializa todas las variables globales de una instancia de la capa de transporte FlexRay y la pone en estado de reposo [SWS_FrTp_00147]. Como parámetro de entrada se transmite mediante configPtr un puntero a la configuración del protocolo de transporte FlexRay (const FrTp_ConfigType*) [SWS_FrTp_00147]. La interfaz se declara a través del encabezado FrTp.h con el Service-ID 0x00 [SWS_FrTp_00147].
En lo que respecta al comportamiento interno y al tratamiento de errores, se aplican las siguientes estipulaciones:
- Una vez que la capa de transporte se ha inicializado correctamente mediante la llamada a
FrTp_Init, el módulo FrTp cambia al estado internoFRTP_ON[SWS_FrTp_01032]. - La función no posee valor de retorno (
void), dado que los errores de software en los datos de inicialización ya deben detectarse durante la fase de configuración, por ejemplo mediante una herramienta de configuración [SWS_FrTp_00147].
En lo relativo a la concurrencia, el servicio está especificado como no reentrante (Non Reentrant) [SWS_FrTp_00147]. Por tanto, no se permite una llamada paralela o múltiple no coordinada. Interpretación: la llamada debería realizarse típicamente de forma centralizada en el marco del arranque de la ECU antes de utilizar servicios de transporte regulares. Pregunta Q-9b7cf7fc6dac510e (abierta)
Esta nota de uso se generó de forma automatizada basándose en los requisitos de especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función 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 función síncrona FrTp_Shutdown finaliza el funcionamiento del módulo de protocolo de transporte FlexRay (FrTp) [SWS_FrTp_00148]. Al llamarla, el servicio cierra inmediatamente todas las conexiones de protocolo de transporte aún pendientes cesando el funcionamiento, libera todos los recursos ocupados y detiene el módulo FrTp por completo [SWS_FrTp_00148].
En cuanto a la especificación de la interfaz y al comportamiento, se aplican las siguientes propiedades:
- Firma y cabecera: la función está disponible a través del archivo de cabecera
FrTp.h, posee el ID de servicio0x01, no espera parámetros y no devuelve ningún valor de retorno (void) [SWS_FrTp_00148]. - Concurrencia:
FrTp_Shutdownestá especificada como no reentrante (Non Reentrant) y debe ejecutarse de forma síncrona [SWS_FrTp_00148]. Por lo tanto, no se permite una llamada concurrente o múltiple en paralelo. - Transición de estado: mediante la ejecución correcta de la primitiva de servicio
FrTp_Shutdown(), el módulo FrTp cambia al estado internoFRTP_OFF[SWS_FrTp_01036].
Dado que el servicio cierra las conexiones pendientes simplemente deteniendo el funcionamiento, es probable que las transmisiones en curso se interrumpan de forma inmediata y sin un mensaje de finalización independiente. Pregunta Q-35555515f521d0c3 (abierta)
Esta nota de uso se generó de forma automatizada sobre la base de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función FrTp_Transmit [SWS_FrTp_00149] 📄 PDF
Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
Uso y semántica
La función síncrona FrTp_Transmit solicita la transmisión de una PDU a través del módulo FlexRay Transport Layer [SWS_FrTp_00149]. Mediante el parámetro TxPduId se pasa el identificador de la PDU a transmitir, mientras que PduInfoPtr apunta a los datos útiles, los metadatos y la longitud [SWS_FrTp_00149]. Si se desea iniciar una transmisión con una longitud de mensaje aún desconocida para la capa superior, debe invocarse FrTp_Transmit con el valor de parámetro PduLength = 0 [SWS_FrTp_01064]. La aceptación de la solicitud de envío se confirma de forma síncrona con E_OK; si la solicitud no puede aceptarse, la función devuelve E_NOT_OK [SWS_FrTp_00149].
Concurrencia y disponibilidad de canales
La función es reentrante para llamadas con diferentes ID de PDU, pero no es reentrante para el mismo identificador TxPduId [SWS_FrTp_00149]. Además, la ejecución requiere un canal de transmisión libre: si no hay ningún canal disponible debido a que el estado no se encuentra inactivo (FrTpTxChannelState ≠ Idle), la función se interrumpe y devuelve E_NOT_OK [SWS_FrTp_01041].
Manejo de errores
Si la interfaz de desarrollo para la detección de errores está activa, FrTp_Transmit valida los parámetros pasados:
- Si se pasa un
TxPduIdno admitido o no válido, el servicio se interrumpe conE_NOT_OKy notifica el error de desarrolloFRTP_E_INVALID_PDU_SDU_ID[SWS_FrTp_01040], [SWS_FrTp_01139]. - Si el puntero
PduInfoPtrno es válido, se notifica el errorFRTP_E_PARAM_POINTERy la ejecución también se interrumpe conE_NOT_OK[SWS_FrTp_01140].
Este texto ha sido generado por una IA a partir de la especificación de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función 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 función de servicio síncrona FrTp_CancelTransmit solicita la cancelación de una transmisión de PDU en curso en un módulo de comunicación subordinado [SWS_FrTp_00150]. La transmisión a cancelar se direcciona mediante el parámetro de entrada TxPduId [SWS_FrTp_00150].
Comportamiento dependiente del estado y valores de retorno
El comportamiento ante la cancelación depende del estado actual de la conexión:
- Si la solicitud de transmisión está pendiente pero la transmisión en sí aún no se ha iniciado,
FrTp_CancelTransmitlibera la conexión de inmediato [SWS_FrTp_00385]. - Si la transmisión ya está en curso, la función detiene el proceso de envío y confirma la cancelación exitosa con el valor de retorno
E_OK[SWS_FrTp_01116]. - Si la conexión no está activa o si la última N-PDU de una transmisión no confirmada ya se ha reenviado al FrIf, la cancelación falla y la función devuelve
E_NOT_OK[SWS_FrTp_01116].
Tratamiento de errores y concurrencia
Siempre que la detección de errores de desarrollo (Development Error Detection) esté activada para FrTp_CancelTransmit, la función comprueba la validez del parámetro TxPduId. Si esta comprobación falla, se notifica el error de desarrollo FRTP_E_INVALID_PDU_SDU_ID y se devuelve E_NOT_OK [SWS_FrTp_01141].
La función es reentrante para llamadas con diferentes ID de PDU, pero no debe ejecutarse de forma concurrente para el mismo TxPduId [SWS_FrTp_00150].
Esta nota de uso se generó automáticamente sobre la base de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I2)
función 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 función síncrona FrTp_ChangeParameter sirve, conforme a [SWS_FrTp_00151], para solicitar la modificación de parámetros específicos del protocolo de transporte en tiempo de ejecución. Mediante el parámetro id se referencia la PDU afectada, mientras que parameter transfiere el identificador del parámetro y value el nuevo valor. En caso de una adaptación correcta, la función devuelve E_OK; de lo contrario, la solicitud de modificación se rechaza con E_NOT_OK [SWS_FrTp_00151].
En concreto, este servicio se utiliza para modificar en tiempo de ejecución parámetros de la FlowControl-PDU para el control de ancho de banda (BandwidthControl, BC) según ISO 10681-2 [SWS_FrTp_00242]. Esto afecta a:
- el parámetro
FrTpSCexp[SWS_FrTp_00242], - el parámetro
FrTpMaxNbrOfNPduPerCycle[SWS_FrTp_00242].
En el lado emisor, una FlowControl-PDU adicional desencadenada de este modo se recibe como N-PDU inesperada y se ignora [SWS_FrTp_00242].
Manejo de errores
Si la detección de errores de desarrollo (Development Error Detection) está activada para la función, se realizan comprobaciones formales de los parámetros:
- Comprobación del identificador de PDU
id: si el valor no es válido, la función notifica el error de desarrolloFRTP_E_INVALID_PDU_SDU_IDy devuelveE_NOT_OK[SWS_FrTp_01143]. - Comprobación del parámetro
parameter: si el identificador no es válido, la función notificaFRTP_E_INVALID_PARAMETERy devuelveE_NOT_OK[SWS_FrTp_01144].
Concurrencia y restricciones
La función está especificada como no reentrante (Non Reentrant) [SWS_FrTp_00151]. Por lo tanto, los llamadores deben asegurarse de que las llamadas se ejecuten secuencialmente; es de suponer que se requiera una sincronización externa en caso de accesos desde diferentes tareas. Pregunta Q-fe82be70448a3e0b (abierta)
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
función 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 función síncrona FrTp_CancelReceive solicita la cancelación de una recepción de PDU en curso en la capa de transporte FlexRay [SWS_FrTp_01172]. Está disponible a través de la cabecera FrTp.h y permite detener de manera dirigida una operación de recepción activa.
Parámetros y valores de retorno
Como parámetro de entrada se transfiere RxPduId de tipo PduIdType, con lo cual se identifica de forma unívoca la PDU que se debe cancelar [SWS_FrTp_01172]. No existen parámetros de entrada o de salida adicionales. La función devuelve un valor de estado de tipo Std_ReturnType:
E_OK: la cancelación de la recepción de la PDU fue ejecutada correctamente por el módulo de destino [SWS_FrTp_01172], [SWS_FrTp_01183].E_NOT_OK: el módulo de destino ha rechazado la solicitud de cancelación [SWS_FrTp_01172].
Concurrencia y restricciones
La función está clasificada como no reentrante (Non Reentrant) [SWS_FrTp_01172]. Por lo tanto, los llamadores deben asegurarse de que no se produzcan llamadas paralelas o anidadas, a fin de evitar incoherencias en la gestión interna de estados de las PDU.
Esta nota de uso se generó de forma automatizada sobre la base de la especificación.
Guía del implementador pendiente (complejidad I1)
función 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 función síncrona [SWS_FrTp_00154] sirve para proporcionar datos SDU para la transmisión. Mediante el parámetro TxPduId se identifica la SDU que se va a transmitir, mientras que PduInfoPtr apunta a una estructura con el búfer de destino (SduDataPtr) y el tamaño de búfer disponible (SduLength) [SWS_FrTp_00154].
Dentro de la función se comprueba si los datos proporcionados caben en el búfer de destino notificado a través de PduInfoPtr->SduLength [SWS_FrTp_00154]:
- Operación de copia correcta: si la capacidad del búfer es suficiente, la función copia la información de dirección, el PCI y los datos N-SDU en el búfer
PduInfoPtr->SduDataPtr[SWS_FrTp_01060]. La longitud de los datos enPduInfoPtr->SduLengthse ajusta a la longitud exacta de los datos copiados y la función devuelveE_OK[SWS_FrTp_00154], [SWS_FrTp_01061]. - Búfer insuficiente: si los datos no caben en el búfer, la función se cancela y devuelve
E_NOT_OKsin modificarPduInfoPtr[SWS_FrTp_00154]. En caso de error, el llamador no debe utilizarPduInfoPtr, ya que puede contener datos no válidos o un puntero nulo [SWS_FrTp_00154].
Con la detección de errores de desarrollo (DET) activada, la función realiza comprobaciones previas de los parámetros transferidos:
- Si
TxPduIdno es válido, la función notifica el errorFRTP_E_INVALID_PDU_SDU_IDal DET y devuelveE_NOT_OK[SWS_FrTp_01145]. - Si
PduInfoPtrno es válido, notifica el errorFRTP_E_PARAM_POINTERal DET y devuelve asimismoE_NOT_OK[SWS_FrTp_01146].
En cuanto a la concurrencia, la función es reentrante para diferentes PDU-IDs, pero no debe llamarse de forma concurrente para la misma TxPduId [SWS_FrTp_00154].
Esta nota de uso se ha generado automáticamente sobre la base de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I2)
función 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.
Uso y semántica
La función de callback síncrona FrTp_RxIndication sirve para indicar una PDU recibida desde un módulo de interfaz de comunicación subordinado al módulo FlexRay ISO Transport Layer e inicia todo el proceso de recepción [SWS_FrTp_00152], [SWS_FrTp_00137]. Está disponible a través del encabezado FrTp.h y posee el Service-ID 0x42 sin valor de retorno [SWS_FrTp_00152]. Como parámetros espera el identificador de la PDU recibida (RxPduId), así como un puntero a una estructura del tipo PduInfoType (PduInfoPtr) [SWS_FrTp_00152]. Este puntero proporciona la longitud de la PDU recibida (SduLength), un puntero de búfer a los datos útiles (SduDataPtr) y los metadatos asociados [SWS_FrTp_00152].
Manejo de errores
En lo que respecta al tratamiento de errores, la función comprueba ambos parámetros de entrada cuando la detección de desarrollo (DET) está activa: si RxPduId no es válido, notifica el error de desarrollo FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01147]. Si PduInfoPtr no es válido, se notifica el error FRTP_E_PARAM_POINTER [SWS_FrTp_01148]. Si se pasa un RxPduId no compatible, la ejecución finaliza sin acciones adicionales [SWS_FrTp_01075]. Si en el momento de la llamada no hay ningún canal de recepción libre disponible porque el estado del canal no es Idle (FrTpRxChannelState ≠ Idle), la función también se interrumpe sin procesamiento adicional [SWS_FrTp_01076] y el módulo desencadena el error de tiempo de ejecución FRTP_E_NO_CHANNEL [SWS_FrTp_01186].
Concurrencia e interacción
En cuanto a la concurrencia, FrTp_RxIndication es reentrante para diferentes PDU-IDs, pero no reentrante para PDU-IDs idénticos [SWS_FrTp_00152]. La llamada debe realizarse de forma síncrona a través de la interfaz subyacente para iniciar correctamente la recepción en el módulo FrTp [SWS_FrTp_00152], [SWS_FrTp_00137].
Esta nota de uso se generó de forma automatizada basándose en los requisitos de especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función 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 función síncrona [SWS_FrTp_00153] sirve para que la capa de comunicación subyacente comunique al módulo FrTp la transmisión correcta o el fallo de una PDU. Durante la llamada, la capa subyacente transfiere el identificador configurado FrTpTxConfirmationPduId en el parámetro TxPduId, así como el resultado de envío result ([SWS_FrTp_01053]). Los valores válidos para result son E_OK en caso de envío correcto y E_NOT_OK en caso de transmisión fallida ([SWS_FrTp_00153]).
Si la detección de errores de desarrollo (DET) está activada, la función realiza una comprobación de parámetros: un identificador TxPduId no permitido desencadena el error de desarrollo FRTP_E_INVALID_PDU_SDU_ID ([SWS_FrTp_01149]), mientras que un valor no válido para result da lugar al error FRTP_E_INVALID_PARAMETER ([SWS_FrTp_01203]).
En cuanto a la concurrencia, la función es reentrante para diferentes PDU-ID, pero no debe llamarse de forma concurrente para el mismo TxPduId ([SWS_FrTp_00153]). Con cada llamada con el correspondiente FrTpTxConfirmationPduId, el módulo decrementa el contador TxPduPendingCounter ([SWS_FrTp_01092]).
En combinación con el estado de transmisión, la confirmación provoca las siguientes transiciones de estado:
- En el lado emisor, el canal ocupado pasa al estado
Idle(FrTpTxChannelState = Idle) y los flagsTX_SDU_AVAILABLEyTX_SDU_UNKNOWN_MSG_LENGTHse restablecen tan pronto como se hayan enviado todos los datos N-SDU,resulttenga el valorE_OKy se haya recibido un acuse de recibo eventualmente configurado, o bien inmediatamente siresultes igual aE_NOT_OK([SWS_FrTp_01056], [SWS_FrTp_01057], [SWS_FrTp_01124]). - En el lado receptor, el canal de recepción ocupado (
FrTpRxChannelState = Idle) se libera cuando se hayan recibido todos los datos y se hayan confirmado todas las Flow-Control-PDU requeridas conE_OK, o cuando la confirmación se produzca conE_NOT_OK([SWS_FrTp_01081]).
Este texto ha sido generado por una IA y se basa en las especificaciones del release R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I2)
función FrTp_MainFunction [SWS_FrTp_00162] 📄 PDF
void FrTp_MainFunction (void);
Schedules the Flex Ray TP. (Entry point for scheduling)
Uso y contexto de llamada
La función FrTp_MainFunction posee la firma void FrTp_MainFunction (void); y está especificada con el ID de servicio 0x10 [SWS_FrTp_00162]. No recibe parámetros de entrada y no devuelve ningún valor de retorno al llamador [SWS_FrTp_00162]. La declaración está disponible a través de la cabecera SchM_FrTp.h [SWS_FrTp_00162]. A modo de interpretación, es de esperar que el BSW-Scheduler (Schedule Manager) llame típicamente a la función de manera cíclica. Pregunta Q-aaa6251bd84aef94 (abierta)
Interacción y tareas
La tarea principal de la función consiste en la planificación (scheduling) del módulo de protocolo de transporte FlexRay [SWS_FrTp_00162], [SWS_FrTp_00203]. Conforme a [SWS_FrTp_00580], FrTp_MainFunction representa el punto de entrada vinculante para tareas de procesamiento pendientes (processing tasks) del módulo FrTp, mediante el cual los procesos internos del protocolo se procesan y gestionan cíclicamente.
Condiciones temporales y restricciones
Para la integración temporal en el sistema global, la especificación define una tasa mínima fija de llamadas para la planificación:
FrTp_MainFunctiondebe llamarse al menos una vez por ciclo FlexRay [SWS_FrTp_01152].
En el presente alcance de la especificación no se describen tratamientos de error específicos, mensajes DET o DEM, ni requisitos explícitos sobre reentrancia o concurrencia.
Esta nota de uso se ha generado automáticamente a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
tipo 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#0a4a664c- Content hash
0a4a664c- 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 en alemán