DEENESPTFRRUARHIKOZHNL

Ethernet Driver (Eth)

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

Guide du moduleGÉNÉRÉ PAR IA

Raccorde les contrôleurs Ethernet à la pile AUTOSAR : initialisation, modes, émission, réception et diagnostic.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : 7ed698a8fca3 Provenance Questions ouvertes (3)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Raccorde les contrôleurs Ethernet à la pile AUTOSAR : initialisation, modes, émission, réception et diagnostic.

Le pilote Ethernet raccorde les contrôleurs Ethernet à l'Ethernet Interface. Il initialise les contrôleurs, commute leur communication Rx/Tx de manière asynchrone entre ETH_MODE_DOWN et ETH_MODE_ACTIVE et signale le changement par indication ([SWS_Eth_00276]). L'émission se fait en deux étapes : demander un tampon, puis le transmettre. Le pilote acquitte chaque émission par E_OK ou E_NOT_OK ([SWS_Eth_00243]). En outre, il offre la réception avec filtre d'adresse, les accès MII, l'horodatage et les compteurs de diagnostic. Lors de la mise à l'arrêt, les tampons d'émission verrouillés doivent être libérés.

Le pilote Ethernet Eth abstrait un ou plusieurs contrôleurs Ethernet pour l'Ethernet Interface (EthIf). EthIf peut regrouper plusieurs pilotes de différents constructeurs (SWS Eth p. 17). Eth signale les résultats via EthIf_RxIndication, EthIf_TxConfirmation et EthIf_CtrlModeIndication ([SWS_Eth_00244], [SWS_Eth_00243], [SWS_Eth_00119]). Les autres voisins sont EthTrcv, EthSwt, DET et 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 Accès aux registres et aux tampons

Diagramme de contexte : Appelants et destinataires de callbacks du pilote Ethernet. Sources : [SWS_Eth_00119], [SWS_Eth_00120], SWS Eth p. 17

Eth_Init désactive la communication Rx/Tx de tous les contrôleurs configurés, les configure et élimine les demandes en attente ([SWS_Eth_00027], [SWS_Eth_00275]). Le service asynchrone Eth_SetControllerMode commute entre ETH_MODE_DOWN et ETH_MODE_ACTIVE ([SWS_Eth_91009], [SWS_Eth_00276]). Lors de la mise à l'arrêt, le pilote libère les tampons d'émission verrouillés ([SWS_Eth_00280]). Le résultat suit par EthIf_CtrlModeIndication, en mode scrutation depuis Eth_MainFunction ([SWS_Eth_00240]).

Pour émettre, la couche supérieure demande un tampon avec Eth_ProvideTxBuffer et le transmet avec Eth_Transmit ([SWS_Eth_00077], [SWS_Eth_00087]). La confirmation est E_OK ou E_NOT_OK ([SWS_Eth_00243], [SWS_Eth_00256]). Eth_Receive lit des trames depuis une FIFO et signale si d'autres sont disponibles ([SWS_Eth_00095], [SWS_Eth_00162]). Eth rejette les trames dont l'adresse de destination ne correspond pas ([SWS_Eth_00245], [SWS_Eth_00246]).

Émission d’une trame en mode scrutation (polling)Obere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK, BufIdx, BufPtr, longueur accordéeBUFREQ_OK, PufferCopier les données utiles dans le tamponEthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,Déclencher l’émissionE_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)

Diagramme de séquence : Demande de tampon, émission et confirmation en mode scrutation. Sources : [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00243], SWS EthIf p. 87

D'autres fonctions comprennent les accès MII, qui sont asynchrones dans R20-11 ([SWS_Eth_00058]), l'horodatage matériel ([SWS_Eth_00190]), les services statistiques ([SWS_Eth_00233]) et un Credit Based Shaper optionnel (DRAFT, [SWS_Eth_00263]). Eth signale les erreurs comme erreurs de développement au DET ([SWS_Eth_00016]). Les erreurs de production telles que ETH_E_ACCESS ou ETH_E_RX_FRAMES_LOST vont au DEM ([SWS_Eth_00173], [SWS_Eth_00174]).

Rôle dans la pile Ethernet et frontière système

Le pilote Ethernet Eth se situe en tant que module bas niveau sous l'Ethernet Interface (EthIf). Selon le schéma de structure de base de la pile, EthIf regroupe un ou plusieurs pilotes Eth de différents constructeurs avec chacun leurs propres types de contrôleur (SWS Eth p. 17). Vers le haut, Eth propose des services tels que Eth_Init, Eth_SetControllerMode, Eth_ProvideTxBuffer, Eth_Transmit et Eth_Receive ([SWS_Eth_00027], [SWS_Eth_91009], [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00095]). Il renvoie les résultats par l'intermédiaire des callbacks EthIf_RxIndication, EthIf_TxConfirmation et EthIf_CtrlModeIndication ([SWS_Eth_00244], [SWS_Eth_00243], [SWS_Eth_00119]).

Les autres modules voisins sont les suivants :

Si plusieurs contrôleurs partagent des ressources périphériques, Eth émule des contrôleurs indépendants vis-à-vis des couches supérieures. La coordination est alors prise en charge par les couches supérieures ([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 Accès aux registres et aux tampons

Diagramme de contexte : Eth est appelé par EthIf et EcuM, et notifie EthIf, EthTrcv, EthSwt, DET et DEM. Sources : [SWS_Eth_00119], [SWS_Eth_00120], [SWS_Eth_00241], SWS Eth p. 17

De Eth_Init à ETH_MODE_ACTIVE : démarrage et modes du contrôleur

Eth_Init reçoit un pointeur vers la structure post-build Eth_ConfigType ([SWS_Eth_00027], [SWS_Eth_00156]). Pour chaque contrôleur du EthConfigSet actuel, la fonction exécute les étapes suivantes ([SWS_Eth_00275], DRAFT ; version antérieure [SWS_Eth_00034] obsolète) :

  • désactiver la communication Rx/Tx,
  • acquitter les interruptions en attente,
  • configurer les paramètres du contrôleur ainsi que les ressources d'émission et de réception,
  • rejeter les requêtes en attente.

Eth_StateType distingue ETH_STATE_UNINIT et ETH_STATE_INIT et sert à la Development Error Detection ([SWS_Eth_00159]). Les versions plus récentes résument la règle d'appel : à l'exception de Eth_GetVersionInfo et des fonctions planifiées telles que Eth_MainFunction, les services ne sont autorisés qu'après l'initialisation (SWS Eth p. 27). R20-11 gère cela pour chaque service via la vérification de ETH_E_UNINIT, par ex. dans [SWS_Eth_00066].

Démarrage du pilote Ethernet avec le premier accès MIIEcuMEthIfEthEthTrcvInterprétation : ordre des appels EcuM ;Eth_Init doit avoir lieu avant les accès MIIEth_Init(CfgPtr)Rx/Tx aller Controller deaktivieren,Effacer les interruptions, configurerles paramètres et tampons, rejeter les requêtesEthTrcv_Init(...)EthIf_WriteMii(...)Eth_WriteMii(CtrlIdx, TrcvIdx, RegIdx, RegVal)E_OK (Dienst angenommen)E_OKL’accès MII s’exécute de manière asynchrone dans R20-11EthTrcv_WriteMiiIndication(...)EthIf_Init(...)

Diagramme de séquence : démarrage avec Eth_Init et un premier accès MII acquitté de manière asynchrone par le pilote de transceiver. Sources : [SWS_Eth_00275], [SWS_Eth_00058], [SWS_Eth_00241], SWS EthIf p. 84

Dans R20-11, Eth_SetControllerMode s'applique dans la version asynchrone et non réentrante [SWS_Eth_91009] ; elle remplace [SWS_Eth_00041]. Les deux modes agissent ainsi ([SWS_Eth_00276]) :

  • ETH_MODE_DOWN : le pilote désactive Rx/Tx et réinitialise tous les tampons. Les tampons d'émission verrouillés et en attente sont libérés ([SWS_Eth_00280], [SWS_Eth_00281]).
  • ETH_MODE_ACTIVE : le pilote active tous les tampons ainsi que la communication Rx/Tx.

Eth signale le résultat d'un changement de mode de manière asynchrone via EthIf_CtrlModeIndication ([SWS_Eth_00119]). En mode scrutation (polling), Eth_MainFunction détecte le changement et appelle ce callback ([SWS_Eth_00171], [SWS_Eth_00240]). L'état actuel est fourni par Eth_GetControllerMode ([SWS_Eth_91010], [SWS_Eth_00277]).

Eth_ModeType connaît en outre ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST. Avec ETH_MODE_DOWN, le matériel peut déclencher un processus de mise en veille (sleep), par exemple avec le matériel OA-TC10 ([SWS_Eth_91008]). La description des paramètres de Eth_SetControllerMode ne mentionne toutefois que ETH_MODE_DOWN et ETH_MODE_ACTIVE ([SWS_Eth_91009]).

zustand cluster_init ETH_STATE_INIT (je Controller) start commencer UNINIT ETH_STATE_UNINIT start->UNINIT DOWN Rx/Tx deaktiviert (Interpretation: entspricht ETH_MODE_DOWN) UNINIT->DOWN Eth_Init : désactiver Rx/Tx, configurer, rejeter les requêtes 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) : désactiver Rx/Tx, réinitialiser les tampons, libérer les tampons d’émission verrouillés et en attente

Diagramme d'états : état du pilote UNINIT/INIT et, pour chaque contrôleur, les modes DOWN et ACTIVE avec les obligations lors de la transition. Sources : [SWS_Eth_00159], [SWS_Eth_00275], [SWS_Eth_00276], [SWS_Eth_00280]

Activation d’un contrôleur EthernetEthSMEthIfEthEthIf_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)Eth_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)E_OKActiver les tampons d’émission et de réception,Rx/Tx-Kommunikation aktivierenoptPolling-BetriebEth_MainFunction(): Moduswechsel erkanntEthIf_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)EthSM_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)

Diagramme de séquence : activation par EthSM avec acceptation synchrone et indication de mode asynchrone. Sources : [SWS_Eth_91009], [SWS_Eth_00119], [SWS_Eth_00240], SWS EthIf p. 85

Chemin d'émission : demander un tampon, émettre, acquitter

L'émission se déroule en deux étapes. Tout d'abord, Eth_ProvideTxBuffer sélectionne une FIFO d'émission sur la base de Priority. Le service fournit un index de type Eth_BufIdxType, un pointeur de tampon et, via LenBytePtr, la longueur accordée ([SWS_Eth_00077], [SWS_Eth_00175]). Les valeurs de retour possibles sont BUFREQ_OK, BUFREQ_E_NOT_OK, BUFREQ_E_BUSY et BUFREQ_E_OVFL. Le tampon reste verrouillé jusqu'à ce que Eth_Transmit suive avec cet index (SWS Eth p. 91).

Ensuite, Eth_Transmit déclenche l'émission avec FrameType, l'adresse MAC de destination et le drapeau TxConfirmation ([SWS_Eth_00087], [SWS_Eth_00160]). Lors de cette opération, le pilote constitue l'en-tête Ethernet (SWS Eth p. 93). Eth_Transmit est réentrant pour différents indices de tampon et de contrôleur ([SWS_Eth_00087]).

Si la confirmation est demandée, Eth appelle EthIf_TxConfirmation avec E_OK. En mode interruption, cela s'effectue depuis la routine d'interruption, en mode scrutation depuis Eth_TxConfirmation ([SWS_Eth_00243], [SWS_Eth_00100]). Si l'émission échoue, le résultat est E_NOT_OK ([SWS_Eth_00256]). Les couches supérieures peuvent compter sur le fait que chaque Eth_Transmit est suivi d'une confirmation (SWS Eth p. 32).

Dans le schéma de scrutation, EthIf_MainFunctionTx appelle la fonction Eth_TxConfirmation (SWS EthIf p. 87). En mode interruption, Eth_TxIrqHdlr_<CtrlIdx> s'en charge (SWS EthIf p. 88). Le moment où le pilote libère le tampon est laissé au libre choix de l'implémentation (SWS Eth p. 93).

Émission d’une trame en mode scrutation (polling)Obere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK, BufIdx, BufPtr, longueur accordéeBUFREQ_OK, PufferCopier les données utiles dans le tamponEthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,Déclencher l’émissionE_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)

Diagramme de séquence : demander un tampon, le remplir, émettre et confirmer en mode scrutation, avec branches de succès et d'erreur. Sources : [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00243], [SWS_Eth_00256], SWS EthIf p. 87

Chemin de réception et filtres d'adresse

Eth_Receive lit une trame depuis la FIFO adressée via FifoIdx. Le service est réentrant pour différentes FIFO, mais pas pour la même ([SWS_Eth_00095]). RxStatusPtr renvoie ETH_RECEIVED, ETH_NOT_RECEIVED ou ETH_RECEIVED_MORE_DATA_AVAILABLE ([SWS_Eth_00162]). Interprétation : un appelant en scrutation devrait répéter Eth_Receive tant que d'autres trames sont signalées. Question Q-8f1484413f850bda (ouverte) L'entité qui effectue l'appel en mode scrutation n'est pas définie ; il s'agit vraisemblablement d'EthIf.

Eth signale la réception via EthIf_RxIndication, soit depuis l'interruption, soit depuis Eth_Receive ([SWS_Eth_00244]). Les trames de diffusion générale (broadcast) sont alors indiquées comme telles ([SWS_Eth_00153]). Les versions plus récentes nomment le paramètre QueueIdx (SWS Eth p. 110).

La propre adresse source est définie par Eth_SetPhysAddr ; Eth_GetPhysAddr la lit ([SWS_Eth_00151], [SWS_Eth_00052]). Eth_UpdatePhysAddrFilter ajoute des adresses de destination multicast au filtre de réception avec ETH_ADD_TO_FILTER et les supprime avec ETH_REMOVE_FROM_FILTER ([SWS_Eth_00152], [SWS_Eth_00163], [SWS_Eth_00150]).

Si l'adresse de destination correspond, Eth en informe la couche supérieure ; dans le cas contraire, il rejette la trame ([SWS_Eth_00245], [SWS_Eth_00246]). Si le matériel ne peut pas filtrer, l'initialisation active le mode promiscuous ([SWS_Eth_00146]). L'adresse 00:00:00:00:00:00 réduit le filtre à la propre adresse unicast et met fin au mode promiscuous ([SWS_Eth_00147] ; cf. SWS Eth p. 74).

Réception en mode scrutation (polling) et par interruptionEthIfEthUse Case: Polling-BetriebInterprétation : EthIf appelle Eth_Receive de manière cycliqueloopInterpretation: solange RxStatus == ETH_RECEIVED_MORE_DATA_AVAILABLEEth_Receive(CtrlIdx, FifoIdx, RxStatusPtr)Lire la trame depuis la FIFO,Vérifier l’adresse de destination par rapport au filtrealtRahmen empfangen, Adresse passtEthIf_RxIndication(...)L’adresse ne correspond pasRahmen verwerfenRxStatusUse Case: Interrupt-BetriebEmpfangs-InterruptEthIf_RxIndication(...)

Diagramme de séquence : réception en mode scrutation et en mode interruption avec vérification d'adresse avant l'indication. Sources : [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 Réduire le filtre à sa propre adresse unicast, quitter le mode promiscuous z->reset Oui act Action? z->act Non rx La trame arrive reset->rx add ETH_ADD_TO_FILTER : autoriser la réception pour l’adresse act->add ajouter rem ETH_REMOVE_FROM_FILTER: Empfang blockieren act->rem entfernen hw Le contrôleur peut-il filtrer ? add->hw rem->hw hwf Hardware-Filter nutzen hw->hwf Oui swf Filterung in Software (Promiscuous Mode seit Initialisierung) hw->swf Non hwf->rx swf->rx m L’adresse de destination correspond-elle au filtre ? rx->m ind EthIf_RxIndication m->ind Oui drop Rahmen verwerfen m->drop Non

Diagramme d'activité : mise à jour du filtre avec cas particulier de l'adresse nulle, filtrage matériel ou logiciel et acceptation ou rejet lors de la réception. Sources : [SWS_Eth_00146], [SWS_Eth_00147], [SWS_Eth_00163], [SWS_Eth_00245], [SWS_Eth_00246]

Accès au transceiver, horodatage matériel et compteurs de diagnostic

Eth_WriteMii et Eth_ReadMii sont asynchrones et non réentrants dans R20-11 ([SWS_Eth_00058], [SWS_Eth_00064]). Eth signale la fin de l'opération via EthTrcv_WriteMiiIndication ou EthTrcv_ReadMiiIndication ([SWS_Eth_00241], [SWS_Eth_00242]). Les registres Clause-45 sont atteints via les registres 13 et 14 selon l'Annex 22D ([SWS_Eth_00273], [SWS_Eth_00274]). L'accès est activé via EthCtrlEnableMii ([SWS_Eth_00069]). R24-11 décrit en revanche Eth_WriteMii comme synchrone (SWS Eth p. 95) ; pour R20-11, la définition asynchrone fait foi.

Les fonctions d'horodatage sont activées via EthGlobalTimeSupport ([SWS_Eth_00210], [SWS_Eth_00211]). Dans le détail :

La couche supérieure rejette les horodatages de qualité ETH_UNCERTAIN ou ETH_INVALID ([SWS_Eth_00177]). À partir de R23-11, Eth_GetCurrentTime est obsolète (SWS Eth p. 82) ; dans R20-11, le service est normatif.

Horodatage d’émission via le pilote 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)Interrogation dans le contexte de TxConfirmationEthIf_GetEgressTimeStamp(CtrlIdx, BufIdx, ...)Eth_GetEgressTimeStamp(CtrlIdx, BufIdx,timeQualPtr, timeStampPtr)E_OK, qualité, horodatageE_OK, qualité, horodatagealtQualité == ETH_VALIDZeitstempel verwendenETH_UNCERTAIN ou ETH_INVALIDZeitstempel verwerfen

Diagramme de séquence : activer l'horodatage d'émission, émettre et lire dans le contexte de confirmation avec vérification de la qualité. Sources : [SWS_Eth_00186], [SWS_Eth_00190], [SWS_Eth_00177], SWS EthTSyn p. 70, SWS EthTSyn p. 55

Quatre services de diagnostic peuvent être activés individuellement :

Pour les services de statistiques, la valeur maximale indique un compteur non disponible (SWS Eth p. 98).

Configuration, partitionnement et gestion des tampons logiciels (CBS)

Avec EthCtrlEnableOffloadChecksumIPv4, EthCtrlEnableOffloadChecksumICMP, EthCtrlEnableOffloadChecksumTCP et EthCtrlEnableOffloadChecksumUDP, le contrôleur calcule les sommes de contrôle au niveau matériel. À la réception, il rejette les trames dont la somme de contrôle est incorrecte ([SWS_Eth_00216], [SWS_Eth_00217]). Les adresses de base des tampons doivent respecter l'alignement de tous les types de données AUTOSAR ([SWS_Eth_00218]). Les assignations de partitions non prises en charge doivent être refusées. Les partitions dans EthCtrlEcucPartitionRef doivent former un sous-ensemble de EthEcucPartitionRef ([SWS_Eth_00257], [SWS_Eth_00260], [SWS_Eth_CONSTR_00001]).

En l'absence d'ordonnancement équitable au niveau matériel, un Credit Based Shaper est disponible au niveau logiciel (SWS Eth p. 38). Dans R20-11, toutes les exigences associées sont au statut DRAFT. Le mécanisme fonctionne de la manière suivante :

cbs mf Eth_MainFunction() (EthCtrlConfigSwBufferHandling = TRUE) c1 FIFO SW par ordre décroissant de priorité : augmenter les crédits de EthCtrlConfigShaperIdleSlope (uniquement pour les FIFO non vides) mf->c1 c2 FIFO SW suivante (priorité la plus haute d’abord) c1->c2 q Message présent et crédits >= EthCtrlConfigShaperMinCredit ? c2->q mv Déplacer le premier message dans la FIFO HW, déduire la taille du message des crédits q->mv Oui more Weitere SW-FIFO? q->more Non b EthTrcvPhysLayerPLCAMaxBurstCount = 0? mv->b stop Iteration beenden b->stop Oui burst Déplacer d’autres messages jusqu’à la limite de rafale, déduire les crédits pour chaque message b->burst Non ende Ende stop->ende burst->more Interprétation : continuer avec la FIFO suivante more->c2 Oui more->ende Non

Diagramme d'activité : cycle CBS dans Eth_MainFunction avec mise à jour des crédits, vérification du crédit minimal et branchement de rafale PLCA. Sources : [SWS_Eth_00266], [SWS_Eth_00270], [SWS_Eth_00271], [SWS_Eth_00272], SWS Eth p. 56

Comportement en cas d'erreur

Eth signale les erreurs de développement à DET ([SWS_Eth_00120]). Les codes sont ETH_E_INV_CTRL_IDX, ETH_E_UNINIT, ETH_E_PARAM_POINTER, ETH_E_INV_PARAM et ETH_E_INV_MODE ([SWS_Eth_00016]). Les contrôles typiques concernent l'initialisation, CtrlIdx et les pointeurs ([SWS_Eth_00066], [SWS_Eth_00067], [SWS_Eth_00068]). Si DET est désactivé, les services statistiques fournissent E_NOT_OK dans ces cas ([SWS_Eth_00228], [SWS_Eth_00236], [SWS_Eth_00248], [SWS_Eth_00254]).

Les erreurs de production sont transmises à DEM via Dem_SetEventStatus ([SWS_Eth_00119]). Un échec d'accès au contrôleur génère ETH_E_ACCESS avec DEM_EVENT_STATUS_PREFAILED ; Eth_SetControllerMode renvoie alors E_NOT_OK ([SWS_Eth_00039], [SWS_Eth_00173], [SWS_Eth_00168]). Eth_MainFunction signale les erreurs de production étendues suivantes ([SWS_Eth_00169], [SWS_Eth_00172]) :

En fonctionnement, les erreurs se manifestent également via les valeurs de retour. Celles-ci incluent BUFREQ_E_BUSY et BUFREQ_E_OVFL (SWS Eth p. 91) ainsi qu'une confirmation d'émission négative ([SWS_Eth_00256]). Le comportement de Eth_Receive en cas de contrôleur inactif dépend de la version. R23-11 et R24-11 exigent ETH_E_INV_MODE (SWS Eth p. 94, SWS Eth p. 116), R25-11 un retour immédiat (SWS Eth p. 110). Pour R20-11, la variante DET devrait s'appliquer en raison de [SWS_Eth_00016]. Question (ouverte)

Preuves détaillées supplémentaires

Guide généré par IA sur la base des extraits de spécification contenus dans le payload. Les exigences liées de R20-11 font foi ; les passages de documents issus d'autres versions sont signalés comme tels.

Ethernet Driver (Eth)

Provides uniform hardware access to Ethernet controller interfaces.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

fonction Eth_Init [SWS_Eth_00027] 📄 PDF

void Eth_Init (const Eth_ConfigType* CfgPtr);

Initializes the Ethernet Driver

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6639db5c607b Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Eth_Init sert à initialiser le pilote Ethernet [SWS_Eth_00027]. Elle est déclarée via le fichier d'en-tête Eth.h, possède l'ID de service 0x01 et ne comporte aucune valeur de retour (void) [SWS_Eth_00027]. Elle attend comme paramètre d'entrée CfgPtr, qui pointe vers une structure de configuration spécifique à l'implémentation de type Eth_ConfigType [SWS_Eth_00027]. L'appel s'effectue de façon synchrone et est défini comme non réentrant (Non Reentrant) [SWS_Eth_00027].

Dans le déroulement des opérations, Eth_Init constitue la condition préalable fondamentale pour le travail avec le module. Toutes les autres fonctions nécessitent obligatoirement une initialisation préalable du contrôleur par Eth_Init [SWS_Eth_00070], [SWS_Eth_00167], [SWS_Eth_00185]. Cette dépendance est obligatoirement prescrite pour divers services de contrôleur du pilote [SWS_Eth_00189], [SWS_Eth_00194], [SWS_Eth_00199], [SWS_Eth_00232].

Pour le cas d'un accès non initialisé, un traitement d'erreur ciblé est prévu : lorsque la détection des erreurs de développement (Development Error Detection, DET) est activée, les fonctions du pilote vérifient si le service Eth_Init a été préalablement appelé de manière appropriée [SWS_Eth_00066]. Si ce contrôle échoue, elles déclenchent l'erreur de développement ETH_E_UNINIT [SWS_Eth_00164], [SWS_Eth_00182], [SWS_Eth_00187], [SWS_Eth_00196]. Si la DET est en revanche désactivée, les fonctions concernées refusent l'exécution et signalent l'état non autorisé en renvoyant le statut E_NOT_OK [SWS_Eth_00228], [SWS_Eth_00235], [SWS_Eth_00248], [SWS_Eth_00252].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction Eth_SetControllerMode [SWS_Eth_00041] 📄 PDF

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 58bddef3c196 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Eth_SetControllerMode sert à activer (ETH_MODE_ACTIVE) ou désactiver (ETH_MODE_DOWN) le contrôleur Ethernet adressé via le paramètre CtrlIdx [SWS_Eth_00041]. Dans AUTOSAR Classic R20-11, ce service est classé comme obsolète (obsolete) [SWS_Eth_00041].

L'exécution du service est asynchrone et non réentrante (Non Reentrant) [SWS_Eth_00041]. Comme valeur de retour, la fonction fournit E_OK en cas d'initiation réussie ou E_NOT_OK si le mode de fonctionnement n'a pas pu être changé [SWS_Eth_00041]. Interprétation : l'appel étant spécifié comme asynchrone, mais aucun callback n'étant défini dans la charge utile, la prise en compte effective de l'état devrait s'achever au plus près du matériel en arrière-plan du pilote après le retour de la fonction. Question Q-d7ec04578e921eb9 (ouverte)

Si le contrôleur ou sa communication d'émission et de réception est désactivé via Eth_SetControllerMode, des nettoyages obligatoires des tampons s'appliquent :

En raison de la propriété Non Reentrant, la fonction ne doit pas être exécutée de manière concurrente pour la même instance de contrôleur ou d'autres instances [SWS_Eth_00041]. Aucun message d'erreur DET ou DEM spécifique n'est indiqué ; les états d'erreur sont communiqués à l'appelant via la valeur de retour E_NOT_OK [SWS_Eth_00041].

Cette note d'utilisation a été générée automatiquement sur la base des données de spécification d'AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 45ebc5b270a4 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Eth_SetControllerMode (Service-ID 0x03, mise à disposition via Eth.h) sert à activer et désactiver la communication de réception et d'émission (Rx/Tx) d'un contrôleur Ethernet spécifique [SWS_Eth_91009].

Utilisation et conditions d'appel

L'exécution de la fonction est asynchrone et spécifiée comme non réentrante (Non Reentrant) [SWS_Eth_91009]. Lors de l'appel, deux paramètres sont transmis :

  • CtrlIdx : index du contrôleur concerné dans le contexte du pilote Ethernet [SWS_Eth_91009].
  • CtrlMode : mode cible pour le contrôleur, soit ETH_MODE_ACTIVE pour l'activation de la communication Rx/Tx, soit ETH_MODE_DOWN pour sa désactivation [SWS_Eth_91009].

Comme valeur de retour, la fonction fournit l'état Std_ReturnType : E_OK signale une exécution réussie, tandis que E_NOT_OK indique que le mode du contrôleur n'a pas pu être changé [SWS_Eth_91009].

Interaction et gestion des tampons

Si la communication Rx/Tx du contrôleur indexé est désactivée via Eth_SetControllerMode (mode ETH_MODE_DOWN), des actions de nettoyage doivent impérativement être effectuées pour les tampons d'émission :

  • Tous les tampons d'émission verrouillés (locked transmit buffers) doivent être libérés [SWS_Eth_00280].
  • Tous les tampons d'émission en attente (pending transmit buffers) doivent également être libérés [SWS_Eth_00281].

Les dispositions actuelles relatives à la libération des tampons verrouillés et en attente ainsi que la définition de fonction elle-même possèdent l'état « draft » [SWS_Eth_91009], [SWS_Eth_00280], [SWS_Eth_00281]. Elles remplacent les exigences historiquement antérieures [SWS_Eth_00137] et [SWS_Eth_00138], qui sont classées comme obsolètes.

Ce texte a été généré par une IA sur la base des spécifications AUTOSAR.

Guide de l'implémenteur à venir (complexité I2)

fonction Eth_GetPhysAddr [SWS_Eth_00052] 📄 PDF

void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);

Obtains the physical source address used by the indexed controller

fonction Eth_SetPhysAddr [SWS_Eth_00151] 📄 PDF

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

Sets the physical source address used by the indexed controller

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 3be26284fad7 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

L'interface synchrone Eth_UpdatePhysAddrFilter est mise à disposition via le fichier d'en-tête Eth.h et possède l'ID de service 0x12 [SWS_Eth_00152]. La fonction sert à ajouter une adresse physique au filtre d'un contrôleur Ethernet indexé ou à la supprimer de celui-ci [SWS_Eth_00152].

Les paramètres de la fonction comprennent trois valeurs d'entrée [SWS_Eth_00152] :

  • CtrlIdx : définit l'index du contrôleur Ethernet concerné au sein du contexte du pilote [SWS_Eth_00152].
  • PhysAddrPtr : pointeur vers la zone mémoire contenant l'adresse physique de destination (adresse MAC) dans l'ordre des octets du réseau ; il s'agit de l'adresse de destination multicast du paquet Ethernet de couche 2 [SWS_Eth_00152].
  • Action : prescrit, via le type énuméré Eth_FilterActionType, si l'adresse indiquée est ajoutée au filtre du contrôleur ou supprimée de celui-ci [SWS_Eth_00152].

La fonction renvoie un statut de type Std_ReturnType : E_OK confirme la modification réussie du filtre, tandis que E_NOT_OK signale que le filtre n'a pas pu être modifié [SWS_Eth_00152]. Si le contrôleur Ethernet n'est matériellement pas en mesure d'effectuer le filtrage de manière autonome, la tâche de filtrage doit être réalisée par le logiciel [SWS_Eth_00152].

Une restriction stricte de réentrance s'applique à l'exécution : la fonction est non réentrante pour le même index de contrôleur (CtrlIdx), mais peut être appelée de manière concurrente et réentrante pour des indices de contrôleur différents les uns des autres [SWS_Eth_00152].

Cette note d'utilisation a été générée par un système d'IA sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 59aa765351e8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Eth_WriteMii sert à configurer un registre d'un transceiver Ethernet via l'interface MII ou à déclencher une fonction fournie par le transceiver [SWS_Eth_00058]. La déclaration est disponible via l'en-tête Eth.h [SWS_Eth_00058].

Utilisation et paramètres

L'appel s'effectue avec l'ID de service 0x05 et traite quatre paramètres d'entrée [SWS_Eth_00058] :

  • CtrlIdx : index du contrôleur Ethernet dans le contexte du pilote Ethernet [SWS_Eth_00058].
  • TrcvIdx : index du transceiver sur l'interface MII [SWS_Eth_00058].
  • RegIdx : index du registre de transceiver à écrire sur le MII [SWS_Eth_00058].
  • RegVal : valeur 16 bits à écrire dans le registre adressé [SWS_Eth_00058].

L'exécution du service est spécifiée comme asynchrone [SWS_Eth_00058]. Cela signifie que l'opération d'écriture proprement dite sur l'interface matérielle devrait typiquement être traitée en arrière-plan, tandis que la fonction retourne immédiatement après l'acceptation de la requête. Question Q-0f9a9e682985d796 (ouverte)

Valeurs de retour et restrictions

Comme valeur de retour, la fonction fournit le type Std_ReturnType [SWS_Eth_00058] :

En ce qui concerne la concurrence, Eth_WriteMii est spécifié comme non réentrant (Non Reentrant) [SWS_Eth_00058]. Les appels ne doivent donc pas être exécutés de façon concurrente sans synchronisation appropriée par l'appelant.

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction Eth_ReadMii [SWS_Eth_00064] 📄 PDF

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

Reads a transceiver register

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6906f4ae5194 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et paramètres

La fonction Eth_ReadMii (Service-ID 0x06) sert à lire un registre de transceiver via l'interface MII et est mise à disposition via le fichier d'en-tête Eth.h [SWS_Eth_00064]. Lors de l'appel, CtrlIdx identifie le contrôleur Ethernet respectif dans le contexte du pilote, TrcvIdx le transceiver adressé sur le MII et RegIdx le registre de transceiver concret [SWS_Eth_00064]. La valeur de registre déterminée est écrite dans la zone mémoire pointée par le pointeur RegValPtr [SWS_Eth_00064].

Exécution et concurrence

L'exécution est asynchrone (Asynchronous) [SWS_Eth_00064]. Une valeur de retour de E_OK confirme alors uniquement que le service ou la commande de lecture a été accepté avec succès (Service accepted), tandis que E_NOT_OK signale un rejet de la commande (Service denied) [SWS_Eth_00064]. En raison du caractère asynchrone, la zone mémoire transmise pour RegValPtr devrait devoir rester valide jusqu'à l'achèvement définitif de l'opération de lecture. Question Q-04a94624b96bf51f (ouverte) La fonction étant en outre classée comme non réentrante (Non Reentrant) [SWS_Eth_00064], les appelants ne doivent pas effectuer d'accès simultanés via différentes tâches ou contextes d'interruption sans synchronisation externe.

Gestion des erreurs

Si le pilote ne peut pas accepter la demande de lecture, l'appel est directement acquitté par E_NOT_OK [SWS_Eth_00064]. Aucun code d'erreur spécifique, aucune vérification à l'exécution DET ou aucun événement de diagnostic DEM n'est indiqué pour cette fonction dans les données de spécification relatives à l'élément.

Cette note d'utilisation a été générée par une IA sur la base de la spécification.

Guide de l'implémenteur à venir (complexité I1)

fonction 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

fonction 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.

fonction 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.

fonction 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.

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 28883e2189c8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone Eth_EnableEgressTimeStamp active l'acquisition d'horodatages d'émission (Egress Time Stamping) pour un objet de message dédié du pilote Ethernet [SWS_Eth_00186]. L'appel s'effectue via l'en-tête Eth.h avec l'ID de service 0x17 et ne fournit aucune valeur de retour [SWS_Eth_00186].

Les paramètres d'entrée suivants doivent être transmis lors de l'appel [SWS_Eth_00186] :

  • CtrlIdx : index du contrôleur Ethernet adressé [SWS_Eth_00186].
  • BufIdx : index du tampon de messages pour lequel l'application de niveau supérieur attend la génération d'un horodatage d'egress [SWS_Eth_00186].

En ce qui concerne la concurrence, la fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_Eth_00186]. Un appel parallèle pour le même tampon ou d'autres tampons doit donc être synchronisé ou évité du côté de l'appelant.

Le comportement du matériel varie selon l'implémentation du contrôleur : certains matériels enregistrent le marquage pour l'horodatage d'émission de manière permanente, tandis que d'autres contrôleurs exigent obligatoirement l'activation avant chaque transmission [SWS_Eth_00186]. Interprétation : pour un pilotage indépendant du matériel, il devrait donc être judicieux d'appeler la fonction avant chaque opération d'émission du tampon souhaité. Question Q-c2b8d2db03e9d13b (ouverte) Il n'existe pas d'interface de désactivation, car le type de message est toujours transmis avec un horodatage conformément à la conception du réseau [SWS_Eth_00186].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

fonction 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.

fonction 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.

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 44e533ef4911 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction synchrone Eth_ProvideTxBuffer donne accès à un tampon d'émission Ethernet de la FIFO associée à la priorité transmise [SWS_Eth_00077]. Elle est fournie via l'en-tête Eth.h et est spécifiée comme réentrante [SWS_Eth_00077]. L'index du contrôleur CtrlIdx ainsi que la priorité de trame Priority pour la sélection de la FIFO sont transmis via les paramètres d'entrée [SWS_Eth_00077]. Le paramètre d'entrée-sortie LenBytePtr transmet la taille de tampon souhaitée et renvoie après l'appel la taille en octets effectivement allouée [SWS_Eth_00077]. Les paramètres de sortie BufIdxPtr (index de ressource pour des requêtes ultérieures) et BufPtr (pointeur vers le tampon) fournissent les références vers la zone mémoire [SWS_Eth_00077].

Gestion des erreurs et valeurs de retour

La fonction signale le résultat via des valeurs de retour du type BufReq_ReturnType [SWS_Eth_00077] :

  • BUFREQ_OK : le tampon d'émission a été mis à disposition avec succès [SWS_Eth_00077].
  • BUFREQ_E_BUSY : toutes les ressources de tampon sont actuellement occupées [SWS_Eth_00077].
  • BUFREQ_E_OVFL : le tampon demandé est trop grand [SWS_Eth_00077].
  • BUFREQ_E_NOT_OK : une erreur de développement a été détectée [SWS_Eth_00077].

Interaction

Si EthCtrlConfigSwBufferHandling est configuré sur TRUE, un n-uplet composé de l'index de tampon du pool de tampons logiciels transmis à BufIdxPtr et de la priorité indiquée Priority est enregistré en interne [SWS_Eth_00267].

Si Eth_Transmit() est ensuite appelé, l'index de tampon donné est affecté à la FIFO logicielle dont la configuration EthCtrlConfigEgressFifoPriorityAssignment concorde avec la priorité précédemment transmise dans Eth_ProvideTxBuffer() [SWS_Eth_00268].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 964b3772cde6 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

L'interface synchrone Eth_Transmit déclenche le processus d'émission pour un tampon d'émission Ethernet préalablement mis à disposition et rempli [SWS_Eth_00087]. Elle accepte les paramètres suivants :

  • CtrlIdx : index du contrôleur Ethernet dans le contexte du pilote [SWS_Eth_00087].
  • BufIdx : index de la ressource de tampon à transmettre [SWS_Eth_00087].
  • FrameType : type de trame Ethernet spécifique [SWS_Eth_00087].
  • TxConfirmation : commutateur d'activation de la confirmation d'émission [SWS_Eth_00087].
  • LenByte : longueur des données de la charge utile en octets [SWS_Eth_00087].
  • PhysAddrPtr : pointeur vers l'adresse physique de destination (adresse MAC) dans l'ordre des octets du réseau [SWS_Eth_00087].

La valeur de retour de type Std_ReturnType signale avec E_OK l'initiation réussie de la transmission et avec E_NOT_OK un échec [SWS_Eth_00087].

Interaction et traitement des tampons

Dans le cadre du déroulement de l'émission, Eth_Transmit affecte le pointeur de tampon BufIdx à la FIFO logicielle dont l'élément de configuration EthCtrlConfigEgressFifoPriorityAssignment concorde avec la priorité préalablement définie lors de Eth_ProvideTxBuffer() [SWS_Eth_00268]. Avec cet appel, les messages correspondants sont transférés des FIFO logicielles vers la FIFO matérielle [SWS_Eth_00269].

concurrence

La fonction est réentrante pour des appels avec des indices de tampon différents (BufIdx) ainsi que des indices de contrôleur différents (CtrlIdx) [SWS_Eth_00087].

Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction Eth_Receive [SWS_Eth_00095] 📄 PDF

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

Receive a frame from the related fifo.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : aeb0a2bc1424 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone Eth_Receive sert à la réception d'une trame Ethernet à partir d'un tampon FIFO spécifique d'un contrôleur Ethernet [SWS_Eth_00095]. Elle ne possède aucune valeur de retour, mais renvoie le résultat de l'interrogation à l'appelant via le pointeur RxStatusPtr de type Eth_RxStatusType [SWS_Eth_00095]. Ce paramètre de sortie indique si une trame a été reçue avec succès et si d'autres trames sont encore prêtes à être récupérées pour le tampon FIFO concerné [SWS_Eth_00095].

Paramètres et contexte d'appel

Comme paramètres d'entrée, la fonction exige l'index de contrôleur CtrlIdx au sein du pilote Ethernet ainsi que l'index FifoIdx de la FIFO à lire [SWS_Eth_00095]. La fonction est déclarée dans le fichier d'en-tête Eth.h [SWS_Eth_00095]. L'appel devrait typiquement avoir lieu périodiquement dans le cadre d'un mécanisme d'interrogation (polling) par des couches supérieures de pilote ou d'interface. Question Q-f5ec0693a5887bcf (ouverte)

Concurrence et restrictions

En ce qui concerne la concurrence, Eth_Receive est implémenté comme réentrant pour différentes FIFO, mais non réentrant pour la même FIFO [SWS_Eth_00095]. Des appels simultanés interrogeant la même FIFO du même contrôleur sont non autorisés et doivent être exclus par le logiciel appelant.

Interaction avec l'Ethernet-Interface

En mode de scrutation (polling), le pilote Ethernet a pour obligation, lors d'une opération de réception réussie, d'appeler directement depuis la routine Eth_Receive la fonction EthIf_RxIndication afin de signaler la trame reçue à la couche supérieure en vue de son traitement ultérieur [SWS_Eth_00244].

Ce texte a été généré par une IA sur la base de la spécification.

Guide de l'implémenteur à venir (complexité I1)

fonction Eth_TxConfirmation [SWS_Eth_00100] 📄 PDF

void Eth_TxConfirmation (uint8 CtrlIdx);

Triggers frame transmission confirmation

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 72b1ce9d790c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction Eth_TxConfirmation disponible via l'en-tête Eth.h sert à déclencher de manière ciblée la confirmation de transmission pour les trames Ethernet émises [SWS_Eth_00100]. Elle possède la Service-ID 0x0C et est exécutée de manière synchrone [SWS_Eth_00100]. Comme unique paramètre d'entrée, la fonction attend CtrlIdx, qui détermine l'index logique du contrôleur à adresser au sein de l'instance du pilote Ethernet [SWS_Eth_00100]. Il n'existe pas de valeur de retour (void) et aucun paramètre de sortie n'est transmis [SWS_Eth_00100].

Interaction dans le déroulement de l'émission

Dans l'interaction entre les couches, Eth_TxConfirmation prend en charge la transmission de l'état d'émission à l'interface Ethernet supérieure. Si la notification correspondante a été activée, le pilote Ethernet est tenu d'appeler EthIf_TxConfirmation avec la valeur de résultat E_OK pour signaler une transmission réussie [SWS_Eth_00243]. En mode scrutation, cet appel a lieu explicitement depuis le contexte de la routine Eth_TxConfirmation, tandis qu'en mode géré par interruptions, il est alternativement émis directement depuis la routine d'interruption [SWS_Eth_00243].

Concurrence et conditions d'exécution

Pour l'exécution, s'applique la restriction selon laquelle Eth_TxConfirmation est définie comme non réentrante (Non Reentrant) [SWS_Eth_00100]. Les appels simultanés pour le même contrôleur doivent donc être évités par l'appelant. En mode scrutation, l'appel devrait typiquement être effectué de manière cyclique par un ordonnancement supérieur. Question Q-c19295838459b689 (ouverte) Les codes d'erreur spécifiques ainsi que les prescriptions relatives aux messages DET ou DEM ne sont pas indiqués dans la spécification de la fonction, raison pour laquelle un traitement séparé des erreurs ne s'applique pas.

Ce texte a été généré par une IA ; la spécification référencée fait foi.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 395137d99dcb Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction Eth_MainFunction possède la signature void Eth_MainFunction(void) et est mise à disposition via le fichier d'en-tête SchM_Eth.h [SWS_Eth_00171]. On peut en déduire comme interprétation : l'appel devrait avoir lieu de manière cyclique par le Schedule Manager (SchM) dans un contexte basé sur des tâches, aucun paramètre de transmission ou valeur de retour n'étant défini. Question Q-690a2dc372d49c6a (ouverte)

Périmètre fonctionnel et scrutation

La tâche principale de la fonction consiste en la scrutation (polling) des changements d'état ainsi qu'en la vérification des erreurs de contrôleur et des trames Ethernet perdues [SWS_Eth_00171]. Si la fonction constate que le mode du contrôleur Ethernet a changé, elle appelle la fonction EthIf_CtrlModeIndication pour informer la couche supérieure du changement d'état [SWS_Eth_00171].

Ordre de traitement dans le chemin d'émission

Dans le contexte de Eth_MainFunction(), un ordre fixe est prescrit pour le traitement des FIFO logicielles [SWS_Eth_00270] :

  • Tout d'abord, toutes les SW-FIFO font l'objet d'une itération et leurs comptes de crédits (Credits Account) sont mis à jour [SWS_Eth_00270].
  • Ensuite, toutes les SW-FIFO font à nouveau l'objet d'une itération et sont vérifiées quant à la présence de messages prêts à être émis [SWS_Eth_00270].
  • Pour chaque SW-FIFO ayant fait l'objet de l'itération, la transmission est alors entreprise [SWS_Eth_00270].

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

type 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 12ea280a995a Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type d'énumération générique Eth_ModeType sert, dans les couches de la pile de communication Ethernet (telles que EthIf, Eth, EthSwt et EthTrcv), à activer ou à désactiver le canal de communication Ethernet ainsi qu'à basculer le matériel associé (tel que contrôleur Ethernet, port de switch Ethernet ou émetteur-récepteur Ethernet) dans un état de veille à faible consommation d'énergie ou dans un mode actif [SWS_Eth_00158].

Le type est disponible via le fichier d'en-tête Eth_GeneralTypes.h et définit les plages de valeurs suivantes [SWS_Eth_00158] :

  • ETH_MODE_DOWN (0x00) : Désactive le canal de communication Ethernet et fait passer le matériel associé dans un mode de veille à faible consommation (Low-Power Sleep Mode) [SWS_Eth_00158].
  • ETH_MODE_ACTIVE (0x01) : Active le canal de communication Ethernet et fait passer le matériel dans le mode de fonctionnement (Power-On Mode) [SWS_Eth_00158].

Concernant le cycle de vie et l'utilisation, il convient de noter que Eth_ModeType est marqué avec le statut obsolete dans la version R20-11 [SWS_Eth_00158]. Dans les nouveaux développements, l'utilisation de ce type devrait donc être évitée, car les types d'interface obsolètes sont typiquement remplacés par des structures de contrôle plus modernes dans les futures normes.

Cette note d'utilisation a été générée automatiquement. Les références à la spécification se rapportent exclusivement au contexte des exigences fourni.

Guide de l'implémenteur à venir (complexité I1)

type 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : bd78c0f35c62 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énumération Eth_ModeType est déclaré via Eth_GeneralTypes.h et sert de type de mode inter-couches dans la pile de communication Ethernet AUTOSAR ([SWS_Eth_91008]). Il est utilisé dans des modules tels que EthIf, Eth, EthSwt et EthTrcv pour activer ou désactiver de manière ciblée des canaux de communication et pour basculer le composant matériel associé (contrôleur Ethernet, ports de switch ou transceiver) entre un mode veille à faible consommation d'énergie et le mode de fonctionnement actif ([SWS_Eth_91008]).

Le type comprend trois états pour la commande de mode ([SWS_Eth_91008]) :

  • ETH_MODE_DOWN (0x00) : désactive la communication Rx et Tx et place le matériel associé dans un mode veille à faible consommation (Low-Power-Sleep). Dans la mesure où le matériel le prend en charge, un processus de mise en veille est initié en même temps (par exemple, la demande de veille sur la ligne de données conformément à OPEN Alliance TC10).
  • ETH_MODE_ACTIVE (0x01) : active la communication Rx et Tx et commute le matériel associé dans le mode de fonctionnement régulier (Power-on).
  • ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST (0x02) : active la communication Rx et Tx, place le matériel en mode de fonctionnement et déclenche en outre une requête de réveil sur le réseau si le matériel dispose de capacités de réveil (comme le réveil sur la ligne de données selon OPEN Alliance TC10).

Dans l'interaction au sein de la pile, Eth_ModeType prend notamment en charge la transmission des requêtes de réveil depuis la couche de services (ComM), via les couches intermédiaires, jusqu'aux pilotes de communication (EthTrcv), ce qui permet de commander selon les besoins le matériel doté de fonctionnalités de réveil et de veille sur la ligne de données ([SWS_Eth_91008]).

Cette note d'utilisation a été générée automatiquement sur la base de la spécification SWS_Eth_91008.

Guide de l'implémenteur à venir (complexité I1)

type Eth_StateType [SWS_Eth_00159] 📄 PDF

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c3ab864e1cec Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énuméré Eth_StateType est mis à disposition via l'en-tête Eth_GeneralTypes.h et sert, conformément à [SWS_Eth_00159], à la surveillance d'état du pilote Ethernet. Son but réside dans la prise en charge de la détection des erreurs de développement (Development Error Detection), l'état actuel devant, d'après la spécification, être disponible à des fins de débogage ([SWS_Eth_00159]).

Pour la gestion de l'état, Eth_StateType définit deux valeurs d'énumération discrètes ([SWS_Eth_00159]) :

  • ETH_STATE_UNINIT (valeur 0x00) : indique que le pilote Ethernet n'est pas encore configuré ([SWS_Eth_00159]).
  • ETH_STATE_INIT (valeur 0x01) : indique que le pilote Ethernet est configuré avec succès ([SWS_Eth_00159]).

Concernant le traitement des erreurs et l'interaction, ce type d'état constitue la base de la détection interne des erreurs. On devrait pouvoir supposer que les API du pilote interrogent cet état et rejettent les appels tant que le pilote se trouve dans l'état non initialisé ETH_STATE_UNINIT ([SWS_Eth_00159]). Question Q-35a17e3267274d70 (ouverte) Ce n'est que lorsque le pilote est passé à l'état ETH_STATE_INIT qu'il est considéré comme configuré et opérationnel ([SWS_Eth_00159]). La définition de type se trouvant dans Eth_GeneralTypes.h, elle est disponible pour l'ensemble des pilotes ([SWS_Eth_00159]).

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

type Eth_FrameType [SWS_Eth_00160] 📄 PDF

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

type Eth_DataType [SWS_Eth_00161] 📄 PDF

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

type 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 91a81f4cdad3 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et plage de valeurs

Le type énuméré Eth_RxStatusType est défini conformément à [SWS_Eth_00162] dans le fichier d'en-tête Eth_GeneralTypes.h. Il sert de paramètre de sortie (out parameter) dans la fonction Eth_Receive(), par l'intermédiaire duquel le pilote Ethernet indique si une trame Ethernet a été reçue et si d'autres trames sont ensuite présentes dans le tampon ou si des données ont été perdues [SWS_Eth_00162].

La spécification définit trois valeurs d'énumération discrètes pour ce type [SWS_Eth_00162] :

  • ETH_RECEIVED (0x00) : une trame Ethernet a été reçue ; plus aucune trame n'est disponible dans le contrôleur.
  • ETH_NOT_RECEIVED (0x01) : aucune trame Ethernet n'a été reçue ; aucune autre trame n'est présente.
  • ETH_RECEIVED_MORE_DATA_AVAILABLE (0x02) : une trame Ethernet a été reçue, et des trames supplémentaires sont prêtes à être récupérées.

Interaction lors du traitement des trames

Lors de l'appel de Eth_Receive(), la couche appelante transmet un pointeur vers une variable du type Eth_RxStatusType. L'évaluation de ce paramètre de sortie pilote la suite du déroulement du cycle de réception : la valeur de retour ETH_RECEIVED_MORE_DATA_AVAILABLE devrait servir de critère à l'appelant pour rappeler immédiatement Eth_Receive(), afin de traiter rapidement les trames restantes du tampon de réception [SWS_Eth_00162]. Question Q-4ed309522aa004f8 (ouverte) Les états ETH_RECEIVED et ETH_NOT_RECEIVED signalent en revanche que le tampon est épuisé et qu'aucune autre donnée n'est en attente de traitement. La mise à disposition via Eth_GeneralTypes.h garantit ce faisant une utilisation uniforme du type à travers les modules [SWS_Eth_00162].

Ce texte a été généré par une IA et repose exclusivement sur les données de spécification issues d'AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

type 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.

type 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.

type 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

type 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.

type Eth_TxErrorCounterValuesType [SWS_Eth_91004] 📄 PDF

Type Eth_TxErrorCounterValuesType.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : cf651d8e65c0 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et finalité

Le type de données Eth_TxErrorCounterValuesType est spécifié conformément à [SWS_Eth_91004] sous forme de structure pour des compteurs statistiques à des fins de diagnostic dans le pilote Ethernet. La définition est disponible via le fichier d'en-tête Eth_GeneralTypes.h. La structure regroupe plusieurs compteurs 32 bits (uint32) qui représentent des états de transmission spécifiques et des entraves à l'émission au niveau de l'interface.

Composants de la structure et sémantique

Les différents compteurs s'inspirent, conformément à [SWS_Eth_91004], de définitions MIB de réseau standardisées :

  • Tx Dropped No Error Pkts : Nombre de paquets sortants qui ont été rejetés bien qu'exempts d'erreurs, par exemple pour libérer de la mémoire tampon (RFC1213 ifOutDiscards).
  • Tx Dropped Error Pkts : Nombre de paquets qui n'ont pas pu être transmis en raison d'erreurs survenues (RFC1213 ifOutErrors).
  • Tx Deferred Trans : Nombre de trames dont la première tentative d'émission a été retardée parce que le support de transmission était occupé (RFC1643 dot3StatsDeferredTransmissions).
  • Tx Single Collision et Tx Multiple Collision : Trames transmises avec succès dont l'émission a été retardée par exactement une ou par plusieurs collisions (RFC1643).
  • Tx Late Collision : Collisions détectées plus de 512 temps-bits après le début de la transmission du paquet (RFC1643 dot3StatsLateCollisions).
  • Tx Excessive Collison : Nombre de transmissions qui ont définitivement échoué à la suite d'un trop grand nombre de collisions (RFC1643 dot3StatsExcessiveCollisions).

Contexte d'appel et restrictions

Interprétation : comme l'extrait de spécification ne mentionne aucune fonction d'API associée, ce type de diagnostic devrait probablement être transmis par pointeur comme paramètre de sortie à des fonctions de pilote correspondantes pour l'interrogation des compteurs. Question Q-2bfbe59d1fb81938 (ouverte) Aucune exigence spécifique concernant la gestion des erreurs, les messages DET ou la concurrence n'est définie dans les sources pour cette simple structure de données.

Ce texte a été généré par une IA sur la base de la spécification 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#17701ef9
Content hash
17701ef9
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EthernetDriver.pdf#nameddest=SWS_Eth_00027

Initialisation et état

Returns the version information of this module

void Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Eth_Init fonction

Initializes the Ethernet Driver

void Eth_Init (const Eth_ConfigType* CfgPtr);

Services · 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);

Services · 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);

Services · Autres

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 fonction

Reads a transceiver register

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

Receive a frame from the related fifo.

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

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 fonction

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);

Cyclique

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);

Types

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.