DEENESPTFRRUARHIKOZHNL

Ethernet Driver (Eth)

ModulEth (Ethernet Driver)
BSW-Modul-ID88
Standard-Header#include "Eth.h"
SWS-SpezifikationAUTOSAR_SWS_EthernetDriver.pdf
ClusterEthernet Services

Guía del móduloGENERADO POR IA

Conecta los controladores Ethernet a la pila AUTOSAR: inicialización, modos, transmisión, recepción y diagnóstico.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: 7ed698a8fca3 Procedencia Preguntas abiertas (3)
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

Conecta los controladores Ethernet a la pila AUTOSAR: inicialización, modos, transmisión, recepción y diagnóstico.

El controlador Ethernet conecta los controladores Ethernet al Ethernet Interface. Inicializa los controladores, conmuta su comunicación Rx/Tx de forma asíncrona entre ETH_MODE_DOWN y ETH_MODE_ACTIVE y notifica el cambio mediante indicación ([SWS_Eth_00276]). La transmisión se realiza en dos etapas: solicitar búfer y, a continuación, transferirlo. El controlador acusa el recibo de cada transmisión con E_OK o E_NOT_OK ([SWS_Eth_00243]). Además, ofrece recepción con filtro de direcciones, accesos MII, marcas de tiempo y contadores de diagnóstico. Al apagar, deben liberarse los búferes de transmisión bloqueados.

El controlador Ethernet Eth abstrae uno o más controladores Ethernet para el Ethernet Interface (EthIf). En este proceso, EthIf puede agrupar varios controladores de distintos fabricantes (SWS Eth p. 17). Eth notifica los resultados mediante EthIf_RxIndication, EthIf_TxConfirmation y EthIf_CtrlModeIndication ([SWS_Eth_00244], [SWS_Eth_00243], [SWS_Eth_00119]). Otros módulos vecinos son EthTrcv, EthSwt, DET y DEM ([SWS_Eth_00241], [SWS_Eth_00120]).

kontext EcuM EcuM Eth Eth (Ethernet-Treiber) EcuM->Eth Eth_Init EthIf EthIf (Ethernet Interface) EthIf->Eth Eth_SetControllerMode, Eth_ProvideTxBuffer, Eth_Transmit, Eth_Receive, Eth_TxConfirmation, Eth_WriteMii / Eth_ReadMii Eth->EthIf EthIf_RxIndication, EthIf_TxConfirmation, EthIf_CtrlModeIndication EthTrcv EthTrcv (Transceiver-Treiber) Eth->EthTrcv EthTrcv_WriteMiiIndication, EthTrcv_ReadMiiIndication EthSwt EthSwt (Switch-Treiber) Eth->EthSwt EthSwt_EthRxProcessFrame, EthSwt_EthTxPrepareFrame u. a. Det Det Eth->Det Det_ReportError Dem Dem Eth->Dem Dem_SetEventStatus HW Ethernet-Controller (Hardware) Eth->HW acceso a registros y búferes

Diagrama de contexto: Invocadores y receptores de callbacks del controlador Ethernet. Fuentes: [SWS_Eth_00119], [SWS_Eth_00120], SWS Eth p. 17

Eth_Init desactiva la comunicación Rx/Tx de todos los controladores configurados, los configura y descarta las solicitudes pendientes ([SWS_Eth_00027], [SWS_Eth_00275]). La función asíncrona Eth_SetControllerMode conmuta entre ETH_MODE_DOWN y ETH_MODE_ACTIVE ([SWS_Eth_91009], [SWS_Eth_00276]). Al apagar, el controlador libera los búferes de transmisión bloqueados ([SWS_Eth_00280]). El resultado sigue mediante EthIf_CtrlModeIndication, en modo de sondeo desde Eth_MainFunction ([SWS_Eth_00240]).

Para transmitir, la capa superior solicita un búfer con Eth_ProvideTxBuffer y lo transfiere con Eth_Transmit ([SWS_Eth_00077], [SWS_Eth_00087]). La confirmación es E_OK o E_NOT_OK ([SWS_Eth_00243], [SWS_Eth_00256]). Eth_Receive lee tramas de una FIFO y notifica si hay más disponibles ([SWS_Eth_00095], [SWS_Eth_00162]). Eth descarta las tramas cuya dirección de destino no coincida ([SWS_Eth_00245], [SWS_Eth_00246]).

transmisión de una trama en funcionamiento por pollingObere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK, BufIdx, BufPtr, longitud concedidaBUFREQ_OK, Puffercopiar datos útiles en el búferEthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,iniciar transmisiónE_OKE_OKUse Case: zyklisch in EthIf_MainFunctionTx()Eth_TxConfirmation(CtrlIdx)altSenden erfolgreichEthIf_TxConfirmation(..., E_OK)Senden fehlgeschlagenEthIf_TxConfirmation(..., E_NOT_OK)UL_TxConfirmation(CtrlIdx, BufIdx)

Diagrama de secuencia: Solicitud de búfer, transmisión y confirmación en modo de sondeo. Fuentes: [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00243], SWS EthIf p. 87

Otras funciones incluyen accesos MII, que son asíncronos en R20-11 ([SWS_Eth_00058]), marcas de tiempo por hardware ([SWS_Eth_00190]), servicios de estadísticas ([SWS_Eth_00233]) y un Credit Based Shaper opcional (DRAFT, [SWS_Eth_00263]). Eth notifica los errores como errores de desarrollo a DET ([SWS_Eth_00016]). Los errores de producción como ETH_E_ACCESS o ETH_E_RX_FRAMES_LOST van a DEM ([SWS_Eth_00173], [SWS_Eth_00174]).

Rol en la pila Ethernet y límite del sistema

El controlador Ethernet Eth se ubica como módulo próximo al hardware por debajo del Ethernet Interface (EthIf). Según el diagrama de la estructura básica de la pila, EthIf agrupa uno o más controladores Eth de distintos fabricantes, cada uno con sus propios tipos de controlador (SWS Eth p. 17). Hacia arriba, Eth ofrece servicios como Eth_Init, Eth_SetControllerMode, Eth_ProvideTxBuffer, Eth_Transmit y Eth_Receive ([SWS_Eth_00027], [SWS_Eth_91009], [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00095]). Notifica los resultados mediante los callbacks EthIf_RxIndication, EthIf_TxConfirmation y EthIf_CtrlModeIndication ([SWS_Eth_00244], [SWS_Eth_00243], [SWS_Eth_00119]).

Otros módulos vecinos son los siguientes:

Si varios controladores comparten recursos periféricos, Eth emula controladores independientes frente a las capas superiores. La coordinación la asumen entonces las capas superiores ([SWS_Eth_00258]).

kontext EcuM EcuM Eth Eth (Ethernet-Treiber) EcuM->Eth Eth_Init EthIf EthIf (Ethernet Interface) EthIf->Eth Eth_SetControllerMode, Eth_ProvideTxBuffer, Eth_Transmit, Eth_Receive, Eth_TxConfirmation, Eth_WriteMii / Eth_ReadMii Eth->EthIf EthIf_RxIndication, EthIf_TxConfirmation, EthIf_CtrlModeIndication EthTrcv EthTrcv (Transceiver-Treiber) Eth->EthTrcv EthTrcv_WriteMiiIndication, EthTrcv_ReadMiiIndication EthSwt EthSwt (Switch-Treiber) Eth->EthSwt EthSwt_EthRxProcessFrame, EthSwt_EthTxPrepareFrame u. a. Det Det Eth->Det Det_ReportError Dem Dem Eth->Dem Dem_SetEventStatus HW Ethernet-Controller (Hardware) Eth->HW acceso a registros y búferes

Diagrama de contexto: Eth es invocado por EthIf y EcuM, y notifica a EthIf, EthTrcv, EthSwt, DET y DEM. Fuentes: [SWS_Eth_00119], [SWS_Eth_00120], [SWS_Eth_00241], SWS Eth p. 17

De Eth_Init a ETH_MODE_ACTIVE: arranque y modos de controlador

Eth_Init recibe un puntero a la estructura post-build Eth_ConfigType ([SWS_Eth_00027], [SWS_Eth_00156]). Para cada controlador del EthConfigSet actual, la función ejecuta los siguientes pasos ([SWS_Eth_00275], DRAFT; versión anterior [SWS_Eth_00034] obsoleta):

  • desactivar la comunicación Rx/Tx,
  • borrar las interrupciones pendientes,
  • configurar los parámetros del controlador y los recursos de transmisión/recepción,
  • descartar las solicitudes pendientes.

Eth_StateType distingue entre ETH_STATE_UNINIT y ETH_STATE_INIT y sirve para la Development Error Detection ([SWS_Eth_00159]). Las versiones más recientes resumen la regla de llamada: a excepción de Eth_GetVersionInfo y funciones planificadas como Eth_MainFunction, los servicios solo están permitidos tras la inicialización (SWS Eth p. 27). R20-11 regula esto para cada servicio mediante la comprobación de ETH_E_UNINIT, p. ej. en [SWS_Eth_00066].

arranque del controlador Ethernet con primer acceso MIIEcuMEthIfEthEthTrcvInterpretación: orden de las llamadas de EcuM;Eth_Init debe ejecutarse antes de accesos MIIEth_Init(CfgPtr)Rx/Tx aller Controller deaktivieren,borrar interrupciones, configurar parámetrosy búferes, descartar órdenesEthTrcv_Init(...)EthIf_WriteMii(...)Eth_WriteMii(CtrlIdx, TrcvIdx, RegIdx, RegVal)E_OK (Dienst angenommen)E_OKel acceso MII se ejecuta de forma asíncrona en R20-11EthTrcv_WriteMiiIndication(...)EthIf_Init(...)

Diagrama de secuencia: Arranque con Eth_Init y un primer acceso MII con acuse de recibo asíncrono del controlador del transceptor. Fuentes: [SWS_Eth_00275], [SWS_Eth_00058], [SWS_Eth_00241], SWS EthIf p. 84

En R20-11 rige Eth_SetControllerMode en la versión asíncrona no reentrante [SWS_Eth_91009]; sustituye a [SWS_Eth_00041]. Ambos modos actúan del siguiente modo ([SWS_Eth_00276]):

  • ETH_MODE_DOWN: El controlador desactiva Rx/Tx y restablece todos los búferes. Los búferes de transmisión bloqueados y pendientes se liberan ([SWS_Eth_00280], [SWS_Eth_00281]).
  • ETH_MODE_ACTIVE: El controlador activa todos los búferes y la comunicación Rx/Tx.

Eth notifica el resultado de un cambio de modo de forma asíncrona mediante EthIf_CtrlModeIndication ([SWS_Eth_00119]). En modo de sondeo, Eth_MainFunction detecta el cambio y llama a este callback ([SWS_Eth_00171], [SWS_Eth_00240]). El estado actual lo suministra Eth_GetControllerMode ([SWS_Eth_91010], [SWS_Eth_00277]).

Eth_ModeType admite además ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST. En ETH_MODE_DOWN, el hardware puede iniciar un proceso de suspensión, por ejemplo en el caso de hardware OA-TC10 ([SWS_Eth_91008]). Sin embargo, la descripción de parámetros de Eth_SetControllerMode solo menciona ETH_MODE_DOWN y ETH_MODE_ACTIVE ([SWS_Eth_91009]).

zustand cluster_init ETH_STATE_INIT (je Controller) start comenzar UNINIT ETH_STATE_UNINIT start->UNINIT DOWN Rx/Tx deaktiviert (Interpretation: entspricht ETH_MODE_DOWN) UNINIT->DOWN Eth_Init: desactivar Rx/Tx, configurar, descartar órdenes ACTIVE ETH_MODE_ACTIVE Rx/Tx aktiv DOWN->ACTIVE Eth_SetControllerMode(ETH_MODE_ACTIVE): Puffer aktivieren, Rx/Tx aktivieren; danach EthIf_CtrlModeIndication ACTIVE->DOWN Eth_SetControllerMode(ETH_MODE_DOWN): desactivar Rx/Tx, restablecer búferes, liberar búferes de transmisión bloqueados y pendientes

Diagrama de estados: Estado del controlador UNINIT/INIT y, por cada controlador, los modos DOWN y ACTIVE con las obligaciones en la transición. Fuentes: [SWS_Eth_00159], [SWS_Eth_00275], [SWS_Eth_00276], [SWS_Eth_00280]

activación de un controlador EthernetEthSMEthIfEthEthIf_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)Eth_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)E_OKactivar búferes de transmisión y recepción,Rx/Tx-Kommunikation aktivierenoptPolling-BetriebEth_MainFunction(): Moduswechsel erkanntEthIf_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)EthSM_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)

Diagrama de secuencia: Activación por EthSM con aceptación síncrona e indicación de modo asíncrona. Fuentes: [SWS_Eth_91009], [SWS_Eth_00119], [SWS_Eth_00240], SWS EthIf p. 85

Ruta de transmisión: solicitar búfer, transmitir, confirmar

La transmisión se ejecuta en dos etapas. En primer lugar, Eth_ProvideTxBuffer selecciona una FIFO de transmisión en función de Priority. El servicio suministra un índice de tipo Eth_BufIdxType, un puntero de búfer y, mediante LenBytePtr, la longitud concedida ([SWS_Eth_00077], [SWS_Eth_00175]). Los posibles retornos son BUFREQ_OK, BUFREQ_E_NOT_OK, BUFREQ_E_BUSY y BUFREQ_E_OVFL. El búfer permanece bloqueado hasta que le sigue Eth_Transmit con este índice (SWS Eth p. 91).

A continuación, Eth_Transmit inicia la transmisión con FrameType, la dirección MAC de destino y el indicador TxConfirmation ([SWS_Eth_00087], [SWS_Eth_00160]). Al hacerlo, el controlador conforma la cabecera Ethernet (SWS Eth p. 93). Eth_Transmit es reentrante para distintos índices de búfer y de controlador ([SWS_Eth_00087]).

Si se ha solicitado la confirmación, Eth llama a EthIf_TxConfirmation con E_OK. En modo de interrupción, esto ocurre desde la rutina de interrupción; en modo de sondeo, desde Eth_TxConfirmation ([SWS_Eth_00243], [SWS_Eth_00100]). Si la transmisión falla, el resultado es E_NOT_OK ([SWS_Eth_00256]). Las capas superiores pueden confiar en que a cada Eth_Transmit le sigue una confirmación (SWS Eth p. 32).

En el diagrama de sondeo, EthIf_MainFunctionTx llama a la función Eth_TxConfirmation (SWS EthIf p. 87). En modo de interrupción, de esto se encarga Eth_TxIrqHdlr_<CtrlIdx> (SWS EthIf p. 88). El momento en que el controlador libera el búfer queda a criterio de la implementación (SWS Eth p. 93).

transmisión de una trama en funcionamiento por pollingObere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK, BufIdx, BufPtr, longitud concedidaBUFREQ_OK, Puffercopiar datos útiles en el búferEthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,iniciar transmisiónE_OKE_OKUse Case: zyklisch in EthIf_MainFunctionTx()Eth_TxConfirmation(CtrlIdx)altSenden erfolgreichEthIf_TxConfirmation(..., E_OK)Senden fehlgeschlagenEthIf_TxConfirmation(..., E_NOT_OK)UL_TxConfirmation(CtrlIdx, BufIdx)

Diagrama de secuencia: Solicitar búfer, llenar, transmitir y confirmar en modo de sondeo, con rama de éxito y de error. Fuentes: [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00243], [SWS_Eth_00256], SWS EthIf p. 87

Ruta de recepción y filtro de direcciones

Eth_Receive lee una trama de la FIFO direccionada mediante FifoIdx. El servicio es reentrante para diferentes FIFOs, pero no para la misma ([SWS_Eth_00095]). RxStatusPtr suministra ETH_RECEIVED, ETH_NOT_RECEIVED o ETH_RECEIVED_MORE_DATA_AVAILABLE ([SWS_Eth_00162]). Interpretación: Es de esperar que un invocador que realice sondeo repita Eth_Receive mientras se notifiquen más tramas. Pregunta Q-8f1484413f850bda (abierta) Quién realiza la llamada en modo de sondeo no está especificado; presumiblemente es EthIf.

Eth notifica la recepción mediante EthIf_RxIndication, ya sea desde la interrupción o desde Eth_Receive ([SWS_Eth_00244]). Las tramas broadcast se indican como tales en este proceso ([SWS_Eth_00153]). Las versiones más recientes denominan al parámetro QueueIdx (SWS Eth p. 110).

La propia dirección de origen la establece Eth_SetPhysAddr; Eth_GetPhysAddr la lee ([SWS_Eth_00151], [SWS_Eth_00052]). Eth_UpdatePhysAddrFilter incorpora direcciones de destino multicast al filtro de recepción con ETH_ADD_TO_FILTER y las elimina con ETH_REMOVE_FROM_FILTER ([SWS_Eth_00152], [SWS_Eth_00163], [SWS_Eth_00150]).

Si la dirección de destino coincide, Eth notifica a la capa superior; de lo contrario, descarta la trama ([SWS_Eth_00245], [SWS_Eth_00246]). Si el hardware no puede filtrar, la inicialización activa el modo promiscuo ([SWS_Eth_00146]). La dirección 00:00:00:00:00:00 reduce el filtro a la propia dirección unicast y finaliza el modo promiscuo ([SWS_Eth_00147]; cf. SWS Eth p. 74).

recepción en funcionamiento por polling y por interrupciónEthIfEthUse Case: Polling-BetriebInterpretación: EthIf llama a Eth_Receive cíclicamenteloopInterpretation: solange RxStatus == ETH_RECEIVED_MORE_DATA_AVAILABLEEth_Receive(CtrlIdx, FifoIdx, RxStatusPtr)leer trama de la FIFO,comprobar dirección de destino contra el filtroaltRahmen empfangen, Adresse passtEthIf_RxIndication(...)la dirección no coincideRahmen verwerfenRxStatusUse Case: Interrupt-BetriebEmpfangs-InterruptEthIf_RxIndication(...)

Diagrama de secuencia: Recepción en modo de sondeo y en modo de interrupción con comprobación de dirección antes de la indicación. Fuentes: [SWS_Eth_00095], [SWS_Eth_00162], [SWS_Eth_00244], [SWS_Eth_00246]

filter a Eth_UpdatePhysAddrFilter(CtrlIdx, PhysAddrPtr, Action) z PhysAddrPtr = 00:00:00:00:00:00? a->z reset reducir filtro a la dirección unicast propia, finalizar modo promiscuo z->reset Sí act Action? z->act No rx llega una trama reset->rx add ETH_ADD_TO_FILTER: permitir recepción para la dirección act->add añadir rem ETH_REMOVE_FROM_FILTER: Empfang blockieren act->rem entfernen hw ¿el controlador puede filtrar? add->hw rem->hw hwf Hardware-Filter nutzen hw->hwf Sí swf Filterung in Software (Promiscuous Mode seit Initialisierung) hw->swf No hwf->rx swf->rx m ¿la dirección de destino coincide con el filtro? rx->m ind EthIf_RxIndication m->ind Sí drop Rahmen verwerfen m->drop No

Diagrama de actividades: Actualización del filtro con caso especial de dirección cero, filtrado por hardware o software y aceptación o descarte en la recepción. Fuentes: [SWS_Eth_00146], [SWS_Eth_00147], [SWS_Eth_00163], [SWS_Eth_00245], [SWS_Eth_00246]

Acceso a transceptor, marcas de tiempo por hardware y contadores de diagnóstico

Eth_WriteMii y Eth_ReadMii son asíncronos y no reentrantes en R20-11 ([SWS_Eth_00058], [SWS_Eth_00064]). Eth notifica la finalización mediante EthTrcv_WriteMiiIndication o EthTrcv_ReadMiiIndication ([SWS_Eth_00241], [SWS_Eth_00242]). Los registros de Clause 45 se alcanzan a través de los registros 13 y 14 según Annex 22D ([SWS_Eth_00273], [SWS_Eth_00274]). El acceso se habilita mediante EthCtrlEnableMii ([SWS_Eth_00069]). Por el contrario, R24-11 describe Eth_WriteMii como síncrono (SWS Eth p. 95); para R20-11 rige la definición asíncrona.

Las funciones de marca de tiempo se habilitan a través de EthGlobalTimeSupport ([SWS_Eth_00210], [SWS_Eth_00211]). En detalle se aplica:

La capa superior descarta las marcas de tiempo de calidad ETH_UNCERTAIN o ETH_INVALID ([SWS_Eth_00177]). A partir de R23-11, Eth_GetCurrentTime es obsoleto (SWS Eth p. 82); en R20-11, el servicio es normativo.

marca de tiempo de transmisión mediante el controlador EthernetEthTSynEthIfEth[EthTSynHardwareTimestampSupport == TRUE]EthIf_EnableEgressTimeStamp(CtrlIdx, BufIdx)Eth_EnableEgressTimeStamp(CtrlIdx, BufIdx)EthIf_Transmit(...)Eth_Transmit(...)EthIf_TxConfirmation(CtrlIdx, BufIdx, Result)EthTSyn_TxConfirmation(CtrlIdx, BufIdx, Result)consulta en el contexto de TxConfirmationEthIf_GetEgressTimeStamp(CtrlIdx, BufIdx, ...)Eth_GetEgressTimeStamp(CtrlIdx, BufIdx,timeQualPtr, timeStampPtr)E_OK, calidad, marca de tiempoE_OK, calidad, marca de tiempoaltcalidad == ETH_VALIDZeitstempel verwendenETH_UNCERTAIN o ETH_INVALIDZeitstempel verwerfen

Diagrama de secuencias: activar la marca de tiempo de transmisión, transmitir y leer en el contexto de confirmación con comprobación de calidad. Fuentes: [SWS_Eth_00186], [SWS_Eth_00190], [SWS_Eth_00177], SWS EthTSyn p. 70, SWS EthTSyn p. 55

Se pueden habilitar cuatro servicios de diagnóstico de forma individual:

En los servicios de estadísticas, el valor máximo identifica un contador no disponible (SWS Eth p. 98).

Configuración, particionamiento y gestión de búferes por SW (CBS)

Con EthCtrlEnableOffloadChecksumIPv4, EthCtrlEnableOffloadChecksumICMP, EthCtrlEnableOffloadChecksumTCP y EthCtrlEnableOffloadChecksumUDP, el controlador calcula sumas de comprobación en hardware. En la recepción, descarta las tramas con suma de comprobación incorrecta ([SWS_Eth_00216], [SWS_Eth_00217]). Las direcciones base de los búferes deben cumplir la alineación de todos los tipos de datos AUTOSAR ([SWS_Eth_00218]). Las asignaciones de particiones no compatibles deben rechazarse. Las particiones en EthCtrlEcucPartitionRef deben ser un subconjunto de EthEcucPartitionRef ([SWS_Eth_00257], [SWS_Eth_00260], [SWS_Eth_CONSTR_00001]).

Si falta una planificación equitativa en hardware, se dispone de un Credit Based Shaper en software (SWS Eth p. 38). En R20-11, todos los requisitos correspondientes son DRAFT. El procedimiento funciona así:

cbs mf Eth_MainFunction() (EthCtrlConfigSwBufferHandling = TRUE) c1 SW-FIFOs en orden descendente según prioridad: incrementar créditos en EthCtrlConfigShaperIdleSlope (solo FIFOs no vacías) mf->c1 c2 Siguiente SW-FIFO (prioridad más alta primero) c1->c2 q ¿mensaje presente y créditos >= EthCtrlConfigShaperMinCredit? c2->q mv mover primer mensaje a HW-FIFO, restar tamaño del mensaje de los créditos q->mv Sí more Weitere SW-FIFO? q->more No b EthTrcvPhysLayerPLCAMaxBurstCount = 0? mv->b stop Iteration beenden b->stop Sí burst mover más mensajes hasta el límite de ráfaga, restar créditos por mensaje b->burst No ende Ende stop->ende burst->more Interpretación: continuar con la siguiente FIFO more->c2 Sí more->ende No

Diagrama de actividades: ciclo de CBS en Eth_MainFunction con actualización de créditos, comprobación de crédito mínimo y bifurcación de ráfagas PLCA. Fuentes: [SWS_Eth_00266], [SWS_Eth_00270], [SWS_Eth_00271], [SWS_Eth_00272], SWS Eth p. 56

Comportamiento en caso de error

Eth notifica los errores de desarrollo a DET ([SWS_Eth_00120]). Los códigos son ETH_E_INV_CTRL_IDX, ETH_E_UNINIT, ETH_E_PARAM_POINTER, ETH_E_INV_PARAM y ETH_E_INV_MODE ([SWS_Eth_00016]). Las comprobaciones típicas corresponden a la inicialización, CtrlIdx y punteros ([SWS_Eth_00066], [SWS_Eth_00067], [SWS_Eth_00068]). Si DET está desactivado, los servicios de estadísticas devuelven E_NOT_OK en estos casos ([SWS_Eth_00228], [SWS_Eth_00236], [SWS_Eth_00248], [SWS_Eth_00254]).

Los errores de producción van a DEM a través de Dem_SetEventStatus ([SWS_Eth_00119]). Un acceso fallido al controlador genera ETH_E_ACCESS con DEM_EVENT_STATUS_PREFAILED; Eth_SetControllerMode devuelve entonces E_NOT_OK ([SWS_Eth_00039], [SWS_Eth_00173], [SWS_Eth_00168]). Eth_MainFunction notifica los siguientes errores de producción extendidos ([SWS_Eth_00169], [SWS_Eth_00172]):

En funcionamiento, los errores también se manifiestan a través de valores de retorno. Entre ellos se incluyen BUFREQ_E_BUSY y BUFREQ_E_OVFL (SWS Eth p. 91), así como una confirmación de transmisión negativa ([SWS_Eth_00256]). El comportamiento de Eth_Receive con el controlador inactivo depende de la versión. R23-11 y R24-11 exigen ETH_E_INV_MODE (SWS Eth p. 94, SWS Eth p. 116), mientras que R25-11 exige un retorno inmediato (SWS Eth p. 110). Para R20-11 es de suponer que aplica la variante DET debido a [SWS_Eth_00016]. Pregunta (abierta)

Más evidencia detallada

Guía generada por IA basada en los extractos de la especificación incluidos en el payload. Tienen validez vinculante los requisitos enlazados de R20-11; las secciones de documentos de otras versiones se identifican como tales.

Ethernet Driver (Eth)

Provides uniform hardware access to Ethernet controller interfaces.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

función Eth_Init [SWS_Eth_00027] 📄 PDF

void Eth_Init (const Eth_ConfigType* CfgPtr);

Initializes the Ethernet Driver

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

La función Eth_Init sirve para inicializar el controlador Ethernet [SWS_Eth_00027]. Se declara a través del archivo de cabecera Eth.h, posee el Service-ID 0x01 y no tiene valor de retorno (void) [SWS_Eth_00027]. Como parámetro de entrada espera CfgPtr, que apunta a una estructura de configuración específica de la implementación de tipo Eth_ConfigType [SWS_Eth_00027]. La llamada se realiza de forma síncrona y está definida como no reentrante (Non Reentrant) [SWS_Eth_00027].

En el flujo operativo, Eth_Init constituye el prerrequisito fundamental para trabajar con el módulo. Todas las demás funciones requieren obligatoriamente una inicialización previa del controlador mediante Eth_Init [SWS_Eth_00070], [SWS_Eth_00167], [SWS_Eth_00185]. Esta dependencia es obligatoria para diversos servicios de controlador del controlador de dispositivo [SWS_Eth_00189], [SWS_Eth_00194], [SWS_Eth_00199], [SWS_Eth_00232].

Para el caso de un acceso no inicializado, se prevé un tratamiento de errores específico: con la detección de errores de desarrollo (Development Error Detection, DET) activada, las funciones del controlador comprueban si el servicio Eth_Init se llamó previamente de forma correcta [SWS_Eth_00066]. Si esta comprobación no tiene éxito, desencadenan el error de desarrollo ETH_E_UNINIT [SWS_Eth_00164], [SWS_Eth_00182], [SWS_Eth_00187], [SWS_Eth_00196]. Si, por el contrario, DET está desactivada, las funciones afectadas rechazan la ejecución y señalizan el estado no permitido devolviendo el estado E_NOT_OK [SWS_Eth_00228], [SWS_Eth_00235], [SWS_Eth_00248], [SWS_Eth_00252].

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

Guía del implementador pendiente (complejidad I2)

función Eth_SetControllerMode [SWS_Eth_00041] 📄 PDF

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Enables / disables the indexed controller Tags: atp.Status=obsolete

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

La función Eth_SetControllerMode sirve para activar (ETH_MODE_ACTIVE) o desactivar (ETH_MODE_DOWN) el controlador Ethernet direccionado a través del parámetro CtrlIdx [SWS_Eth_00041]. En AUTOSAR Classic R20-11 este servicio está clasificado como obsoleto (obsolete) [SWS_Eth_00041].

La ejecución del servicio es asíncrona y no reentrante (Non Reentrant) [SWS_Eth_00041]. Como valor de retorno, la función proporciona E_OK en caso de inicio correcto o E_NOT_OK si no se pudo cambiar el modo de operación [SWS_Eth_00041]. Interpretación: dado que la llamada está especificada como asíncrona pero no se define ningún callback en la carga útil (payload), es probable que la adopción efectiva del estado se complete a bajo nivel de hardware en segundo plano del controlador tras el retorno de la función. Pregunta Q-d7ec04578e921eb9 (abierta)

Si el controlador o su comunicación de transmisión y recepción se desactiva mediante Eth_SetControllerMode, se aplican limpiezas obligatorias de búferes:

Debido a la propiedad Non Reentrant, la función no debe ejecutarse concurrentemente para la misma ni para otras instancias de controlador [SWS_Eth_00041]. No se indican mensajes de error DET o DEM específicos; los estados de error se comunican al llamador a través del valor de retorno E_NOT_OK [SWS_Eth_00041].

Esta nota de uso fue generada de forma automatizada sobre la base de los datos de especificación de AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I2)

función Eth_SetControllerMode [SWS_Eth_91009] 📄 PDF

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Status=draft

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

La función Eth_SetControllerMode (ID de servicio 0x03, proporcionada a través de Eth.h) sirve para activar y desactivar la comunicación de recepción y transmisión (Rx/Tx) de un controlador Ethernet específico [SWS_Eth_91009].

Uso y condiciones de llamada

La ejecución de la función se realiza de forma asíncrona y está especificada como no reentrante (Non Reentrant) [SWS_Eth_91009]. En la llamada se pasan dos parámetros:

  • CtrlIdx: índice del controlador en cuestión en el contexto del controlador Ethernet [SWS_Eth_91009].
  • CtrlMode: modo de destino para el controlador, ya sea ETH_MODE_ACTIVE para activar la comunicación Rx/Tx o ETH_MODE_DOWN para desactivarla [SWS_Eth_91009].

Como valor de retorno, la función devuelve el estado Std_ReturnType: E_OK señaliza una ejecución correcta, mientras que E_NOT_OK indica que no se pudo cambiar el modo del controlador [SWS_Eth_91009].

Interacción y gestión de búferes

Si se desactiva la comunicación Rx/Tx del controlador indexado a través de Eth_SetControllerMode (modo ETH_MODE_DOWN), es obligatorio llevar a cabo acciones de limpieza para los búferes de transmisión:

  • Todos los búferes de transmisión bloqueados (locked transmit buffers) deben liberarse [SWS_Eth_00280].
  • Todos los búferes de transmisión pendientes (pending transmit buffers) también deben liberarse [SWS_Eth_00281].

Las disposiciones actuales para la liberación de búferes bloqueados y pendientes, así como la propia definición de la función, tienen el estado «draft» [SWS_Eth_91009], [SWS_Eth_00280], [SWS_Eth_00281]. Sustituyen a los requisitos precedentes históricos [SWS_Eth_00137] y [SWS_Eth_00138], que están clasificados como obsoletos.

Este texto ha sido generado por una IA basándose en las especificaciones de AUTOSAR.

Guía del implementador pendiente (complejidad I2)

función Eth_GetPhysAddr [SWS_Eth_00052] 📄 PDF

void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);

Obtains the physical source address used by the indexed controller

función Eth_SetPhysAddr [SWS_Eth_00151] 📄 PDF

void Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);

Sets the physical source address used by the indexed controller

función Eth_UpdatePhysAddrFilter [SWS_Eth_00152] 📄 PDF

Std_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);

Update the physica l source address to/ from the indexed controller filter. If the Ethernet Controller is not capable to do the filtering, the software has to do this.

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

La interfaz síncrona Eth_UpdatePhysAddrFilter se proporciona a través del archivo de cabecera Eth.h y posee el Service-ID 0x12 [SWS_Eth_00152]. La función sirve para añadir una dirección física al filtro de un controlador Ethernet indexado o para eliminarla de este [SWS_Eth_00152].

Los parámetros de la función comprenden tres valores de entrada [SWS_Eth_00152]:

  • CtrlIdx: Determina el índice del controlador Ethernet correspondiente dentro del contexto del controlador de dispositivo [SWS_Eth_00152].
  • PhysAddrPtr: Puntero al área de memoria con la dirección física de destino (dirección MAC) en orden de bytes de red; esta es la dirección de destino multidifusión del paquete Ethernet de capa 2 [SWS_Eth_00152].
  • Action: Especifica mediante el tipo de enumeración Eth_FilterActionType si la dirección indicada se añade al filtro del controlador o se elimina de él [SWS_Eth_00152].

La función devuelve un estado de tipo Std_ReturnType: E_OK confirma la modificación exitosa del filtro, mientras que E_NOT_OK notifica que el filtro no pudo modificarse [SWS_Eth_00152]. Si el controlador Ethernet no es capaz por hardware de realizar el filtrado de forma autónoma, la tarea de filtrado debe implementarse por software [SWS_Eth_00152].

Para la ejecución se aplica una restricción estricta de reentrancia: la función no es reentrante para el mismo índice de controlador (CtrlIdx), pero se puede invocar de forma concurrente y reentrante para índices de controlador diferentes entre sí [SWS_Eth_00152].

Esta nota de uso fue generada por un sistema de IA a partir de la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función Eth_WriteMii [SWS_Eth_00058] 📄 PDF

Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);

Configures a transceiver register or triggers a function offered by the receiver

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

La función Eth_WriteMii sirve para configurar un registro de un transceptor Ethernet a través de la interfaz MII o para activar una función proporcionada por el transceptor [SWS_Eth_00058]. La declaración está disponible a través de la cabecera Eth.h [SWS_Eth_00058].

Uso y parámetros

La llamada se realiza con el Service-ID 0x05 y procesa cuatro parámetros de entrada [SWS_Eth_00058]:

  • CtrlIdx: Índice del controlador Ethernet en el contexto del controlador de Ethernet [SWS_Eth_00058].
  • TrcvIdx: Índice del transceptor en la interfaz MII [SWS_Eth_00058].
  • RegIdx: Índice del registro del transceptor en la MII en el que se va a escribir [SWS_Eth_00058].
  • RegVal: El valor de 16 bits que se debe escribir en el registro direccionado [SWS_Eth_00058].

La ejecución del servicio está especificada como asíncrona [SWS_Eth_00058]. Esto significa que el proceso de escritura propiamente dicho a través de la interfaz de hardware probablemente se procese en segundo plano, mientras que la función retorna de inmediato tras aceptar la solicitud. Pregunta Q-0f9a9e682985d796 (abierta)

Valores de retorno y restricciones

Como valor de retorno, la función devuelve el tipo Std_ReturnType [SWS_Eth_00058]:

En cuanto a la concurrencia, Eth_WriteMii está especificada como no reentrante (Non Reentrant) [SWS_Eth_00058]. Por lo tanto, las llamadas no deben ejecutarse de forma concurrente sin la debida sincronización por parte del invocador.

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función Eth_ReadMii [SWS_Eth_00064] 📄 PDF

Std_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);

Reads a transceiver register

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6906f4ae5194 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 Eth_ReadMii (ID de servicio 0x06) sirve para la lectura de un registro de transceptor a través de la interfaz MII y se proporciona a través del archivo de cabecera Eth.h [SWS_Eth_00064]. En la llamada, CtrlIdx identifica el controlador Ethernet respectivo en el contexto del controlador, TrcvIdx el transceptor direccionado en la MII y RegIdx el registro de transceptor concreto [SWS_Eth_00064]. El valor de registro determinado se escribe en el área de memoria a la que apunta el puntero RegValPtr [SWS_Eth_00064].

Ejecución y concurrencia

La ejecución se realiza de forma asíncrona (Asynchronous) [SWS_Eth_00064]. Un valor de retorno de E_OK confirma únicamente que el servicio o la orden de lectura fue aceptada con éxito (Service accepted), mientras que E_NOT_OK señaliza un rechazo de la orden (Service denied) [SWS_Eth_00064]. Debido al carácter asíncrono, es probable que el área de memoria transferida para RegValPtr deba permanecer válida hasta la finalización definitiva del proceso de lectura. Pregunta Q-04a94624b96bf51f (abierta) Dado que la función además está clasificada como no reentrante (Non Reentrant) [SWS_Eth_00064], los llamadores no deben realizar accesos simultáneos a través de diferentes tareas o contextos de interrupción sin sincronización externa.

Manejo de errores

Si el controlador no puede aceptar la solicitud de lectura, la llamada se confirma directamente con E_NOT_OK [SWS_Eth_00064]. Para esta función no se indican en los datos de especificación referidos al elemento códigos de error específicos, comprobaciones en tiempo de ejecución de DET ni eventos de diagnóstico de DEM.

Esta indicación de uso fue creada por una IA sobre la base de la especificación.

Guía del implementador pendiente (complejidad I1)

función Eth_GetRxStats [SWS_Eth_00233] 📄 PDF

Std_ReturnType Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType* RxStats);

Returns the following list according to IETF RFC281 9, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. ether Stats Drop Events 2. ether Stats Octets 3. ether Stats Pkts 4. ether Stats Broadcast Pkts 5. ether Stats Multicast Pkts 6. ether Stats Crc Al ign Errors 7. ether Stats Undersize Pkts 8. ether Stats Oversize Pkts 9. ether Stats Fragments 10. ether Stats Jabbers 11. ether Stats Collisions 12. ether Stats Pkts64Octets 13. ether Stats Pkts65to127Octets 14. ether Stats Pkts128to255Octets 15. ether St ats Pkts256to511Octets 16. ether Stats Pkts512to1023Octets 17. ether

función Eth_GetTxStats [SWS_Eth_91005] 📄 PDF

Std_ReturnType Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType* TxStats);

Returns the list of Transmission Statistics out of IETF RFC1213 defined with Eth_ Tx Stats Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

función Eth_GetTxErrorCounterValues [SWS_Eth_91006] 📄 PDF

Std_ReturnType Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType* TxErrorCounterValues);

Returns the list of Transmission Error Counters out of IETF RFC1213 and RFC1643 defined with Eth_ Tx Error Counter Values Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

función Eth_GetCurrentTime [SWS_Eth_00181] 📄 PDF

Std_ReturnType Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Returns a time value out of the HW registers according to the capability of the HW. Is the HW resolution is lower than the Eth_ Time Stamp Type resolution resp. range, than an the remainin g bits will be filled with 0. Important Note: Eth_ Get Current Time may be called within an exclusive area.

función Eth_EnableEgressTimeStamp [SWS_Eth_00186] 📄 PDF

void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);

Activat es egress time stamping on a dedicated message object. Some HW does store once the egress time stamp marker and some HW needs it always before transmission. There will be no "disable" functionality, due to the fact, that the message type is always "time st amped" by network design.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 28883e2189c8 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 Eth_EnableEgressTimeStamp activa el registro de marcas de tiempo de transmisión (Egress Time Stamping) para un objeto de mensaje dedicado del controlador Ethernet [SWS_Eth_00186]. La llamada se realiza a través de la cabecera Eth.h con el Service-ID 0x17 y no devuelve ningún valor [SWS_Eth_00186].

Al llamar a la función, se deben transferir los siguientes parámetros de entrada [SWS_Eth_00186]:

  • CtrlIdx: Índice del controlador Ethernet direccionado [SWS_Eth_00186].
  • BufIdx: Índice del búfer de mensajes para el que la aplicación de nivel superior espera la generación de una marca de tiempo de egreso (egress) [SWS_Eth_00186].

En cuanto a la concurrencia, la función está especificada como no reentrante (Non Reentrant) [SWS_Eth_00186]. Por lo tanto, una llamada paralela para el mismo búfer u otros adicionales debe sincronizarse o evitarse por parte del invocador.

El comportamiento del hardware varía según la implementación del controlador: algunos dispositivos de hardware guardan la marca para la marca de tiempo de transmisión permanentemente, mientras que otros controladores requieren obligatoriamente la activación antes de cada transmisión [SWS_Eth_00186]. Interpretación: por tanto, para un control independiente del hardware probablemente sea aconsejable llamar a la función antes de cada proceso de transmisión del búfer deseado. Pregunta Q-c2b8d2db03e9d13b (abierta) No existe una interfaz de desactivación, ya que, de acuerdo con el diseño de la red, el tipo de mensaje se transmite siempre con marca de tiempo [SWS_Eth_00186].

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

función Eth_GetEgressTimeStamp [SWS_Eth_00190] 📄 PDF

Std_ReturnType Eth_GetEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the egress time stamp on a dedicated message object. It must be called within the Tx Confirmation() function.

función Eth_GetIngressTimeStamp [SWS_Eth_00195] 📄 PDF

Std_ReturnType Eth_GetIngressTimeStamp (uint8 CtrlIdx, const Eth_DataType* DataPtr, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the ingress time stamp on a dedicated message object. It must be called within the Rx Indication() function.

función Eth_ProvideTxBuffer [SWS_Eth_00077] 📄 PDF

BufReq_ReturnType Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8* * BufPtr, uint16* LenBytePtr);

Provides access to a transmit buffer of the FIFO related to the specified priority

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

usar

La función síncrona Eth_ProvideTxBuffer concede acceso a un búfer de transmisión Ethernet de la FIFO asignada a la prioridad transferida [SWS_Eth_00077]. Se proporciona a través de la cabecera Eth.h y está especificada como reentrante [SWS_Eth_00077]. Mediante los parámetros de entrada se transfieren el índice del controlador CtrlIdx y la prioridad de trama Priority para la selección de la FIFO [SWS_Eth_00077]. El parámetro de entrada/salida (in-out) LenBytePtr transfiere el tamaño de búfer deseado y, tras la llamada, devuelve el tamaño en bytes realmente concedido [SWS_Eth_00077]. Los parámetros de salida BufIdxPtr (índice de recurso para peticiones posteriores) y BufPtr (puntero al búfer) proporcionan las referencias al área de memoria [SWS_Eth_00077].

Tratamiento de errores y valores de retorno

La función señaliza el resultado mediante valores de retorno del tipo BufReq_ReturnType [SWS_Eth_00077]:

  • BUFREQ_OK: El búfer de transmisión se proporcionó con éxito [SWS_Eth_00077].
  • BUFREQ_E_BUSY: Todos los recursos de búfer están actualmente ocupados [SWS_Eth_00077].
  • BUFREQ_E_OVFL: El búfer solicitado es demasiado grande [SWS_Eth_00077].
  • BUFREQ_E_NOT_OK: Se detectó un error de desarrollo [SWS_Eth_00077].

Interacción

Si EthCtrlConfigSwBufferHandling está configurado como TRUE, se almacena internamente una tupla compuesta por el índice de búfer del pool de búferes de software transferido a BufIdxPtr y la prioridad especificada Priority [SWS_Eth_00267].

Si posteriormente se invoca Eth_Transmit(), el índice de búfer dado se asigna a aquella FIFO de software cuya configuración EthCtrlConfigEgressFifoPriorityAssignment coincide con la prioridad previamente transferida en Eth_ProvideTxBuffer() [SWS_Eth_00268].

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

Guía del implementador pendiente (complejidad I1)

función Eth_Transmit [SWS_Eth_00087] 📄 PDF

Std_ReturnType Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);

Triggers transmission of a previously filled transmit buffer

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

Uso y contexto de llamada

La interfaz síncrona Eth_Transmit inicia el proceso de transmisión para un búfer de transmisión Ethernet previamente proporcionado y llenado [SWS_Eth_00087]. Acepta los siguientes parámetros:

  • CtrlIdx: Índice del controlador Ethernet en el contexto del controlador de dispositivo [SWS_Eth_00087].
  • BufIdx: Índice del recurso de búfer que se va a transmitir [SWS_Eth_00087].
  • FrameType: Tipo de trama Ethernet específico [SWS_Eth_00087].
  • TxConfirmation: Conmutador para activar la confirmación de transmisión [SWS_Eth_00087].
  • LenByte: Longitud de datos de la carga útil en bytes [SWS_Eth_00087].
  • PhysAddrPtr: Puntero a la dirección física de destino (dirección MAC) en orden de bytes de red [SWS_Eth_00087].

El valor de retorno de tipo Std_ReturnType señaliza con E_OK el inicio exitoso de la transmisión y con E_NOT_OK un fallo [SWS_Eth_00087].

Interacción y procesamiento de búferes

En el marco del flujo de transmisión, Eth_Transmit asigna el puntero de búfer BufIdx a la FIFO de software cuyo elemento de configuración EthCtrlConfigEgressFifoPriorityAssignment coincide con la prioridad definida previamente en Eth_ProvideTxBuffer() [SWS_Eth_00268]. Con la llamada, los mensajes correspondientes se transfieren desde las FIFO de software a la FIFO de hardware [SWS_Eth_00269].

concurrencia

La función es reentrante para llamadas con diferentes índices de búfer (BufIdx), así como con diferentes índices de controlador (CtrlIdx) [SWS_Eth_00087].

Esta nota de uso se generó de forma automatizada a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función Eth_Receive [SWS_Eth_00095] 📄 PDF

void Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);

Receive a frame from the related fifo.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: aeb0a2bc1424 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 Eth_Receive sirve para la recepción de una trama Ethernet desde un búfer FIFO específico de un controlador Ethernet [SWS_Eth_00095]. No tiene valor de retorno, pero devuelve el resultado de la consulta al invocador a través del puntero RxStatusPtr de tipo Eth_RxStatusType [SWS_Eth_00095]. Este parámetro de salida indica si una trama se ha recibido con éxito y si aún hay más tramas listas para ser recogidas para el búfer FIFO en cuestión [SWS_Eth_00095].

Parámetros y contexto de llamada

Como parámetros de entrada, la función exige el índice de controlador CtrlIdx dentro del controlador Ethernet, así como el índice FifoIdx de la FIFO que se va a leer [SWS_Eth_00095]. La función está declarada en el archivo de cabecera Eth.h [SWS_Eth_00095]. La llamada probablemente se realice periódicamente en el marco de un mecanismo de sondeo (polling) por parte de capas superiores de controladores o interfaces. Pregunta Q-f5ec0693a5887bcf (abierta)

Concurrencia y restricciones

En cuanto a la concurrencia, Eth_Receive está implementada como reentrante para diferentes FIFO, pero no reentrante para la misma FIFO [SWS_Eth_00095]. Las llamadas simultáneas que consultan la misma FIFO del mismo controlador no están permitidas y deben ser excluidas por el software invocador.

Interacción con la interfaz Ethernet

En el modo de sondeo (polling), el controlador Ethernet está obligado, ante un proceso de recepción exitoso, a llamar directamente desde la rutina Eth_Receive a la función EthIf_RxIndication para notificar la trama recibida a la capa superior para su posterior procesamiento [SWS_Eth_00244].

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

Guía del implementador pendiente (complejidad I1)

función Eth_TxConfirmation [SWS_Eth_00100] 📄 PDF

void Eth_TxConfirmation (uint8 CtrlIdx);

Triggers frame transmission confirmation

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

Uso y contexto de llamada

La función Eth_TxConfirmation, disponible a través de la cabecera Eth.h, sirve para desencadenar de forma selectiva la confirmación de transmisión para tramas Ethernet enviadas [SWS_Eth_00100]. Posee el ID de servicio 0x0C y se ejecuta de forma síncrona [SWS_Eth_00100]. Como único parámetro de transferencia, la función espera CtrlIdx, el cual determina el índice lógico del controlador que se va a direccionar dentro de la instancia del controlador Ethernet [SWS_Eth_00100]. No existe un valor de retorno (void) y no se transfieren parámetros de salida [SWS_Eth_00100].

Interacción en la secuencia de transmisión

En la interacción entre capas, Eth_TxConfirmation asume el reenvío del estado de transmisión a la interfaz Ethernet de nivel superior. Siempre que se haya activado la notificación correspondiente, el controlador Ethernet tiene la obligación de llamar a EthIf_TxConfirmation con el valor de resultado E_OK para señalizar una transmisión exitosa [SWS_Eth_00243]. En el modo de sondeo (polling), esta llamada se realiza explícitamente desde el contexto de la rutina Eth_TxConfirmation, mientras que en el modo controlado por interrupciones se emite alternativamente de forma directa desde la rutina de interrupción [SWS_Eth_00243].

Concurrencia y condiciones de ejecución

Para la ejecución se aplica la restricción de que Eth_TxConfirmation está definida como no reentrante (Non Reentrant) [SWS_Eth_00100]. Por lo tanto, el llamador debe evitar llamadas simultáneas para el mismo controlador. En modo de sondeo, la llamada probablemente se realice típicamente de forma cíclica mediante un control de flujo de nivel superior. Pregunta Q-c19295838459b689 (abierta) En la especificación de la función no se indican códigos de error específicos ni prescripciones sobre notificaciones DET o DEM, por lo que no se requiere un tratamiento de errores independiente.

Este texto fue elaborado por una IA; el documento vinculante es la especificación de referencia.

Guía del implementador pendiente (complejidad I1)

función Eth_MainFunction [SWS_Eth_00171] 📄 PDF

void Eth_MainFunction (void);

The function checks for controller errors and lost frames. Used for polling state changes. Calls Eth If_ Ctrl Mode Indication when the controller mode changed.

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

Uso y contexto de llamada

La función Eth_MainFunction tiene la signatura void Eth_MainFunction(void) y se proporciona a través del archivo de cabecera SchM_Eth.h [SWS_Eth_00171]. De ello se deduce: la llamada debería realizarse de forma cíclica mediante el Schedule Manager (SchM) en un contexto basado en tareas, ya que no se han definido parámetros de entrada ni valores de retorno. Pregunta Q-690a2dc372d49c6a (abierta)

Alcance funcional y sondeo

La tarea principal de la función consiste en el sondeo de cambios de estado, así como en la comprobación de errores del controlador y tramas Ethernet perdidas [SWS_Eth_00171]. Si la función detecta que el modo del controlador Ethernet ha cambiado, llama a la función EthIf_CtrlModeIndication para informar a la capa superior sobre el cambio de estado [SWS_Eth_00171].

Orden de procesamiento en la ruta de transmisión

En el contexto de Eth_MainFunction(), se especifica un orden fijo para el procesamiento de los FIFO por software [SWS_Eth_00270]:

  • En primer lugar, se itera sobre todos los SW-FIFO y se actualizan sus cuentas de créditos (Credits Account) [SWS_Eth_00270].
  • A continuación, se itera de nuevo sobre todos los SW-FIFO y se comprueba si hay mensajes listos para enviar [SWS_Eth_00270].
  • Para cada SW-FIFO iterado, se intenta seguidamente la transmisión [SWS_Eth_00270].

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

tipo Eth_ModeType [SWS_Eth_00158] 📄 PDF

This is an generic type and used in the layers of the Ethernet communication stack (e.g. EthIf, Eth, EthSwt, EthTrcv) to enable and disable, resp ectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and power on mode, respectively. Tags: atp.Status=obsolete

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 12ea280a995a 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 genérico Eth_ModeType sirve en las capas de la pila de comunicación Ethernet (como EthIf, Eth, EthSwt y EthTrcv) para activar o desactivar el canal de comunicación Ethernet, así como para poner el hardware asociado (como el controlador Ethernet, el puerto de Ethernet switch o el transceptor de Ethernet) en un estado de reposo de bajo consumo o en modo activo [SWS_Eth_00158].

El tipo está disponible a través del archivo de cabecera Eth_GeneralTypes.h y define los siguientes rangos de valores [SWS_Eth_00158]:

  • ETH_MODE_DOWN (0x00): desactiva el canal de comunicación Ethernet y pone el hardware asociado en un modo de suspensión de bajo consumo (Low-Power Sleep Mode) [SWS_Eth_00158].
  • ETH_MODE_ACTIVE (0x01): activa el canal de comunicación Ethernet y pone el hardware en el modo operativo (Power-On Mode) [SWS_Eth_00158].

En cuanto al ciclo de vida y al uso, cabe señalar que Eth_ModeType está marcado con el estado obsolete en el Release R20-11 [SWS_Eth_00158]. Por lo tanto, en nuevos desarrollos debería evitarse el uso de este tipo, ya que en futuros estándares los tipos de interfaz obsoletos suelen sustituirse típicamente por estructuras de control más modernas.

Esta nota de uso fue creada de forma automatizada. Las referencias a la especificación se refieren exclusivamente al contexto de requisitos suministrado.

Guía del implementador pendiente (complejidad I1)

tipo Eth_ModeType [SWS_Eth_91008] 📄 PDF

This is an generic type and used in the layers of the Ethernet commun ication stack (e.g. Eth If, Eth, Eth Swt, Eth Trcv) to enable and disable, respectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and po wer on mode, respectively. The type also support to transfer a wake - up request from the services layer (Com M) to the communication drivers (Eth Trcv). This could be used e.g. for Ethernet hardware that has the capability to wake - up and sleep on data line (see OA TC10) Tags: atp.Status=draft

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

El tipo de enumeración Eth_ModeType se declara a través de Eth_GeneralTypes.h y sirve como tipo de modo intercapa en la pila de comunicación Ethernet de AUTOSAR ([SWS_Eth_91008]). Se utiliza en módulos como EthIf, Eth, EthSwt y EthTrcv para activar o desactivar canales de comunicación de manera selectiva y conmutar el componente de hardware asociado (controlador Ethernet, puertos de conmutador o transceptor) entre un modo de suspensión de bajo consumo y el modo de funcionamiento activo ([SWS_Eth_91008]).

El tipo comprende tres estados para el control de modo ([SWS_Eth_91008]):

  • ETH_MODE_DOWN (0x00): Desactiva la comunicación Rx y Tx y pone el hardware asociado en un modo de suspensión de bajo consumo (Low-Power-Sleep). Si el hardware lo admite, se inicia simultáneamente un proceso de suspensión (por ejemplo, solicitar Sleep en la línea de datos según OPEN Alliance TC10).
  • ETH_MODE_ACTIVE (0x01): Activa la comunicación Rx y Tx y conmuta el hardware asociado al modo de funcionamiento regular (Power-on).
  • ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST (0x02): Activa la comunicación Rx y Tx, pasa el hardware al modo de funcionamiento y, adicionalmente, desencadena una solicitud de reactivación en la red si el hardware dispone de capacidades de reactivación (como Wake-up en la línea de datos según OPEN Alliance TC10).

En la interacción de la pila, Eth_ModeType admite en particular la retransmisión de solicitudes de reactivación desde la capa de servicios (ComM) a través de las capas intermedias hasta llegar a los controladores de comunicación (EthTrcv), con lo que el hardware con funcionalidad de Wake-up y Sleep en la línea de datos se controla según las necesidades ([SWS_Eth_91008]).

Esta indicación de uso se generó automáticamente a partir de la especificación SWS_Eth_91008.

Guía del implementador pendiente (complejidad I1)

tipo Eth_StateType [SWS_Eth_00159] 📄 PDF

Status supervision used for Development Error Detection. The state shall be available for debugging.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c3ab864e1cec 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 Eth_StateType se proporciona a través de la cabecera Eth_GeneralTypes.h y sirve, conforme a [SWS_Eth_00159], para la monitorización del estado del controlador Ethernet. Su propósito consiste en dar soporte a la detección de errores de desarrollo (Development Error Detection), debiendo estar disponible el estado actual para fines de depuración según la especificación ([SWS_Eth_00159]).

Para la gestión de estados, Eth_StateType define dos valores discretos de enumeración ([SWS_Eth_00159]):

  • ETH_STATE_UNINIT (valor 0x00): identifica que el controlador Ethernet todavía no está configurado ([SWS_Eth_00159]).
  • ETH_STATE_INIT (valor 0x01): indica que el controlador Ethernet está configurado correctamente ([SWS_Eth_00159]).

En lo relativo al tratamiento de errores y a la interacción, este tipo de estado constituye la base para la detección interna de errores. Cabe suponer que las API del controlador consultan este estado y rechazan llamadas mientras el controlador se encuentre en el estado no inicializado ETH_STATE_UNINIT ([SWS_Eth_00159]). Pregunta Q-35a17e3267274d70 (abierta) Solo cuando el controlador ha pasado al estado ETH_STATE_INIT, se considera configurado y listo para el funcionamiento ([SWS_Eth_00159]). Dado que la definición de tipo se encuentra en Eth_GeneralTypes.h, está disponible para todos los controladores ([SWS_Eth_00159]).

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

Guía del implementador pendiente (complejidad I1)

tipo Eth_FrameType [SWS_Eth_00160] 📄 PDF

This type defines the Ethernet frame type used in the Ethernet frame header

tipo Eth_DataType [SWS_Eth_00161] 📄 PDF

This type defines the Ethernet data type used for data transmission. Its definition depends on the used CPU.

tipo Eth_RxStatusType [SWS_Eth_00162] 📄 PDF

Used as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are available or frames go t lost.

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

Uso y rango de valores

El tipo de enumeración Eth_RxStatusType se define según [SWS_Eth_00162] en el archivo de cabecera Eth_GeneralTypes.h. Sirve como parámetro de salida (out parameter) en la función Eth_Receive(), a través del cual el controlador Ethernet comunica si se ha recibido una trama Ethernet y si posteriormente hay más tramas en el búfer o se han perdido datos [SWS_Eth_00162].

La especificación define para este tipo tres valores de enumeración discretos [SWS_Eth_00162]:

  • ETH_RECEIVED (0x00): Se ha recibido una trama Ethernet; ya no hay más tramas disponibles en el controlador.
  • ETH_NOT_RECEIVED (0x01): No se ha recibido ninguna trama Ethernet; no hay más tramas disponibles.
  • ETH_RECEIVED_MORE_DATA_AVAILABLE (0x02): Se ha recibido una trama Ethernet y hay tramas adicionales listas para su recogida.

Interacción en el procesamiento de tramas

Al llamar a Eth_Receive(), la capa invocadora pasa un puntero a una variable del tipo Eth_RxStatusType. La evaluación de este parámetro de salida controla el flujo posterior del ciclo de recepción: el valor de retorno ETH_RECEIVED_MORE_DATA_AVAILABLE probablemente sirva al invocador como criterio para llamar de nuevo inmediatamente a Eth_Receive() para procesar rápidamente las tramas restantes del búfer de recepción [SWS_Eth_00162]. Pregunta Q-4ed309522aa004f8 (abierta) Por contraposición, los estados ETH_RECEIVED y ETH_NOT_RECEIVED señalizan que el búfer se ha agotado y no hay más datos pendientes de procesamiento. La provisión a través de Eth_GeneralTypes.h garantiza un uso uniforme del tipo en todos los módulos [SWS_Eth_00162].

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

Guía del implementador pendiente (complejidad I1)

tipo Eth_FilterActionType [SWS_Eth_00163] 📄 PDF

The Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.

tipo Eth_TimeStampQualType [SWS_Eth_00177] 📄 PDF

Depending on the HW, quality information regarding the evaluated time stamp might be supported. If not supported, the value shall be always Valid. For Uncertain and Invalid values, the upper layer shall discard the time stamp.

tipo Eth_TimeStampType [SWS_Eth_00178] 📄 PDF

Variables of this type are used for expressing time stamps including relative time and absolute calendar time. The absolute time starts at 1970 - - 01. 0 to 281474976710655s == 3257812230d [0x FFFF FFFF FFFF] 0 to 999999999ns [0x3B9A C9FF] invalid value in nanoseconds: [0x3B9A CA00] to [0x3FFF FFFF] Bit 30 and 31 reserved, default: 0

tipo Eth_MacVlanType [SWS_Eth_91001] 📄 PDF

This type is used to read out addresses from the address resolution logic (A RL) table of the switch. typedef struct { uint8 Mac Addr[6U]; uint16 Vlan Id; uint32 Switch Port; } Eth_ Mac Vlan Type; In case of Macaddr contains a Multicast Address Mac Vlan Type.Switch Port shall be handled as Bitmask, each bit represents a Switch Port , Bit 0 represents Eth Swicht Port Idx = 0 , Bit 1 represents Eth Swicht Port Idx = 1 and so on. In case of Macaddr contains not a Multicast Address Mac Vlan Type.Switch Port shall be handled as a value representing the Eth Switch Port Idx.

tipo Eth_TxErrorCounterValuesType [SWS_Eth_91004] 📄 PDF

Type Eth_TxErrorCounterValuesType.

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

Uso y finalidad

El tipo de datos Eth_TxErrorCounterValuesType está especificado según [SWS_Eth_91004] como una estructura para contadores estadísticos con fines de diagnóstico en el controlador de Ethernet. La definición está disponible a través del archivo de cabecera Eth_GeneralTypes.h. La estructura agrupa varios contadores de 32 bits (uint32) que reflejan estados de transmisión específicos e impedimentos de transmisión a nivel de interfaz.

Componentes de la estructura y semántica

Los distintos contadores se orientan, según [SWS_Eth_91004], en definiciones estandarizadas de MIB de red:

  • Tx Dropped No Error Pkts: número de paquetes salientes que se descartaron a pesar de no contener errores, por ejemplo para liberar memoria de búfer (RFC1213 ifOutDiscards).
  • Tx Dropped Error Pkts: número de paquetes que no pudieron transmitirse debido a errores producidos (RFC1213 ifOutErrors).
  • Tx Deferred Trans: número de tramas cuyo primer intento de transmisión se retrasó porque el medio de transmisión estaba ocupado (RFC1643 dot3StatsDeferredTransmissions).
  • Tx Single Collision y Tx Multiple Collision: tramas transmitidas con éxito cuya emisión se retrasó debido a exactamente una colisión o a múltiples colisiones, respectivamente (RFC1643).
  • Tx Late Collision: colisiones detectadas con posterioridad a 512 tiempos de bit tras el inicio de la transmisión del paquete (RFC1643 dot3StatsLateCollisions).
  • Tx Excessive Collison: número de transmisiones que han fallado definitivamente a consecuencia de demasiadas colisiones (RFC1643 dot3StatsExcessiveCollisions).

Contexto de llamada y restricciones

Interpretación: Dado que el extracto de la especificación no menciona ninguna función de API asociada, este tipo de diagnóstico probablemente deba transferirse como parámetro de salida mediante puntero a funciones de controlador correspondientes para la consulta de contadores. Pregunta Q-2bfbe59d1fb81938 (abierta) En las fuentes no se definen requisitos específicos en cuanto a tratamiento de errores, mensajes DET o concurrencia para esta mera estructura de datos.

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

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

Record
AUTOSAR/AP/record/CP_MOD_Eth
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Eth@rel:R20-11#179d9945
Content hash
179d9945
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EthernetDriver.pdf#nameddest=SWS_Eth_00027

Inicialización y estado

Returns the version information of this module

void Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Eth_Init función

Initializes the Ethernet Driver

void Eth_Init (const Eth_ConfigType* CfgPtr);

Servicios · Get…

Obtains the state of the indexed controller Tags: atp.Status=obsolete

Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);

Obtains the communication state of the indexed controller Tags: atp.Status=draft

Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);

Reads a list with drop counter values of the corresponding controller. The meaning of these values is described at Eth_ Counter Type.

Std_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);

Returns a time value out of the HW registers according to the capability of the HW. Is the HW resolution is lower than the Eth_ Time Stamp Type resolution resp. range, than an the remainin g bits will be filled with 0. Important Note: Eth_ Get Current Time may be called within an exclusive area.

Std_ReturnType Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the egress time stamp on a dedicated message object. It must be called within the Tx Confirmation() function.

Std_ReturnType Eth_GetEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the ingress time stamp on a dedicated message object. It must be called within the Rx Indication() function.

Std_ReturnType Eth_GetIngressTimeStamp (uint8 CtrlIdx, const Eth_DataType* DataPtr, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Obtains the physical source address used by the indexed controller

void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);

Returns the following list according to IETF RFC281 9, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. ether Stats Drop Events 2. ether Stats Octets 3. ether Stats Pkts 4. ether Stats Broadcast Pkts 5. ether Stats Multicast Pkts 6. ether Stats Crc Al ign Errors 7. ether Stats Undersize Pkts 8. ether Stats Oversize Pkts 9. ether Stats Fragments 10. ether Stats Jabbers 11. ether Stats Collisions 12. ether Stats Pkts64Octets 13. ether Stats Pkts65to127Octets 14. ether Stats Pkts128to255Octets 15. ether St ats Pkts256to511Octets 16. ether Stats Pkts512to1023Octets 17. ether

Std_ReturnType Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType* RxStats);

Returns the list of Transmission Error Counters out of IETF RFC1213 and RFC1643 defined with Eth_ Tx Error Counter Values Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

Std_ReturnType Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType* TxErrorCounterValues);

Returns the list of Transmission Statistics out of IETF RFC1213 defined with Eth_ Tx Stats Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

Std_ReturnType Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType* TxStats);

Servicios · Set…

Enables / disables the indexed controller Tags: atp.Status=obsolete

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Status=draft

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Sets the physical source address used by the indexed controller

void Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);

Servicios · Otros

Activat es egress time stamping on a dedicated message object. Some HW does store once the egress time stamp marker and some HW needs it always before transmission. There will be no "disable" functionality, due to the fact, that the message type is always "time st amped" by network design.

void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);

Provides access to a transmit buffer of the FIFO related to the specified priority

BufReq_ReturnType Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8* * BufPtr, uint16* LenBytePtr);
Eth_ReadMii función

Reads a transceiver register

Std_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);
Eth_Receive función

Receive a frame from the related fifo.

void Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);
Eth_Transmit función

Triggers transmission of a previously filled transmit buffer

Std_ReturnType Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);

Update the physica l source address to/ from the indexed controller filter. If the Ethernet Controller is not capable to do the filtering, the software has to do this.

Std_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);
Eth_WriteMii función

Configures a transceiver register or triggers a function offered by the receiver

Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);

Callbacks

Triggers frame transmission confirmation

void Eth_TxConfirmation (uint8 CtrlIdx);

Cíclico

The function checks for controller errors and lost frames. Used for polling state changes. Calls Eth If_ Ctrl Mode Indication when the controller mode changed.

void Eth_MainFunction (void);

Tipos

Ethernet buffer identifier type.

Implementation specific structure of the post build configuration

Type Eth_CounterType.

This type defines the Ethernet data type used for data transmission. Its definition depends on the used CPU.

The Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.

This type defines the Ethernet frame type used in the Ethernet frame header

This type is used to read out addresses from the address resolution logic (A RL) table of the switch. typedef struct { uint8 Mac Addr[6U]; uint16 Vlan Id; uint32 Switch Port; } Eth_ Mac Vlan Type; In case of Macaddr contains a Multicast Address Mac Vlan Type.Switch Port shall be handled as Bitmask, each bit represents a Switch Port , Bit 0 represents Eth Swicht Port Idx = 0 , Bit 1 represents Eth Swicht Port Idx = 1 and so on. In case of Macaddr contains not a Multicast Address Mac Vlan Type.Switch Port shall be handled as a value representing the Eth Switch Port Idx.

This is an generic type and used in the layers of the Ethernet communication stack (e.g. EthIf, Eth, EthSwt, EthTrcv) to enable and disable, resp ectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and power on mode, respectively. Tags: atp.Status=obsolete

This is an generic type and used in the layers of the Ethernet commun ication stack (e.g. Eth If, Eth, Eth Swt, Eth Trcv) to enable and disable, respectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and po wer on mode, respectively. The type also support to transfer a wake - up request from the services layer (Com M) to the communication drivers (Eth Trcv). This could be used e.g. for Ethernet hardware that has the capability to wake - up and sleep on data line (see OA TC10) Tags: atp.Status=draft

Variables of this type are used to express frequency ratios.

Type Eth_RxStatsType.

Used as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are available or frames go t lost.

Status supervision used for Development Error Detection. The state shall be available for debugging.

Variables of this type are used to express time differences.

Depending on the HW, quality information regarding the evaluated time stamp might be supported. If not supported, the value shall be always Valid. For Uncertain and Invalid values, the upper layer shall discard the time stamp.

Variables of this type are used for expressing time stamps including relative time and absolute calendar time. The absolute time starts at 1970 - - 01. 0 to 281474976710655s == 3257812230d [0x FFFF FFFF FFFF] 0 to 999999999ns [0x3B9A C9FF] invalid value in nanoseconds: [0x3B9A CA00] to [0x3FFF FFFF] Bit 30 and 31 reserved, default: 0

Type Eth_TxErrorCounterValuesType.

Statistic counter for diag nostics.