DEENESPTFRRUARHIKOZHNL

Ethernet Driver (Eth)

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

ModulegidsAI-GEGENEREERD

Koppelt Ethernet-controllers aan de AUTOSAR-stack: initialisatie, modi, verzenden, ontvangen en diagnose.
DOOR AI GEGENEREERD ongecontroleerd Model: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 7ed698a8fca3 Herkomst Open vragen (3)
Causaal anker: R20-11 Geldig vanaf R20-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Koppelt Ethernet-controllers aan de AUTOSAR-stack: initialisatie, modi, verzenden, ontvangen en diagnose.

De Ethernet-driver koppelt Ethernet-controllers aan de Ethernet Interface. Hij initialiseert de controllers, schakelt hun Rx/Tx-communicatie asynchroon tussen ETH_MODE_DOWN en ETH_MODE_ACTIVE en meldt de verandering per indicatie ([SWS_Eth_00276]). Verzenden gebeurt in twee fasen: buffer aanvragen, vervolgens overdragen. Elke verzending bevestigt de driver met E_OK of E_NOT_OK ([SWS_Eth_00243]). Daarnaast biedt hij ontvangst met adresfilter, MII-toegang, tijdstempels en diagnosetellers. Bij uitschakeling moeten vergrendelde zendbuffers worden vrijgegeven.

De Ethernet-driver Eth abstraheert een of meerdere Ethernet-controllers voor de Ethernet Interface (EthIf). EthIf kan daarbij meerdere drivers van verschillende fabrikanten bundelen (SWS Eth p. 17). Resultaten meldt Eth via EthIf_RxIndication, EthIf_TxConfirmation en EthIf_CtrlModeIndication ([SWS_Eth_00244], [SWS_Eth_00243], [SWS_Eth_00119]). Andere buren zijn EthTrcv, EthSwt, DET en 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 Register- en buffertoegang

Contextdiagram: Aanroepers en callback-ontvangers van de Ethernet-driver. Bronnen: [SWS_Eth_00119], [SWS_Eth_00120], SWS Eth p. 17

Eth_Init deactiveert de Rx/Tx-communicatie van alle geconfigureerde controllers, configureert deze en verwerpt openstaande opdrachten ([SWS_Eth_00027], [SWS_Eth_00275]). Het asynchrone Eth_SetControllerMode schakelt tussen ETH_MODE_DOWN en ETH_MODE_ACTIVE ([SWS_Eth_91009], [SWS_Eth_00276]). Bij uitschakeling geeft de driver vergrendelde zendbuffers vrij ([SWS_Eth_00280]). Het resultaat volgt via EthIf_CtrlModeIndication, in polling-modus vanuit Eth_MainFunction ([SWS_Eth_00240]).

Voor het verzenden vraagt de hogere laag met Eth_ProvideTxBuffer een buffer aan en draagt deze over met Eth_Transmit ([SWS_Eth_00077], [SWS_Eth_00087]). De bevestiging luidt E_OK of E_NOT_OK ([SWS_Eth_00243], [SWS_Eth_00256]). Eth_Receive leest frames uit een FIFO en meldt of er nog meer aanwezig zijn ([SWS_Eth_00095], [SWS_Eth_00162]). Frames met een niet-overeenkomend bestemmingsadres verwerpt Eth ([SWS_Eth_00245], [SWS_Eth_00246]).

Verzenden van een frame in polling-modusObere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK, BufIdx, BufPtr, toegekende lengteBUFREQ_OK, PufferPayload naar de buffer kopiërenEthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,Verzenden initiërenE_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)

Sequentiediagram: Bufferaanvraag, verzenden en bevestiging in polling-modus. Bronnen: [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00243], SWS EthIf p. 87

Verdere functies omvatten MII-toegang, die in R20-11 asynchroon is ([SWS_Eth_00058]), hardware-tijdstempels ([SWS_Eth_00190]), statistiekdiensten ([SWS_Eth_00233]) en een optionele Credit Based Shaper (DRAFT, [SWS_Eth_00263]). Fouten meldt Eth als ontwikkelingsfout aan DET ([SWS_Eth_00016]). Productiefouten zoals ETH_E_ACCESS of ETH_E_RX_FRAMES_LOST gaan naar DEM ([SWS_Eth_00173], [SWS_Eth_00174]).

Rol in de Ethernet-stack en systeemgrens

De Ethernet-driver Eth bevindt zich als hardwarenabije module onder de Ethernet Interface (EthIf). Volgens het schema van de basisstructuur van de stack bundelt EthIf een of meerdere Eth-drivers van verschillende fabrikanten met elk hun eigen controllertypes (SWS Eth p. 17). Naar boven toe biedt Eth diensten zoals Eth_Init, Eth_SetControllerMode, Eth_ProvideTxBuffer, Eth_Transmit en Eth_Receive aan ([SWS_Eth_00027], [SWS_Eth_91009], [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00095]). Resultaten meldt hij via de callbacks EthIf_RxIndication, EthIf_TxConfirmation en EthIf_CtrlModeIndication terug ([SWS_Eth_00244], [SWS_Eth_00243], [SWS_Eth_00119]).

Verdere buren zijn de volgende modules:

Delen meerdere controllers randapparatuurbronnen, dan emuleert Eth ten opzichte van de hogere lagen onafhankelijke controllers. De coördinatie wordt dan verzorgd door de hogere lagen ([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 Register- en buffertoegang

Contextdiagram: Eth wordt aangeroepen door EthIf en EcuM en rapporteert aan EthIf, EthTrcv, EthSwt, DET en DEM. Bronnen: [SWS_Eth_00119], [SWS_Eth_00120], [SWS_Eth_00241], SWS Eth p. 17

Van Eth_Init tot ETH_MODE_ACTIVE: opstarten en controllermodi

Eth_Init ontvangt een pointer naar de post-build-structuur Eth_ConfigType ([SWS_Eth_00027], [SWS_Eth_00156]). Voor elke controller van de actuele EthConfigSet voert de functie de volgende stappen uit ([SWS_Eth_00275], DRAFT; oudere versie [SWS_Eth_00034] obsoleet):

  • Rx/Tx-communicatie deactiveren,
  • openstaande interrupts wissen,
  • controllerparameters en zend-/ontvangstbronnen configureren,
  • openstaande opdrachten verwerpen.

Eth_StateType maakt onderscheid tussen ETH_STATE_UNINIT en ETH_STATE_INIT en dient voor Development Error Detection ([SWS_Eth_00159]). Recentere versies vatten de aanroepregel samen: met uitzondering van Eth_GetVersionInfo en geplande functies zoals Eth_MainFunction zijn diensten pas na de initialisatie toegestaan (SWS Eth p. 27). R20-11 regelt dit per dienst via de controle op ETH_E_UNINIT, bijv. in [SWS_Eth_00066].

Opstarten van het Ethernet-stuurprogramma met eerste MII-toegangEcuMEthIfEthEthTrcvInterpretatie: volgorde van de EcuM-aanroepen;Eth_Init moet vóór MII-toegangen plaatsvindenEth_Init(CfgPtr)Rx/Tx aller Controller deaktivieren,Interrupts wissen, parameters en buffersconfigureren, opdrachten verwerpenEthTrcv_Init(...)EthIf_WriteMii(...)Eth_WriteMii(CtrlIdx, TrcvIdx, RegIdx, RegVal)E_OK (Dienst angenommen)E_OKMII-toegang verloopt in R20-11 asynchroonEthTrcv_WriteMiiIndication(...)EthIf_Init(...)

Sequentiediagram: Opstarten met Eth_Init en een eerste, asynchroon bevestigde MII-toegang van de transceiver-driver. Bronnen: [SWS_Eth_00275], [SWS_Eth_00058], [SWS_Eth_00241], SWS EthIf p. 84

In R20-11 geldt Eth_SetControllerMode in de asynchrone, niet-re-entrante versie [SWS_Eth_91009]; deze vervangt [SWS_Eth_00041]. De twee modi werken als volgt ([SWS_Eth_00276]):

  • ETH_MODE_DOWN: De driver deactiveert Rx/Tx en reset alle buffers. Vergrendelde en openstaande zendbuffers worden vrijgegeven ([SWS_Eth_00280], [SWS_Eth_00281]).
  • ETH_MODE_ACTIVE: De driver activeert alle buffers en de Rx/Tx-communicatie.

Het resultaat van een moduswijziging meldt Eth asynchroon via EthIf_CtrlModeIndication ([SWS_Eth_00119]). In polling-modus detecteert Eth_MainFunction de verandering en roept deze callback aan ([SWS_Eth_00171], [SWS_Eth_00240]). De actuele toestand wordt geleverd door Eth_GetControllerMode ([SWS_Eth_91010], [SWS_Eth_00277]).

Eth_ModeType kent daarnaast ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST. Bij ETH_MODE_DOWN kan de hardware een sleep-procedure initiëren, bijvoorbeeld bij OA-TC10-hardware ([SWS_Eth_91008]). De parameterbeschrijving van Eth_SetControllerMode vermeldt echter alleen ETH_MODE_DOWN en ETH_MODE_ACTIVE ([SWS_Eth_91009]).

zustand cluster_init ETH_STATE_INIT (je Controller) start Start UNINIT ETH_STATE_UNINIT start->UNINIT DOWN Rx/Tx deaktiviert (Interpretation: entspricht ETH_MODE_DOWN) UNINIT->DOWN Eth_Init: Rx/Tx deactiveren, configureren, opdrachten verwerpen 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): Rx/Tx deactiveren, buffers resetten, geblokkeerde en wachtende verzendbuffers vrijgeven

Toestandsdiagram: drivertoestand UNINIT/INIT en per controller de modi DOWN en ACTIVE met de verplichtingen bij de overgang. Bronnen: [SWS_Eth_00159], [SWS_Eth_00275], [SWS_Eth_00276], [SWS_Eth_00280]

Activering van een Ethernet-controllerEthSMEthIfEthEthIf_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)Eth_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)E_OKVerzend- en ontvangstbuffers activeren,Rx/Tx-Kommunikation aktivierenoptPolling-BetriebEth_MainFunction(): Moduswechsel erkanntEthIf_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)EthSM_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)

Sequentiediagram: activering door EthSM met synchrone acceptatie en asynchrone modusindicatie. Bronnen: [SWS_Eth_91009], [SWS_Eth_00119], [SWS_Eth_00240], SWS EthIf p. 85

Verzendpad: buffer aanvragen, verzenden, bevestigen

Verzenden verloopt in twee fasen. Eerst selecteert Eth_ProvideTxBuffer aan de hand van Priority een zend-FIFO. De service levert een index van het type Eth_BufIdxType, een bufferpointer en via LenBytePtr de toegekende lengte ([SWS_Eth_00077], [SWS_Eth_00175]). Mogelijke retourwaarden zijn BUFREQ_OK, BUFREQ_E_NOT_OK, BUFREQ_E_BUSY en BUFREQ_E_OVFL. De buffer blijft vergrendeld totdat Eth_Transmit met deze index volgt (SWS Eth p. 91).

Daarna start Eth_Transmit met FrameType, bestemmings-MAC-adres en de flag TxConfirmation het verzenden ([SWS_Eth_00087], [SWS_Eth_00160]). Daarbij vormt de driver de Ethernet-header (SWS Eth p. 93). Eth_Transmit is re-entrant voor verschillende buffer- en controller-indices ([SWS_Eth_00087]).

Als de bevestiging is aangevraagd, roept Eth EthIf_TxConfirmation met E_OK aan. In interrupt-modus gebeurt dit vanuit de interruptroutine, in polling-modus vanuit Eth_TxConfirmation ([SWS_Eth_00243], [SWS_Eth_00100]). Als het verzenden mislukt, luidt het resultaat E_NOT_OK ([SWS_Eth_00256]). Hogere lagen kunnen erop vertrouwen dat op elke Eth_Transmit een bevestiging volgt (SWS Eth p. 32).

In de polling-illustratie roept EthIf_MainFunctionTx de functie Eth_TxConfirmation aan (SWS EthIf p. 87). In interrupt-modus neemt Eth_TxIrqHdlr_<CtrlIdx> dit over (SWS EthIf p. 88). Wanneer de driver de buffer vrijgeeft, wordt aan de implementatie overgelaten (SWS Eth p. 93).

Verzenden van een frame in polling-modusObere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK, BufIdx, BufPtr, toegekende lengteBUFREQ_OK, PufferPayload naar de buffer kopiërenEthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,Verzenden initiërenE_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)

Sequentiediagram: buffer aanvragen, vullen, verzenden en in polling-modus bevestigen, met succes- en fouttak. Bronnen: [SWS_Eth_00077], [SWS_Eth_00087], [SWS_Eth_00243], [SWS_Eth_00256], SWS EthIf p. 87

Ontvangstpad en adresfilter

Eth_Receive leest een frame uit de via FifoIdx geadresseerde FIFO. De service is re-entrant voor verschillende FIFO's, maar niet voor dezelfde ([SWS_Eth_00095]). RxStatusPtr levert ETH_RECEIVED, ETH_NOT_RECEIVED of ETH_RECEIVED_MORE_DATA_AVAILABLE ([SWS_Eth_00162]). Interpretatie: een pollende aanroeper zou Eth_Receive mogen herhalen zolang er meer frames worden gemeld. Vraag Q-8f1484413f850bda (open) Wie in polling-modus aanroept, is niet vastgelegd; vermoedelijk is het EthIf.

De ontvangst meldt Eth via EthIf_RxIndication, hetzij vanuit de interrupt, hetzij vanuit Eth_Receive ([SWS_Eth_00244]). Broadcast-frames worden daarbij als zodanig aangeduid ([SWS_Eth_00153]). Nieuwere versies noemen de parameter QueueIdx (SWS Eth p. 110).

Het eigen bronadres stelt Eth_SetPhysAddr in; Eth_GetPhysAddr leest dit uit ([SWS_Eth_00151], [SWS_Eth_00052]). Eth_UpdatePhysAddrFilter neemt multicast-bestemmingsadressen met ETH_ADD_TO_FILTER op in het ontvangstfilter en verwijdert deze met ETH_REMOVE_FROM_FILTER ([SWS_Eth_00152], [SWS_Eth_00163], [SWS_Eth_00150]).

Als het bestemmingsadres overeenkomt, stelt Eth de hogere laag op de hoogte; anders verwerpt hij het frame ([SWS_Eth_00245], [SWS_Eth_00246]). Als de hardware niet kan filteren, schakelt de initialisatie de promiscuous mode in ([SWS_Eth_00146]). Het adres 00:00:00:00:00:00 reduceert het filter tot het eigen unicast-adres en beëindigt de promiscuous mode ([SWS_Eth_00147]; vgl. SWS Eth p. 74).

Ontvangst in polling- en interrupt-modusEthIfEthUse Case: Polling-BetriebInterpretatie: EthIf roept Eth_Receive cyclisch aanloopInterpretation: solange RxStatus == ETH_RECEIVED_MORE_DATA_AVAILABLEEth_Receive(CtrlIdx, FifoIdx, RxStatusPtr)Frame uit FIFO lezen,doeladres vergelijken met filteraltRahmen empfangen, Adresse passtEthIf_RxIndication(...)Adres komt niet overeenRahmen verwerfenRxStatusUse Case: Interrupt-BetriebEmpfangs-InterruptEthIf_RxIndication(...)

Sequentiediagram: ontvangst in polling- en in interrupt-modus met adrescontrole vóór de indicatie. Bronnen: [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 Filter reduceren tot eigen unicast-adres, promiscuous mode beëindigen z->reset ja act Action? z->act nein rx Frame komt binnen reset->rx add ETH_ADD_TO_FILTER: ontvangst voor adres toestaan act->add toevoegen rem ETH_REMOVE_FROM_FILTER: Empfang blockieren act->rem entfernen hw Controller kan filteren? add->hw rem->hw hwf Hardware-Filter nutzen hw->hwf ja swf Filterung in Software (Promiscuous Mode seit Initialisierung) hw->swf nein hwf->rx swf->rx m Doeladres komt overeen met filter? rx->m ind EthIf_RxIndication m->ind ja drop Rahmen verwerfen m->drop nein

Activiteitendiagram: filteractualisering met speciaal geval nuladres, hardware- of softwarefiltering en acceptatie of verwerping bij ontvangst. Bronnen: [SWS_Eth_00146], [SWS_Eth_00147], [SWS_Eth_00163], [SWS_Eth_00245], [SWS_Eth_00246]

Transceivertoegang, hardware-tijdstempels en diagnosetellers

Eth_WriteMii en Eth_ReadMii zijn in R20-11 asynchroon en niet re-entrant ([SWS_Eth_00058], [SWS_Eth_00064]). De voltooiing meldt Eth via EthTrcv_WriteMiiIndication respectievelijk EthTrcv_ReadMiiIndication ([SWS_Eth_00241], [SWS_Eth_00242]). Clause 45-registers worden bereikt via de registers 13 en 14 conform Annex 22D ([SWS_Eth_00273], [SWS_Eth_00274]). De toegang wordt vrijgegeven via EthCtrlEnableMii ([SWS_Eth_00069]). R24-11 beschrijft Eth_WriteMii daarentegen als synchroon (SWS Eth p. 95); voor R20-11 geldt de asynchrone definitie.

De tijdstempelfuncties worden vrijgegeven via EthGlobalTimeSupport ([SWS_Eth_00210], [SWS_Eth_00211]). In detail geldt:

Tijdstempels van de kwaliteit ETH_UNCERTAIN of ETH_INVALID verwerpt de hogere laag ([SWS_Eth_00177]). Vanaf R23-11 is Eth_GetCurrentTime obsoleet (SWS Eth p. 82); in R20-11 is de service normatief.

Verzendtijdstempel via het Ethernet-stuurprogrammaEthTSynEthIfEth[EthTSynHardwareTimestampSupport == TRUE]EthIf_EnableEgressTimeStamp(CtrlIdx, BufIdx)Eth_EnableEgressTimeStamp(CtrlIdx, BufIdx)EthIf_Transmit(...)Eth_Transmit(...)EthIf_TxConfirmation(CtrlIdx, BufIdx, Result)EthTSyn_TxConfirmation(CtrlIdx, BufIdx, Result)Opvragen in de context van de TxConfirmationEthIf_GetEgressTimeStamp(CtrlIdx, BufIdx, ...)Eth_GetEgressTimeStamp(CtrlIdx, BufIdx,timeQualPtr, timeStampPtr)E_OK, kwaliteit, tijdstempelE_OK, kwaliteit, tijdstempelaltKwaliteit == ETH_VALIDZeitstempel verwendenETH_UNCERTAIN of ETH_INVALIDZeitstempel verwerfen

Sequentiediagram: zendtijdstempel activeren, verzenden en in de bevestigingscontext met kwaliteitscontrole uitlezen. Bronnen: [SWS_Eth_00186], [SWS_Eth_00190], [SWS_Eth_00177], SWS EthTSyn p. 70, SWS EthTSyn p. 55

Vier diagnoseservices kunnen telkens afzonderlijk worden ingeschakeld:

Bij de statistiekservices duidt de maximale waarde op een niet-beschikbare teller (SWS Eth p. 98).

Configuratie, partitionering en SW-bufferbeheer (CBS)

Met EthCtrlEnableOffloadChecksumIPv4, EthCtrlEnableOffloadChecksumICMP, EthCtrlEnableOffloadChecksumTCP en EthCtrlEnableOffloadChecksumUDP berekent de controller controlesommen in hardware. Bij ontvangst verwerpt hij frames met een onjuiste controlesom ([SWS_Eth_00216], [SWS_Eth_00217]). De basisadressen van de buffers moeten voldoen aan de alignment van alle AUTOSAR-datatypen ([SWS_Eth_00218]). Niet-ondersteunde partitietoewijzingen moeten worden afgewezen. De partities in EthCtrlEcucPartitionRef moeten een deelverzameling van EthEcucPartitionRef zijn ([SWS_Eth_00257], [SWS_Eth_00260], [SWS_Eth_CONSTR_00001]).

Als eerlijke scheduling in hardware ontbreekt, is er een Credit Based Shaper in software beschikbaar (SWS Eth p. 38). In R20-11 zijn alle bijbehorende requirements DRAFT. De procedure werkt als volgt:

cbs mf Eth_MainFunction() (EthCtrlConfigSwBufferHandling = TRUE) c1 SW-FIFO's aflopend volgens prioriteit: credits verhogen met EthCtrlConfigShaperIdleSlope (alleen niet-lege FIFO's) mf->c1 c2 Volgende SW-FIFO (hoogste prioriteit eerst) c1->c2 q Bericht aanwezig en credits >= EthCtrlConfigShaperMinCredit? c2->q mv Eerste bericht naar HW-FIFO verplaatsen, berichtgrootte van credits aftrekken q->mv ja more Weitere SW-FIFO? q->more nein b EthTrcvPhysLayerPLCAMaxBurstCount = 0? mv->b stop Iteration beenden b->stop ja burst Verdere berichten tot aan de burst-limiet verplaatsen, credits per bericht aftrekken b->burst nein ende Ende stop->ende burst->more Interpretatie: verder met volgende FIFO more->c2 ja more->ende nein

Activiteitendiagram: CBS-cyclus in Eth_MainFunction met credit-actualisering, minimumcredit-controle en PLCA-burst-vertakking. Bronnen: [SWS_Eth_00266], [SWS_Eth_00270], [SWS_Eth_00271], [SWS_Eth_00272], SWS Eth p. 56

Gedrag in het foutgeval

Ontwikkelfouten meldt Eth aan DET ([SWS_Eth_00120]). De codes luiden ETH_E_INV_CTRL_IDX, ETH_E_UNINIT, ETH_E_PARAM_POINTER, ETH_E_INV_PARAM en ETH_E_INV_MODE ([SWS_Eth_00016]). Typische controles betreffen initialisatie, CtrlIdx en pointers ([SWS_Eth_00066], [SWS_Eth_00067], [SWS_Eth_00068]). Als DET is uitgeschakeld, leveren de statistiekservices in deze gevallen E_NOT_OK ([SWS_Eth_00228], [SWS_Eth_00236], [SWS_Eth_00248], [SWS_Eth_00254]).

Productiefouten gaan via Dem_SetEventStatus naar DEM ([SWS_Eth_00119]). Een mislukte controllertoegang resulteert in ETH_E_ACCESS met DEM_EVENT_STATUS_PREFAILED; Eth_SetControllerMode levert dan E_NOT_OK ([SWS_Eth_00039], [SWS_Eth_00173], [SWS_Eth_00168]). Eth_MainFunction meldt de volgende uitgebreide productiefouten ([SWS_Eth_00169], [SWS_Eth_00172]):

Tijdens bedrijf blijken fouten ook uit retourwaarden. Daartoe behoren BUFREQ_E_BUSY en BUFREQ_E_OVFL (SWS Eth p. 91), evenals een negatieve verzendbevestiging ([SWS_Eth_00256]). Het gedrag van Eth_Receive bij een inactieve controller hangt af van de release. R23-11 en R24-11 vereisen ETH_E_INV_MODE (SWS Eth p. 94, SWS Eth p. 116), R25-11 een onmiddellijke terugkeer (SWS Eth p. 110). Voor R20-11 geldt vermoedelijk vanwege [SWS_Eth_00016] de DET-variant. Vraag (open)

Verdere gedetailleerde bewijzen

AI-gegenereerde handleiding op basis van de specificatie-uittreksels in de payload. Maatgevend zijn de gelinkte requirements van R20-11; documentpassages uit andere releases zijn als zodanig aangeduid.

Ethernet Driver (Eth)

Provides uniform hardware access to Ethernet controller interfaces.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

functie Eth_Init [SWS_Eth_00027] 📄 PDF

void Eth_Init (const Eth_ConfigType* CfgPtr);

Initializes the Ethernet Driver

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 6639db5c607b Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Eth_Init dient voor de initialisatie van de Ethernet-driver [SWS_Eth_00027]. Ze wordt gedeclareerd via het headerbestand Eth.h, heeft service-ID 0x01 en heeft geen retourwaarde (void) [SWS_Eth_00027]. Als invoerparameter verwacht ze CfgPtr, die wijst naar een implementatiespecifieke configuratiestructuur van het type Eth_ConfigType [SWS_Eth_00027]. De aanroep geschiedt synchroon en is gedefinieerd als niet-re-entrant (Non Reentrant) [SWS_Eth_00027].

In de operationele afloop vormt Eth_Init de fundamentele voorwaarde voor het werken met de module. Alle overige functies vereisen dwingend een voorafgaande controllerinitialisatie door Eth_Init [SWS_Eth_00070], [SWS_Eth_00167], [SWS_Eth_00185]. Deze afhankelijkheid is bindend voorgeschreven voor diverse controllerdiensten van de driver [SWS_Eth_00189], [SWS_Eth_00194], [SWS_Eth_00199], [SWS_Eth_00232].

Voor het geval van een niet-geïnitialiseerde toegang is voorzien in een gerichte foutafhandeling: bij geactiveerde detectie van ontwikkelingsfouten (Development Error Detection, DET) controleren de driverfuncties of de service Eth_Init vooraf correct is aangeroepen [SWS_Eth_00066]. Als deze controle niet slaagt, genereren ze de ontwikkelingsfout ETH_E_UNINIT [SWS_Eth_00164], [SWS_Eth_00182], [SWS_Eth_00187], [SWS_Eth_00196]. Is DET daarentegen gedeactiveerd, dan weigeren de getroffen functies de uitvoering en signaleren ze de ontoelaatbare toestand door het retourneren van de status E_NOT_OK [SWS_Eth_00228], [SWS_Eth_00235], [SWS_Eth_00248], [SWS_Eth_00252].

Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.

Implementer's Guide volgt (complexiteit I2)

functie Eth_SetControllerMode [SWS_Eth_00041] 📄 PDF

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 58bddef3c196 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Eth_SetControllerMode dient voor het activeren (ETH_MODE_ACTIVE) of deactiveren (ETH_MODE_DOWN) van de via parameter CtrlIdx geadresseerde Ethernet-controller [SWS_Eth_00041]. In AUTOSAR Classic R20-11 is deze dienst geclassificeerd als verouderd (obsolete) [SWS_Eth_00041].

De uitvoering van de dienst is asynchroon en niet-re-entrant (Non Reentrant) [SWS_Eth_00041]. Als retourwaarde levert de functie E_OK op bij succesvolle initiatie of E_NOT_OK wanneer de bedrijfsmodus niet gewisseld kon worden [SWS_Eth_00041]. Interpretatie: Aangezien de aanroep als asynchroon is gespecificeerd, maar er in de payload geen callback is gedefinieerd, zal de daadwerkelijke statusovername vermoedelijk hardwarematig op de achtergrond van het stuurprogramma na terugkeer van de functie worden voltooid. Vraag Q-d7ec04578e921eb9 (open)

Indien de controller respectievelijk diens verzend- en ontvangstcommunicatie via Eth_SetControllerMode wordt gedeactiveerd, gelden bindende bufferopschoningen:

Vanwege de eigenschap Non Reentrant mag de functie voor dezelfde of verdere controller-instanties niet gelijktijdig worden uitgevoerd [SWS_Eth_00041]. Specifieke DET- of DEM-foutmeldingen zijn niet vermeld; foutstatussen worden aan de aanroeper meegedeeld via de retourwaarde E_NOT_OK [SWS_Eth_00041].

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatiegegevens van AUTOSAR Classic R20-11.

Implementer's Guide volgt (complexiteit I2)

functie 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 45ebc5b270a4 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Eth_SetControllerMode (service-ID 0x03, ter beschikking gesteld via Eth.h) dient voor het activeren en deactiveren van de ontvangst- en zendcommunicatie (Rx/Tx) van een specifieke Ethernet-controller [SWS_Eth_91009].

Gebruik en aanroepvoorwaarden

De uitvoering van de functie verloopt asynchroon en is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Eth_91009]. Bij de aanroep worden twee parameters doorgegeven:

  • CtrlIdx: Index van de desbetreffende controller in de context van de Ethernet-driver [SWS_Eth_91009].
  • CtrlMode: Doelmodus voor de controller, hetzij ETH_MODE_ACTIVE voor het activeren van de Rx/Tx-communicatie of ETH_MODE_DOWN voor het deactiveren ervan [SWS_Eth_91009].

Als retourwaarde levert de functie de status Std_ReturnType: E_OK signaleert een succesvolle uitvoering, terwijl E_NOT_OK aangeeft dat de modus van de controller niet kon worden gewisseld [SWS_Eth_91009].

Interactie en bufferbeheer

Wordt de Rx/Tx-communicatie van de geïndexeerde controller via Eth_SetControllerMode gedeactiveerd (modus ETH_MODE_DOWN), dan moeten dwingend opschoonacties voor de zendbuffers worden uitgevoerd:

  • Alle vergrendelde zendbuffers (locked transmit buffers) moeten worden vrijgegeven [SWS_Eth_00280].
  • Alle openstaande zendbuffers (pending transmit buffers) moeten eveneens worden vrijgegeven [SWS_Eth_00281].

De actuele bepalingen voor het vrijgeven van vergrendelde en openstaande buffers evenals de functiedefinitie zelf hebben de status „draft” [SWS_Eth_91009], [SWS_Eth_00280], [SWS_Eth_00281]. Zij vervangen de historisch voorafgaande requirements [SWS_Eth_00137] en [SWS_Eth_00138], die als obsoleet zijn geclassificeerd.

Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificaties.

Implementer's Guide volgt (complexiteit I2)

functie Eth_GetPhysAddr [SWS_Eth_00052] 📄 PDF

void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);

Obtains the physical source address used by the indexed controller

functie Eth_SetPhysAddr [SWS_Eth_00151] 📄 PDF

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

Sets the physical source address used by the indexed controller

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 3be26284fad7 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone interface Eth_UpdatePhysAddrFilter wordt beschikbaar gesteld via het headerbestand Eth.h en heeft de service-ID 0x12 [SWS_Eth_00152]. De functie dient ertoe een fysiek adres toe te voegen aan of te verwijderen uit het filter van een geïndexeerde Ethernet-controller [SWS_Eth_00152].

De parameters van de functie omvatten drie invoerwaarden [SWS_Eth_00152]:

  • CtrlIdx: bepaalt de index van de desbetreffende Ethernet-controller binnen de drivercontext [SWS_Eth_00152].
  • PhysAddrPtr: pointer naar het geheugengebied met het fysieke bestemmingsadres (MAC-adres) in netwerk-bytevolgorde; dit is het multicast-bestemmingsadres van het Layer-2-Ethernet-pakket [SWS_Eth_00152].
  • Action: geeft via het opsommingstype Eth_FilterActionType aan of het opgegeven adres aan het filter van de controller wordt toegevoegd of daaruit wordt verwijderd [SWS_Eth_00152].

De functie retourneert een status van het type Std_ReturnType: E_OK bevestigt de succesvolle wijziging van het filter, terwijl E_NOT_OK meldt dat het filter niet gewijzigd kon worden [SWS_Eth_00152]. Als de Ethernet-controller hardwarematig niet in staat is de filtering zelfstandig uit te voeren, moet de filtertaak door de software worden gerealiseerd [SWS_Eth_00152].

Voor de uitvoering geldt een strikte re-entrantiebeperking: de functie is niet re-entrant voor dezelfde controllerindex (CtrlIdx), maar mag voor onderling verschillende controllerindices gelijktijdig en re-entrant worden aangeroepen [SWS_Eth_00152].

Deze gebruiksinstructie is gegenereerd door een AI-systeem op basis van de specificatie AUTOSAR Classic R20-11.

Implementer's Guide volgt (complexiteit I1)

functie 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 59aa765351e8 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie Eth_WriteMii dient ertoe een register van een Ethernet-transceiver via de MII-interface te configureren of een door de transceiver bereitgestelde functie te triggeren [SWS_Eth_00058]. De declaratie is beschikbaar via de header Eth.h [SWS_Eth_00058].

Gebruik en parameters

De aanroep vindt plaats met de service-ID 0x05 en verwerkt vier invoerparameters [SWS_Eth_00058]:

  • CtrlIdx: Index van de Ethernet-controller in de context van de Ethernet-driver [SWS_Eth_00058].
  • TrcvIdx: index van de transceiver op de MII-interface [SWS_Eth_00058].
  • RegIdx: index van het te beschrijven transceiverregister op de MII [SWS_Eth_00058].
  • RegVal: de 16-bits waarde die naar het geadresseerde register moet worden geschreven [SWS_Eth_00058].

De uitvoering van de dienst is als asynchroon gespecificeerd [SWS_Eth_00058]. Dit betekent dat de feitelijke schrijfbewerking via de hardware-interface doorgaans op de achtergrond zal worden afgehandeld, terwijl de functie na acceptatie van het verzoek onmiddellijk terugkeert. Vraag Q-0f9a9e682985d796 (open)

Retourwaarden en beperkingen

Als retourwaarde levert de functie het type Std_ReturnType [SWS_Eth_00058]:

Met betrekking tot gelijktijdigheid is Eth_WriteMii gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Eth_00058]. Aanroepen mogen daarom niet gelijktijdig zonder passende synchronisatie door de aanroeper worden uitgevoerd.

Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R20-11.

Implementer's Guide volgt (complexiteit I1)

functie Eth_ReadMii [SWS_Eth_00064] 📄 PDF

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

Reads a transceiver register

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 6906f4ae5194 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en parameters

De functie Eth_ReadMii (service-ID 0x06) dient voor het uitlezen van een transceiverregister via de MII-interface en wordt beschikbaar gesteld via het headerbestand Eth.h [SWS_Eth_00064]. Bij aanroep identificeert CtrlIdx de betreffende Ethernet-controller in de stuurprogrammacontext, TrcvIdx de aangesproken transceiver op de MII en RegIdx het concrete transceiverregister [SWS_Eth_00064]. De vastgestelde registerwaarde wordt geschreven naar het geheugengebied waarnaar de pointer RegValPtr verwijst [SWS_Eth_00064].

Uitvoering en gelijktijdigheid

De uitvoering vindt asynchroon plaats (Asynchronous) [SWS_Eth_00064]. Een retourwaarde van E_OK bevestigt daarbij louter dat de service dan wel de leesopdracht succesvol is geaccepteerd (Service accepted), terwijl E_NOT_OK duidt op een afwijzing van de opdracht (Service denied) [SWS_Eth_00064]. Vanwege het asynchrone karakter zal het voor RegValPtr overgedragen geheugengebied vermoedelijk geldig moeten blijven tot de definitieve afronding van het leesproces. Vraag Q-04a94624b96bf51f (open) Aangezien de functie bovendien is aangemerkt als niet-re-entrant (Non Reentrant) [SWS_Eth_00064], mogen aanroepers gelijktijdige toegangen via verschillende taken of interrupt-contexten niet zonder externe synchronisatie uitvoeren.

Foutafhandeling

Kan het stuurprogramma het leesverzoek niet accepteren, dan wordt de aanroep direct met E_NOT_OK beantwoord [SWS_Eth_00064]. Specifieke foutcodes, DET-runtimecontroles of DEM-diagnose-events zijn voor deze functie niet opgenomen in de elementgebonden specificatiegegevens.

Deze gebruiksinstructie is opgesteld door een AI op basis van de specificatie.

Implementer's Guide volgt (complexiteit I1)

functie 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

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

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

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

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 28883e2189c8 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie Eth_EnableEgressTimeStamp activeert de registratie van zendtijdstempels (Egress Time Stamping) voor een specifiek berichtobject van de Ethernet-driver [SWS_Eth_00186]. De aanroep geschiedt via de header Eth.h met de service-ID 0x17 en levert geen retourwaarde op [SWS_Eth_00186].

Bij de aanroep moeten de volgende invoerparameters worden meegegeven [SWS_Eth_00186]:

  • CtrlIdx: index van de geadresseerde Ethernet-controller [SWS_Eth_00186].
  • BufIdx: index van de berichtenbuffer waarvoor de bovenliggende applicatie het genereren van een egress-tijdstempel verwacht [SWS_Eth_00186].

Met betrekking tot gelijktijdigheid is de functie gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Eth_00186]. Een parallelle aanroep voor dezelfde of verdere buffers moet daarom aan de aanroepzijde worden gesynchroniseerd resp. vermeden.

Het gedrag van de hardware varieert afhankelijk van de controllerimplementatie: sommige hardware slaat de markering voor het zendtijdstempel permanent op, terwijl andere controllers de activering dwingend vereisen vóór elke overdracht [SWS_Eth_00186]. Interpretatie: voor een hardware-onafhankelijke aansturing is het daarom wellicht raadzaam om de functie vóór elk verzendproces van de gewenste buffer aan te roepen. Vraag Q-c2b8d2db03e9d13b (open) Een deactiveringsinterface bestaat niet, omdat het berichttype conform het netwerkontwerp altijd met tijdstempel wordt verzonden [SWS_Eth_00186].

Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.

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

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

functie 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 44e533ef4911 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De synchrone functie Eth_ProvideTxBuffer verleent toegang tot een Ethernet-zendbuffer van de FIFO die aan de meegegeven prioriteit is toegewezen [SWS_Eth_00077]. Ze wordt beschikbaar gesteld via de header Eth.h en is gespecificeerd als re-entrant [SWS_Eth_00077]. Via de invoerparameters worden de controllerindex CtrlIdx en de frameprioriteit Priority voor de FIFO-selectie meegegeven [SWS_Eth_00077]. De in-outparameter LenBytePtr geeft de gewenste buffergrootte door en levert na de aanroep de daadwerkelijk toegekende bytegrootte terug [SWS_Eth_00077]. De uitvoerparameters BufIdxPtr (bronindex voor latere verzoeken) en BufPtr (pointer naar de buffer) stellen de referenties naar het geheugengebied beschikbaar [SWS_Eth_00077].

Foutafhandeling en retourwaarden

De functie signaleert het resultaat via retourwaarden van het type BufReq_ReturnType [SWS_Eth_00077]:

Samenspel

Wanneer EthCtrlConfigSwBufferHandling is geconfigureerd op TRUE, wordt intern een tupel opgeslagen bestaande uit de aan BufIdxPtr meegegeven bufferindex van de software-bufferpool en de opgegeven prioriteit Priority [SWS_Eth_00267].

Wordt vervolgens Eth_Transmit() aangeroepen, dan wordt de gegeven bufferindex toegewezen aan die software-FIFO waarvan de configuratie EthCtrlConfigEgressFifoPriorityAssignment overeenkomt met de eerder in Eth_ProvideTxBuffer() meegegeven prioriteit [SWS_Eth_00268].

Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.

Implementer's Guide volgt (complexiteit I1)

functie 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 964b3772cde6 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De synchrone interface Eth_Transmit start het verzendproces voor een eerder beschikbaar gestelde en gevulde Ethernet-zendbuffer [SWS_Eth_00087]. Ze accepteert de volgende parameters:

  • CtrlIdx: index van de Ethernet-controller binnen de context van de driver [SWS_Eth_00087].
  • BufIdx: index van de over te dragen bufferbron [SWS_Eth_00087].
  • FrameType: specifiek Ethernet-frametype [SWS_Eth_00087].
  • TxConfirmation: schakelaar voor de activering van de verzendbevestiging [SWS_Eth_00087].
  • LenByte: gegevenslengte van de payload in bytes [SWS_Eth_00087].
  • PhysAddrPtr: pointer naar het fysieke bestemmingsadres (MAC-adres) in netwerk-bytevolgorde [SWS_Eth_00087].

De retourwaarde van het type Std_ReturnType signaleert met E_OK de succesvolle initiatie van de overdracht en met E_NOT_OK een mislukking [SWS_Eth_00087].

Samenspel en bufferafhandeling

In het kader van de verzendafloop wijst Eth_Transmit de bufferpointer BufIdx toe aan de software-FIFO waarvan het configuratie-element EthCtrlConfigEgressFifoPriorityAssignment overeenkomt met de eerder bij Eth_ProvideTxBuffer() vastgelegde prioriteit [SWS_Eth_00268]. Met de aanroep worden de desbetreffende berichten vanuit de software-FIFO's naar de hardware-FIFO overgebracht [SWS_Eth_00269].

Concurrency

De functie is re-entrant voor aanroepen met verschillende bufferindices (BufIdx) en verschillende controllerindices (CtrlIdx) [SWS_Eth_00087].

Deze gebruiksinstructie is automatisch gegenereerd aan de hand van de AUTOSAR-specificatie R20-11.

Implementer's Guide volgt (complexiteit I2)

functie Eth_Receive [SWS_Eth_00095] 📄 PDF

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

Receive a frame from the related fifo.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: aeb0a2bc1424 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De synchrone functie Eth_Receive dient voor de ontvangst van een Ethernet-frame uit een specifieke FIFO-buffer van een Ethernet-controller [SWS_Eth_00095]. Ze heeft geen retourwaarde, maar levert het resultaat van de query via de pointer RxStatusPtr van het type Eth_RxStatusType terug aan de aanroeper [SWS_Eth_00095]. Deze uitvoerparameter geeft aan of een frame succesvol is ontvangen en of er voor de desbetreffende FIFO-buffer nog verdere frames klaarstaan om te worden opgehaald [SWS_Eth_00095].

Parameters en aanroepcontext

Als invoerparameter vereist de functie de controllerindex CtrlIdx binnen de Ethernet-driver en de index FifoIdx van de uit te lezen FIFO [SWS_Eth_00095]. De functie is gedeclareerd in het headerbestand Eth.h [SWS_Eth_00095]. De aanroep zal doorgaans periodiek plaatsvinden in het kader van een pollingmechanisme door bovenliggende driver- of interfacelagen. Vraag Q-f5ec0693a5887bcf (open)

Gelijktijdigheid en beperkingen

Met betrekking tot gelijktijdigheid is Eth_Receive re-entrant geïmplementeerd voor verschillende FIFO's, maar niet-re-entrant voor dezelfde FIFO [SWS_Eth_00095]. Gelijktijdige aanroepen die dezelfde FIFO van dezelfde controller bevragen, zijn ontoelaatbaar en moeten door de aanroepende software worden uitgesloten.

Samenspel met de Ethernet-interface

In de pollingmodus is de Ethernet-driver verplicht om bij een succesvol ontvangstproces rechtstreeks vanuit de routine Eth_Receive de functie EthIf_RxIndication aan te roepen, om het ontvangen frame bij de bovenste laag te melden voor verdere verwerking [SWS_Eth_00244].

Deze tekst is gegenereerd door een AI op basis van de specificatie.

Implementer's Guide volgt (complexiteit I1)

functie Eth_TxConfirmation [SWS_Eth_00100] 📄 PDF

void Eth_TxConfirmation (uint8 CtrlIdx);

Triggers frame transmission confirmation

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 72b1ce9d790c Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De via de header Eth.h beschikbare functie Eth_TxConfirmation dient voor het gericht triggeren van de transmissiebevestiging voor verzonden Ethernet-frames [SWS_Eth_00100]. Deze heeft het service-ID 0x0C en wordt synchroon uitgevoerd [SWS_Eth_00100]. Als enige overdrachtsparameter verwacht de functie CtrlIdx, die de logische index van de aan te spreken controller binnen de instantie van de Ethernet-driver bepaalt [SWS_Eth_00100]. Een retourwaarde bestaat niet (void), en er worden geen uitvoerparameters doorgegeven [SWS_Eth_00100].

Samenspel in het zendverloop

In het samenspel van de lagen verzorgt Eth_TxConfirmation de doorgifte van de zendstatus aan de bovenliggende Ethernet-interface. Voor zover de desbetreffende notificatie is geactiveerd, is de Ethernet-driver ertoe verplicht om EthIf_TxConfirmation met de resultaatwaarde E_OK aan te roepen om een succesvolle transmissie te signaleren [SWS_Eth_00243]. In de polling-modus vindt deze aanroep expliciet plaats vanuit de context van de routine Eth_TxConfirmation, terwijl deze in de interruptgestuurde modus als alternatief direct vanuit de interruptroutine wordt verstuurd [SWS_Eth_00243].

Re-entrantie en uitvoeringsvoorwaarden

Voor de uitvoering geldt de beperking dat Eth_TxConfirmation als niet-re-entrant (Non Reentrant) is gedefinieerd [SWS_Eth_00100]. Gelijktijdige aanroepen voor dezelfde controller moeten daarom door de aanroeper worden voorkomen. De aanroep zal bij polling-bedrijf typisch cyclisch plaatsvinden door een bovenliggende programmabesturing. Vraag Q-c19295838459b689 (open) Specifieke foutcodes evenals voorschriften voor DET- of DEM-meldingen zijn niet in de functiespecificatie vermeld, waardoor een afzonderlijke foutafhandeling vervalt.

Deze tekst is opgesteld door een AI; maatgevend is de gereferentieerde specificatie.

Implementer's Guide volgt (complexiteit I1)

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 395137d99dcb Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De functie Eth_MainFunction heeft de signatuur void Eth_MainFunction(void) en wordt via het headerbestand SchM_Eth.h ter beschikking gesteld [SWS_Eth_00171]. Hieruit kan worden geïnterpreteerd: De aanroep zal vermoedelijk cyclisch door de Schedule Manager (SchM) in een taakgebaseerde context plaatsvinden, aangezien er geen overdrachtsparameters of retourwaarden zijn gedefinieerd. Vraag Q-690a2dc372d49c6a (open)

Functionaliteit en polling

De hoofdtaak van de functie bestaat uit het pollen van toestandsveranderingen evenals het controleren op controllerfouten en verloren gegane Ethernet-frames [SWS_Eth_00171]. Stelt de functie vast dat de modus van de Ethernet-controller is gewijzigd, dan roept zij de functie EthIf_CtrlModeIndication aan om de bovenliggende laag over de toestandsverandering te informeren [SWS_Eth_00171].

Verwerkingsvolgorde in het zendpad

In de context van Eth_MainFunction() is een vaste volgorde voor de verwerking van software-FIFO's voorgeschreven [SWS_Eth_00270]:

  • Eerst worden alle SW-FIFO's doorlopen en worden hun tegoedrekeningen (Credits Account) bijgewerkt [SWS_Eth_00270].
  • Vervolgens worden alle SW-FIFO's opnieuw doorlopen en gecontroleerd op verzendklare berichten [SWS_Eth_00270].
  • Voor elke doorlopen SW-FIFO wordt vervolgens de transmissie ondernomen [SWS_Eth_00270].

Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R20-11.

Implementer's Guide volgt (complexiteit 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 12ea280a995a Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het generieke enumeratietype Eth_ModeType dient in de lagen van de Ethernet-communicatiestack (zoals EthIf, Eth, EthSwt en EthTrcv) ertoe het Ethernet-communicatiekanaal te activeren of te deactiveren, evenals de bijbehorende hardware (zoals Ethernet-controller, Ethernet-switch-port of Ethernet-transceiver) in een energiebesparende slaapstand dan wel actieve modus te plaatsen [SWS_Eth_00158].

Het type is beschikbaar via het headerbestand Eth_GeneralTypes.h en definieert het volgende waardebereik [SWS_Eth_00158]:

  • ETH_MODE_DOWN (0x00): Deactiveert het Ethernet-communicatiekanaal en brengt de bijbehorende hardware in een energiebesparende slaapmodus (Low-Power Sleep Mode) [SWS_Eth_00158].
  • ETH_MODE_ACTIVE (0x01): Activeert het Ethernet-communicatiekanaal en brengt de hardware in de bedrijfsmodus (Power-On Mode) [SWS_Eth_00158].

Met betrekking tot de levenscyclus en het gebruik dient te worden opgemerkt dat Eth_ModeType in Release R20-11 is gemarkeerd met de status obsolete [SWS_Eth_00158]. In nieuwe ontwikkelingen moet het gebruik van dit type daarom worden vermeden, aangezien verouderde interfacetypes in toekomstige standaarden typisch worden vervangen door modernere controlestructuren.

Deze gebruiksinstructie is geautomatiseerd aangemaakt. Specificatieverwijzingen hebben uitsluitend betrekking op de verstrekte vereistencontext.

Implementer's Guide volgt (complexiteit 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: bd78c0f35c62 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het enumeratietype Eth_ModeType wordt gedeclareerd via Eth_GeneralTypes.h en dient als laagoverstijgend modustype in de AUTOSAR-Ethernet-communicatiestack ([SWS_Eth_91008]). Het wordt gebruikt in modules zoals EthIf, Eth, EthSwt en EthTrcv om communicatiekanalen gericht te activeren of te deactiveren en de bijbehorende hardwarecomponent (Ethernet-controller, switch-poorten of transceiver) om te schakelen tussen een energiebesparende slaapmodus en de actieve bedrijfsmodus ([SWS_Eth_91008]).

Het type omvat drie toestanden voor modusbesturing ([SWS_Eth_91008]):

  • ETH_MODE_DOWN (0x00): deactiveert de Rx- en Tx-communicatie en brengt de bijbehorende hardware in een low-power-slaapmodus. Voor zover de hardware dit ondersteunt, wordt tegelijkertijd een slaapproces geïnitieerd (bijvoorbeeld het verzoeken van sleep op de datalijn conform OPEN Alliance TC10).
  • ETH_MODE_ACTIVE (0x01): activeert de Rx- en Tx-communicatie en schakelt de bijbehorende hardware naar de reguliere bedrijfsmodus (power-on).
  • ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST (0x02): Activeert de Rx- en Tx-communicatie, brengt de hardware in de bedrijfsmodus en triggert bovendien een wekverzoek op het netwerk, voor zover de hardware over wekcapaciteiten beschikt (zoals wake-up op de datalijn volgens OPEN Alliance TC10).

In de interactie binnen de stack ondersteunt Eth_ModeType in het bijzonder het doorgeven van wekverzoeken vanuit de servicelaag (ComM) via de tussenlagen omlaag naar de communicatiedrivers (EthTrcv), waardoor hardware met wake-up- en sleep-functionaliteit op de datalijn naar behoefte wordt aangestuurd ([SWS_Eth_91008]).

Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie SWS_Eth_91008.

Implementer's Guide volgt (complexiteit I1)

type Eth_StateType [SWS_Eth_00159] 📄 PDF

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: c3ab864e1cec Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Het enumeratietype Eth_StateType wordt via de header Eth_GeneralTypes.h ter beschikking gesteld en dient conform [SWS_Eth_00159] voor de toestandsbewaking van de Ethernet-driver. Het doel ervan is de ondersteuning van de detectie van ontwikkelingsfouten (Development Error Detection), waarbij de actuele toestand volgens de specificatie beschikbaar moet zijn voor debugging-doeleinden ([SWS_Eth_00159]).

Voor het toestandsbeheer definieert Eth_StateType twee discrete enumeratiewaarden ([SWS_Eth_00159]):

  • ETH_STATE_UNINIT (waarde 0x00): Geeft aan dat de Ethernet-driver nog niet geconfigureerd is ([SWS_Eth_00159]).
  • ETH_STATE_INIT (waarde 0x01): Geeft aan dat de Ethernet-driver succesvol geconfigureerd is ([SWS_Eth_00159]).

Wat betreft de foutafhandeling en het samenspel vormt dit toestandstype de basis voor de interne foutdetectie. Er mag van worden uitgegaan dat driver-API's deze toestand opvragen en aanroepen weigeren zolang de driver zich in de niet-geïnitialiseerde toestand ETH_STATE_UNINIT bevindt ([SWS_Eth_00159]). Vraag Q-35a17e3267274d70 (open) Pas wanneer de driver is overgegaan naar de toestand ETH_STATE_INIT, geldt deze als geconfigureerd en operationeel ([SWS_Eth_00159]). Aangezien de typedefinitie in Eth_GeneralTypes.h staat, is deze driveroverstijgend beschikbaar ([SWS_Eth_00159]).

Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.

Implementer's Guide volgt (complexiteit 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 91a81f4cdad3 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en waardebereik

Het opsommingstype Eth_RxStatusType wordt conform [SWS_Eth_00162] gedefinieerd in het headerbestand Eth_GeneralTypes.h. Het dient als uitgangsparameter (out parameter) in de functie Eth_Receive(), waarmee de Ethernet-driver meldt of er een Ethernet-frame is ontvangen en of er vervolgens verdere frames in de buffer aanwezig zijn dan wel gegevens verloren zijn gegaan [SWS_Eth_00162].

De specificatie definieert voor dit type drie discrete enumeratiewaarden [SWS_Eth_00162]:

  • ETH_RECEIVED (0x00): er is een Ethernet-frame ontvangen; in de controller zijn geen verdere frames meer beschikbaar.
  • ETH_NOT_RECEIVED (0x01): er is geen Ethernet-frame ontvangen; er zijn geen verdere frames aanwezig.
  • ETH_RECEIVED_MORE_DATA_AVAILABLE (0x02): er is een Ethernet-frame ontvangen en er staan aanvullende frames klaar om te worden opgehaald.

Samenspel bij de frameverwerking

Bij de aanroep van Eth_Receive() geeft de aanroepende laag een pointer door naar een variabele van het type Eth_RxStatusType. De evaluatie van deze uitvoerparameter stuurt het verdere verloop van de ontvangstcyclus: de retourwaarde ETH_RECEIVED_MORE_DATA_AVAILABLE zal voor de aanroeper vermoedelijk dienen als criterium om Eth_Receive() onmiddellijk opnieuw aan te roepen om resterende frames vlot uit de ontvangstbuffer te verwerken [SWS_Eth_00162]. Vraag Q-4ed309522aa004f8 (open) De toestanden ETH_RECEIVED en ETH_NOT_RECEIVED signaleren daarentegen dat de buffer uitgeput is en er geen verdere gegevens wachten op verwerking. De beschikbaarstelling via Eth_GeneralTypes.h waarborgt daarbij een uniform typegebruik over de modules heen [SWS_Eth_00162].

Deze tekst is gegenereerd door een AI en is uitsluitend gebaseerd op de specificatiegegevens uit AUTOSAR R20-11.

Implementer's Guide volgt (complexiteit 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: cf651d8e65c0 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en doel

Het datatype Eth_TxErrorCounterValuesType is conform [SWS_Eth_91004] gespecificeerd als structuur voor statistische tellers voor diagnosedoeleinden in het Ethernet-stuurprogramma. De definitie staat ter beschikking via het headerbestand Eth_GeneralTypes.h. De structuur bundelt meerdere 32-bits tellers (uint32), die specifieke transmissietoestanden en zendbelemmeringen op interfaceniveau weergeven.

Structuurcomponenten en semantiek

De afzonderlijke tellers zijn volgens [SWS_Eth_91004] gebaseerd op gestandaardiseerde netwerk-MIB-definities:

  • Tx Dropped No Error Pkts: Aantal uitgaande pakketten dat ondanks een foutloze toestand werd verworpen, bijvoorbeeld om buffergeheugen vrij te maken (RFC1213 ifOutDiscards).
  • Tx Dropped Error Pkts: Aantal pakketten dat als gevolg van opgetreden fouten niet kon worden verzonden (RFC1213 ifOutErrors).
  • Tx Deferred Trans: Aantal frames waarvan de eerste verzendpoging werd vertraagd omdat het transmissiemedium bezet was (RFC1643 dot3StatsDeferredTransmissions).
  • Tx Single Collision en Tx Multiple Collision: Succesvol overgedragen frames waarvan de verzending door respectievelijk precies één of meerdere botsingen werd vertraagd (RFC1643).
  • Tx Late Collision: Botsingen die later dan 512 bittijden na het begin van de pakketoverdracht werden gedetecteerd (RFC1643 dot3StatsLateCollisions).
  • Tx Excessive Collison: Aantal overdrachten dat als gevolg van te veel botsingen definitief is mislukt (RFC1643 dot3StatsExcessiveCollisions).

Aanroepcontext en beperkingen

Interpretatie: Aangezien het specificatie-uittreksel geen bijbehorende API-functie vermeldt, wordt dit diagnosetype vermoedelijk als uitvoerparameter via een pointer doorgegeven aan overeenkomstige stuurprogrammafuncties voor het opvragen van tellers. Vraag Q-2bfbe59d1fb81938 (open) Specifieke eisen voor foutafhandeling, DET-meldingen of gelijktijdigheid zijn voor deze pure gegevensstructuur in de bronnen niet gedefinieerd.

Deze tekst is gegenereerd door een AI op basis van de specificatie 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#92b03e6f
Content hash
92b03e6f
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EthernetDriver.pdf#nameddest=SWS_Eth_00027

Initialisatie en status

Returns the version information of this module

void Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Eth_Init functie

Initializes the Ethernet Driver

void Eth_Init (const Eth_ConfigType* CfgPtr);

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

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

Diensten · Overige

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 functie

Reads a transceiver register

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

Receive a frame from the related fifo.

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

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 functie

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

Cyclisch

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

Typen

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.