Ethernet Driver (Eth)
Provides uniform hardware access to Ethernet controller interfaces.
Funktionen — Übersicht
void Eth_Init (const Eth_ConfigType* CfgPtr);Initializes the Ethernet DriverStd_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);Enables / disables the indexed controller Tags: atp.Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);Obtains the state of the indexed controller Tags: atp.Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);Obtains the communication state of the indexed controller Tags: atp.void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);Obtains the physical source address used by the indexed controllervoid Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);Sets the physical source address used by the indexed controllerStd_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);Update the physica l source address to/ from the indexed controller filter.Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);Configures a transceiver register or triggers a function offered by the receiverStd_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);Reads a transceiver registerStd_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);Reads a list with drop counter values of the corresponding controller.Std_ReturnType Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType* RxStats);Returns the following list according to IETF RFC281 9, where the maximal possible value shall denote an invalid value, e.Std_ReturnType Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType* TxStats);Returns the list of Transmission Statistics out of IETF RFC1213 defined with Eth_ Tx Stats Type, where the maximal possible...Std_ReturnType Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType* TxErrorCounterValues);Returns the list of Transmission Error Counters out of IETF RFC1213 and RFC1643 defined with Eth_ Tx Error Counter Values...Std_ReturnType Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);Returns a time value out of the HW registers according to the capability of the HW.void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);Activat es egress time stamping on a dedicated message object.Std_ReturnType Eth_GetEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);Reads back the egress time stamp on a dedicated message object.Std_ReturnType Eth_GetIngressTimeStamp (uint8 CtrlIdx, const Eth_DataType* DataPtr, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);Reads back the ingress time stamp on a dedicated message object.BufReq_ReturnType Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8* * BufPtr, uint16* LenBytePtr);Provides access to a transmit buffer of the FIFO related to the specified priorityStd_ReturnType Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);Triggers transmission of a previously filled transmit buffervoid Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);Receive a frame from the related fifo.void Eth_TxConfirmation (uint8 CtrlIdx);Triggers frame transmission confirmationvoid Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Returns the version information of this modulevoid Eth_MainFunction (void);The function checks for controller errors and lost frames.
Typen — Übersicht
struct Eth_ConfigTypeImplementation specific structure of the post build configurationenum Eth_ModeTypeThis is an generic type and used in the layers of the Ethernet communication stack (e.enum Eth_ModeTypeThis is an generic type and used in the layers of the Ethernet commun ication stack (e.enum Eth_StateTypeStatus supervision used for Development Error Detection.Eth_FrameTypeThis type defines the Ethernet frame type used in the Ethernet frame headerEth_DataTypeThis type defines the Ethernet data type used for data transmission.Eth_BufIdxTypeEthernet buffer identifier type.enum Eth_RxStatusTypeUsed as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are...enum Eth_FilterActionTypeThe Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.Eth_TimeStampQualTypeDepending on the HW, quality information regarding the evaluated time stamp might be supported.Eth_TimeStampTypeVariables of this type are used for expressing time stamps including relative time and absolute calendar time.Eth_TimeIntDiffTypeVariables of this type are used to express time differences.Eth_RateRatioTypeVariables of this type are used to express frequency ratios.struct Eth_MacVlanTypeThis type is used to read out addresses from the address resolution logic (A RL) table of the switch.Eth_CounterTypeType Eth_CounterType.Eth_RxStatsTypeType Eth_RxStatsType.Eth_TxStatsTypeStatistic counter for diag nostics.Eth_TxErrorCounterValuesTypeType Eth_TxErrorCounterValuesType.
Funktionen & Typen — Detailansicht
function Eth_Init [SWS_Eth_00027] 📄 PDF
void Eth_Init (const Eth_ConfigType* CfgPtr);
Initializes the Ethernet Driver
Die Funktion Eth_Init dient der Initialisierung des Ethernet-Treibers [SWS_Eth_00027]. Sie wird über die Header-Datei Eth.h deklariert, besitzt die Service-ID 0x01 und besitzt keinen Rückgabewert (void) [SWS_Eth_00027]. Als Eingabeparameter erwartet sie CfgPtr, der auf eine implementierungsspezifische Konfigurationsstruktur vom Typ Eth_ConfigType zeigt [SWS_Eth_00027]. Der Aufruf erfolgt synchron und ist als nicht reentrant (Non Reentrant) definiert [SWS_Eth_00027].
Im Betriebsablauf bildet Eth_Init die fundamentale Vorbedingung für die Arbeit mit dem Modul. Sämtliche weiteren Funktionen setzen eine vorangehende Controller-Initialisierung durch Eth_Init zwingend voraus [SWS_Eth_00070], [SWS_Eth_00167], [SWS_Eth_00185]. Diese Abhängigkeit ist für diverse Controller-Dienste des Treibers verbindlich vorgeschrieben [SWS_Eth_00189], [SWS_Eth_00194], [SWS_Eth_00199], [SWS_Eth_00232].
Für den Fall eines uninitialisierten Zugriffs ist eine gezielte Fehlerbehandlung vorgesehen: Bei aktivierter Entwicklungsausnahme- bzw. Fehlererkennung (Development Error Detection, DET) prüfen die Treiberfunktionen, ob der Service Eth_Init zuvor ordnungsgemäß aufgerufen wurde [SWS_Eth_00066]. Ist diese Prüfung nicht erfolgreich, lösen sie den Entwicklungsfehler ETH_E_UNINIT aus [SWS_Eth_00164], [SWS_Eth_00182], [SWS_Eth_00187], [SWS_Eth_00196]. Ist DET hingegen deaktiviert, verweigern betroffene Funktionen die Ausführung und signalisieren den unzulässigen Zustand durch Rückgabe des Status E_NOT_OK [SWS_Eth_00228], [SWS_Eth_00235], [SWS_Eth_00248], [SWS_Eth_00252].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.
Implementer's Guide folgt (Komplexität I2)
function Eth_SetControllerMode [SWS_Eth_00041] 📄 PDF
Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);
Enables / disables the indexed controller Tags: atp.Status=obsolete
Die Funktion Eth_SetControllerMode dient dem Aktivieren (ETH_MODE_ACTIVE) oder Deaktivieren (ETH_MODE_DOWN) des über den Parameter CtrlIdx adressierten Ethernet-Controllers [SWS_Eth_00041]. In AUTOSAR Classic R20-11 ist dieser Dienst als veraltet (obsolete) eingestuft [SWS_Eth_00041].
Die Ausführung des Dienstes ist asynchron und nicht reentrant (Non Reentrant) [SWS_Eth_00041]. Als Rückgabewert liefert die Funktion E_OK bei erfolgreicher Initiierung oder E_NOT_OK, falls der Betriebsmodus nicht gewechselt werden konnte [SWS_Eth_00041]. Interpretation: Da der Aufruf als asynchron spezifiziert ist, aber im Payload kein Callback definiert wird, dürfte die tatsächliche Zustandsübernahme hardwarenah im Treiberhintergrund nach Rückkehr der Funktion abgeschlossen werden. Frage Q-d7ec04578e921eb9 (offen)
Wird der Controller beziehungsweise dessen Sende- und Empfangskommunikation über Eth_SetControllerMode deaktiviert, gelten verbindliche Pufferbereinigungen:
- Sämtliche gesperrten Sendepuffer (locked transmit buffers) müssen freigegeben werden [SWS_Eth_00137] [SWS_Eth_00280].
- Alle ausstehenden Sendepuffer (pending transmit buffers) müssen ebenfalls freigegeben werden [SWS_Eth_00138] [SWS_Eth_00281].
Aufgrund der Eigenschaft Non Reentrant darf die Funktion für dieselbe oder weitere Controller-Instanzen nicht nebenläufig ausgeführt werden [SWS_Eth_00041]. Spezifische DET- oder DEM-Fehlermeldungen sind nicht aufgeführt; Fehlerzustände werden dem Aufrufer über den Rückgabewert E_NOT_OK mitgeteilt [SWS_Eth_00041].
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsdaten von AUTOSAR Classic R20-11 generiert.
Implementer's Guide folgt (Komplexität I2)
function 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
Die Funktion Eth_SetControllerMode (Service-ID 0x03, bereitgestellt über Eth.h) dient dem Aktivieren und Deaktivieren der Empfangs- und Sende-Kommunikation (Rx/Tx) eines spezifischen Ethernet-Controllers [SWS_Eth_91009].
Verwendung und Aufrufbedingungen
Die Ausführung der Funktion erfolgt asynchron und ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Eth_91009]. Beim Aufruf werden zwei Parameter übergeben:
CtrlIdx: Index des betreffenden Controllers im Kontext des Ethernet-Treibers [SWS_Eth_91009].CtrlMode: Zielmodus für den Controller, entwederETH_MODE_ACTIVEzur Aktivierung der Rx/Tx-Kommunikation oderETH_MODE_DOWNzu deren Deaktivierung [SWS_Eth_91009].
Als Rückgabewert liefert die Funktion den Status Std_ReturnType: E_OK signalisiert eine erfolgreiche Durchführung, während E_NOT_OK anzeigt, dass der Modus des Controllers nicht gewechselt werden konnte [SWS_Eth_91009].
Zusammenspiel und Pufferverwaltung
Wird die Rx/Tx-Kommunikation des indizierten Controllers über Eth_SetControllerMode deaktiviert (Modus ETH_MODE_DOWN), sind zwingend Bereinigungsaktionen für die Sendepuffer durchzuführen:
- Alle gesperrten Sendepuffer (locked transmit buffers) müssen freigegeben werden [SWS_Eth_00280].
- Alle ausstehenden Sendepuffer (pending transmit buffers) müssen ebenfalls freigegeben werden [SWS_Eth_00281].
Die aktuellen Bestimmungen zur Freigabe gesperrter und ausstehender Puffer sowie die Funktionsdefinition selbst besitzen den Status „draft“ [SWS_Eth_91009], [SWS_Eth_00280], [SWS_Eth_00281]. Sie ersetzen die historisch vorangegangenen Anforderungen [SWS_Eth_00137] und [SWS_Eth_00138], welche als obsolet eingestuft sind.
Dieser Text wurde von einer KI basierend auf den AUTOSAR-Spezifikationen erstellt.
Implementer's Guide folgt (Komplexität I2)
function Eth_GetControllerMode [SWS_Eth_00046] 📄 PDF
Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);
Obtains the state of the indexed controller Tags: atp.Status=obsolete
function Eth_GetControllerMode [SWS_Eth_91010] 📄 PDF
Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);
Obtains the communication state of the indexed controller Tags: atp.Status=draft
function Eth_GetPhysAddr [SWS_Eth_00052] 📄 PDF
void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);
Obtains the physical source address used by the indexed controller
function Eth_SetPhysAddr [SWS_Eth_00151] 📄 PDF
void Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);
Sets the physical source address used by the indexed controller
function 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.
Die synchrone Schnittstelle Eth_UpdatePhysAddrFilter wird über die Header-Datei Eth.h bereitgestellt und besitzt die Service-ID 0x12 [SWS_Eth_00152]. Die Funktion dient dazu, eine physikalische Adresse zu dem Filter eines indizierten Ethernet-Controllers hinzuzufügen oder aus diesem zu entfernen [SWS_Eth_00152].
Die Parameter der Funktion umfassen drei Eingangswerte [SWS_Eth_00152]:
CtrlIdx: Bestimmt den Index des betreffenden Ethernet-Controllers innerhalb des Treiberkontexts [SWS_Eth_00152].PhysAddrPtr: Zeiger auf den Speicherbereich mit der physikalischen Zieladresse (MAC-Adresse) in Netzwerk-Byte-Reihenfolge; dies ist die Multicast-Zieladresse des Layer-2-Ethernet-Pakets [SWS_Eth_00152].Action: Gibt über den AufzählungstypEth_FilterActionTypevor, ob die angegebene Adresse zum Filter des Controllers hinzugefügt oder daraus gelöscht wird [SWS_Eth_00152].
Die Funktion gibt einen Status vom Typ Std_ReturnType zurück: E_OK bestätigt die erfolgreiche Änderung des Filters, während E_NOT_OK meldet, dass der Filter nicht geändert werden konnte [SWS_Eth_00152]. Ist der Ethernet-Controller hardwareseitig nicht in der Lage, die Filterung eigenständig vorzunehmen, muss die Filteraufgabe durch die Software realisiert werden [SWS_Eth_00152].
Für die Ausführung gilt eine strikte Reentranz-Einschränkung: Die Funktion ist für denselben Controller-Index (CtrlIdx) nicht reentrant, darf jedoch für voneinander abweichende Controller-Indizes nebenläufig und reentrant aufgerufen werden [SWS_Eth_00152].
Dieser Nutzungshinweis wurde von einem KI-System auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function 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
Die Funktion Eth_WriteMii dient dazu, ein Register eines Ethernet-Transceivers über das MII-Interface zu konfigurieren oder eine vom Transceiver bereitgestellte Funktion auszulösen [SWS_Eth_00058]. Die Deklaration ist über den Header Eth.h verfügbar [SWS_Eth_00058].
Verwendung und Parameter
Der Aufruf erfolgt mit der Service-ID 0x05 und verarbeitet vier Eingangsparameter [SWS_Eth_00058]:
CtrlIdx: Index des Ethernet-Controllers im Kontext des Ethernet-Treibers [SWS_Eth_00058].TrcvIdx: Index des Transceivers auf der MII-Schnittstelle [SWS_Eth_00058].RegIdx: Index des zu beschreibenden Transceiver-Registers auf der MII [SWS_Eth_00058].RegVal: Der 16-Bit-Wert, der in das adressierte Register geschrieben werden soll [SWS_Eth_00058].
Die Ausführung des Dienstes ist asynchron spezifiziert [SWS_Eth_00058]. Dies bedeutet, dass der eigentliche Schreibvorgang über die Hardwareschnittstelle typischerweise im Hintergrund abgewickelt werden dürfte, während die Funktion nach Annahme der Anforderung unmittelbar zurückkehrt. Frage Q-0f9a9e682985d796 (offen)
Rückgabewerte und Einschränkungen
Als Rückgabewert liefert die Funktion den Typ Std_ReturnType [SWS_Eth_00058]:
E_OK: Der Schreibauftrag wurde erfolgreich angenommen [SWS_Eth_00058].E_NOT_OK: Der Dienst wurde abgelehnt [SWS_Eth_00058].
Hinsichtlich der Nebenläufigkeit ist Eth_WriteMii als nicht reentrant (Non Reentrant) spezifiziert [SWS_Eth_00058]. Aufrufe dürfen daher nicht nebenläufig ohne entsprechende Synchronisation durch den Aufrufer ausgeführt werden.
Dieser Nutzungshinweis wurde durch eine KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function Eth_ReadMii [SWS_Eth_00064] 📄 PDF
Std_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);
Reads a transceiver register
Verwendung und Parameter
Die Funktion Eth_ReadMii (Service-ID 0x06) dient dem Auslesen eines Transceiver-Registers über die MII-Schnittstelle und wird über die Header-Datei Eth.h bereitgestellt [SWS_Eth_00064]. Beim Aufruf identifiziert CtrlIdx den jeweiligen Ethernet-Controller im Treiberkontext, TrcvIdx den angesprochenen Transceiver auf dem MII und RegIdx das konkrete Transceiver-Register [SWS_Eth_00064]. Der ermittelte Registerwert wird in den Speicherbereich geschrieben, auf den der Zeiger RegValPtr verweist [SWS_Eth_00064].
Ausführung und Nebenläufigkeit
Die Ausführung erfolgt asynchron (Asynchronous) [SWS_Eth_00064]. Ein Rückgabewert von E_OK bestätigt dabei lediglich, dass der Service bzw. der Leseauftrag erfolgreich angenommen wurde (Service accepted), während E_NOT_OK eine Ablehnung des Auftrags signalisiert (Service denied) [SWS_Eth_00064]. Wegen des asynchronen Charakters dürfte der für RegValPtr übergebene Speicherbereich bis zum endgültigen Abschluss des Lesevorgangs gültig bleiben müssen. Frage Q-04a94624b96bf51f (offen) Da die Funktion zudem als nicht reentrant (Non Reentrant) eingestuft ist [SWS_Eth_00064], dürfen Aufrufer gleichzeitige Zugriffe über verschiedene Tasks oder Interrupt-Kontexte nicht ohne externe Synchronisation durchführen.
Fehlerbehandlung
Kann der Treiber den Lesewunsch nicht annehmen, wird der Aufruf direkt mit E_NOT_OK quittiert [SWS_Eth_00064]. Spezifische Fehlercodes, DET-Laufzeitprüfungen oder DEM-Diagnoseereignisse sind für diese Funktion in den elementbezogenen Spezifikationsdaten nicht ausgewiesen.
Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation erstellt.
Implementer's Guide folgt (Komplexität I1)
function Eth_GetCounterValues [SWS_Eth_00226] 📄 PDF
Std_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);
Reads a list with drop counter values of the corresponding controller. The meaning of these values is described at Eth_ Counter Type.
function 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
function 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.
function 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.
function 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.
function 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.
Die synchrone Funktion Eth_EnableEgressTimeStamp aktiviert die Erfassung von Sende-Zeitstempeln (Egress Time Stamping) für ein dediziertes Nachrichtenobjekt des Ethernet-Treibers [SWS_Eth_00186]. Der Aufruf erfolgt über den Header Eth.h mit der Service-ID 0x17 und liefert keinen Rückgabewert [SWS_Eth_00186].
Beim Aufruf sind folgende Eingangsparameter zu übergeben [SWS_Eth_00186]:
CtrlIdx: Index des adressierten Ethernet-Controllers [SWS_Eth_00186].BufIdx: Index des Nachrichtenpuffers, für den die übergeordnete Applikation die Erzeugung eines Egress-Zeitstempels erwartet [SWS_Eth_00186].
Hinsichtlich der Nebenläufigkeit ist die Funktion als nicht reentrant (Non Reentrant) spezifiziert [SWS_Eth_00186]. Ein paralleler Aufruf für denselben oder weitere Puffer muss daher aufrufseitig synchronisiert bzw. vermieden werden.
Das Verhalten der Hardware variiert je nach Controller-Implementierung: Manche Hardware speichert die Markierung für den Sende-Zeitstempel dauerhaft, während andere Controller die Aktivierung vor jeder Übertragung zwingend anfordern [SWS_Eth_00186]. Interpretation: Für eine hardwareunabhängige Ansteuerung dürfte es daher ratsam sein, die Funktion vor jedem Sendevorgang des gewünschten Puffers aufzurufen. Frage Q-c2b8d2db03e9d13b (offen) Eine Deaktivierungsschnittstelle existiert nicht, da der Nachrichtentyp gemäß dem Netzwerkdesign stets zeitgestempelt übertragen wird [SWS_Eth_00186].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.
function 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.
function 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.
function 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
Verwendung
Die synchrone Funktion Eth_ProvideTxBuffer gewährt Zugriff auf einen Ethernet-Sendepuffer des FIFOs, der der übergebenen Priorität zugeordnet ist [SWS_Eth_00077]. Sie wird über den Header Eth.h bereitgestellt und ist als reentrant spezifiziert [SWS_Eth_00077]. Über die Eingangsparameter werden der Controller-Index CtrlIdx sowie die Rahmenpriorität Priority zur FIFO-Auswahl übergeben [SWS_Eth_00077]. Der In-Out-Parameter LenBytePtr übergibt die gewünschte Puffergröße und liefert nach dem Aufruf die tatsächlich gewährte Bytegröße zurück [SWS_Eth_00077]. Die Ausgabeparameter BufIdxPtr (Ressourcenindex für spätere Anfragen) und BufPtr (Zeiger auf den Puffer) stellen die Referenzen auf den Speicherbereich bereit [SWS_Eth_00077].
Fehlerbehandlung und Rückgabewerte
Die Funktion signalisiert das Ergebnis über Rückgabewerte des Typs BufReq_ReturnType [SWS_Eth_00077]:
BUFREQ_OK: Der Sendepuffer wurde erfolgreich bereitgestellt [SWS_Eth_00077].BUFREQ_E_BUSY: Alle Pufferressourcen sind derzeit belegt [SWS_Eth_00077].BUFREQ_E_OVFL: Der angeforderte Puffer ist zu groß [SWS_Eth_00077].BUFREQ_E_NOT_OK: Ein Entwicklungsfehler wurde erkannt [SWS_Eth_00077].
Zusammenspiel
Wenn EthCtrlConfigSwBufferHandling auf TRUE konfiguriert ist, wird intern ein Tupel aus dem an BufIdxPtr übergebenen Pufferindex des Software-Pufferpools und der angegebenen Priorität Priority gespeichert [SWS_Eth_00267].
Wird anschließend Eth_Transmit() aufgerufen, wird der gegebene Pufferindex demjenigen Software-FIFO zugewiesen, dessen Konfiguration EthCtrlConfigEgressFifoPriorityAssignment mit der zuvor in Eth_ProvideTxBuffer() übergebenen Priorität übereinstimmt [SWS_Eth_00268].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function 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
Verwendung und Aufrufkontext
Die synchrone Schnittstelle Eth_Transmit stößt den Sendevorgang für einen zuvor bereitgestellten und befüllten Ethernet-Sendepuffer an [SWS_Eth_00087]. Sie nimmt folgende Parameter entgegen:
CtrlIdx: Index des Ethernet-Controllers im Kontext des Treibers [SWS_Eth_00087].BufIdx: Index der zu übertragenden Pufferressource [SWS_Eth_00087].FrameType: Spezifischer Ethernet-Frame-Typ [SWS_Eth_00087].TxConfirmation: Schalter zur Aktivierung der Sende-Bestätigung [SWS_Eth_00087].LenByte: Datenlänge der Nutzlast in Byte [SWS_Eth_00087].PhysAddrPtr: Zeiger auf die physikalische Zieladresse (MAC-Adresse) in Netzwerk-Byte-Reihenfolge [SWS_Eth_00087].
Der Rückgabewert vom Typ Std_ReturnType signalisiert mit E_OK die erfolgreiche Einleitung der Übertragung und mit E_NOT_OK ein Fehlschlagen [SWS_Eth_00087].
Zusammenspiel und Pufferabwicklung
Im Rahmen des Sendeablaufs weist Eth_Transmit den Pufferzeiger BufIdx dem Software-FIFO zu, dessen Konfigurationselement EthCtrlConfigEgressFifoPriorityAssignment mit der zuvor bei Eth_ProvideTxBuffer() festgelegten Priorität übereinstimmt [SWS_Eth_00268]. Mit dem Aufruf werden die entsprechenden Nachrichten aus den Software-FIFOs in das Hardware-FIFO überführt [SWS_Eth_00269].
Nebenläufigkeit
Die Funktion ist reentrant für Aufrufe mit unterschiedlichen Puffer-Indizes (BufIdx) sowie unterschiedlichen Controller-Indizes (CtrlIdx) [SWS_Eth_00087].
Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation R20-11 generiert.
Implementer's Guide folgt (Komplexität I2)
function Eth_Receive [SWS_Eth_00095] 📄 PDF
void Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);
Receive a frame from the related fifo.
Die synchrone Funktion Eth_Receive dient dem Empfang eines Ethernet-Frames aus einem spezifischen FIFO-Puffer eines Ethernet-Controllers [SWS_Eth_00095]. Sie besitzt keinen Rückgabewert, liefert das Ergebnis der Abfrage jedoch über den Zeiger RxStatusPtr vom Typ Eth_RxStatusType an den Aufrufer zurück [SWS_Eth_00095]. Dieser Ausgabeparameter zeigt an, ob ein Rahmen erfolgreich empfangen wurde und ob für den betreffenden FIFO-Puffer noch weitere Rahmen zur Abholung bereitstehen [SWS_Eth_00095].
Parameter und Aufrufkontext
Als Eingangsparameter verlangt die Funktion den Controller-Index CtrlIdx innerhalb des Ethernet-Treibers sowie den Index FifoIdx des auszulesenden FIFOs [SWS_Eth_00095]. Die Funktion ist in der Header-Datei Eth.h deklariert [SWS_Eth_00095]. Der Aufruf dürfte typischerweise periodisch im Rahmen eines Polling-Mechanismus durch übergeordnete Treiber- oder Schnittstellenschichten erfolgen. Frage Q-f5ec0693a5887bcf (offen)
Nebenläufigkeit und Einschränkungen
Hinsichtlich der Nebenläufigkeit ist Eth_Receive reentrant für unterschiedliche FIFOs implementiert, jedoch nicht reentrant für denselben FIFO [SWS_Eth_00095]. Gleichzeitige Aufrufe, die denselben FIFO desselben Controllers abfragen, sind unzulässig und müssen durch die aufrufende Software ausgeschlossen werden.
Zusammenspiel mit dem Ethernet-Interface
Im Polling-Modus ist der Ethernet-Treiber verpflichtet, bei einem erfolgreichen Empfangsvorgang unmittelbar aus der Routine Eth_Receive heraus die Funktion EthIf_RxIndication aufzurufen, um den empfangenen Rahmen der oberen Schicht zur Weiterverarbeitung zu melden [SWS_Eth_00244].
Dieser Text wurde von einer KI auf Basis der Spezifikation generiert.
Implementer's Guide folgt (Komplexität I1)
function Eth_TxConfirmation [SWS_Eth_00100] 📄 PDF
void Eth_TxConfirmation (uint8 CtrlIdx);
Triggers frame transmission confirmation
Verwendung und Aufrufkontext
Die über den Header Eth.h verfügbare Funktion Eth_TxConfirmation dient dem gezielten Auslösen der Übertragungsbestätigung für gesendete Ethernet-Frames [SWS_Eth_00100]. Sie besitzt die Service-ID 0x0C und wird synchron ausgeführt [SWS_Eth_00100]. Als einzigen Übergabeparameter erwartet die Funktion CtrlIdx, welcher den logischen Index des anzusprechenden Controllers innerhalb der Instanz des Ethernet-Treibers bestimmt [SWS_Eth_00100]. Ein Rückgabewert existiert nicht (void), und es werden keine Ausgabeparameter übergeben [SWS_Eth_00100].
Zusammenspiel im Sendeablauf
Im Zusammenspiel der Schichten übernimmt Eth_TxConfirmation die Weitergabe des Sendestatus an die übergeordnete Ethernet-Schnittstelle. Sofern die entsprechende Benachrichtigung aktiviert wurde, ist der Ethernet-Treiber dazu verpflichtet, EthIf_TxConfirmation mit dem Ergebniswert E_OK aufzurufen, um eine erfolgreiche Übertragung zu signalisieren [SWS_Eth_00243]. Im Polling-Modus erfolgt dieser Aufruf explizit aus dem Kontext der Routine Eth_TxConfirmation heraus, während er im unterbrechungsgesteuerten Modus alternativ direkt aus der Interrupt-Routine abgesetzt wird [SWS_Eth_00243].
Nebenläufigkeit und Ausführungsbedingungen
Für die Ausführung gilt die Einschränkung, dass Eth_TxConfirmation als nicht reentrant (Non Reentrant) definiert ist [SWS_Eth_00100]. Zeitgleiche Aufrufe für denselben Controller müssen daher durch den Aufrufer verhindert werden. Der Aufruf dürfte im Polling-Betrieb typischerweise zyklisch durch eine übergeordnete Ablaufsteuerung erfolgen. Frage Q-c19295838459b689 (offen) Spezifische Fehlercodes sowie Vorgaben zu DET- oder DEM-Meldungen sind in der Funktionsspezifikation nicht angegeben, weshalb eine gesonderte Fehlerbehandlung entfällt.
Dieser Text wurde von einer KI erstellt; maßgeblich ist die referenzierte Spezifikation.
Implementer's Guide folgt (Komplexität I1)
function Eth_GetVersionInfo [SWS_Eth_00106] 📄 PDF
void Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Returns the version information of this module
function 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.
Verwendung und Aufrufkontext
Die Funktion Eth_MainFunction besitzt die Signatur void Eth_MainFunction(void) und wird über die Header-Datei SchM_Eth.h bereitgestellt [SWS_Eth_00171]. Daraus lässt sich interpretieren: Der Aufruf dürfte zyklisch durch den Schedule Manager (SchM) in einem taskbasierten Kontext erfolgen, da keine Übergabeparameter oder Rückgabewerte definiert sind. Frage Q-690a2dc372d49c6a (offen)
Funktionsumfang und Polling
Die Hauptaufgabe der Funktion besteht im Polling von Zustandsänderungen sowie der Überprüfung auf Controller-Fehler und verloren gegangene Ethernet-Frames [SWS_Eth_00171]. Stellt die Funktion fest, dass sich der Modus des Ethernet-Controllers geändert hat, ruft sie die Funktion EthIf_CtrlModeIndication auf, um die übergeordnete Schicht über den Zustandswechsel zu informieren [SWS_Eth_00171].
Abarbeitungsreihenfolge im Sendepfad
Im Kontext von Eth_MainFunction() ist eine feste Reihenfolge für die Verarbeitung von Software-FIFOs vorgegeben [SWS_Eth_00270]:
- Zunächst werden alle SW-FIFOs iteriert und deren Guthabenkonten (Credits Account) aktualisiert [SWS_Eth_00270].
- Anschließend werden alle SW-FIFOs erneut iteriert und auf sendefertige Nachrichten geprüft [SWS_Eth_00270].
- Für jedes iterierte SW-FIFO wird daraufhin die Übertragung unternommen [SWS_Eth_00270].
Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.
Implementer's Guide folgt (Komplexität I2)
type Eth_ConfigType [SWS_Eth_00156] 📄 PDF
Implementation specific structure of the post build configuration
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
Der generische Enumerationstyp Eth_ModeType dient in den Schichten des Ethernet-Kommunikationsstacks (wie EthIf, Eth, EthSwt und EthTrcv) dazu, den Ethernet-Kommunikationskanal zu aktivieren oder zu deaktivieren sowie die zugehörige Hardware (wie Ethernet-Controller, Ethernet-Switch-Port oder Ethernet-Transceiver) in einen stromsparenden Schlafzustand bzw. Aktivmodus zu versetzen [SWS_Eth_00158].
Der Typ ist über die Header-Datei Eth_GeneralTypes.h verfügbar und definiert die folgenden Wertebereiche [SWS_Eth_00158]:
ETH_MODE_DOWN(0x00): Deaktiviert den Ethernet-Kommunikationskanal und versetzt die zugehörige Hardware in einen stromsparenden Schlafmodus (Low-Power Sleep Mode) [SWS_Eth_00158].ETH_MODE_ACTIVE(0x01): Aktiviert den Ethernet-Kommunikationskanal und versetzt die Hardware in den Betriebsmodus (Power-On Mode) [SWS_Eth_00158].
Hinsichtlich des Lebenszyklus und der Verwendung ist zu beachten, dass Eth_ModeType im Release R20-11 mit dem Status obsolete gekennzeichnet ist [SWS_Eth_00158]. In Neuentwicklungen sollte die Verwendung dieses Typs daher vermieden werden, da veraltete Schnittstellentypen in künftigen Standards typischerweise durch modernere Kontrollstrukturen ersetzt werden.
Dieser Nutzungshinweis wurde automatisiert erstellt. Spezifikationsbelege beziehen sich ausschließlich auf den bereitgestellten Anforderungskontext.
Implementer's Guide folgt (Komplexität 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
Der Enumerationstyp Eth_ModeType wird über Eth_GeneralTypes.h deklariert und dient als schichtenübergreifender Modus-Typ im AUTOSAR-Ethernet-Kommunikationsstack ([SWS_Eth_91008]). Er wird in Modulen wie EthIf, Eth, EthSwt und EthTrcv verwendet, um Kommunikationskanäle gezielt zu aktivieren bzw. zu deaktivieren und die zugehörige Hardwarekomponente (Ethernet-Controller, Switch-Ports oder Transceiver) zwischen einem energiesparenden Schlafmodus und dem aktiven Betriebsmodus umzuschalten ([SWS_Eth_91008]).
Der Typ umfasst drei Zustände zur Modussteuerung ([SWS_Eth_91008]):
ETH_MODE_DOWN(0x00): Deaktiviert die Rx- und Tx-Kommunikation und versetzt die zugehörige Hardware in einen Low-Power-Sleep-Modus. Sofern die Hardware dies unterstützt, wird zugleich ein Schlafprozess eingeleitet (beispielsweise das Anfordern von Sleep auf der Datenleitung gemäß OPEN Alliance TC10).ETH_MODE_ACTIVE(0x01): Aktiviert die Rx- und Tx-Kommunikation und schaltet die zugehörige Hardware in den regulären Betriebsmodus (Power-on).ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST(0x02): Aktiviert die Rx- und Tx-Kommunikation, versetzt die Hardware in den Betriebsmodus und löst zusätzlich eine Weckanforderung auf dem Netzwerk aus, sofern die Hardware über Weckfähigkeiten verfügt (wie Wake-up auf der Datenleitung nach OPEN Alliance TC10).
Im Stack-Zusammenspiel unterstützt Eth_ModeType insbesondere die Weiterreichung von Weckanforderungen aus der Serviceschicht (ComM) über die Zwischenschichten bis hinab zu den Kommunikationstreibern (EthTrcv), wodurch Hardware mit Wake-up- und Sleep-Funktionalität auf der Datenleitung bedarfsgerecht gesteuert wird ([SWS_Eth_91008]).
Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation SWS_Eth_91008 generiert.
Implementer's Guide folgt (Komplexität I1)
type Eth_StateType [SWS_Eth_00159] 📄 PDF
Status supervision used for Development Error Detection. The state shall be available for debugging.
Der Aufzählungstyp Eth_StateType wird über den Header Eth_GeneralTypes.h bereitgestellt und dient gemäß [SWS_Eth_00159] der Zustandsüberwachung des Ethernet-Treibers. Sein Zweck besteht in der Unterstützung der Erkennung von Entwicklungsfehlern (Development Error Detection), wobei der aktuelle Zustand laut Spezifikation für Debugging-Zwecke verfügbar sein muss ([SWS_Eth_00159]).
Für die Zustandsverwaltung definiert Eth_StateType zwei diskrete Enumerationswerte ([SWS_Eth_00159]):
ETH_STATE_UNINIT(Wert0x00): Kennzeichnet, dass der Ethernet-Treiber noch nicht konfiguriert ist ([SWS_Eth_00159]).ETH_STATE_INIT(Wert0x01): Kennzeichnet, dass der Ethernet-Treiber erfolgreich konfiguriert ist ([SWS_Eth_00159]).
Hinsichtlich der Fehlerbehandlung und des Zusammenspiels bildet dieser Zustandstyp die Grundlage für die interne Fehlererkennung. Es dürfte davon auszugehen sein, dass Treiber-APIs diesen Zustand abfragen und Aufrufe abweisen, solange sich der Treiber im uninitialisierten Zustand ETH_STATE_UNINIT befindet ([SWS_Eth_00159]). Frage Q-35a17e3267274d70 (offen) Erst wenn der Treiber in den Zustand ETH_STATE_INIT übergegangen ist, gilt er als konfiguriert und betriebsbereit ([SWS_Eth_00159]). Da die Typdefinition in Eth_GeneralTypes.h liegt, steht sie treiberübergreifend zur Verfügung ([SWS_Eth_00159]).
Dieser Text wurde durch eine KI auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.
Implementer's Guide folgt (Komplexität 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_BufIdxType [SWS_Eth_00175] 📄 PDF
Ethernet buffer identifier type.
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.
Verwendung und Wertebereich
Der Aufzählungstyp Eth_RxStatusType wird gemäß [SWS_Eth_00162] in der Header-Datei Eth_GeneralTypes.h definiert. Er dient als Ausgangsparameter (out parameter) in der Funktion Eth_Receive(), über den der Ethernet-Treiber mitteilt, ob ein Ethernet-Frame empfangen wurde und ob nachfolgend weitere Frames im Puffer vorliegen oder Daten verloren gegangen sind [SWS_Eth_00162].
Die Spezifikation definiert für diesen Typ drei diskrete Enumerationswerte [SWS_Eth_00162]:
ETH_RECEIVED(0x00): Ein Ethernet-Frame wurde empfangen; im Controller stehen keine weiteren Frames mehr zur Verfügung.ETH_NOT_RECEIVED(0x01): Es wurde kein Ethernet-Frame empfangen; es liegen keine weiteren Frames vor.ETH_RECEIVED_MORE_DATA_AVAILABLE(0x02): Ein Ethernet-Frame wurde empfangen, und es stehen zusätzliche Frames zur Abholung bereit.
Zusammenspiel bei der Frame-Verarbeitung
Beim Aufruf von Eth_Receive() übergibt die aufrufende Schicht einen Zeiger auf eine Variable des Typs Eth_RxStatusType. Die Auswertung dieses Ausgabeparameters steuert den weiteren Ablauf des Empfangszyklus: Der Rückgabewert ETH_RECEIVED_MORE_DATA_AVAILABLE dürfte dem Aufrufer als Kriterium dienen, Eth_Receive() unmittelbar erneut aufzurufen, um verbleibende Frames zügig aus dem Empfangspuffer abzuarbeiten [SWS_Eth_00162]. Frage Q-4ed309522aa004f8 (offen) Die Zustände ETH_RECEIVED und ETH_NOT_RECEIVED signalisieren demgegenüber, dass der Puffer erschöpft ist und keine weiteren Daten zur Verarbeitung anstehen. Die Bereitstellung über Eth_GeneralTypes.h gewährleistet dabei eine einheitliche Typverwendung über die Module hinweg [SWS_Eth_00162].
Dieser Text wurde von einer KI generiert und basiert ausschließlich auf den Spezifikationsdaten aus AUTOSAR R20-11.
Implementer's Guide folgt (Komplexität 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_TimeIntDiffType [SWS_Eth_00179] 📄 PDF
Variables of this type are used to express time differences.
type Eth_RateRatioType [SWS_Eth_00180] 📄 PDF
Variables of this type are used to express frequency ratios.
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_CounterType [SWS_Eth_91007] 📄 PDF
Type Eth_CounterType.
type Eth_RxStatsType [SWS_Eth_91002] 📄 PDF
Type Eth_RxStatsType.
type Eth_TxStatsType [SWS_Eth_91003] 📄 PDF
Statistic counter for diag nostics.
type Eth_TxErrorCounterValuesType [SWS_Eth_91004] 📄 PDF
Type Eth_TxErrorCounterValuesType.
Verwendung und Zweck
Der Datentyp Eth_TxErrorCounterValuesType ist gemäß [SWS_Eth_91004] als Struktur für statistische Zähler zu Diagnosezwecken im Ethernet-Treiber spezifiziert. Die Definition steht über die Header-Datei Eth_GeneralTypes.h bereit. Die Struktur bündelt mehrere 32-Bit-Zähler (uint32), welche spezifische Übertragungszustände und Sendehemmnisse auf Schnittstellenebene abbilden.
Strukturkomponenten und Semantik
Die einzelnen Zähler orientieren sich gemäß [SWS_Eth_91004] an standardisierten Netzwerk-MIB-Definitionen:
Tx Dropped No Error Pkts: Anzahl der ausgehenden Pakete, die trotz fehlerfreiem Zustand verworfen wurden, beispielsweise um Pufferspeicher freizugeben (RFC1213ifOutDiscards).Tx Dropped Error Pkts: Anzahl der Pakete, die aufgrund aufgetretener Fehler nicht übertragen werden konnten (RFC1213ifOutErrors).Tx Deferred Trans: Anzahl der Frames, deren erster Sendeversuch verzögert wurde, weil das Übertragungsmedium belegt war (RFC1643dot3StatsDeferredTransmissions).Tx Single CollisionundTx Multiple Collision: Erfolgreich übertragene Frames, deren Aussendung durch genau eine beziehungsweise durch mehrere Kollisionen verzögert wurde (RFC1643).Tx Late Collision: Kollisionen, die später als 512 Bit-Zeiten nach Beginn der Paketübertragung erkannt wurden (RFC1643dot3StatsLateCollisions).Tx Excessive Collison: Anzahl der Übertragungen, die infolge zu vieler Kollisionen endgültig fehlgeschlagen sind (RFC1643dot3StatsExcessiveCollisions).
Aufrufkontext und Einschränkungen
Interpretation: Da der Spezifikationsauszug keine zugehörige API-Funktion aufführt, dürfte dieser Diagnosetyp vermutlich als Ausgabeparameter per Zeiger an entsprechende Treiberfunktionen zur Zählerabfrage übergeben werden. Frage Q-2bfbe59d1fb81938 (offen) Spezifische Anforderungen an Fehlerbehandlung, DET-Meldungen oder Nebenläufigkeit sind für diese reine Datenstruktur in den Quellen nicht definiert.
Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.
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#f8a5ceda- Content hash
f8a5ceda- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EthernetDriver.pdf#nameddest=SWS_Eth_00027
claude-opus-5-5· 2026-10-13