DEENESPTFRRUARHIKOZHNL

FlexRay Driver (Fr)

ModulFr (FlexRay Driver)
BSW-Modul-ID81
Standard-Header#include "Fr.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayDriver.pdf
ClusterFlexRay

Guía del móduloGENERADO POR IA

Sirve a la FlexRay Interface como acceso unificado a los controladores FlexRay: arranque, parada, reactivación, transmisión, recepción.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: ff0400b6ca26 Procedencia Preguntas abiertas (4)
Ancla causal: R20-11 Válido desde R20-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve a la FlexRay Interface como acceso unificado a los controladores FlexRay: arranque, parada, reactivación, transmisión, recepción.

El controlador FlexRay encapsula controladores de comunicación FlexRay. Salvo durante la inicialización por parte del EcuM, solo lo utiliza la FlexRay Interface Fr-SWS p. 15. Controla la máquina de estados POC del controlador: inicialización, arranque, reactivación, parada diferida y cancelación inmediata. A través de LPdus configuradas, transmite datos, comprueba el estado de transmisión y recibe; a esto se añaden la hora global y los temporizadores absolutos. Muchos servicios requieren un estado POC determinado o sincronía con la hora global; de lo contrario, Fr notifica el error de tiempo de ejecución FR_E_INV_POCSTATE [SWS_Fr_91004].

El controlador FlexRay encapsula uno o varios controladores de comunicación (CC) FlexRay. Su único usuario es la FlexRay Interface; solo la inicialización mediante Fr_Init es asumida por el EcuM Fr-SWS p. 15. Cada servicio direcciona el controlador a través de Fr_CtrlIdx, por ejemplo Fr_ControllerInit [SWS_Fr_00017]. La configuración está dividida en dos: los parámetros del clúster y las asignaciones de LPdu corresponden a la FrIf, y los parámetros relativos al controlador corresponden a Fr Fr-SWS p. 25.

En esencia, Fr controla la máquina de estados POC del CC. Solo cinco servicios tienen permitido modificar el estado Fr-SWS p. 23:

  • Fr_ControllerInit conduce el CC a través de POC:config hacia POC:ready.
  • Fr_StartCommunication inicia de forma asíncrona el arranque [SWS_Fr_00010].
  • Fr_SendWUP envía un patrón de reactivación.
  • Fr_HaltCommunication se detiene al final del ciclo.
  • Fr_AbortCommunication cancela de inmediato [SWS_Fr_00011].

Tras Fr_StartCommunication, POC:normal active o normal passive no está garantizado. Interpretación: por tanto, es de suponer que el llamador siga el progreso a través de Fr_GetPOCStatus. Pregunta (abierta)

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready Implícito tras la finalización normal_active POC:normal active startup->normal_active Implícito en caso de éxito normal_passive POC:normal passive startup->normal_passive Implícito en caso de éxito halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

Diagrama de estados: los estados POC y los servicios Fr que los desencadenan. Fuentes: Fr-SWS p. 23, [SWS_Fr_00505]

Los datos fluyen como LSdu a través de LPdus configuradas. Fr_TransmitTxLPdu transmite de forma asíncrona [SWS_Fr_00092]. La FrIf consulta el estado de transmisión en su lista de trabajos con Fr_CheckTxLPduStatus y solo confirma a las capas superiores en caso de FR_TRANSMITTED FrIf-SWS p. 38. Fr_ReceiveRxLPdu proporciona datos y estado; el valor FR_RECEIVED_MORE_DATA_AVAILABLE indica entradas adicionales de la FIFO [SWS_Fr_00512]. A ello se suman la reconfiguración de búferes, la hora global y los temporizadores absolutos.

Transmisión y confirmación de transmisiónObere SchichtISRFrIfFrUse Case: Transmisión con acceso directo al búferFrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,Determinar Fr_LSduPtr y la longitudFr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OKIncrementar TxConfCounter de la PDURetorno de FrIf_TransmitUse Case: Confirmación de transmisión en la lista de trabajosFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloopPor cada PDU en la trama con TxConfCounter > 0TxConfCounter verringern<UL_TxConfirmation>(PduId)

Diagrama de secuencia: transmisión con acceso directo al búfer y una confirmación de transmisión posterior y desacoplada. Fuentes: FrIf-SWS p. 106, FrIf-SWS p. 112

En caso de error, los servicios devuelven E_NOT_OK y dejan inalterados sus parámetros de salida Fr-SWS p. 36. Los errores de hardware se envían como FR_E_CTRL_TESTRESULT al DEM, y los errores de protocolo en el estado de la ranura, como FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600]. Si la detección está habilitada, se añaden errores de desarrollo como FR_E_INV_CTRL_IDX [SWS_Fr_91003]. Si el CC no se encuentra en el estado POC esperado, Fr notifica el error de tiempo de ejecución FR_E_INV_POCSTATE [SWS_Fr_91004].

Rol en la pila FlexRay: acceso al controlador para FrIf y EcuM

El controlador FlexRay (Fr) encapsula uno o varios controladores de comunicación (CC) FlexRay. Su único usuario es la FlexRay Interface (FrIf). Una excepción es la inicialización mediante Fr_Init, que invoca el EcuM Fr-SWS p. 15. Todos los demás servicios direccionan el controlador a través de Fr_CtrlIdx, por ejemplo Fr_ControllerInit [SWS_Fr_00017]. Fr no configura por sí mismo los recursos que el CC comparte con otros componentes (p. ej., la configuración del PLL o el mapeo de memoria). Su inicialización debe preceder a la de Fr Fr-SWS p. 15.

Para la consistencia de los datos, Fr utiliza el planificador de BSW con SchM_Enter_Fr y SchM_Exit_Fr; de forma opcional, notifica errores de desarrollo a través de Det_ReportError [SWS_Fr_00391]. Además, la especificación enumera Dem_SetEventStatus y Det_ReportRuntimeError como interfaces [SWS_Fr_00390]. Desde la perspectiva de la FrIf, el control del POC, la ruta de datos y los temporizadores absolutos son interfaces obligatorias FrIf-SWS p. 95. En cambio, la FrIf solo utiliza de forma opcional servicios como Fr_AllSlots, Fr_CancelTxLPdu o Fr_GetNmVector FrIf-SWS p. 97.

kontext ul Obere Schichten (Upper Layer for FrIf) frif FrIf ul->frif FrIf_Transmit ecum EcuM fr Fr (FlexRay-Treiber) ecum->fr Fr_Init frif->ul TxConfirmation / RxIndication frif->fr Todos los demás servicios Fr_ (Fr_CtrlIdx, Fr_LPduIdx) cc FlexRay-CC (Hardware) fr->cc CHI-Befehle, Puffer, Register dem Dem fr->dem Dem_SetEventStatus det Det fr->det Det_ReportError, Det_ReportRuntimeError schm SchM fr->schm SchM_Enter_Fr / SchM_Exit_Fr shared Módulos con recursos compartidos (p. ej., PLL, mapeo de memoria) shared->fr Initialisierung vor Fr

Diagrama de contexto: Fr se sitúa entre FrIf/EcuM y el hardware del CC y emite notificaciones a DEM, DET y SchM. Fuentes: Fr-SWS p. 15, [SWS_Fr_00390], [SWS_Fr_00391]

Control del POC: desde Fr_Init hasta la comunicación síncrona

Cada CC ejecuta la máquina de estados del Protocol Operation Control (POC). Sus transiciones se desencadenan en parte por eventos de hardware y en parte por comandos CHI del host Fr-SWS p. 23. Solo Fr_StartCommunication, Fr_HaltCommunication, Fr_AbortCommunication, Fr_SendWUP y Fr_ControllerInit tienen permitido modificar el estado del POC. Los estados son representados por Fr_POCStateType [SWS_Fr_00505].

Fr_Init solo guarda la dirección de configuración para llamadas posteriores y no impone ninguna condición previa al CC Fr-SWS p. 39. Fr_ControllerInit conmuta el CC desde cualquier estado a POC:config y carga los parámetros de clúster y nodo, así como los búferes. A continuación, la función deja el CC sin órdenes de transmisión pendientes en POC:ready Fr-SWS p. 41. Fr_StartCommunication inicia el arranque de forma asíncrona con el comando CHI RUN [SWS_Fr_00010]. No está garantizado que el CC alcance después POC:normal active o normal passive Fr-SWS p. 42. Interpretación: por tanto, es de suponer que el llamador siga el progreso a través de Fr_GetPOCStatus, que proporciona el estado como Fr_POCStatusType [SWS_Fr_00510]. Pregunta Q-aa60617897af9f9f (abierta) Fr_AllowColdstart está permitido en POC:ready o POC:startup [SWS_Fr_00114]. Fr_AllSlots presupone sincronía con la hora global y cambia a partir del siguiente ciclo del modo Key-Slot al modo All-Slots Fr-SWS p. 44.

Para finalizar existen dos vías. Fr_HaltCommunication emite DEFERRED_HALT; POC:halt no se alcanza hasta el final del ciclo en curso Fr-SWS p. 45. En cambio, Fr_AbortCommunication cancela sincrónicamente con FREEZE y conduce desde cualquier estado a POC:halt [SWS_Fr_00011], Fr-SWS p. 47.

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready Implícito tras la finalización normal_active POC:normal active startup->normal_active Implícito en caso de éxito normal_passive POC:normal passive startup->normal_passive Implícito en caso de éxito halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

Diagrama de estados: Los estados POC del CC y los servicios Fr que los desencadenan; las transiciones marcadas con * las realiza una sola llamada a Fr_ControllerInit. Fuentes: Fr-SWS p. 23, [SWS_Fr_00505], Fr-SWS p. 49

Inicialización e inicio de la comunicaciónEcuMFrIfFrFlexRay-CCUse Case: Inicialización del controlador y del driverFr_Init(Fr_ConfigPtr)Konfigurationsadresse speichernFr_ControllerInit(Fr_CtrlIdx)Conmutar a POC:configParámetros de clúster/nodo yPuffer konfigurierenConmutar a POC:readyE_OKUse Case: KommunikationsstartoptKaltstart erlaubtFr_AllowColdstart(Fr_CtrlIdx)CHI ALLOW_COLDSTARTE_OKFr_StartCommunication(Fr_CtrlIdx)CHI RUNE_OK (asynchron)POC:startup – éxito no garantizadoloopbis POC:normal active/passive (Interpretation)Fr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)vPOC lesenE_OK, Fr_POCStatusTypeFr_AllSlots(Fr_CtrlIdx)CHI ALL_SLOTS (a partir del siguiente ciclo)E_OK

Diagrama de secuencia: Inicialización e inicio de comunicación por etapas; el startup se ejecuta de forma asíncrona en el CC. Fuentes: Fr-SWS p. 41, Fr-SWS p. 42, Fr-SWS p. 43

Despertar a través de un canal seleccionado

Fr_SetWakeupChannel selecciona como canal de wakeup FR_CHANNEL_A o FR_CHANNEL_B [SWS_Fr_00091]. Para ello, el CC cambia brevemente a POC:config mediante el comando CHI CONFIG y regresa a POC:ready con CONFIG_COMPLETE Fr-SWS p. 49. Fr_SendWUP solo está permitido en POC:ready e inicia con WAKEUP la transmisión del patrón de despertar. Durante este proceso, el CC pasa por POC:wakeup y vuelve después a POC:ready. Un patrón transmitido no garantiza que todos los nodos del clúster despierten Fr-SWS p. 48.

El resultado lo indica Fr_WakeupStatusType en el estado POC, por ejemplo como FR_WAKEUP_TRANSMITTED, FR_WAKEUP_RECEIVED_WUP o como caso de colisión [SWS_Fr_00508]. El FlexRay State Manager evalúa estos valores FrSM-SWS p. 19. Además, Fr_GetWakeupRxStatus notifica de forma codificada en bits si se ha recibido un patrón de despertar en el canal A (bit 0) o en el canal B (bit 1) [SWS_Fr_00587].

Configurar canal de wakeup y transmitir patrón de despertarFrIfFrFlexRay-CCUse Case: Wakeup-Kanal festlegenFr_SetWakeupChannel(Fr_CtrlIdx, FR_CHANNEL_A)CHI CONFIG (POC:config)Wakeup-Kanal konfigurierenCHI CONFIG_COMPLETE (POC:ready)E_OKUse Case: Weckmuster sendenFr_SendWUP(Fr_CtrlIdx)CHI WAKEUPE_OK (asynchron)POC:wakeup, danach wieder POC:readyUse Case: Comprobar resultadoFr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)WakeupStatus, z. B. FR_WAKEUP_TRANSMITTEDFr_GetWakeupRxStatus(Fr_CtrlIdx, Fr_WakeupRxStatusPtr)Empfangsindikatoren A/B lesenE_OK, Bit 0 = Kanal A, Bit 1 = Kanal B

Diagrama de secuencia: Primero se configura el canal mediante un breve desvío por CONFIG, luego se envía el patrón de despertar y se consulta el estado. Fuentes: Fr-SWS p. 49, Fr-SWS p. 48, Fr-SWS p. 78

Ruta de datos de L-PDU: Transmisión, confirmación, recepción

Los datos fluyen como LSdu a través de LPdus configuradas en el FrIf y designadas de forma unívoca mediante Fr_LPduIdx. Fr_TransmitTxLPdu transfiere el búfer y la longitud de forma asíncrona al recurso de transmisión [SWS_Fr_00092]. Mediante Fr_SlotAssignmentPtr, quien llama recibe el ciclo, el slot ID y el canal (Fr_SlotAssignmentType, [SWS_Fr_91002]); si pasa NULL_PTR, se omite esta indicación Fr-SWS p. 53. El FrIf llama a Fr_TransmitTxLPdu directamente desde FrIf_Transmit e incrementa el TxConfCounter de la PDU en caso de E_OK FrIf-SWS p. 106.

En su lista de trabajos, el FrIf consulta Fr_CheckTxLPduStatus [SWS_Fr_00094]. Los posibles resultados son FR_TRANSMITTED, FR_TRANSMITTED_CONFLICT y FR_NOT_TRANSMITTED [SWS_Fr_00511]. Solo en caso de FR_TRANSMITTED siguen TxConfirmations a las capas superiores FrIf-SWS p. 38. Fr_CancelTxLPdu finaliza una orden de transmisión pendiente y devuelve E_OK; si no hay ninguna pendiente, devuelve E_NOT_OK Fr-SWS p. 54.

Transmisión y confirmación de transmisiónObere SchichtISRFrIfFrUse Case: Transmisión con acceso directo al búferFrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,Determinar Fr_LSduPtr y la longitudFr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OKIncrementar TxConfCounter de la PDURetorno de FrIf_TransmitUse Case: Confirmación de transmisión en la lista de trabajosFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloopPor cada PDU en la trama con TxConfCounter > 0TxConfCounter verringern<UL_TxConfirmation>(PduId)

Diagrama de secuencia: Transmisión con acceso directo al búfer; la confirmación sigue más tarde, desacoplada en la lista de trabajos. Fuentes: FrIf-SWS p. 106, FrIf-SWS p. 112, [SWS_Fr_00094]

Fr_ReceiveRxLPdu copia los datos útiles, la longitud y el estado Fr_RxLPduStatusType de forma síncrona en los búferes del llamante [SWS_Fr_00093]. El valor FR_RECEIVED_MORE_DATA_AVAILABLE indica instancias adicionales en una FIFO de recepción [SWS_Fr_00512]. Fr utiliza la FIFO de hardware si los criterios de filtrado configurados son aplicables a ella. Cada llamada extrae entonces la primera trama válida; no existe una API de FIFO propia Fr-SWS p. 22. En ReceiveAndIndicate, el FrIf realiza por ello consultas repetidas hasta que se devuelve FR_NOT_RECEIVED o se alcanza FrIfRxComOpMaxLoop FrIf-SWS p. 41.

Recepción con ReceiveAndIndicateISRFrIfFrObere SchichtFrIf_JobListExec_<Cluster>()Fr_CtrlIdx, Fr_LPduIdx, Zwischenpuffer festlegen;ComOpLoopCounter = 0loopComOpLoopCounter < FrIfRxComOpMaxLoopFr_ReceiveRxLPdu(Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr,Fr_LPduStatusPtr, Fr_LSduLengthPtr, Fr_SlotAssignmentPtr)Copiar LSdu del búfer de recepción o biende la primera entrada FIFO válidaE_OK, Fr_RxLPduStatusType, longitudaltFR_NOT_RECEIVEDCommunication Operation beendetFR_RECEIVED / FR_RECEIVED_MORE_DATA_AVAILABLEoptBus Mirroring aktivMirror_ReportFlexRayFrame() aufrufen<UL_RxIndication>(PduId, ...) por cada PDU en la trama

Diagrama de secuencia: Recepción en un bucle acotado hasta que no queden datos pendientes. Fuentes: FrIf-SWS p. 41, FrIf-SWS p. 115, [SWS_Fr_00512]

Configuración, referencia a instancias y reconfiguración de búferes

La configuración está dividida en dos partes: los parámetros del clúster residen en el FrIf y los parámetros relativos al controlador en Fr. Todas las especificaciones de transmisión y recepción (FrIfLPdu, FrIfFrameTriggering) se encuentran únicamente en el FrIf Fr-SWS p. 25. Para cada controlador hay un contenedor FrController (1..*) con FrCtrlIdx y los parámetros de protocolo FrP… Fr-SWS p. 98. En R20-11, Fr_ConfigType es un tipo derivado de void para la configuración post-build específica de la implementación [SWS_Fr_91001]. En cambio, el pasaje documental de R24-11 lo presenta como Structure Fr-SWS p. 34; para R20-11 rige el requisito. Si se combinan varios controladores de FlexRay, Fr_GeneralTypes.h solo debe figurar una vez en el árbol de fuentes Fr-SWS p. 32. Fr_ReadCCConfig lee parámetros individuales a través de índices FR_CIDX_… a partir de [SWS_Fr_00651].

Los recursos LPdu pueden modificarse en tiempo de ejecución. Fr_PrepareLPdu configura el recurso asignado (slot ID, filtro de ciclo, longitud, CRC de cabecera), siempre que el generador de configuración utilice la reconfiguración. La función puede desactivarse mediante FrPrepareLPduSupport Fr-SWS p. 61. El FrIf la invoca como Communication Operation PREPARE_LPDU; esto consume tiempo de ejecución, incluso si el controlador no se reconfigura FrIf-SWS p. 42. Fr_ReconfigLPdu restablece el frame ID, el canal, el filtro de ciclo, la longitud de la carga útil y el CRC de cabecera [SWS_Fr_00524]. Al hacerlo no recalcula el CRC, sino que solo comprueba si se encuentra en el rango 0–2047. Fr_DisableLPdu retira un recurso del modo de transmisión y recepción, aunque solo en el caso de LPdus dinámicamente reconfigurables Fr-SWS p. 65.

Tiempo global, variables de estado y temporizadores absolutos

Diversas consultas requieren sincronía con el tiempo global de FlexRay. Fr_GetGlobalTime proporciona ciclo y macrotick de forma consistente y puede invocarse dentro de una Exclusive Area Fr-SWS p. 67. Fr_GetNmVector no debe invocarse en el momento de la actualización del vector de NM Fr-SWS p. 68. Para el diagnóstico sirven otras consultas:

  • Fr_GetChannelStatus: estado de canal codificado en bits [SWS_Fr_00556]
  • Fr_GetClockCorrection: corrección de tasa y de offset [SWS_Fr_00564]
  • Fr_GetNumOfStartupFrames: cantidad de startup frames [SWS_Fr_00547]
  • Fr_GetSyncFrameList: listas de sync frames, entradas no utilizadas rellenadas con 0 [SWS_Fr_00573]

Los temporizadores absolutos se direccionan mediante Fr_AbsTimerIdx. Fr_SetAbsoluteTimer programa el ciclo y un offset de macrotick, y requiere sincronía en el momento de la activación Fr-SWS p. 79. Fr_CancelAbsoluteTimer detiene el temporizador [SWS_Fr_00095]. La línea de interrupción controla habilitación, bloqueo, confirmación y consulta de estado sin condición previa del CC [SWS_Fr_00034], [SWS_Fr_00035], [SWS_Fr_00036], [SWS_Fr_00108].

Comportamiento en caso de error

Las funciones con Std_ReturnType devuelven E_OK o E_NOT_OK. Con E_NOT_OK, los parámetros de salida permanecen sin cambios Fr-SWS p. 36. Si una función detecta un fallo de hardware del controlador, invoca Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) y devuelve E_NOT_OK Fr-SWS p. 43. En cambio, si la comprobación de registros en Fr_ControllerInit resulta exitosa, Fr notifica PASS Fr-SWS p. 26. Estos pasajes proceden de releases posteriores. El hecho de que la ruta hacia DEM también esté prevista en R20-11 lo respalda [SWS_Fr_00390]. Fr notifica los errores de protocolo en el estado del slot por LPdu como FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600].

Si la detección de errores de desarrollo está activa, Fr notifica, entre otros, los siguientes errores [SWS_Fr_91003]:

  • FR_E_INIT_FAILED: Fr no está inicializado
  • FR_E_INV_CTRL_IDX: índice de controlador no válido
  • FR_E_INV_CYCLE: ciclo superior a 63
  • FR_E_PARAM_POINTER: puntero no válido

Fr_GetSyncFrameList notifica FR_E_INV_FRAMELIST_SIZE si Fr_ListSize es mayor que 15 [SWS_Fr_00667]. Como error de tiempo de ejecución se considera FR_E_INV_POCSTATE: el CC no se encuentra en el estado POC esperado [SWS_Fr_91004].

fehler start Dienstaufruf, z. B. Fr_AllowColdstart detaktiv Entwicklungsfehlererkennung aktiv? start->detaktiv init Fr initialisiert? detaktiv->init Sí hw Ejecutar comando CHI / acceso a registros detaktiv->hw No initerr Entwicklungsfehler melden (FR_E_INIT_FAILED) init->initerr No param ¿parámetros válidos? init->param Sí abbruch cancelación sin ejecución (interpretación) initerr->abbruch paramerr Entwicklungsfehler melden (z. B. FR_E_INV_CTRL_IDX, FR_E_PARAM_POINTER) param->paramerr No param->hw Sí paramerr->abbruch hwerr Hardwarefehler erkannt? hw->hwerr dem Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) hwerr->dem Sí ok E_OK, parámetros de salida válidos hwerr->ok No nok E_NOT_OK, parámetros de salida sin cambios dem->nok

Diagrama de actividades: Secuencia de comprobación de una llamada de servicio y las vías de notificación a DET y DEM. Fuentes: [SWS_Fr_91003], Fr-SWS p. 43, Fr-SWS p. 36

Más evidencia detallada

Guía generada por IA sobre la base de los requisitos y pasajes de documentos incluidos en el payload (Release R20-11); las suposiciones están identificadas como interpretación. La especificación AUTOSAR sigue siendo vinculante.

FlexRay Driver (Fr)

Provides hardware-dependent access to FlexRay communication controllers.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

función Fr_Init [SWS_Fr_00032] 📄 PDF

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

Initializes the Fr.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f5aa6ccb591c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_Init sirve para inicializar el controlador FlexRay (Fr) conforme a [SWS_Fr_00032]. Está declarada a través del archivo de cabecera Fr.h y posee el Service-ID 0x1c [SWS_Fr_00032]. Como único parámetro de entrada, la interfaz espera Fr_ConfigPtr de tipo const Fr_ConfigType* [SWS_Fr_00032]. Este puntero apunta a una estructura de configuración dependiente del controlador que proporciona toda la información necesaria para el posterior funcionamiento operativo del controlador FlexRay [SWS_Fr_00032]. La función no posee parámetros de entrada/salida ni parámetros de salida y no devuelve ningún valor (void) [SWS_Fr_00032].

En cuanto a la concurrencia y las restricciones, Fr_Init está especificada como no reentrante (Non Reentrant) [SWS_Fr_00032]. Por lo tanto, las llamadas no deben realizarse bajo ningún concepto de forma paralela o anidada. Dado que la estructura de configuración transferida contiene todos los datos fundamentales para el funcionamiento posterior, la inicialización se realizaría típicamente de forma secuencial en la fase de inicio de todo el sistema, antes de que se invoquen otros servicios del módulo [SWS_Fr_00032]. Pregunta Q-a208c696fbb083d4 (abierta)

En la definición del servicio no está previsto un tratamiento de errores mediante códigos de error específicos o respuestas de estado [SWS_Fr_00032]. Requisitos adicionales, por ejemplo relativos a notificaciones al DET o DEM, no están documentados en el presente conjunto de datos.

Este texto ha sido generado por una IA a partir de la especificación.

Guía del implementador pendiente (complejidad I1)

función Fr_ControllerInit [SWS_Fr_00017] 📄 PDF

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Initialzes a F lex Ray CC.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8b66fbe244aa Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_ControllerInit sirve para inicializar un FlexRay Communication Controller (FlexRay CC) en el contexto del controlador FlexRay [SWS_Fr_00017]. Está declarada en el archivo de cabecera Fr.h y posee el Service ID 0x00 [SWS_Fr_00017]. A través del parámetro de entrada Fr_CtrlIdx de tipo uint8 se pasa el índice del controlador que se va a inicializar [SWS_Fr_00017].

Como valor de retorno, la función proporciona el estado Std_ReturnType [SWS_Fr_00017]:

  • E_OK: la llamada a la API se completó con éxito [SWS_Fr_00017].
  • E_NOT_OK: La llamada se canceló prematuramente debido a errores ocurridos [SWS_Fr_00017].

En el alcance de la interfaz especificada no se indican códigos de error detallados ni notificaciones a DET o DEM [SWS_Fr_00017].

En lo que respecta a la concurrencia, la función está clasificada como no reentrante para la misma unidad de hardware (Non Reentrant for the same device) [SWS_Fr_00017]. Por tanto, una llamada para el mismo índice de controlador Fr_CtrlIdx no debe realizarse simultáneamente; por el contrario, presumiblemente sean admisibles llamadas paralelas para diferentes controladores [SWS_Fr_00017]. Pregunta Q-5bbbba38e8530b43 (abierta) Dado que no se definen parámetros de entrada y salida (inout/out), la inicialización se realiza puramente basada en estados en el controlador [SWS_Fr_00017].

Esta nota de uso se ha generado automáticamente a partir del estado de la especificación AUTOSAR R20-11.

función Fr_StartCommunication [SWS_Fr_00010] 📄 PDF

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Starts communication.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 46a36d4c38fd Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Fr_StartCommunication sirve para iniciar la comunicación FlexRay en un controlador indicado [SWS_Fr_00010]. La interfaz está disponible a través del archivo de cabecera Fr.h [SWS_Fr_00010].

usar

La llamada se realiza de forma asíncrona pasando el parámetro Fr_CtrlIdx (ID de servicio 0x03), el cual indica el índice del controlador de comunicación FlexRay en el contexto del controlador de dispositivo [SWS_Fr_00010]. Como valor de retorno, la función devuelve un estado de tipo Std_ReturnType [SWS_Fr_00010]:

  • E_OK: la llamada a la API finalizó con éxito [SWS_Fr_00010]. Interpretación: debido a la semántica asíncrona, es de esperar que esto signifique la aceptación exitosa de la orden de inicio, mientras que el establecimiento real de la conexión se realiza a continuación. Pregunta Q-fabca57ea7d32a05 (abierta)
  • E_NOT_OK: la llamada a la API se canceló debido a errores [SWS_Fr_00010].

Concurrencia y restricciones

Para el mismo controlador FlexRay, Fr_StartCommunication está especificada como no reentrante [SWS_Fr_00010]. En cambio, para diferentes instancias de controlador, la llamada es reentrante. Los datos de especificación presentes no contienen errores específicos de desarrollo (DET), notificaciones de error (DEM) ni dependencias adicionales.

Esta nota de uso se basa exclusivamente en las indicaciones de la especificación AUTOSAR Classic Release R20-11.

Guía del implementador pendiente (complejidad I1)

función Fr_AllowColdstart [SWS_Fr_00114] 📄 PDF

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 483395af770f Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función Fr_AllowColdstart sirve para invocar el comando Controller Host Interface ALLOW_COLDSTART en el FlexRay Communication Controller [SWS_Fr_00114]. La declaración se proporciona a través del archivo de cabecera Fr.h; el servicio posee el Service ID 0x23 [SWS_Fr_00114]. Mediante el parámetro de entrada Fr_CtrlIdx se indica el índice del controlador de FlexRay al que se debe acceder dentro del controlador de FlexRay [SWS_Fr_00114]. La llamada se ejecuta de forma asíncrona [SWS_Fr_00114].

Tratamiento de errores y valores de retorno

La función devuelve un estado del tipo Std_ReturnType [SWS_Fr_00114]:

  • E_OK: la llamada a la API finalizó correctamente [SWS_Fr_00114].
  • E_NOT_OK: la llamada a la API se canceló debido a errores [SWS_Fr_00114].

En la especificación de la función no se detallan por separado causas de error específicas ni notificaciones a DEM o DET para este servicio [SWS_Fr_00114].

Concurrencia y restricciones

La interfaz no es reentrante para la misma instancia de controlador (Non Reentrant for the same device) [SWS_Fr_00114]. Por lo tanto, las llamadas con el mismo parámetro Fr_CtrlIdx no deben realizarse en paralelo ni interrumpiéndose entre sí [SWS_Fr_00114]. Interpretación: debido a la semántica de ejecución asíncrona, el valor de retorno E_OK probablemente solo confirma la aceptación del comando CHI por parte del controlador, mientras que el cambio de estado interno del controlador se produce de forma diferida en el tiempo [SWS_Fr_00114]. Pregunta Q-e5c407f32c449510 (abierta)

Esta nota de uso se generó automáticamente sobre la base de la especificación AUTOSAR para la versión R20-11.

Guía del implementador pendiente (complejidad I1)

función Fr_AllSlots [SWS_Fr_00516] 📄 PDF

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALL_ SLOTS'.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2807feb59753 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y funcionamiento

La función Fr_AllSlots sirve para emitir el comando CHI (Controller Host Interface) ALL_SLOTS al controlador de comunicación FlexRay direccionado [SWS_Fr_00516]. Se proporciona a través de la cabecera Fr.h y posee el Service-ID 0x24 [SWS_Fr_00516].

Como parámetro de entrada, la función espera Fr_CtrlIdx, que indica el índice del controlador FlexRay afectado en el contexto del controlador FlexRay [SWS_Fr_00516]. La ejecución se realiza de forma asíncrona [SWS_Fr_00516]. El valor de retorno E_OK señala que la llamada a la API concluyó con éxito, mientras que E_NOT_OK indica una interrupción debida a errores [SWS_Fr_00516]. Debido a la semántica asíncrona, E_OK probablemente solo confirme la recepción correcta o el inicio del comando CHI y no la reacción completa del hardware del controlador (interpretación). Pregunta Q-c526e3b174a4b44a (abierta)

Tratamiento de errores y concurrencia

Si la ejecución falla, la llamada se interrumpe con el valor de retorno E_NOT_OK [SWS_Fr_00516]. En la especificación de este elemento no se indican causas concretas de error ni notificaciones de DET/DEM.

En lo referente a la reentrancia, Fr_AllSlots está especificada como no reentrante para el mismo controlador (Non Reentrant for the same device) [SWS_Fr_00516]. Por lo tanto, las capas superiores deben evitar llamadas concurrentes para la misma instancia de controlador. Por el contrario, llamadas paralelas para diferentes instancias de controlador deberían ser admisibles (interpretación). Pregunta (abierta)

Esta nota de uso se ha elaborado de forma automatizada. Las afirmaciones técnicas se basan exclusivamente en el extracto de la especificación AUTOSAR.

función Fr_HaltCommunication [SWS_Fr_00014] 📄 PDF

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ff4ce9c60f63 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Fr_HaltCommunication sirve para iniciar la detención de la comunicación en un controlador de comunicación FlexRay ejecutando la orden CC-CHI 'DEFERRED_HALT' [SWS_Fr_00014].

Uso y parámetros

La llamada se realiza de forma asíncrona y se proporciona a través de la cabecera Fr.h (Service ID 0x04) [SWS_Fr_00014]:

  • Fr_CtrlIdx (parámetro de entrada): determina el índice del controlador de comunicación FlexRay que se va a controlar dentro del controlador FlexRay [SWS_Fr_00014].
  • Valor de retorno (Std_ReturnType): devuelve E_OK si la llamada a la función se completó con éxito, o E_NOT_OK si la llamada se canceló a consecuencia de errores [SWS_Fr_00014].

Concurrencia y restricciones

En cuanto al contexto de llamada y la concurrencia, Fr_HaltCommunication no es reentrante respecto al mismo dispositivo (Non Reentrant for the same device) [SWS_Fr_00014]. Por consiguiente, no se debe realizar ninguna llamada concurrente o superpuesta para el mismo índice de controlador. Por el contrario, las llamadas para diferentes instancias de controlador están permitidas.

Manejo de errores

Si se produce un error durante la llamada, la función cancela la ejecución y lo señaliza a través del valor de retorno E_NOT_OK [SWS_Fr_00014]. En el alcance de la especificación no se indican mensajes de error detallados para esta función.

Esta nota de uso fue generada automáticamente a partir de la especificación de AUTOSAR.

función Fr_AbortCommunication [SWS_Fr_00011] 📄 PDF

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'FREEZE'.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9c861ab0356c Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_AbortCommunication interrumpe la comunicación en curso ejecutando el comando de interfaz host del controlador (comando CHI) FREEZE en el controlador de comunicación FlexRay (CC) especificado [SWS_Fr_00011].

Invocación y parámetros

La llamada se realiza a través de la cabecera Fr.h especificando el índice del controlador Fr_CtrlIdx, el cual identifica de forma unívoca el FlexRay CC de destino en el contexto del controlador FlexRay [SWS_Fr_00011]. Aparte de esto, no existen parámetros de entrada ni de salida.

Valores de retorno y tratamiento de errores

La función devuelve un estado de tipo Std_ReturnType [SWS_Fr_00011]:

  • E_OK: la llamada a la API se completó con éxito [SWS_Fr_00011].
  • E_NOT_OK: la llamada a la API se canceló debido a errores [SWS_Fr_00011].

Concurrencia y restricciones

En cuanto al comportamiento de concurrencia, Fr_AbortCommunication está especificada como no reentrante para el mismo controlador de comunicación (Non Reentrant for the same device) [SWS_Fr_00011]. El llamador debe evitar llamadas paralelas para la misma instancia del controlador.

Este texto ha sido generado por una IA basándose en la especificación AUTOSAR R20-11.

función Fr_SendWUP [SWS_Fr_00009] 📄 PDF

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'WAKEUP'.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 3acd90d21e6a Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función Fr_SendWUP sirve para iniciar un proceso de reactivación (wakeup) en el bus FlexRay mediante el envío del comando CHI WAKEUP al controlador de comunicación [SWS_Fr_00009]. Mediante el parámetro Fr_CtrlIdx se pasa el índice del controlador de destino en el contexto del controlador de dispositivo [SWS_Fr_00009]. La llamada se realiza de forma asíncrona; la interfaz desencadena el comando, mientras que la transmisión del patrón de reactivación se realiza a continuación a nivel de hardware [SWS_Fr_00009]. La declaración está disponible a través de Fr.h y el servicio posee el ID de servicio 0x06 [SWS_Fr_00009].

Tratamiento de errores y valores de retorno

La función devuelve un valor de estado del tipo Std_ReturnType [SWS_Fr_00009]:

  • E_OK: la llamada a la API se ejecutó con éxito y se envió el comando CHI [SWS_Fr_00009].
  • E_NOT_OK: la llamada a la API se canceló debido a errores producidos [SWS_Fr_00009].

Concurrencia y restricciones

La función está especificada como no reentrante para el mismo dispositivo (Non Reentrant for the same device) [SWS_Fr_00009]. Interpretación: es de esperar que esto signifique que los módulos superiores deben sincronizar las llamadas simultáneas para la misma instancia de controlador, mientras que las llamadas para diferentes instancias de controlador pueden ejecutarse concurrentemente. Pregunta Q-0e3b4e70a0755877 (abierta) No se definen parámetros de entrada/salida ni parámetros de salida puros [SWS_Fr_00009].

Este texto ha sido generado por una IA a partir de la especificación R20-11 de AUTOSAR.

función Fr_TransmitTxLPdu [SWS_Fr_00092] 📄 PDF

Std_ReturnType Fr_TransmitTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, const uint8* Fr_LSduPtr, uint8 Fr_LSduLength, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Transmits data on the Flex Ray network.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ef89a1ec9558 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Fr_TransmitTxLPdu sirve para la transmisión de datos útiles a través de la red FlexRay [SWS_Fr_00092]. Procesa la orden de transmisión con semántica asíncrona y asigna la LSdu que se va a transmitir al frame de FlexRay identificado por Fr_LPduIdx [SWS_Fr_00092].

Uso y parámetros

La llamada se realiza a través del archivo de cabecera Fr.h (ID de servicio 0x0b) indicando el índice de controlador Fr_CtrlIdx para el FlexRay Communication Controller, así como el índice de frame unívoco Fr_LPduIdx [SWS_Fr_00092]. Mediante el puntero Fr_LSduPtr se pasa la LSdu de transmisión proporcionada en el búfer, cuya longitud de datos en bytes se especifica mediante Fr_LSduLength [SWS_Fr_00092]. A través del parámetro de salida Fr_SlotAssignmentPtr, el llamador puede consultar el ciclo de transmisión real, el ID de slot y el canal FlexRay; si no se necesita esta información, se puede pasar un NULL_PTR para ello [SWS_Fr_00092].

Valores de retorno y tratamiento de errores

La función confirma la llamada con el tipo de retorno Std_ReturnType: el valor de retorno E_OK confirma la finalización correcta de la llamada a la API, mientras que E_NOT_OK señala una interrupción debida a errores [SWS_Fr_00092]. Los datos de especificación no contienen mensajes específicos de DET o DEM.

concurrencia

En cuanto a la concurrencia, Fr_TransmitTxLPdu está especificada como no reentrante para el mismo dispositivo (Non Reentrant for the same device) [SWS_Fr_00092]. Por lo tanto, no están permitidas las llamadas de transmisión paralelas para el mismo controlador FlexRay.

Este texto ha sido elaborado por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR R20-11.

función Fr_CancelTxLPdu [SWS_Fr_00610] 📄 PDF

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Cancels the already pending transmission of a LPdu contained in a controllers p hysical transmit resource (e.g. message buffer).

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1b6a672c94da Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función síncrona Fr_CancelTxLPdu cancela la transmisión ya pendiente de una L-PDU que se encuentra en un recurso emisor físico del controlador (p. ej., un búfer de transmisión) [SWS_Fr_00610]. La función está declarada en la cabecera Fr.h y posee el Service ID 0x2d [SWS_Fr_00610].

Para identificar la transmisión que se va a cancelar, la interfaz espera dos parámetros [SWS_Fr_00610]:

  • Fr_CtrlIdx: índice del Communication Controller de FlexRay en el contexto del controlador de FlexRay [SWS_Fr_00610].
  • Fr_LPduIdx: Índice unívoco para la identificación de la trama FlexRay respectiva [SWS_Fr_00610].

Valores de retorno y tratamiento de errores

La llamada a la función devuelve un valor de estado del tipo Std_ReturnType [SWS_Fr_00610]:

No se han documentado códigos de error específicos, ni entradas de DET o DEM para esta función; en caso de producirse un error, la función lo señaliza exclusivamente a través del valor de retorno E_NOT_OK [SWS_Fr_00610].

Concurrencia y restricciones

En lo relativo al comportamiento frente a la concurrencia, Fr_CancelTxLPdu está especificada como no reentrante para el mismo dispositivo (Non Reentrant for the same device) [SWS_Fr_00610]. Es de suponer que esto signifique que las llamadas paralelas para la misma instancia de controlador deban sincronizarse a nivel de la entidad que realiza la llamada. Pregunta Q-ec480944eec04076 (abierta) No existen más parámetros de entrada o de salida [SWS_Fr_00610].

Esta nota de uso se generó automáticamente sobre la base de la versión de especificación AUTOSAR R20-11.

función Fr_ReceiveRxLPdu [SWS_Fr_00093] 📄 PDF

Std_ReturnType Fr_ReceiveRxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint8* Fr_LSduPtr, Fr_RxLPduStatusType* Fr_LPduStatusPtr, uint8* Fr_LSduLengthPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Service Fr_ReceiveRxLPdu.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0fc629fa27e3 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_ReceiveRxLPdu sirve para la recepción de datos útiles desde la red FlexRay y está disponible a través de la cabecera Fr.h [SWS_Fr_00093].

Parámetros y uso

A través de los parámetros de entrada Fr_CtrlIdx y Fr_LPduIdx se direccionan de forma unívoca el respectivo controlador de comunicación del controlador de FlexRay, así como el frame de FlexRay que se va a recibir [SWS_Fr_00093]. Los datos útiles y de estado se transfieren al llamador a través de varios punteros:

  • Fr_LSduPtr: Puntero al búfer en el que debe almacenarse la L-SDU recibida.
  • Fr_LPduStatusPtr: Puntero a la ubicación de memoria para el estado de recepción de la L-PDU.
  • Fr_LSduLengthPtr: Ubicación de memoria para la longitud de la L-SDU recibida en bytes, correspondiente al número de bytes copiados en Fr_LSduPtr.
  • Fr_SlotAssignmentPtr: Ubicación de memoria para el ciclo, el ID de slot y el canal del frame. Si se pasa un NULL_PTR para esto, indica que el llamador no necesita esta información de asignación.

Concurrencia y tratamiento de errores

La interfaz se ejecuta de forma síncrona, pero no es reentrante para el mismo dispositivo [SWS_Fr_00093]. Un proceso de recepción correcto se confirma con E_OK, mientras que si se producen errores, la llamada se interrumpe y se devuelve E_NOT_OK [SWS_Fr_00093]. En los datos de especificación de la función no se indican códigos de error específicos de DET o DEM.

Esta nota de uso se ha creado automáticamente a partir de la especificación.

Guía del implementador pendiente (complejidad I1)

función Fr_CheckTxLPduStatus [SWS_Fr_00094] 📄 PDF

Std_ReturnType* Fr_CheckTxLPduStatus (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, Fr_TxLPduStatusType* Fr_TxLPduStatusPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Checks the transmit status of the LSdu.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b48b77700fa6 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La interfaz síncrona Fr_CheckTxLPduStatus (ID de servicio 0x0d) sirve, según [SWS_Fr_00094], para comprobar el estado de transmisión actual de una L-SDU o de un frame de FlexRay en el controlador de FlexRay. Se proporciona a través de la cabecera Fr.h.

Como parámetros de entrada, la función requiere el índice del controlador de comunicación FlexRay (Fr_CtrlIdx), así como el índice Fr_LPduIdx, que identifica de forma unívoca en el controlador el frame de FlexRay que se va a comprobar [SWS_Fr_00094]. El estado de transmisión determinado de la LPdu se escribe de nuevo en la dirección de memoria transferida a través del parámetro de salida Fr_TxLPduStatusPtr [SWS_Fr_00094].

Además, el parámetro de salida Fr_SlotAssignmentPtr permite determinar la asignación de slot: hace referencia a una posición de memoria en la que se almacenan el ciclo real, el ID de slot y el canal del frame direccionado [SWS_Fr_00094]. Si el llamador no necesita esta información de asignación, pasar un NULL_PTR indica que estos datos no tienen que proporcionarse [SWS_Fr_00094].

La interfaz debe ejecutarse de forma síncrona y está especificada como no reentrante para el mismo dispositivo (Non Reentrant for the same device) [SWS_Fr_00094]. En caso de finalización correcta, la llamada proporciona el valor de retorno E_OK; en caso de producirse errores, la función se interrumpe y devuelve E_NOT_OK [SWS_Fr_00094].

Este texto fue generado por una IA y se basa en la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función Fr_PrepareLPdu [SWS_Fr_00107] 📄 PDF

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Prepares a LPdu.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 942a5d73cf16 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función síncrona Fr_PrepareLPdu sirve, conforme a [SWS_Fr_00107], para preparar una L-PDU (Prepares a LPdu) y se proporciona a través de la cabecera Fr.h. Como parámetro de entrada, el servicio espera el índice de controlador Fr_CtrlIdx para direccionar el FlexRay Communication Controller (CC) en el contexto del controlador, así como Fr_LPduIdx para la identificación unívoca de la trama FlexRay correspondiente [SWS_Fr_00107]. Interpretación: Es de suponer que la llamada inicialice o active estructuras de búfer específicas del hardware para el posterior proceso de envío o recepción de la trama. Pregunta Q-c4375099d73dbea2 (abierta)

Concurrencia y restricciones

En lo que respecta al comportamiento de concurrencia, Fr_PrepareLPdu está especificada como no reentrante para el mismo dispositivo de hardware (Non Reentrant for the same device) [SWS_Fr_00107]. Por lo tanto, el llamador debe evitar obligatoriamente una llamada paralela o que cause interrupción para el mismo índice de controlador Fr_CtrlIdx.

Valores de retorno y tratamiento de errores

La función posee el Service-ID 0x1f y notifica su estado a través del tipo de retorno Std_ReturnType [SWS_Fr_00107]:

  • E_OK: la llamada a la API finalizó correctamente [SWS_Fr_00107].
  • E_NOT_OK: la llamada a la API se canceló prematuramente debido a errores ocurridos [SWS_Fr_00107]. En el presente extracto de la especificación no se definen códigos de error específicos de DET o DEM.

Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.

función Fr_ReconfigLPdu [SWS_Fr_00524] 📄 PDF

Std_ReturnType Fr_ReconfigLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint16 Fr_FrameId, Fr_ChannelType Fr_ChnlIdx, uint8 Fr_CycleRepetition, uint8 Fr_CycleOffset, uint8 Fr_PayloadLength, uint16 Fr_Header CRC); ⚠️

Service Fr_ReconfigLPdu.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2abd260e91ea Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y parámetros

La función síncrona Fr_ReconfigLPdu permite la reconfiguración dinámica de una LPDU de FlexRay en tiempo de ejecución [SWS_Fr_00524]. Proporcionada a través de la cabecera Fr.h, la llamada direcciona mediante Fr_CtrlIdx el respectivo controlador FlexRay y mediante Fr_LPduIdx el identificador unívoco del frame AUTOSAR_SWS_FlexRayDriver p. 65.

En la reconfiguración se pasan los siguientes parámetros de destino [SWS_Fr_00524]:

  • Fr_FrameId y Fr_ChnlIdx: Definición del nuevo ID de frame, así como del canal de comunicación.
  • Fr_CycleRepetition y Fr_CycleOffset: Configuración del filtrado de ciclo para la LPDU.
  • Fr_PayloadLength y Fr_HeaderCRC: Longitud de datos útiles en bytes, así como el CRC de cabecera correspondiente del frame.

Concurrencia y valores de retorno

El servicio no es reentrante para el mismo controlador (Non Reentrant for the same device) [SWS_Fr_00524]. En cambio, en caso de llamadas para diferentes instancias de controlador FlexRay, es probable que se dé reentrancia (interpretación). Pregunta Q-85908ef4796c80c7 (abierta) Si la reconfiguración se realiza correctamente, la llamada devuelve E_OK; si la reconfiguración falla debido a errores, se devuelve E_NOT_OK AUTOSAR_SWS_FlexRayDriver p. 65.

Este texto ha sido elaborado por una IA; no se puede garantizar su exactitud.

función Fr_DisableLPdu [SWS_Fr_00539] 📄 PDF

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Disables the hardware resource of a LPdu for transmission/ reception.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 458329c58a82 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función síncrona del controlador Fr_DisableLPdu sirve para desactivar el recurso de hardware de una LPdu FlexRay para el envío o la recepción ([SWS_Fr_00539]). La interfaz se proporciona a través del archivo de cabecera Fr.h y está asignada al Service-ID 0x26 ([SWS_Fr_00539]).

Para la llamada a la función se deben transferir dos parámetros obligatorios ([SWS_Fr_00539]):

  • Fr_CtrlIdx: el índice del controlador de comunicación FlexRay dentro del contexto del controlador.
  • Fr_LPduIdx: el índice unívoco para identificar la correspondiente trama FlexRay o LPdu.

Como valor de retorno, la función proporciona el estado Std_ReturnType ([SWS_Fr_00539]). El valor E_OK señala una llamada finalizada con éxito, mientras que se devuelve E_NOT_OK en caso de que la llamada se haya interrumpido por motivos de error.

Manejo de errores

En la presente especificación no se definen códigos de error específicos ni avisos a DET o DEM para este servicio; el comportamiento anómalo se manifiesta directamente en el valor de retorno E_NOT_OK ([SWS_Fr_00539]).

Concurrencia y restricciones

En lo que respecta a la reentrancia, Fr_DisableLPdu está clasificada como no reentrante para el mismo dispositivo (Non Reentrant for the same device) ([SWS_Fr_00539]). Por lo tanto, los llamadores deben asegurarse de que se sincronicen las llamadas simultáneas para el mismo controlador.

Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.

función Fr_GetGlobalTime [SWS_Fr_00042] 📄 PDF

Std_ReturnType Fr_GetGlobalTime (uint8 Fr_CtrlIdx, uint8* Fr_CyclePtr, uint16* Fr_MacroTickPtr);

Gets the current global Flex Ray time. Important Note: Fr_ Get Global Time may be called within an exclusive area.

función Fr_GetNumStartupFrames [SWS_Fr_00547] 📄 PDF

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

Gets the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

función Fr_GetChannelStatus [SWS_Fr_00556] 📄 PDF

Std_ReturnType Fr_GetChannelStatus (uint8 Fr_CtrlIdx, uint16* Fr_ChannelAStatusPtr, uint16* Fr_ChannelBStatusPtr);

Gets the channe l status information. Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver

función Fr_GetClockCorrection [SWS_Fr_00564] 📄 PDF

Std_ReturnType Fr_GetClockCorrection (uint8 Fr_CtrlIdx, sint16* Fr_RateCorrectionPtr, sint32* Fr_OffsetCorrectionPtr);

Gets the current clock correction values. See variables v Interim Rate Correction and v Interim Offset Correction of [12] for details.

función Fr_CancelAbsoluteTimer [SWS_Fr_00095] 📄 PDF

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Stops an absolute timer.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1332ce8764d8 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_CancelAbsoluteTimer sirve para la parada ordenada de un temporizador absoluto activo en un FlexRay Communication Controller ([SWS_Fr_00095]). Se proporciona a través del archivo de cabecera Fr.h y tiene el ID de servicio 0x13 ([SWS_Fr_00095]).

Parámetros y valor de retorno

  • Fr_CtrlIdx: Pasa el índice del FlexRay Communication Controller correspondiente en el contexto del controlador de FlexRay ([SWS_Fr_00095]).
  • Fr_AbsTimerIdx: Determina el índice del temporizador absoluto que se va a detener en el contexto del controlador FlexRay seleccionado ([SWS_Fr_00095]).
  • Valor de retorno: Proporciona mediante el tipo Std_ReturnType el estado E_OK en caso de ejecución correcta o E_NOT_OK si la llamada se interrumpió debido a errores ([SWS_Fr_00095]).

Concurrencia y restricciones

En cuanto a la concurrencia, la interfaz está definida como no reentrante para el mismo dispositivo («Non Reentrant for the same device») ([SWS_Fr_00095]). Las capas llamadoras deben asegurarse de que no se produzcan accesos concurrentes o que provoquen interrupciones para el mismo controlador. Interpretación: En el caso de controladores diferentes, en cambio, la ejecución probablemente debería ser admisible de forma reentrante. Pregunta Q-01203b0b28193021 (abierta)

Esta nota de uso se ha generado de forma automatizada sobre la base de la especificación de AUTOSAR R20-11.

función Fr_EnableAbsoluteTimerIRQ [SWS_Fr_00034] 📄 PDF

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_EnableAbsoluteTimerIRQ.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 7b32a9a85d27 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_EnableAbsoluteTimerIRQ sirve para activar la línea de interrupción de un temporizador absoluto dentro de un FlexRay Communication Controller [SWS_Fr_00034]. El servicio se proporciona a través del archivo de cabecera Fr.h y posee el ID de servicio 0x15 [SWS_Fr_00034].

Durante la llamada, la interfaz espera dos parámetros de entrada [SWS_Fr_00034]:

  • Fr_CtrlIdx: índice del Communication Controller de FlexRay en el contexto del controlador de FlexRay [SWS_Fr_00034].
  • Fr_AbsTimerIdx: índice del temporizador absoluto en el contexto del controlador de FlexRay direccionado [SWS_Fr_00034].

El valor de retorno del tipo Std_ReturnType indica el resultado de la ejecución [SWS_Fr_00034]:

  • E_OK: la llamada a la API se completó con éxito [SWS_Fr_00034].
  • E_NOT_OK: la llamada a la función se canceló debido a errores [SWS_Fr_00034].

En cuanto a la concurrencia, la función está especificada como no reentrante para el mismo dispositivo («Non Reentrant for the same device») [SWS_Fr_00034]. Esto requiere evitar de manera obligatoria las llamadas simultáneas para la misma instancia de controlador; sin embargo, es de suponer que una llamada paralela para diferentes instancias de controlador sea admisible. Pregunta Q-d7e594a84357e129 (abierta) En la descripción de la función no se detallan códigos de error específicos para errores de desarrollo o de producción (DET/DEM); los errores que se produzcan conllevan directamente la devolución de E_NOT_OK [SWS_Fr_00034].

Esta nota de uso se ha generado de forma automatizada a partir de la especificación SWS_Fr_00034.

función Fr_AckAbsoluteTimerIRQ [SWS_Fr_00036] 📄 PDF

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_AckAbsoluteTimerIRQ.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 042d5293cc25 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_AckAbsoluteTimerIRQ pertenece al módulo del controlador FlexRay (Fr) en la plataforma AUTOSAR Classic y sirve para restablecer la condición de interrupción de un temporizador absoluto [SWS_Fr_00036]. La declaración de la interfaz se proporciona a través del archivo de cabecera Fr.h y está asignada al Service ID hexadecimal 0x17 [SWS_Fr_00036].

Para direccionar el temporizador de forma unívoca, la función espera dos parámetros de entrada del tipo uint8, mientras que no dispone de parámetros de entrada/salida ni de salida pura [SWS_Fr_00036]:

  • Fr_CtrlIdx: Pasa el índice del FlexRay Communication Controller (CC) dentro del contexto del controlador de FlexRay [SWS_Fr_00036].
  • Fr_AbsTimerIdx: Designa el índice del temporizador absoluto dentro del contexto del respectivo FlexRay Communication Controller [SWS_Fr_00036].

El resultado de la ejecución de la función se notifica mediante el valor de estado del tipo Std_ReturnType. Si la llamada ha finalizado con éxito, la función devuelve E_OK [SWS_Fr_00036]. Si se producen errores durante la ejecución, la llamada a la función se interrumpe prematuramente y devuelve en su lugar E_NOT_OK [SWS_Fr_00036].

En cuanto al comportamiento de concurrencia, el servicio está clasificado como no reentrante para el mismo dispositivo (Non Reentrant for the same device) [SWS_Fr_00036]. Por tanto, las llamadas para la misma instancia de controlador deben realizarse de forma síncrona y no deben ejecutarse de manera concurrente o superpuesta [SWS_Fr_00036].

Esta nota de uso se basa en la especificación SWS_Fr_00036 del controlador de FlexRay y se ha generado de forma automatizada.

función Fr_DisableAbsoluteTimerIRQ [SWS_Fr_00035] 📄 PDF

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Disables the in terrupt line of an absolute timer.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d5655e373a1a Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_DisableAbsoluteTimerIRQ sirve en el controlador FlexRay para desactivar de manera selectiva la línea de interrupción de un temporizador absoluto [SWS_Fr_00035]. Como parámetros de entrada, la interfaz espera el índice de controlador Fr_CtrlIdx para direccionar el respectivo controlador de comunicación (CC) FlexRay en el contexto del controlador, así como Fr_AbsTimerIdx para identificar el temporizador absoluto dentro de este controlador [SWS_Fr_00035]. La declaración de la función se proporciona a través del archivo de cabecera Fr.h [SWS_Fr_00035].

El resultado de la ejecución se transmite de forma síncrona al llamador mediante el tipo de retorno Std_ReturnType [SWS_Fr_00035]. Si el servicio pudo finalizar de forma correcta y exitosa, devuelve E_OK [SWS_Fr_00035]. Por el contrario, si se producen errores durante el procesamiento, la función cancela el proceso y lo señaliza mediante el valor de retorno E_NOT_OK [SWS_Fr_00035]. En el elemento de especificación no se señalan errores concretos de desarrollo o tiempo de ejecución (DET/DEM), por lo que los estados de error deben detectarse y gestionarse principalmente a partir del valor de retorno [SWS_Fr_00035].

En cuanto a la concurrencia, Fr_DisableAbsoluteTimerIRQ está definida como no reentrante para el mismo dispositivo (same device) [SWS_Fr_00035]. Por lo tanto, no deben realizarse varias llamadas de forma concurrente para el mismo índice de controlador y deben sincronizarse por parte del llamador, mientras que el acceso paralelo a diferentes controladores está permitido [SWS_Fr_00035].

Esta nota de uso se ha generado automáticamente a partir de la especificación AUTOSAR R20-11.

función Fr_ReadCCConfig [SWS_Fr_00651] 📄 PDF

Std_ReturnType Fr_ReadCCConfig (uint8 Fr_CtrlIdx, uint8 Fr_Config ParamIdx, uint32* Fr_Config ParamValuePtr); ⚠️

Service Fr_ReadCCConfig.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d518f5d7267e Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Fr_ReadCCConfig lee un parámetro de configuración de protocolo FlexRay específico de un controlador directamente a partir de la configuración del módulo del controlador FlexRay [SWS_Fr_00651]. La interfaz se declara a través de la cabecera Fr.h y posee el Service ID 0x2e [SWS_Fr_00651].

Parámetros y valores de retorno

  • Fr_CtrlIdx: Determina el índice del Communication Controller FlexRay afectado en el contexto del controlador [SWS_Fr_00651].
  • Fr_ConfigParamIdx: Identifica el parámetro que se va a leer mediante macros definidas con el formato FR_CIDX_<config_parameter_name> [SWS_Fr_00651].
  • Fr_ConfigParamValuePtr: Puntero a la dirección de memoria de tipo uint32 en la que se escribe el valor leído [SWS_Fr_00651].
  • Valor de retorno: devuelve E_OK en caso de ejecución correcta o E_NOT_OK en caso de error [SWS_Fr_00651].

Concurrencia y comportamiento ante errores

La función está concebida como no reentrante para el mismo controlador («Non Reentrant for the same device») [SWS_Fr_00651]. Por tanto, es de suponer que las llamadas simultáneas para diferentes instancias de controlador sean admisibles. Pregunta Q-b5e4172654514747 (abierta) En la definición de la interfaz no se especifican errores DET o DEM concretos; los estados de error conllevan la interrupción con devolución de E_NOT_OK [SWS_Fr_00651]. Es de suponer que la entidad que realiza la llamada deba asegurarse de que Fr_ConfigParamValuePtr apunte a un área de memoria válida.

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

tipo Fr_ConfigType [SWS_Fr_91001] 📄 PDF

This type contains the implementation - specific post build configuration structure.

tipo Fr_SlotModeType [SWS_Fr_00506] 📄 PDF

This formal definition refers to the description of type T_ Slot Mode in chapter 2.2.1.3 POC status of [12]. Available Fr_ General Types.h For FlexRay 2.1 Rev A compliant FlexRay controllers see literal SINGL ESLOT instead of KEYSLOT in [14] . Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver via

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 71b66b82e47a Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de enumeración Fr_SlotModeType forma parte de la definición de interfaz del controlador de FlexRay en AUTOSAR Classic y se proporciona a través de la cabecera Fr_GeneralTypes.h [SWS_Fr_00506]. La definición de tipo hace referencia formalmente al tipo T_SlotMode de la especificación del protocolo FlexRay, donde se describe en el capítulo sobre el Protocol Operation Control (estado POC) [SWS_Fr_00506].

La enumeración especifica el estado del procesamiento de slots del controlador mediante tres valores definidos de forma fija [SWS_Fr_00506]:

  • FR_SLOTMODE_KEYSLOT (valor 0x00): Representa el literal KEYSLOT de la definición formal de tipo T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL_PENDING (valor 0x01): Representa el literal ALL_PENDING de la definición formal de tipo T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL (valor 0x02): Representa el literal ALL de la definición formal de tipo T_SlotMode [SWS_Fr_00506].

Al utilizarse con controladores conformes con el estándar anterior FlexRay 2.1 Rev A, debe tenerse en cuenta una denominación divergente: en lugar del literal KEYSLOT, aquí aparece el literal SINGLESLOT [SWS_Fr_00506]. Interpretación: A nivel de controlador y de software, el tipo probablemente sirve para determinar si el controlador FlexRay tiene actualmente habilitados para la transmisión únicamente slots clave (Key Slots) o todos los slots, o bien si está pendiente un cambio correspondiente. Pregunta Q-f926c41c8a5d3380 (abierta)

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Fr_ErrorModeType [SWS_Fr_00507] 📄 PDF

This formal definition refers to the description of type T_ Error Mode in chapter 2.2.1.3 POC status of [12].

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0428cd81ff78 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El tipo de enumeración Fr_ErrorModeType representa los modos de error del Protocol Operation Control (POC) de FlexRay y se proporciona a través del archivo de cabecera Fr_GeneralTypes.h [SWS_Fr_00507]. La enumeración define los estados del mecanismo de monitorización de errores del controlador de comunicación y hace referencia a la definición formal de tipo T_ErrorMode en el estado POC de FlexRay [SWS_Fr_00507].

El rango de valores abarca tres estados conforme a [SWS_Fr_00507]:

  • FR_ERRORMODE_ACTIVE (0x00): Representa el literal ACTIVE de la definición formal de tipo T_ErrorMode e identifica el estado sin errores o funcionamiento normal del controlador de comunicación.
  • FR_ERRORMODE_PASSIVE (0x01): Corresponde al literal PASSIVE de la definición formal de tipo T_ErrorMode, en el cual se han registrado errores en el bus y la comunicación puede estar limitada.
  • FR_ERRORMODE_COMM_HALT (0x02): Representa el literal COMM_HALT de la definición formal de tipo T_ErrorMode cuando la comunicación del bus se ha detenido debido a estados de error graves.

Integración y condiciones de contorno

Interpretación: Es probable que el tipo sirva principalmente como valor de retorno o parámetro de estado en funciones de consulta del controlador de FlexRay, para transmitir el estado del controlador a capas de software de nivel superior. Pregunta Q-e4d6ae534d1dfa2c (abierta) Dado que [SWS_Fr_00507] especifica exclusivamente la estructura de datos, a nivel de tipo no existen tratamientos de errores independientes mediante DET o DEM, ni requisitos directos de reentrancia o concurrencia.

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Fr_WakeupStatusType [SWS_Fr_00508] 📄 PDF

This formal definition refers to the description of type T_ Wakeup Status in chapter Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver 2.2.1.3 POC status of [12].

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5640c2fecfca Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de enumeración Fr_WakeupStatusType se proporciona a través del archivo de cabecera Fr_GeneralTypes.h y reproduce el estado de wakeup del controlador de FlexRay conforme a la definición formal T_WakeupStatus del estado POC [SWS_Fr_00508].

Uso y rango de valores

El tipo representa los diferentes estados y eventos durante un proceso de reactivación de FlexRay y comprende siete valores de enumeración específicos [SWS_Fr_00508]:

  • FR_WAKEUP_UNDEFINED (0x00): Corresponde al literal UNDEFINED de la definición formal de tipo [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_HEADER (0x01): Identifica la recepción de una cabecera de wakeup (literal RECEIVED_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_WUP (0x02): Representa el patrón de wakeup recibido (literal RECEIVED_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_HEADER (0x03): Indica una colisión en una cabecera recibida (literal COLLISION_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_WUP (0x04): Señala una colisión durante un patrón de wakeup (literal COLLISION_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_UNKNOWN (0x05): Describe una colisión por causa desconocida (literal COLLISION_UNKNOWN) [SWS_Fr_00508].
  • FR_WAKEUP_TRANSMITTED (0x06): Confirma el envío correcto de la señal de wakeup (literal TRANSMITTED) [SWS_Fr_00508].

Interacción y restricciones

Interpretación: El tipo probablemente sirva de forma primordial como parámetro de estado de funciones del controlador para permitir a los módulos de nivel superior un diagnóstico preciso del canal y del estado de reactivación. Pregunta Q-48907418bc3729a1 (abierta) Dado que la especificación no define códigos de error específicos ni restricciones de concurrencia para el tipo en sí, su uso está sujeto a las convenciones de llamada de las funciones de la API que realizan la consulta respectiva [SWS_Fr_00508].

Esta nota de uso se generó automáticamente a partir de la especificación de AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Fr_StartupStateType [SWS_Fr_00509] 📄 PDF

Type Fr_StartupStateType.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a1f8765c7bfa Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de enumeración Fr_StartupStateType se proporciona de conformidad con [SWS_Fr_00509] a través del archivo de cabecera Fr_GeneralTypes.h y asigna los estados de arranque del controlador de protocolo FlexRay (estado POC) a valores estandarizados. La definición hace referencia a la definición de tipo formal T_StartupState del capítulo 2.2.1.3 de la especificación.

El rango de valores abarca once estados discretos que representan la secuencia del arranque del protocolo:

  • FR_STARTUP_UNDEFINED (0x00): representa un estado de arranque indefinido.
  • FR_STARTUP_COLDSTART_LISTEN (0x01) a FR_STARTUP_COLDSTART_GAP (0x09): representan las fases del arranque en frío, incluidas la fase de escucha, la comprobación de consistencia, la resolución de colisiones y la incorporación (Coldstart Join).
  • FR_STARTUP_INTEGRATION_LISTEN (0x06), FR_STARTUP_INITIALIZE_SCHEDULE (0x07) y FR_STARTUP_INTEGRATION_CONSISTENCY_CHECK (0x08): representan pasos de integración e inicialización en la planificación temporal.
  • FR_STARTUP_EXTERNAL_STARTUP (0x0A): representa el arranque controlado externamente.

Los módulos de software integradores utilizan este tipo (interpretación: principalmente para consultar el estado o supervisar el arranque del controlador). Pregunta Q-7d07faa6c48d4e58 (abierta) Dado que Fr_StartupStateType es una definición de tipo pura, no se desencadenan directamente códigos ni mensajes de error; no obstante, los evaluadores deben tener en cuenta que los valores fuera del rango de 0x00 a 0x0A no están especificados.

Este texto ha sido generado por una IA y sirve como guía orientativa. El único texto vinculante es el de la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Fr_POCStatusType [SWS_Fr_00510] 📄 PDF

This formal definition refers to the description of type T_ POCStatus in chapter 2.2.1.3 POC status of [12].

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 3280d7e2ba7e Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos Fr_POCStatusType está especificado como una estructura de datos y se proporciona a través del archivo de cabecera Fr_GeneralTypes.h [SWS_Fr_00510]. La definición formal remite a la descripción del tipo T_POCStatus en el capítulo 2.2.1.3 (POC status) de la especificación del protocolo FlexRay [SWS_Fr_00510].

Uso y organización estructural

La estructura agrega el estado operativo y de protocolo actual del FlexRay Protocol Operation Control (POC) [SWS_Fr_00510]. Se compone de los siguientes elementos:

  • State (tipo Fr_POCStateType) y StartupState (tipo Fr_StartupStateType) para indicar el estado actual de POC, así como el estado de arranque [SWS_Fr_00510].
  • ErrorMode (tipo Fr_ErrorModeType) y Freeze (tipo boolean) para identificar el modo de error y una parada del controlador [SWS_Fr_00510].
  • SlotMode (tipo Fr_SlotModeType) y WakeupStatus (tipo Fr_WakeupStatusType) para el modo de funcionamiento de los slots y el estado de reactivación [SWS_Fr_00510].
  • CHIHaltRequest, CHIReadyRequest así como ColdstartNoise (cada uno boolean) para señalar solicitudes de la interfaz de host o ruido de línea durante el arranque en frío [SWS_Fr_00510].

Concurrencia e integración

Interpretación: dado que Fr_POCStatusType es una estructura de datos pura sin lógica funcional propia, se supone que actúa principalmente como parámetro de salida en consultas de estado del hardware de FlexRay. Pregunta Q-960f2475ff1068fc (abierta) Si varios tasks o capas de software acceden a instancias de esta estructura, los llamadores deben ocuparse de forma autónoma de una sincronización adecuada para garantizar una lectura consistente de los subestados interrelacionados [SWS_Fr_00510].

Esta nota de uso se ha generado de forma automatizada a partir del payload de SWS_Fr_00510.

Guía del implementador pendiente (complejidad I1)

tipo Fr_TxLPduStatusType [SWS_Fr_00511] 📄 PDF

These values are used to determine whether a LPdu has been transmitted or not.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2ca1e4be5d96 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de enumeración Fr_TxLPduStatusType sirve en la plataforma AUTOSAR Classic para determinar si una LPdu (Link Layer Protocol Data Unit) de FlexRay se ha transmitido con éxito o no [SWS_Fr_00511]. La definición de tipo se proporciona a través del archivo de cabecera Fr_GeneralTypes.h para módulos de software [SWS_Fr_00511].

El rango de valores de la enumeración abarca tres estados unívocos para procesos de transmisión [SWS_Fr_00511]:

  • FR_TRANSMITTED (0x00): La LPdu se transmitió con éxito a través del bus [SWS_Fr_00511].
  • FR_TRANSMITTED_CONFLICT (0x01): Se produjo un conflicto durante la transmisión [SWS_Fr_00511].
  • FR_NOT_TRANSMITTED (0x02): La LPdu no se transmitió [SWS_Fr_00511].

En cuanto a la interacción y al contexto de llamada, este valor de estado probablemente sea utilizado de forma típica por capas de nivel superior para consultar el estado del búfer de transmisión en el controlador de FlexRay (interpretación). Pregunta Q-347a88512db1f006 (abierta) Para este tipo de datos no se contemplan en las especificaciones códigos de error específicos, rutinas de tratamiento de errores ni mensajes de DET o DEM, ya que se trata de una mera declaración de tipo [SWS_Fr_00511].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Fr_RxLPduStatusType [SWS_Fr_00512] 📄 PDF

These values are used to determine if a LPdu has been received or not.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 454416ec6a4f Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de enumeración Fr_RxLPduStatusType forma parte del módulo de AUTOSAR Classic Fr y se proporciona a través del archivo de cabecera Fr_GeneralTypes.h [SWS_Fr_00512]. Sirve para determinar si se ha recibido una L-PDU (FlexRay Link Layer PDU) o no [SWS_Fr_00512].

El tipo define tres valores de estado discretos para evaluar el estado de recepción [SWS_Fr_00512]:

  • FR_RECEIVED (0x00): La L-PDU se recibió con éxito [SWS_Fr_00512].
  • FR_NOT_RECEIVED (0x01): La L-PDU no se recibió [SWS_Fr_00512].
  • FR_RECEIVED_MORE_DATA_AVAILABLE (0x02): La L-PDU se recibió y hay disponibles más instancias de esta L-PDU, tal como ocurre al utilizar FIFOs de recepción [SWS_Fr_00512].

En el funcionamiento de recepción a través de estructuras de búfer, el tipo no solo distingue la presencia de datos recibidos, sino que en el funcionamiento con FIFO identifica adicionalmente la existencia de instancias adicionales [SWS_Fr_00512]. Es de suponer que esto señale al llamador que, tras la lectura de la instancia actual, pueden recuperarse de inmediato más datos del FIFO [SWS_Fr_00512]. Pregunta Q-0ab7cac72ff7f549 (abierta)

Esta nota de uso fue generada por una IA y se basa en la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Fr_SlotAssignmentType [SWS_Fr_91002] 📄 PDF

This structure contains information about the assignment of a Flex Ray frame to a cycle and a slot ID.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 9bab6b29a274 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La estructura Fr_SlotAssignmentType sirve para almacenar información de asignación de una trama FlexRay a un ciclo de comunicación y a un Slot-ID [SWS_Fr_91002]. Está definida en la cabecera Fr_GeneralTypes.h y agrupa todos los parámetros de direccionamiento que se requieren para la transmisión o recepción de una trama en el canal FlexRay [SWS_Fr_91002].

La estructura comprende los siguientes elementos [SWS_Fr_91002]:

  • Cycle (tipo uint8): identifica el ciclo en el que se transmite o recibe la trama FlexRay [SWS_Fr_91002].
  • SlotId (tipo uint16): designa el Slot-ID unívoco de la trama dentro del esquema de comunicación FlexRay [SWS_Fr_91002].
  • channelId (tipo Fr_ChannelType): indica el canal FlexRay a través del cual se realiza la transmisión o la recepción [SWS_Fr_91002].

Dado que Fr_SlotAssignmentType representa una mera estructura de datos, no posee una semántica de ejecución propia como sincronismo o reentrancia y no desencadena por sí misma mensajes de error de DET o DEM [SWS_Fr_91002]. La consistencia de los valores contenidos para ciclo, slot y canal debería ser responsabilidad de las funciones de controlador usuarias (interpretación). Pregunta Q-77f88375e544e298 (abierta)

Este texto fue elaborado por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR Classic R20-11.

tipo Fr_ChannelType [SWS_Fr_00514] 📄 PDF

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

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

Record
AUTOSAR/AP/record/CP_MOD_Fr
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Fr@rel:R20-11#cf2e3115
Content hash
cf2e3115
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayDriver.pdf#nameddest=SWS_Fr_00032

Inicialización y estado

Returns the version information of this module.

void Fr_GetVersionInfo (Std_VersionInfoType* VersioninfoPtr);
Fr_Init función

Initializes the Fr.

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

Servicios · Get…

Gets IRQ status of an absolute timer.

Std_ReturnType Fr_GetAbsoluteTimerIRQStatus (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx, boolean* Fr_IRQStatusPtr);

Gets the channe l status information. Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver

Std_ReturnType Fr_GetChannelStatus (uint8 Fr_CtrlIdx, uint16* Fr_ChannelAStatusPtr, uint16* Fr_ChannelBStatusPtr);

Gets the current clock correction values. See variables v Interim Rate Correction and v Interim Offset Correction of [12] for details.

Std_ReturnType Fr_GetClockCorrection (uint8 Fr_CtrlIdx, sint16* Fr_RateCorrectionPtr, sint32* Fr_OffsetCorrectionPtr);

Gets the current global Flex Ray time. Important Note: Fr_ Get Global Time may be called within an exclusive area.

Std_ReturnType Fr_GetGlobalTime (uint8 Fr_CtrlIdx, uint8* Fr_CyclePtr, uint16* Fr_MacroTickPtr);

Gets the network management vector of the last communication cycle.

Std_ReturnType Fr_GetNmVector (uint8 Fr_CtrlIdx, uint8* Fr_NmVectorPtr);

Gets the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

Gets the POC status.

Std_ReturnType Fr_GetPOCStatus (uint8 Fr_CtrlIdx, Fr_POCStatusType* Fr_POCStatusPtr);

Service Fr_GetSyncFrameList.

Std_ReturnType Fr_GetSyncFrameList (uint8 Fr_CtrlIdx, uint8 Fr_ListSize, uint16* Fr_ChannelAEvenListPtr, uint16* Fr_ChannelBEvenListPtr, uint16* Fr_ChannelAOddListPtr, uint16* Fr_ChannelBOddListPtr);

Gets the wakeup received information from the Flex Ray controller.

Std_ReturnType Fr_GetWakeupRxStatus (uint8 Fr_CtrlIdx, uint8* Fr_WakeupRxStatusPtr);

Servicios · Cancel…

Stops an absolute timer.

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Cancels the already pending transmission of a LPdu contained in a controllers p hysical transmit resource (e.g. message buffer).

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Servicios · Disable…

Disables the in terrupt line of an absolute timer.

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Disables the hardware resource of a LPdu for transmission/ reception.

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Servicios · Set…

Sets the absolute Flex Ray timer.

Std_ReturnType Fr_SetAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx, uint8 Fr_Cycle, uint16 Fr_Offset);

Sets a wakeup channel.

Std_ReturnType Fr_SetWakeupChannel (uint8 Fr_CtrlIdx, Fr_ChannelType Fr_ChnlIdx);

Servicios · Otros

Invokes the CC CHI command 'FREEZE'.

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Service Fr_AckAbsoluteTimerIRQ.

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);
Fr_AllSlots función

Invokes the CC CHI command 'ALL_ SLOTS'.

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Checks the transmit status of the LSdu.

Std_ReturnType* Fr_CheckTxLPduStatus (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, Fr_TxLPduStatusType* Fr_TxLPduStatusPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Initialzes a F lex Ray CC.

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Service Fr_EnableAbsoluteTimerIRQ.

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Prepares a LPdu.

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Service Fr_ReadCCConfig.

Std_ReturnType Fr_ReadCCConfig (uint8 Fr_CtrlIdx, uint8 Fr_Config ParamIdx, uint32* Fr_Config ParamValuePtr); ⚠️

Service Fr_ReceiveRxLPdu.

Std_ReturnType Fr_ReceiveRxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint8* Fr_LSduPtr, Fr_RxLPduStatusType* Fr_LPduStatusPtr, uint8* Fr_LSduLengthPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Service Fr_ReconfigLPdu.

Std_ReturnType Fr_ReconfigLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint16 Fr_FrameId, Fr_ChannelType Fr_ChnlIdx, uint8 Fr_CycleRepetition, uint8 Fr_CycleOffset, uint8 Fr_PayloadLength, uint16 Fr_Header CRC); ⚠️
Fr_SendWUP función

Invokes the CC CHI command 'WAKEUP'.

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Starts communication.

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Transmits data on the Flex Ray network.

Std_ReturnType Fr_TransmitTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, const uint8* Fr_LSduPtr, uint8 Fr_LSduLength, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Tipos

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

This type contains the implementation - specific post build configuration structure.

This formal definition refers to the description of type T_ Error Mode in chapter 2.2.1.3 POC status of [12].

This formal definition refers to the description of type T_ POCStatus in chapter 2.2.1.3 POC status of [12].

These values are used to determine if a LPdu has been received or not.

This structure contains information about the assignment of a Flex Ray frame to a cycle and a slot ID.

This formal definition refers to the description of type T_ Slot Mode in chapter 2.2.1.3 POC status of [12]. Available Fr_ General Types.h For FlexRay 2.1 Rev A compliant FlexRay controllers see literal SINGL ESLOT instead of KEYSLOT in [14] . Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver via

Type Fr_StartupStateType.

These values are used to determine whether a LPdu has been transmitted or not.

This formal definition refers to the description of type T_ Wakeup Status in chapter Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver 2.2.1.3 POC status of [12].