Ethernet Driver (Eth)
Provides uniform hardware access to Ethernet controller interfaces.
Funktionen — Übersicht
void Eth_Init (const Eth_ConfigType* CfgPtr);Initializes the Ethernet DriverStd_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);Enables / disables the indexed controller Tags: atp.Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);Obtains the state of the indexed controller Tags: atp.Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);Obtains the communication state of the indexed controller Tags: atp.void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);Obtains the physical source address used by the indexed controllervoid Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);Sets the physical source address used by the indexed controllerStd_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);Update the physica l source address to/ from the indexed controller filter.Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);Configures a transceiver register or triggers a function offered by the receiverStd_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);Reads a transceiver registerStd_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);Reads a list with drop counter values of the corresponding controller.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.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...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...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.void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);Activat es egress time stamping on a dedicated message object.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.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.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 priorityStd_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 buffervoid Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);Receive a frame from the related fifo.void Eth_TxConfirmation (uint8 CtrlIdx);Triggers frame transmission confirmationvoid Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Returns the version information of this modulevoid Eth_MainFunction (void);The function checks for controller errors and lost frames.
Typen — Übersicht
struct Eth_ConfigTypeImplementation specific structure of the post build configurationenum Eth_ModeTypeThis is an generic type and used in the layers of the Ethernet communication stack (e.enum Eth_ModeTypeThis is an generic type and used in the layers of the Ethernet commun ication stack (e.enum Eth_StateTypeStatus supervision used for Development Error Detection.Eth_FrameTypeThis type defines the Ethernet frame type used in the Ethernet frame headerEth_DataTypeThis type defines the Ethernet data type used for data transmission.Eth_BufIdxTypeEthernet buffer identifier type.enum Eth_RxStatusTypeUsed as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are...enum Eth_FilterActionTypeThe Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.Eth_TimeStampQualTypeDepending on the HW, quality information regarding the evaluated time stamp might be supported.Eth_TimeStampTypeVariables of this type are used for expressing time stamps including relative time and absolute calendar time.Eth_TimeIntDiffTypeVariables of this type are used to express time differences.Eth_RateRatioTypeVariables of this type are used to express frequency ratios.struct Eth_MacVlanTypeThis type is used to read out addresses from the address resolution logic (A RL) table of the switch.Eth_CounterTypeType Eth_CounterType.Eth_RxStatsTypeType Eth_RxStatsType.Eth_TxStatsTypeStatistic counter for diag nostics.Eth_TxErrorCounterValuesTypeType Eth_TxErrorCounterValuesType.
Funktionen & Typen — Detailansicht
función Eth_Init [SWS_Eth_00027] 📄 PDF
void Eth_Init (const Eth_ConfigType* CfgPtr);
Initializes the Ethernet Driver
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
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:
- Todos los búferes de transmisión bloqueados (locked transmit buffers) deben liberarse [SWS_Eth_00137] [SWS_Eth_00280].
- Todos los búferes de transmisión pendientes (pending transmit buffers) también deben liberarse [SWS_Eth_00138] [SWS_Eth_00281].
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
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 seaETH_MODE_ACTIVEpara activar la comunicación Rx/Tx oETH_MODE_DOWNpara 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_GetControllerMode [SWS_Eth_00046] 📄 PDF
Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);
Obtains the state of the indexed controller Tags: atp.Status=obsolete
función Eth_GetControllerMode [SWS_Eth_91010] 📄 PDF
Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);
Obtains the communication state of the indexed controller Tags: atp.Status=draft
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.
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ónEth_FilterActionTypesi 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
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]:
E_OK: La orden de escritura se ha aceptado con éxito [SWS_Eth_00058].E_NOT_OK: El servicio ha sido rechazado [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
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_GetCounterValues [SWS_Eth_00226] 📄 PDF
Std_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);
Reads a list with drop counter values of the corresponding controller. The meaning of these values is described at Eth_ Counter Type.
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.
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
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
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.
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
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_GetVersionInfo [SWS_Eth_00106] 📄 PDF
void Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Returns the version information of this module
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.
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_ConfigType [SWS_Eth_00156] 📄 PDF
Implementation specific structure of the post build configuration
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
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
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.
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(valor0x00): identifica que el controlador Ethernet todavía no está configurado ([SWS_Eth_00159]).ETH_STATE_INIT(valor0x01): 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_BufIdxType [SWS_Eth_00175] 📄 PDF
Ethernet buffer identifier type.
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.
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_TimeIntDiffType [SWS_Eth_00179] 📄 PDF
Variables of this type are used to express time differences.
tipo Eth_RateRatioType [SWS_Eth_00180] 📄 PDF
Variables of this type are used to express frequency ratios.
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_CounterType [SWS_Eth_91007] 📄 PDF
Type Eth_CounterType.
tipo Eth_RxStatsType [SWS_Eth_91002] 📄 PDF
Type Eth_RxStatsType.
tipo Eth_TxStatsType [SWS_Eth_91003] 📄 PDF
Statistic counter for diag nostics.
tipo Eth_TxErrorCounterValuesType [SWS_Eth_91004] 📄 PDF
Type Eth_TxErrorCounterValuesType.
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 (RFC1213ifOutDiscards).Tx Dropped Error Pkts: número de paquetes que no pudieron transmitirse debido a errores producidos (RFC1213ifOutErrors).Tx Deferred Trans: número de tramas cuyo primer intento de transmisión se retrasó porque el medio de transmisión estaba ocupado (RFC1643dot3StatsDeferredTransmissions).Tx Single CollisionyTx 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 (RFC1643dot3StatsLateCollisions).Tx Excessive Collison: número de transmisiones que han fallado definitivamente a consecuencia de demasiadas colisiones (RFC1643dot3StatsExcessiveCollisions).
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
gemini-3.8-flash-low· 2026-10-13 · Original en alemán