advertisement
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Document Title
Specification of Ethernet
Interface
Document Owner
Document Responsibility
AUTOSAR
AUTOSAR
Document Identification No
417
Document Classification
Document Status
Part of AUTOSAR Release
Standard
Final
4.2.2
Document Change History
Release Changed by
4.2.2 AUTOSAR
Release
Management
4.2.1 AUTOSAR
Release
Management
4.1.3 AUTOSAR
Release
Management
Change Description
EthIf_TransceiverInit and EthIf_ControllerInit removed
Development Error Tracer renamed to
Default Error Tracer
Change from Synchronous to Asynchronous
API
gPTP Timestamp Support
Ethernet Switch Support
Ethernet Wakeup Support
Extended UL_RxIndication
Editorial changes
4.1.2 AUTOSAR
Release
Management
4.1.1 AUTOSAR
Administration
4.0.3 AUTOSAR
Administration
3.1.5 AUTOSAR
Administration
Introduction of Eth_GeneralTypes.h
Support of API deviation for asynchronous implementation
Changes in API of EthIf_ProvideTxBuffer and EthIf_SetPhysAddr
Editorial changes
Removed chapter(s) on change documentation
Remove „Commercial Off The Shelf“ use case
VLAN support
1000MBit Ethernet support
Description of payload data in
EthIf_Cbk_RxIndication adapted
Further post-build configurable parameters
EthIf_MainFunctionTx functional requirements improved (functionality split)
'Instance ID' removed from Version Info
(concerns EthIf_GetVersionInfo API)
Additional development error in
EthIf_GetVersionInfo API
1 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Document Change History
Release Changed by
3.1.4 AUTOSAR
Administration
Change Description
Initial Release
2 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Disclaimer
This specification and the material contained in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR and the companies that have contributed to it shall not be liable for any use of the specification.
The material contained in this specification is protected by copyright and other types of Intellectual Property Rights. The commercial exploitation of the material contained in this specification requires a license to such Intellectual Property Rights.
This specification may be utilized or reproduced without any modification, in any form or by any means, for informational purposes only. For any other purpose, no part of the specification may be utilized or reproduced, in any form or by any means, without permission in writing from the publisher.
The AUTOSAR specifications have been developed for automotive applications only.
They have neither been developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Advice for users
AUTOSAR specifications may contain exemplary items (exemplary reference models, "use cases", and/or references to exemplary technical solutions, devices, processes or software).
Any such exemplary items are contained in the specifications for illustration purposes only, and they themselves are not part of the AUTOSAR Standard. Neither their presence in such specifications, nor any later documentation of AUTOSAR conformance of products actually implementing such exemplary items, imply that intellectual property rights covering such exemplary items are licensed under the same rules as applicable to the AUTOSAR Standard.
3 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Table of Contents
Related standards and norms ..................................................................... 12
Indexing scheme for Ethernet controller ............................................... 22
Indexing scheme for Ethernet switches ................................................ 23
Ethernet Interface main function ........................................................... 24
Configuration description ...................................................................... 24
Extended Production Errors .................................................................. 26
EthIf_SetControllerMode ....................................................................... 29
EthIf_GetControllerMode ...................................................................... 29
EthIf_SetTransceiverMode ................................................................... 30
EthIf_GetTransceiverMode ................................................................... 31
EthIf_ SetTransceiverWakeupMode ..................................................... 32
4 of 77
EthIf_ GetTransceiverWakeupMode ..................................................... 33
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
EthIf_ CheckWakeup ............................................................................ 34
EthIf_GetPhysAddr ............................................................................... 34
EthIf_SetPhysAddr ............................................................................ 35
EthIf_UpdatePhysAddrFilter .............................................................. 36
EthIf_GetPortMacAddr ....................................................................... 37
EthIf_GetArlTable .............................................................................. 38
EthIf_GetBufferLevel ......................................................................... 39
EthIf_GetDropCount .......................................................................... 40
EthIf_StoreConfiguration ................................................................... 40
EthIf_ResetConfiguration ................................................................... 41
EthIf_GetCurrentTime ........................................................................ 42
EthIf_EnableEgressTimeStamp ......................................................... 43
EthIf_GetEgressTimeStamp .............................................................. 43
EthIf_GetIngressTimeStamp ............................................................. 44
EthIf_SetCorrectionTime ................................................................... 45
EthIf_SetGlobalTime.......................................................................... 46
EthIf_ProvideTxBuffer ........................................................................ 47
EthIf_GetVersionInfo ......................................................................... 50
EthIf_TxConfirmation ............................................................................ 51
EthIf_CtrlModeIndication ....................................................................... 52
EthIf_TrcvModeIndication ..................................................................... 53
EthIf_MainFunctionRx ........................................................................... 53
EthIf_MainFunctionTx ........................................................................... 54
Mandatory Interfaces ............................................................................ 54
Configurable interfaces ......................................................................... 55
Containers and configuration parameters ................................................ 63
EthIfFrameOwnerConfig .................................................................... 73
EthIfRxIndicationConfig ..................................................................... 74
EthIfTrcvLinkStateChgConfig ............................................................ 75
5 of 77
EthIfTxConfirmationConfig ................................................................. 75
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
6 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Known Limitations
Currently, chapter 5 Dependencies to other modules does not describe the versions
of dependent modules. Thus, a version check will extend the chapter.
7 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
1 Introduction and functional overview
This specification specifies the functionality, API and the configuration of the
AUTOSAR Basic Software module Ethernet Interface.
In the AUTOSAR Layered Software Architecture, the Ethernet Interface belongs to the ECU Abstraction Layer, or more precisely, to the Communication Hardware
Abstraction.
This indicates the main task of the Ethernet Interface:
Provide to upper layers a hardware independent interface to the Ethernet
Communication System comprising multiple different Ethernet controllers and transceivers. This interface shall be uniform for all Ethernet controllers and transceivers. Thus, the upper layers (TCP/IP, EthSM, CDD) may access the underlying bus system in a uniform manner.
The Ethernet Interface does not directly access the Ethernet hardware (Ethernet
Communication Controller and Ethernet Transceiver) but by means of one or more hardware-specific driver modules.
[SWS_EthIf_00111]
⌈
In order to access the Ethernet controller(s), the Ethernet Interface shall use one or multiple Ethernet Driver modules, which abstract the specific features and interfaces of the respective Ethernet controller(s).
⌋ ()
[SWS_EthIf_00123]
⌈
In order to access the Ethernet transceiver(s), the Ethernet Interface shall use one or multiple Ethernet Transceiver Driver modules, which abstract the specific features and interfaces of the respective Ethernet transceiver(s).
⌋ ()
[SWS_EthIf_00228]
⌈
In order to access the Ethernet switch(es), the Ethernet Interface shall use one or multiple Ethernet Switch Driver modules, which abstract the specific features and interfaces of the respective Ethernet switch(es).
⌋ ()
[SWS_EthIf_00112]
⌈
Therefore, the Ethernet Interface executable code (however, not the configuration used during runtime) shall be completely independent of the Ethernet
Communication Controller(s).
⌋ ()
8 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
TCP/IP EthSM
EthIf
CDD
Eth EthTrcv EthSwt
Figure 1: Ethernet stack module overview
Note: The Ethernet Interface is specified in a way that allows for object code delivery of the code module, following the "one-fits-all" principle, i.e. the entire configuration of the Ethernet Interface can be carried out without modifying any source code. Thus, the configuration of the Ethernet Interface can be carried out largely without detailed knowledge of the underlying hardware.
9 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
2 Acronyms and abbreviations
Abbreviation /
Acronym:
Description:
Eth
EthIf
EthSM
EthTrcv
IP
MCG
MII
TCP
TCP/IP Stack
VLAN
Ethernet Controller Driver (AUTOSAR BSW module)
Ethernet Interface (AUTOSAR BSW module)
Ethernet State Manager (AUTOSAR BSW module)
Ethernet Transceiver Driver (AUTOSAR BSW module)
Internet Protocol
Module Configuration Generator
Media Independent Interface (standardized Interface provided by
Ethernet controllers to access Ethernet transceivers)
Transmission Control Protocol
Ethernet communication stack
Virtual Local Area Network
10 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
3 Related documentation
3.1 Input documents
[1] List of Basic Software Modules
AUTOSAR_TR_BSWModuleList.pdf
[2] Layered Software Architecture
AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
[3] General Requirements on Basic Software Modules
AUTOSAR_SRS_BSWGeneral.pdf
[4] Requirements on Ethernet Support in AUTOSAR
AUTOSAR_SRS_Ethernet.pdf
[5] Specification of Ethernet Driver
AUTOSAR_SWS_EthernetDriver.pdf
[6] Specification of Ethernet State Manager
AUTOSAR_SWS_EthernetStateManager.pdf
[7] Specification of Ethernet Transceiver Driver
AUTOSAR_SWS_EthernetTransceiver.pdf
[8] Specification of TCP/IP
AUTOSAR_SWS_TcpIp.pdf
[9] Specification of PDU Router
AUTOSAR_SWS_PDURouter.pdf
[10] BSW Scheduler Specification
AUTOSAR_SWS_Scheduler.pdf
[11] Specification of ECU Configuration
AUTOSAR_TPS_ECUConfiguration.pdf
[12] Specification of Memory Mapping
AUTOSAR_SWS_MemoryMapping.pdf
[13] Specification of Standard Types
AUTOSAR_SWS_StandardTypes.pdf
[14] Specification of Default Error Tracer
AUTOSAR_SWS_DefaulttErrorTracer.pdf
[15] Specification of Diagnostics Event Manager
AUTOSAR_SWS_DiagnosticEventManager
11 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[16] Specification of C Implementation Rules
AUTOSAR_TR_CImplementationRules.pdf
[17] Specification of ECU State Manager
AUTOSAR_SWS_ECUStateManager.pdf
[18] Specification of ECU State Manager Fix
AUTOSAR_SWS_ECUStateManagerFixed.pdf
[19] General Specification of Basic Software Modules
AUTOSAR_SWS_BSWGeneral.pdf
3.2 Related standards and norms
[20] IEC 7498-1 The Basic Model, IEC Norm, 1994
[21] IEEE 802.3-2006
[22] IEEE 802.1Q-2011
3.3 Related specification
AUTOSAR provides a General Specification on Basic Software modules [20] (SWS
BSW General), which is also valid for Ethernet Interface.
Thus, the specification SWS BSW General shall be considered as additional and required specification for Ethernet Interface.
12 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
4 Constraints and assumptions
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
4.1 Limitations
The Ethernet Interface module is only able to handle a single thread of execution.
The execution must not be pre-empted by itself.
The Ethernet Interface is conceptually able to access one or more Ethernet Driver and one or more Ethernet Transceiver Driver.
It is not possible to transmit data which exceeds the available buffer size of the used
Ethernet controller. Longer data has to be transmitted using the Internet Protocol (IP) or Transmission Control Protocol (TCP).
4.2 Applicability to car domains
The Ethernet BSW stack is intended to be used wherever high data rates are
required but no hard real-time is required. Of course, it can also be used for lessdemanding use cases, i.e. for low data rates.
13 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
5 Dependencies to other modules
This chapter lists the modules interacting with the Ethernet Interface module.
Modules that use Ethernet Interface module:
Ethernet Communication Stack (TCP/IP Stack)
Ethernet State Manager (EthSM)
Modules used by the Ethernet Interface module:
Dependencies to other Modules:
The Ethernet Interface module doesn’t take care of configuring Ethernet Driver but requires its preceding initialization and configuration.
The Ethernet Interface module doesn’t take care of configuring Ethernet
Transceiver Driver but requires its preceding initialization and configuration.
[SWS_EthIf_00225]
⌈
The EthIf shall include the following header file:
- EthSwt_<vendorID>_<Vendor specific name><driver abbreviation>.h for services and type definitions of the EthSwt (e.g.: EthSwt_99_Ext1.h).
⌋
(SRS_BSW_00436)
[SWS_EthIf_00226]
⌈
The EthIf shall include the following header files which contain the configuration data used by the EthIf:
- EthSwt_<vendorID>_<Vendor specific name><driver abbreviation>_Cfg.h for configuration data of the EthSwt (e.g.: EthSwt_99_Ext1_Cfg.h).
⌋
(SRS_BSW_00436)
5.1 File structure
5.1.1 Header file structure
SchM_EthIf.h
Eth.h
EthTrcv_< vi >_<ai>.h
EthSwt_< vi >_<ai>.h
14 of 77
Det.h
EthIf_MemMap.h
EthIf.c
- AUTOSAR confidential -
EthIf.h
ComStack_Types.h
Eth_GeneralTypes.h
EthIf_Cfg.h
EthIf_Types.h
includes
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Dem.h includes
(if default error detection is swiched on)
<vi> … Vendor ID
<ai> … Vendor API infix
Figure 2: Ethernet Interface file structure
15 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
6 Requirements traceability
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Requirement
16 of 77
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Description Satisfied by
SWS_EthIf_00003
SWS_EthIf_00004
SWS_EthIf_00005
SWS_EthIf_00006
SWS_EthIf_00007
SWS_EthIf_00008
SWS_EthIf_00009
SWS_EthIf_00010
SWS_EthIf_00011
SWS_EthIf_00012
SWS_EthIf_00013
SWS_EthIf_00014
SWS_EthIf_00017
SWS_EthIf_00023
SWS_EthIf_00024
SWS_EthIf_00025
SWS_EthIf_00027
SWS_EthIf_00034
SWS_EthIf_00035
SWS_EthIf_00036
SWS_EthIf_00037
SWS_EthIf_00038
SWS_EthIf_00039
SWS_EthIf_00040
SWS_EthIf_00041
SWS_EthIf_00042
SWS_EthIf_00043
SWS_EthIf_00044
SWS_EthIf_00050
SWS_EthIf_00051
SWS_EthIf_00052
SWS_EthIf_00053
SWS_EthIf_00054
SWS_EthIf_00055
SWS_EthIf_00056
SWS_EthIf_00057
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
17 of 77
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
SWS_EthIf_00058
SWS_EthIf_00059
SWS_EthIf_00060
SWS_EthIf_00061
SWS_EthIf_00062
SWS_EthIf_00063
SWS_EthIf_00064
SWS_EthIf_00065
SWS_EthIf_00066
SWS_EthIf_00067
SWS_EthIf_00068
SWS_EthIf_00069
SWS_EthIf_00070
SWS_EthIf_00071
SWS_EthIf_00072
SWS_EthIf_00073
SWS_EthIf_00074
SWS_EthIf_00075
SWS_EthIf_00076
SWS_EthIf_00077
SWS_EthIf_00078
SWS_EthIf_00079
SWS_EthIf_00080
SWS_EthIf_00081
SWS_EthIf_00082
SWS_EthIf_00085
SWS_EthIf_00086
SWS_EthIf_00087
SWS_EthIf_00088
SWS_EthIf_00089
SWS_EthIf_00090
SWS_EthIf_00091
SWS_EthIf_00092
SWS_EthIf_00093
SWS_EthIf_00094
SWS_EthIf_00095
SWS_EthIf_00096
SWS_EthIf_00097
SWS_EthIf_00098
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
18 of 77
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
SWS_EthIf_00099
SWS_EthIf_00100
SWS_EthIf_00101
SWS_EthIf_00102
SWS_EthIf_00103
SWS_EthIf_00104
SWS_EthIf_00105
SWS_EthIf_00106
SWS_EthIf_00107
SWS_EthIf_00108
SWS_EthIf_00109
SWS_EthIf_00111
SWS_EthIf_00112
SWS_EthIf_00113
SWS_EthIf_00114
SWS_EthIf_00116
SWS_EthIf_00117
SWS_EthIf_00118
SWS_EthIf_00123
SWS_EthIf_00124
SWS_EthIf_00127
SWS_EthIf_00128
SWS_EthIf_00129
SWS_EthIf_00130
SWS_EthIf_00132
SWS_EthIf_00134
SWS_EthIf_00135
SWS_EthIf_00136
SWS_EthIf_00137
SWS_EthIf_00138
SWS_EthIf_00139
SWS_EthIf_00140
SWS_EthIf_00141
SWS_EthIf_00142
SWS_EthIf_00143
SWS_EthIf_00144
SWS_EthIf_00145
SWS_EthIf_00146
SWS_EthIf_00147
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
19 of 77
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
SWS_EthIf_00149
SWS_EthIf_00150
SWS_EthIf_00151
SWS_EthIf_00152
SWS_EthIf_00153
SWS_EthIf_00154
SWS_EthIf_00155
SWS_EthIf_00156
SWS_EthIf_00157
SWS_EthIf_00158
SWS_EthIf_00159
SWS_EthIf_00160
SWS_EthIf_00161
SWS_EthIf_00162
SWS_EthIf_00164
SWS_EthIf_00165
SWS_EthIf_00166
SWS_EthIf_00167
SWS_EthIf_00168
SWS_EthIf_00169
SWS_EthIf_00170
SWS_EthIf_00171
SWS_EthIf_00172
SWS_EthIf_00173
SWS_EthIf_00174
SWS_EthIf_00175
SWS_EthIf_00176
SWS_EthIf_00177
SWS_EthIf_00178
SWS_EthIf_00179
SWS_EthIf_00180
SWS_EthIf_00181
SWS_EthIf_00182
SWS_EthIf_00183
SWS_EthIf_00184
SWS_EthIf_00185
SWS_EthIf_00186
SWS_EthIf_00187
SWS_EthIf_00188
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
20 of 77
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
SWS_EthIf_00189
SWS_EthIf_00190
SWS_EthIf_00191
SWS_EthIf_00192
SWS_EthIf_00193
SWS_EthIf_00194
SWS_EthIf_00195
SWS_EthIf_00196
SWS_EthIf_00197
SWS_EthIf_00198
SWS_EthIf_00199
SWS_EthIf_00200
SWS_EthIf_00201
SWS_EthIf_00202
SWS_EthIf_00203
SWS_EthIf_00204
SWS_EthIf_00205
SWS_EthIf_00206
SWS_EthIf_00207
SWS_EthIf_00208
SWS_EthIf_00209
SWS_EthIf_00210
SWS_EthIf_00211
SWS_EthIf_00212
SWS_EthIf_00213
SWS_EthIf_00214
SWS_EthIf_00215
SWS_EthIf_00216
SWS_EthIf_00217
SWS_EthIf_00218
SWS_EthIf_00219
SWS_EthIf_00220
SWS_EthIf_00221
SWS_EthIf_00222
SWS_EthIf_00223
SWS_EthIf_00224
SWS_EthIf_00228
SWS_EthIf_00229
SWS_EthIf_00230
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
SRS_BSW_00436 -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
SWS_EthIf_00231
SWS_EthIf_00232
SWS_EthIf_00233
SWS_EthIf_00234
SWS_EthIf_00235
SWS_EthIf_00236
SWS_EthIf_00238
SWS_EthIf_00239
SWS_EthIf_00240
SWS_EthIf_00241
SWS_EthIf_00242
SWS_EthIf_00243
SWS_EthIf_00244
SWS_EthIf_00246
SWS_EthIf_00247
SWS_EthIf_00248
SWS_EthIf_00250
SWS_EthIf_00252
SWS_EthIf_00253
SWS_EthIf_00225,
SWS_EthIf_00226
SRS_Eth_00106 The Ethernet Transceiver Driver shall switch on/off wake up functionality at pre compile time.
SWS_EthIf_00237,
SWS_EthIf_00245,
SWS_EthIf_00249
21 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
7 Functional specification
7.1 Ethernet BSW stack
As part of the AUTOSAR Layered Software Architecture according to [2], the
Ethernet BSW modules also form a layered software stack. Figure 3 depicts the
basic structure of this Ethernet BSW stack. The Ethernet Interface module accesses several Ethernet controllers using the Ethernet Driver layer, which can be made up of several Ethernet Drivers modules.
Figure 3: Basic Structure of the Ethernet BSW stack
7.1.1 Indexing scheme for Ethernet controller
Users of the Ethernet Interface identify Ethernet controller resources using an
indexing scheme as depicted in Figure 4.
22 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Figure 4: Ethernet Interface controller indexing scheme
[SWS_EthIf_00003]
⌈
The Ethernet Interface is using an index (EthIfCtrlIdx) to abstract the access to
VLANs from the underlying communication system compromised of Ethernet
Controller and Ethernet Transceiver.
Therefore the Ethernet Interface shall implement a mapping from Ethernet Interface controllers (EthIfCtrlIdx) to respective hardware ressource controllers (EthCtrlId +
EthTrcvId).
⌋ ()
7.1.2 Indexing scheme for Ethernet switches
The EthIf introduces a indexing scheme for EthSwtes. All managed EthSwtes are collected in the EthIfSwitch configuration container. Each EthSwt is given a zerobased consecutive configuration index in the configuration of the EthIf by the parameter EthIfSwitchIdx.
Each EthSwt driver configuration keeps an own zero-based configuration index locally and the EthIf translates the EthIfSwitchIdx to the respective EthSwtIdx value.
[SWS_EthIf_00224]
⌈
The EthIf shall dispatch all accesses by the EthIfSwitchIdx index to the respective
EthSwt driver module with the EthSwtIdx value
⌋ ()
Since the EthIf is not concerned with the individual EthSwtPorts which belong to the individual EthSwtes there is no indexing scheme for EthSwtPorts required in the
EthIf. Any BSW module which interacts with EthSwtPorts can directly refer to the
ECU configuration of the EthSwtPort for the indexing.
23 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
7.1.3 Ethernet Interface main function
[SWS_EthIf_00004]
⌈
The Ethernet Interface shall implement main functions to be used for frame transmission confirmation and frame reception in polling mode with a calling period configurable at system configuration time.
⌋()
7.1.4 Requirements
This chapter lists requirements that shall be fulfilled by Ethernet Interface module implementations.
The Ethernet Interface module environment comprises all modules which are calling interfaces of the Ethernet Interface module.
[SWS_EthIf_00005]
⌈
The Ethernet Interface module shall support pre-compile time, link time and postbuild time configuration.
⌋()
[SWS_EthIf_00006]
⌈
The header file EthIf.h shall include a software and specification version number.
⌋()
[SWS_EthIf_00007]
⌈
The Ethernet Interface module shall perform a consistency check between code files and header files based on pre-process-checking the version numbers of related code files and header files.
⌋()
[SWS_EthIf_00008]
⌈
In case default error detection is enabled for the Ethernet Interface module: The
Ethernet Interface module shall check API parameters for validity and report detected errors to the DET.
⌋()
DET API functions are specified in [14].
[SWS_EthIf_00009]
⌈
The Ethernet Interface module implementation shall conform to the HIS subset of the
MISRA C Standard (see document [16]).
⌋()
[SWS_EthIf_00010]
⌈
The Ethernet Interface module shall implement the API functions specified by the
Ethernet Interface SWS as real C-code functions and shall not implement the API as macros for object code deliveries.
⌋()
[SWS_EthIf_00011]
⌈
None of the Ethernet Interface module header files shall define global variables.
⌋()
7.1.5 Configuration description
[SWS_EthIf_00012]
⌈
24 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
The Ethernet Interface module shall provide an XML file that contains the data, which is required for the SW identification (it shall contain the vendor identification, module
ID and software version information), configuration and integration process. This file should describe vendor specific configuration parameters as well as it should contain recommended configuration parameter values.
⌋()
[SWS_EthIf_00117]
⌈
The MCG shall read the ECU configuration description of the Ethernet Driver and the
Ethernet Interface module(s). While cluster related configuration parameters are contained in the Ethernet Interface module configuration description, Ethernet Driver related configuration data is contained in the Ethernet Driver module configuration description. The Ethernet Interface module specific configuration tool shall read both
ECU module descriptions to derive the configuration data for all Ethernet Drivers mapped to the Ethernet Interface module.
⌋()
[SWS_EthIf_00118]
⌈
The MCG shall ensure the consistency of the generated configuration data.
⌋()
[SWS_EthIf_00013]
⌈
The configuration of the Ethernet Interface module shall be configured at ECU configuration time. None of the communication parameters shall be configured at runtime.
⌋()
[SWS_EthIf_00014]
⌈
The start address of post-build time configuration data shall be passed during module
initialization (see chapter 8.3.1).
⌋()
An assignment of those configuration classes to configuration parameters can be
A detailed description of all Ethernet Interface related configuration parameters can
be found in chapter 10 of this document. Additionally, the configuration description of
the Ethernet Driver (see chapter 10 of [5] ) shall be evaluated for Ethernet Interface
module configuration.
7.1.6 VLAN support
[SWS_EthIf_00128]
⌈
The Ethernet Interface shall support Virtual Local Area Networks (VLAN).
⌋()
[SWS_EthIf_00129]
⌈
The Ethernet Interface shall encapsulate Virtual Local Area Networks (VLAN) into virtual controllers (Ethernet Interface controller) representing a dedicated VLAN.
All BSW modules above the Ethernet Interface shall interact based on those virtual controllers.
The Ethernet Driver and Transceiver deal only with real controllers and are not aware of the existence of virtual controllers.
Caveat: if no VLAN ID is set the virtual controller represents the untagged VLAN.
⌋()
25 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00130]
⌈
The Ethernet Interface shall use the buffers provided by the Ethernet Driver for VLAN support.
⌋()
7.1.7 Wake up support
The Ethernet Interface supports wake up depending on the parameter
EthIfWakeUpSupport.
Note: Enabling wake-up support in EthIf makes only sense if the underlying EthTrcv supports also wake up.
7.2 Error classification
7.2.1 Default Errors
[SWS_EthIf_00017]
⌈
Type or error Relevance Related error code Value [hex]
Invalid controller index Default Error ETHIF_E_INV_CTRL_IDX 0x01
Invalid transceiver index Default Error ETHIF_E_INV_TRCV_IDX 0x02
EthIf module was not initialized
Default Error ETHIF_E_NOT_INITIALIZED 0x03
Default Error ETHIF_E_PARAM_POINTER 0x04 Invalid pointer in parameter list
Invalid parameter
Initialization failure
⌋()
Default Error ETHIF_E_INV_PARAM
Default Error ETHIF_E_INIT_FAILED
0x05
0x06
7.2.2 Runtime Errors
There are no runtime errors.
7.2.3 Transient Faults
There are no transient faults.
7.2.4 Production Errors
There are no production errors.
7.2.1 Extended Production Errors
There are no extended production errors.
26 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
8 API specification
8.1 Imported types
This chapter lists all types included from the following files:
[SWS_EthIf_00023]
⌈
Module Imported Type
ComStack_Types BufReq_ReturnType
Dem Dem_EventIdType
EcuM
Dem_EventStatusType
EcuM_WakeupSourceType
EthSwt EthSwt_MacVlanType
Eth_GeneralTypes EthTrcv_BaudRateType
EthTrcv_DuplexModeType
EthTrcv_LinkStateType
EthTrcv_ModeType
EthTrcv_WakeupModeType
Eth_BufIdxType
Eth_DataType
Eth_FilterActionType
Eth_FrameType
Eth_ModeType
Eth_RateRatioType
Std_Types
Eth_RxStatusType
Eth_TimeIntDiffType
Eth_TimeStampQualType
Eth_TimeStampType
Std_ReturnType
Std_VersionInfoType
⌋()
8.2 Type definitions
[SWS_EthIf_00152]
⌈
EthIf.h shall include Eth_GeneralTypes.h for the include of general Eth type declarations.
⌋()
[SWS_EthIf_00153]
⌈
The types specified in SWS_EthernetInterface shall be declared in
Eth_GeneralTypes.h.
⌋()
8.2.1 EthIf_ConfigType
[SWS_EthIf_00149]
⌈
Name:
EthIf_ConfigType
Type:
Structure
Range:
Implementation specific.
27 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Implementation specific structure of the post build configuration
Description:
⌋()
8.2.2 EthIf_StateType
[SWS_EthIf_00150]
⌈
Name:
EthIf_StateType
Type:
Enumeration
Range:
ETHCTRL_STATE_INIT
0x01: Ethernet Interface is configured
Description:
Status supervision used for Development Error Detection. The state shall be available for debugging.
⌋()
8.3 Function definitions
This is a list of functions provided for upper layer modules.
8.3.1 EthIf_Init
[SWS_EthIf_00024]
⌈
Service name:
Syntax:
EthIf_Init void
) const EthIf_ConfigType*
EthIf_Init(
CfgPtr
Service ID[hex]:
0x01
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant
Parameters (in):
CfgPtr Points to the implementation specific structure
Parameters
(inout):
None
Parameters (out):
None
Return value:
None
Description:
Initializes the Ethernet Interface
⌋()
[SWS_EthIf_00025]
⌈
The function shall store the access to the configuration structure for subsequent API calls.
⌋()
[SWS_EthIf_00114]
⌈
The function shall change the state of the component from ETHIF_STATE_UNINIT to
ETHIF_STATE_INIT.
⌋()
[SWS_EthIf_00116]
⌈
If default error detection is enabled: the function shall check the parameter CfgPtr for containing a valid configuration. If the check fails, the function shall raise the default error ETHIF_E_INIT_FAILED.
⌋()
[SWS_EthIf_00027]
⌈
28 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Caveat: The API has to be called during initialization.
⌋()
8.3.2 EthIf_SetControllerMode
[SWS_EthIf_00034]
⌈
Service name:
Syntax:
EthIf_SetControllerMode
Std_ReturnType
) uint8
Eth_ModeType
EthIf_SetControllerMode(
CtrlIdx,
CtrlMode
Service ID[hex]:
0x03
Sync/Async:
Reentrancy:
Asynchronous
Non Reentrant
CtrlIdx
Parameters (in):
CtrlMode
Index of the Ethernet controller within the context of the Ethernet
Interface
ETH_MODE_DOWN: disable
ETH_MODE_ACTIVE: enable the controller the controller
Parameters
(inout):
None
Parameters (out):
None
Return value:
Std_ReturnType E_OK:
E_NOT_OK: controller mode could not be changed success
Description:
⌋()
Enables / disables the indexed controller
[SWS_EthIf_00035]
⌈
The function EthIf_SetControllerMode shall forward the call to function
Eth_SetControllerMode of the respective Ethernet Controller Driver.
⌋()
[SWS_EthIf_00036]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00037]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00038]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.3 EthIf_GetControllerMode
[SWS_EthIf_00039]
⌈
Service name:
Syntax:
EthIf_GetControllerMode
Std_ReturnType
) uint8
Eth_ModeType*
29 of 77
EthIf_GetControllerMode(
CtrlIdx,
CtrlModePtr
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Service ID[hex]:
0x04
Sync/Async:
Reentrancy:
Parameters (in):
Synchronous
Non Reentrant
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters
(inout):
None
Parameters (out):
Return value:
CtrlModePtr ETH_MODE_DOWN: the controller
ETH_MODE_ACTIVE: the controller is enabled
Std_ReturnType E_OK:
E_NOT_OK: controller could not be initialized is disabled success
Description:
⌋()
Obtains the state of the indexed controller
[SWS_EthIf_00040]
⌈
The function EthIf_GetControllerMode shall forward the call to function
Eth_GetControllerMode of the respective Ethernet Controller Driver.
⌋()
[SWS_EthIf_00041]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00042]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00043]
⌈
If default error detection is enabled: the function shall check the parameter
CtrlModePtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00044]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.4 EthIf_SetTransceiverMode
[SWS_EthIf_00050]
⌈
Service name:
Syntax:
EthIf_SetTransceiverMode
Std_ReturnType uint8
EthTrcv_ModeType
EthIf_SetTransceiverMode(
CtrlIdx,
TrcvMode
)
Service ID[hex]:
0x06
Sync/Async:
Reentrancy:
Asynchronous
Non Reentrant
CtrlIdx
Parameters (in):
TrcvMode
Index of the Ethernet controller within the context of the Ethernet
Interface
ETHTRCV_MODE_DOWN: disable the
ETHTRCV_MODE_ACTIVE: enable the transceiver transceiver
Parameters
None
30 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
(inout):
Parameters (out):
None
Return value:
Std_ReturnType E_OK:
E_NOT_OK: transceiver mode could not be changed success
Description:
Enable / disable the indexed transceiver
⌋()
[SWS_EthIf_00051]
⌈
The function EthIf_SetTransceiverMode shall forward the call to function
EthTrcv_SetTransceiverMode of the respective Ethernet Transceiver Driver.
⌋()
[SWS_EthIf_00052]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00053]
⌈
If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00054]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.5 EthIf_GetTransceiverMode
[SWS_EthIf_00055]
⌈
Service name:
Syntax:
EthIf_GetTransceiverMode
Std_ReturnType
) uint8
EthTrcv_ModeType*
EthIf_GetTransceiverMode(
CtrlIdx,
TrcvModePtr
Service ID[hex]:
0x07
Sync/Async:
Synchronous
Reentrancy:
Parameters (in):
Non Reentrant
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters
(inout):
None
Parameters (out):
TrcvModePtr ETHTRCV_MODE_DOWN: the transceiver is disabled
ETHTRCV_MODE_ACTIVE: the transceiver is enabled
Return value:
Std_ReturnType E_OK:
E_NOT_OK: transceiver mode could not be obtained success
Description:
Obtain state of the indexed transceiver
⌋()
[SWS_EthIf_00056]
⌈
The function EthIf_GetTransceiverMode shall forward the call to function
EthTrcv_GetTransceiverMode of the respective Ethernet Transceiver Driver.
⌋()
[SWS_EthIf_00057]
⌈
31 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00058]
⌈
If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00059]
⌈
If default error detection is enabled: the function shall check the parameter
TrcvModePtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00060]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.6 EthIf_ SetTransceiverWakeupMode
[SWS_EthIf_00233]
⌈
Service name:
Syntax:
EthIf_SetTransceiverWakeupMode
Std_ReturnType EthIf_SetTransceiverWakeupMode( uint8 TrcvIdx,
EthTrcv_WakeupModeType TrcvWakeupMode
)
Service ID[hex]:
0x2e
Sync/Async:
Synchronous
Reentrancy:
Parameters (in):
Non Reentrant
TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
TrcvWakeupMode ETHTRCV_WUM_DISABLE: disable transceiver wake up
ETHTRCV_WUM_ENABLE: enable transceiver wake up
ETHTRCV_WUM_CLEAR: clears transceiver wake up reason
Parameters
(inout):
None
Parameters (out):
None
Return value:
Std_ReturnType E_OK: success
E_NOT_OK: transceiver wake up could not be changed or wake-up reason could not be cleared
Description:
Enables / disables the wake up mode or clear the wake-up reason of the indexed transceiver
⌋()
[SWS_EthIf_00234]
⌈
The function EthIf_SetTransceiverWakeupMode shall forward the call to function
EthTrcv_SetTransceiverWakeupMode of the respective Ethernet Transceiver Driver.
⌋()
[SWS_EthIf_00235]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
32 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00236]
⌈
If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00237]
⌈
The function shall be pre compile time configurable On/Off by the configuration parameter EthIfWakeUpSupport.
⌋(SRS_Eth_00106)
8.3.7 EthIf_ GetTransceiverWakeupMode
[SWS_EthIf_00238]
⌈
Service name:
Syntax:
EthIf_GetTransceiverWakeupMode
Std_ReturnType EthIf_GetTransceiverWakeupMode( uint8
EthTrcv_WakeupModeType*
TrcvIdx,
TrcvWakeupModePtr
)
Service ID[hex]:
0x2f
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant
Parameters (in):
TrcvIdx Index of the transceiver within the context of the Ethernet
Interface
Parameters
(inout):
None
Parameters (out):
Return value:
TrcvWakeupModePtr ETHTRCV_WUM_DISABLE: transceiver wake up is disabled
ETHTRCV_WUM_ENABLE: transceiver wake up is enabled
Std_ReturnType E_NOT_OK: transceiver wake up mode could not be obtained
Description:
Returns the wake up mode of the indexed transceiver
⌋()
[SWS_EthIf_00239]
⌈
The function EthIf_GetTransceiverWakeupMode shall forward the call to function
EthTrcv_GetTransceiverWakeupMode of the respective Ethernet Transceiver Driver.
⌋()
[SWS_EthIf_00240]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00241]
⌈
If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00242]
⌈
If default error detection is enabled: the function shall check the parameter
TrcvWakeupModePtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_INV_POINTER otherwise (if DET is disabled) return
E_NOT_OK.
⌋()
33 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00243]
⌈
The function shall be pre compile time configurable On/Off by the configuration parameter EthIfGetTransceiverWakeupModeApi.
⌋()
8.3.8 EthIf_ CheckWakeup
[SWS_EthIf_00244]
⌈
Service name:
Syntax:
EthIf_CheckWakeup
Std_ReturnType
)
EcuM_WakeupSourceType
EthIf_CheckWakeup(
WakeupSource
Service ID[hex]:
0x30
Sync/Async:
Reentrancy:
Asynchronous
Reentrant
Parameters (in):
WakeupSource source (transceiver) which initiated the wake up event
Parameters
(inout):
None
Parameters (out):
None
Return value:
Std_ReturnType E_OK when function has been successfully executed
E_NOT_OK when function could not be successfully executed
Description:
Service is called by integration code to check a wakeup source.
⌋()
[SWS_EthIf_00245]
⌈
The function EthIf_CheckWakeup shall forward the call to function
EthTrcv_CheckWakeup of the respective Ethernet Transceiver Driver.
⌋(
SRS_Eth_00106)
[SWS_EthIf_00246]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00247]
⌈
If default error detection is enabled: the function shall check the parameter
WakeupSource for being valid. If the check fails, the function shall raise the default error ETHIF_E_INV_PARAM otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00248]
⌈
The function EthIf_CheckWakeup() shall be pre-compile time configurable On/Off by the configuration parameter EthIfWakeUpSupport.
⌋()
[SWS_EthIf_00249]
⌈
Caveat: The function EthIf_CheckWakeup() requires previous transceiver initialization (EthIf_Init).
⌋(SRS_Eth_00106)
8.3.9 EthIf_GetPhysAddr
[SWS_EthIf_00061]
⌈
Service name:
EthIf_GetPhysAddr
34 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Syntax:
void
) uint8 uint8*
EthIf_GetPhysAddr(
CtrlIdx,
PhysAddrPtr
Service ID[hex]:
0x08
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant
Parameters (in):
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters
(inout):
None
Parameters (out):
PhysAddrPtr Physical source address (MAC address) in network byte order.
Return value:
None
Description:
Obtains the physical source address used by the indexed controller
⌋()
[SWS_EthIf_00062]
⌈
The function EthIf_GetPhysAddr shall forward the call to the respective Ethernet
Controller Driver.
⌋()
[SWS_EthIf_00063]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00064]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00065]
⌈
If default error detection is enabled: the function shall check the parameter
PhysAddrPtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00066]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.10 EthIf_SetPhysAddr
[SWS_EthIf_00132]
⌈
Service name:
Syntax:
EthIf_SetPhysAddr void
) const uint8 uint8*
EthIf_SetPhysAddr(
CtrlIdx,
PhysAddrPtr
Service ID[hex]:
0x0d
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant for the same CtrlIdx, reentrant for different
Parameters (in):
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Driver.
PhysAddrPtr Pointer to memory containing the physical source address (MAC address) in network byte order.
35 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Parameters
(inout):
None
Parameters (out):
None
Return value:
None
Description:
Sets the physical source address used by the indexed controller.
⌋()
[SWS_EthIf_00134]
⌈
The function EthIf_SetPhysAddr shall forward the call to the respective Ethernet
Controller Driver.
⌋()
[SWS_EthIf_00135]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00136]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00137]
⌈
If default error detection is enabled: the function shall check the parameter
PhysAddrPtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00138]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.11 EthIf_UpdatePhysAddrFilter
[SWS_EthIf_00139]
⌈
Service name:
Syntax:
EthIf_UpdatePhysAddrFilter
Std_ReturnType const uint8
EthIf_UpdatePhysAddrFilter( uint8*
Eth_FilterActionType
CtrlIdx,
PhysAddrPtr,
Action
)
Service ID[hex]:
0x0c
Sync/Async:
Synchronous
Reentrancy:
Non Reentrant for the same CtrlIdx, reentrant for different
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Driver.
Parameters (in):
PhysAddrPtr Pointer to memory containing the physical destination address
(MAC address) in network byte order. This is the multicast destination address of the layer 2 Ethernet packet.
Add or remove the address from the Ethernet controllers filter.
Parameters
(inout):
Action
None
Parameters (out):
None
Return value:
Description:
Std_ReturnType E_OK: filter was successfully
E_NOT_OK: filter could not be changed changed
Update the physical source address to/from the indexed controller filter. If the
36 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Ethernet Controller is not capable to do the filtering, the software has to do this.
⌋()
[SWS_EthIf_00140]
⌈
The function EthIf_SetPhysAddrFilter shall forward the call to the respective Ethernet
Controller Driver.
⌋()
[SWS_EthIf_00141]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00142]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00143]
⌈
If default error detection is enabled: the function shall check the parameter
PhysAddrPtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00144]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.12 EthIf_GetPortMacAddr
[SWS_EthIf_00190]
⌈
Service name:
Syntax:
EthIf_GetPortMacAddr
Std_ReturnType const
) uint8* uint8* uint8*
EthIf_GetPortMacAddr(
MacAddrPtr,
SwitchIdxPtr,
PortIdxPtr
Service ID[hex]:
0x28
Sync/Async:
Synchronous
Reentrancy:
Parameters (in):
Non Reentrant
MacAddrPtr MAC-address for which a switch port is searched over which the node with this MAC-address can be reached.
Parameters
(inout):
None
Parameters (out):
Return value:
SwitchIdxPtr Pointer to the switch index
PortIdxPtr Pointer to the port index
Std_ReturnType E_OK:
E_NOT_OK: switch port could not be initialized success
Description:
Obtains the port over which this MAC-address can be reached
⌋()
[SWS_EthIf_00191]
⌈
The function EthIf_GetPortMacAddr shall return the switch and port index over which the given MAC-address is reachable. If multiple or no ports are possible, this API call will return an error value. The API call will be forwarded to the Ethernet Switch Driver which shall have a corresponding API call.
⌋()
37 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00192]
⌈
The function EthIf_GetPortMacAddr shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetPortMacAddrApi.
⌋()
[SWS_EthIf_00193]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00194]
⌈
If default error detection is enabled: the function shall check the parameter
MacAddrPtr, SwitchIdxPtr and PortIdxPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00195]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.13 EthIf_GetArlTable
[SWS_EthIf_00196]
⌈
Service name:
Syntax:
EthIf_GetArlTable
Std_ReturnType
) uint8
EthSwt_MacVlanType[]*
EthIf_GetArlTable(
SwitchIdx,
ArlTable
Service ID[hex]:
0x29
Sync/Async:
Synchronous /Asynchronous
Reentrancy:
Parameters (in):
Non Reentrant
SwitchIdx Index of the switch within the context of the Ethernet Switch
Driver
Parameters
(inout):
None
Parameters (out):
ArlTable Returns the ARL table of the switch consisting of a list of structs with MAC-address, VLAN-ID and port.
Return value:
Std_ReturnType E_OK:
E_NOT_OK: switch port could not be initialized success
Description:
Obtains the address resolution table of a switch
⌋()
[SWS_EthIf_00197]
⌈
The function EthIf_GetArlTable shall return a list of structs with MAC-address, VLAN-
ID and port for the indexed switch.
⌋()
[SWS_EthIf_00198]
⌈
The function EthIf_GetArlTable shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetArlTable.
⌋()
[SWS_EthIf_00199]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
38 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00200]
⌈
If default error detection is enabled: the function shall check the parameter ArlTable for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00201]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.14 EthIf_GetBufferLevel
[SWS_EthIf_00202]
⌈
Service name:
Syntax:
EthIf_GetBufferLevel
Std_ReturnType
) uint8 uint32*
EthIf_GetBufferLevel(
SwitchIdx,
SwitchBufferLevelPtr
Service ID[hex]:
0x2a
Sync/Async:
Reentrancy:
Synchronous /Asynchronous
Non Reentrant
Parameters (in):
SwitchIdx Index of the switch within the context of the Ethernet
Switch Driver
Parameters
(inout):
None
Parameters (out):
SwitchBufferLevelPtr
Return value:
Std_ReturnType
The interpretation of this value is switch dependent
E_OK: success
E_NOT_OK: switch port could not be initialized
Description:
Reads the buffer level of the corresponding switch. Whether this buffer level is one value for the entire switch (shared memory) or one value for each port at a switch is technology dependent.
⌋()
[SWS_EthIf_00203]
⌈
The function EthIf_GetBufferLevel shall read the buffer level of the currently used buffer of the switch.
⌋()
[SWS_EthIf_00204]
⌈
The function EthIf_GetBufferLevel shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetBufferLevelApi.
⌋()
[SWS_EthIf_00205]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00206]
⌈
If default error detection is enabled: the function shall check the parameter
SwitchBufferLevelPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00207]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
39 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
8.3.15 EthIf_GetDropCount
[SWS_EthIf_00208]
⌈
Service name:
Syntax:
EthIf_GetDropCount
Std_ReturnType
) uint8 uint32[]*
EthIf_GetDropCount(
SwitchIdx,
DropCount
Service ID[hex]:
0x2b
Sync/Async:
Synchronous /Asynchronous
Reentrancy:
Parameters (in):
Non Reentrant
SwitchIdx Index of the switch within the context of the Ethernet
Switch Driver
Parameters
(inout):
None
Parameters (out):
DropCount
Return value:
Std_ReturnType
The interpretation of this list of values is switch dependent
E_OK:
E_NOT_OK: switch port could not be initialized success
Description:
Reads a list with drop counter values of the corresponding switch. The meaning of these values is switch dependent and can include values like 1.) dropped packets due to buffer overrun, 2.) dropped packets due to CRC errors, etc.
⌋()
[SWS_EthIf_00209]
⌈
The function EthIf_GetDropCount shall read a list of values of the switch.
⌋()
[SWS_EthIf_00210]
⌈
The function EthIf_GetDropCount shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetDropCount.
⌋()
[SWS_EthIf_00211]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00212]
⌈
If default error detection is enabled: the function shall check the parameter
DropCount for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00213]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.16 EthIf_StoreConfiguration
[SWS_EthIf_00214]
⌈
Service name:
Syntax:
EthIf_StoreConfiguration
Std_ReturnType
)
Service ID[hex]:
0x2c
Sync/Async:
Reentrancy:
Synchronous /Asynchronous
Non Reentrant
40 of 77 uint8
EthIf_StoreConfiguration(
SwitchIdx
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Parameters (in):
SwitchIdx Index of the switch within the context of the Ethernet Switch
Driver
Parameters
(inout):
None
Parameters (out):
None
Std_ReturnType
Return value:
E_OK: success
E_NOT_OK: switch port could not be initialized or unknown index
Description:
Stores the configuration of the learned MAC/Port tables of a switch in a persistent manner and will be used by e.g. CDD.
⌋()
[SWS_EthIf_00215]
⌈
The function EthIf_StoreConfiguration shall read a list of values of the switch.
⌋()
[SWS_EthIf_00216]
⌈
The function EthIf_StoreConfiguration shall be pre compile time configurable On/Off by the configuration parameter: EthIfStoreConfigurationApi.
⌋()
[SWS_EthIf_00217]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00218]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.17 EthIf_ResetConfiguration
[SWS_EthIf_00219]
⌈
Service name:
Syntax:
EthIf_ResetConfiguration
Std_ReturnType
) uint8
EthIf_ResetConfiguration(
SwitchIdx
Service ID[hex]:
0x2d
Sync/Async:
Reentrancy:
Synchronous /Asynchronous
Non Reentrant
Parameters (in):
SwitchIdx Index of the switch within the context of the Ethernet Switch
Driver
Parameters
(inout):
None
Parameters (out):
None
Return value:
Std_ReturnType E_OK:
E_NOT_OK: switch port could not be initialized success
Description:
Resets the configuration of the learned MAC/Port tables of a switch in a persistent manner and will be used by e.g. CDD. The statically configured entries shall still remain.
⌋()
[SWS_EthIf_00220]
⌈
The function EthIf_ResetConfiguration shall read a list of values of the switch.
⌋()
[SWS_EthIf_00221]
⌈
41 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
The function EthIf_ResetConfiguration shall be pre compile time configurable On/Off by the configuration parameter: EthIfResetConfigurationApi.
⌋()
[SWS_EthIf_00222]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00223]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.18 EthIf_GetCurrentTime
[SWS_EthIf_00154]
⌈
Service name:
Syntax:
EthIf_GetCurrentTime
Std_ReturnType uint8
Eth_TimeStampQualType*
Eth_TimeStampType*
)
EthIf_GetCurrentTime(
CtrlIdx, timeQualPtr, timeStampPtr
Service ID[hex]:
0x22
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant
Parameters (in):
CtrlIdx
Parameters
(inout):
None
Parameters (out):
Return value:
timeQualPtr timeStampPtr
Std_ReturnType
Index of the addresses ETH controller. quality of HW time stamp, e.g. based on current drift current time stamp
E_OK:
E_NOT_OK: failed successful
Description:
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_TimeStampType resolution resp. range, than an the remaining bits will be filled with 0.
⌋()
[SWS_EthIf_00155]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00156]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00157]
⌈
If default error detection is enabled: the function shall check the parameter timeQualPtr and timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00158]
⌈
42 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.
⌋()
[SWS_EthIf_00159]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.19 EthIf_EnableEgressTimeStamp
[SWS_EthIf_00160]
⌈
Service name:
Syntax:
EthIf_EnableEgressTimeStamp void
) uint8 uint8
EthIf_EnableEgressTimeStamp(
CtrlIdx,
BufIdx
Service ID[hex]:
0x23
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant
Parameters (in):
CtrlIdx Index of the addresses ETH controller.
BufIdx Index of the message buffer, where Application expects egress time stamping
None
Parameters
(inout):
Parameters (out):
None
Return value:
None
Description:
Activates 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 stamped" by network design.
⌋()
[SWS_EthIf_00161]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00162]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00164]
⌈
The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.
⌋()
[SWS_EthIf_00165]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.20 EthIf_GetEgressTimeStamp
[SWS_EthIf_00166]
⌈
Service name:
Syntax:
EthIf_GetEgressTimeStamp void
43 of 77
EthIf_GetEgressTimeStamp(
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
) uint8 uint8
Eth_TimeStampQualType*
Eth_TimeStampType*
CtrlIdx,
BufIdx, timeQualPtr, timeStampPtr
Service ID[hex]:
0x24
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant
Parameters (in):
CtrlIdx
BufIdx
Index of the addresses ETH controller.
Index of the message buffer, where Application expects egress time stamping
Parameters
(inout):
None
Parameters (out):
timeQualPtr quality of HW time stamp, e.g. based on current drift timeStampPtr current time stamp
Return value:
None
Description:
Reads back the egress time stamp on a dedicated message object.
It must be called within the TxConfirmation() function.
⌋()
[SWS_EthIf_00167]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00168]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00169]
⌈
If default error detection is enabled: the function shall check the parameter timeQualPtr and timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00170]
⌈
The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.
⌋()
[SWS_EthIf_00171]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.21 EthIf_GetIngressTimeStamp
[SWS_EthIf_00172]
⌈
Service name:
Syntax:
EthIf_GetIngressTimeStamp void uint8
Eth_DataType*
EthIf_GetIngressTimeStamp(
CtrlIdx,
DataPtr,
)
Eth_TimeStampQualType*
Eth_TimeStampType* timeQualPtr, timeStampPtr
Service ID[hex]:
0x25
44 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Sync/Async:
Reentrancy:
Parameters (in):
Synchronous
Non Reentrant
CtrlIdx Index of the addresses ETH controller.
DataPtr Pointer to the message buffer, where Application expects ingress time stamping
None
Parameters
(inout):
Parameters (out):
timeQualPtr quality of HW time stamp, e.g. based on current drift timeStampPtr current time stamp
None
Return value:
Description:
Reads back the ingress time stamp on a dedicated message object.
It must be called within the RxIndication() function.
⌋()
[SWS_EthIf_00173]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00174]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00175]
⌈
If default error detection is enabled: the function shall check the parameter DataPtr, timeQualPtr and timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00176]
⌈
The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.
⌋()
[SWS_EthIf_00177]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.22 EthIf_SetCorrectionTime
[SWS_EthIf_00178]
⌈
Service name:
Syntax:
EthIf_SetCorrectionTime void
) const const
EthIf_SetCorrectionTime( uint8
Eth_TimeIntDiffType*
CtrlIdx, timeOffsetPtr,
Eth_RateRatioType* rateRatioPtr
Service ID[hex]:
0x26
Sync/Async:
Synchronous
Reentrancy:
Non Reentrant
CtrlIdx Index of the addresses ETH controller.
Parameters (in):
timeOffsetPtr offset between time stamp grandmaster and time stamp by local clock:
(OriginTimeStampSync[FUP]
– IngressTimeStampSync) + Pdelay rateRatioPtr time elements to calculate and to modify the ratio of the frequency of
45 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
the grandmaster in relation to the frequency of the Local Clock with: ratio = OriginTimeStampDelta / IngressTimeStampDelta
Parameters
(inout):
None
Parameters (out):
None
Return value:
None
Description:
Allows the Time Slave to adjust the local ETH Reference clock in HW.
⌋()
[SWS_EthIf_00179]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00180]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00181]
⌈
If default error detection is enabled: the function shall check the parameter timeOffsetPtr and timeRatioPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00182]
⌈
The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.
⌋()
[SWS_EthIf_00183]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.23 EthIf_SetGlobalTime
[SWS_EthIf_00184]
⌈
Service name:
Syntax:
EthIf_SetGlobalTime
Std_ReturnType
) const
EthIf_SetGlobalTime( uint8
Eth_TimeStampType*
CtrlIdx, timeStampPtr
Service ID[hex]:
0x27
Sync/Async:
Reentrancy:
Synchronous
Non Reentrant
Parameters (in):
Parameters
(inout):
CtrlIdx timeStampPtr
None
Index of the addresses ETH controller. new time stamp
Parameters (out):
None
Return value:
Description:
Std_ReturnType E_OK:
E_NOT_OK: failed successful
Allows the Time Master to adjust the global ETH Reference clock in HW.
We can use this method to set a global time base on ETH in general or to synchronize the global ETH time base with another time base, e.g. FlexRay.
⌋()
46 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00185]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00186]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00187]
⌈
If default error detection is enabled: the function shall check the parameter timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00188]
⌈
The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.
⌋()
[SWS_EthIf_00189]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
8.3.24 EthIf_ProvideTxBuffer
[SWS_EthIf_00067]
⌈
Service name:
Syntax:
EthIf_ProvideTxBuffer
BufReq_ReturnType
)
Service ID[hex]:
0x09
Sync/Async:
Synchronous
Reentrancy:
Non Reentrant
CtrlIdx
Parameters (in):
Parameters
(inout):
FrameType
Priority
LenBytePtr uint8
Eth_FrameType uint8
Eth_BufIdxType* uint8** uint16*
EthIf_ProvideTxBuffer(
CtrlIdx,
FrameType,
Priority,
BufIdxPtr,
BufPtr,
LenBytePtr
Index of the Ethernet controller within the context of the
Ethernet Interface
Ethernet Frame Type (EtherType)
Priority value which shall be used for the 3-bit PCP field of the VLAN tag in: desired length in bytes, out: granted length in bytes
Parameters (out):
Return value:
Description:
⌋()
BufIdxPtr Index to the granted buffer resource. To be used for subsequent requests
Pointer to the granted buffer BufPtr
BufReq_ReturnType BUFREQ_OK: success
BUFREQ_E_NOT_OK: development error detected
BUFREQ_E_BUSY: all buffers in use
Provides access to a transmit buffer of the specified Ethernet controller.
47 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00146]
⌈
If CtrlIdx refers to an EthIfCtrl where no EthIfVlanID is configured, the parameters FrameType and Priority are not used.
⌋()
[SWS_EthIf_00147]
⌈
If VLAN is used
- EthIf shall increment the input desired length by 4 bytes before calling the
Ethernet Driver module
- EthIf shall store the PCP (Priority parameter), CFI (always 0), VID (configured
VLAN ID) and value of the FrameType parameter at the beginning of the buffer received from Eth_ProvideTxBuffer).
- EthIf shall increment the BufPtr by 4 bytes when returning the granted buffer
- EthIf shall decrement the output granted length by 4 bytes
⌋()
[SWS_EthIf_00068]
⌈
The function EthIf_ProvideTxBuffer shall forward the call to the respective Ethernet
Controller Driver.
⌋()
[SWS_EthIf_00069]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED and return BUFREQ_E_NOT_OK.
⌋()
[SWS_EthIf_00070]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX and return BUFREQ_E_NOT_OK.
⌋()
[SWS_EthIf_00071]
⌈
If default error detection is enabled: the function shall check the parameter BufIdxPtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER and return BUFREQ_E_NOT_OK.
⌋()
[SWS_EthIf_00072]
⌈
If default error detection is enabled: the function shall check the parameter BufPtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER and return BUFREQ_E_NOT_OK.
⌋()
[SWS_EthIf_00073]
⌈
If default error detection is enabled: the function shall check the parameter
LenBytePtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER and return BUFREQ_E_NOT_OK.
⌋()
[SWS_EthIf_00074]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
48 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
8.3.25 EthIf_Transmit
[SWS_EthIf_00075]
⌈
Service name:
Syntax:
EthIf_Transmit
Std_ReturnType uint8 const
Eth_BufIdxType
Eth_FrameType boolean uint16 uint8*
)
EthIf_Transmit(
CtrlIdx,
BufIdx,
FrameType,
TxConfirmation,
LenByte,
PhysAddrPtr
Service ID[hex]:
0x0a
Sync/Async:
Synchronous
Reentrancy:
Non Reentrant
Parameters (in):
Parameters
(inout):
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
FrameType Ethernet frame type
TxConfirmation Activates transmission confirmation
PhysAddrPtr Physical target address (MAC address) in network byte order
LenByte Data length in byte
Parameters (out):
BufIdx
Return value:
Index of the buffer resource
Std_ReturnType E_OK:
E_NOT_OK: transmission failed success
Description:
Triggers transmission of a previously filled transmit buffer
⌋()
[SWS_EthIf_00250]
⌈
If CtrlIdx refers to an EthIfCtrl where an EthIfVlanID is configured, the parameters
FrameType is not used, and 0x8100 is provided to Eth_Transmit instead.
⌋()
[SWS_EthIf_00076]
⌈
The function EthIf_Transmit shall forward the call to the respective Ethernet
Controller Driver.
⌋()
[SWS_EthIf_00077]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00078]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00079]
⌈
If default error detection is enabled: the function shall check the parameter BufIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_PARAM otherwise (if DET is disabled) return E_NOT_OK.
⌋()
49 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00080]
⌈
If default error detection is enabled: the function shall check the parameter
PhysAddrPtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK.
⌋()
[SWS_EthIf_00081]
⌈
Caveat: The function requires previous buffer request (EthIf_ProvideTxBuffer).
⌋()
8.3.26 EthIf_GetVersionInfo
[SWS_EthIf_00082]
⌈
Service name:
Syntax:
EthIf_GetVersionInfo void
)
Std_VersionInfoType*
EthIf_GetVersionInfo(
VersionInfoPtr
Service ID[hex]:
0x0b
Sync/Async:
Synchronous
Reentrancy:
Reentrant
Parameters (in):
None
Parameters
(inout):
None
Parameters (out):
VersionInfoPtr Version information of this module
Return value:
None
Description:
Returns the version information of this module
⌋()
[SWS_EthIf_00127]
⌈
If default error detection is enabled: the function shall check the parameter
VersionInfoPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.
⌋()
8.4 Callback notifications
This is a list of functions provided for other modules. File EthIf_Cbk.h shall provide the function prototypes of the callback functions.
8.4.1 EthIf_RxIndication
[SWS_EthIf_00085]
⌈
Service name:
Syntax:
EthIf_RxIndication void
) const uint8
Eth_FrameType boolean uint8*
Eth_DataType* uint16
EthIf_RxIndication(
CtrlIdx,
FrameType,
IsBroadcast,
PhysAddrPtr,
DataPtr,
LenByte
Service ID[hex]:
0x10
Sync/Async:
Synchronous
Reentrancy:
Non Reentrant
Parameters (in):
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
50 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Parameters
(inout):
LenByte
None
Parameters (out):
None
Interface
FrameType Frame type of received Ethernet frame
IsBroadcast parameter to indicate a broadcast frame
PhysAddrPtr Pointer to Physical source address (MAC address in network byte order) of received Ethernet frame
DataPtr Pointer to payload of received Ethernet frame.
Length of the received frame bytes
Return value:
None
Description:
⌋()
Handles a received frame received by the indexed controller
[SWS_EthIf_00086]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00087]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00088]
⌈
If default error detection is enabled: the function shall check the parameter DataPtr for being valid. If the check fails, the function shall raise the default error
ETHIF_E_PARAM_POINTER.
⌋()
[SWS_EthIf_00151]
⌈
The Ethernet Driver shall indicate broadcast message with the parameter
‘IsBroadcast’ to the Ethernet Interface.
⌋()
[SWS_EthIf_00145]
⌈
If the VLAN is not active the Ethernet Interface shall filter the message.
⌋()
[SWS_EthIf_00089]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
[SWS_EthIf_00090]
⌈
Caveat: The function shall be callable on interrupt level.
⌋()
8.4.2 EthIf_TxConfirmation
[SWS_EthIf_00091]
⌈
Service name:
Syntax:
EthIf_TxConfirmation void
)
Service ID[hex]:
0x11
Sync/Async:
Synchronous
51 of 77 uint8
Eth_BufIdxType
EthIf_TxConfirmation(
CtrlIdx,
BufIdx
Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Reentrancy:
Non Reentrant
Parameters (in):
CtrlIdx Index of the Ethernet controller within the context of the Ethernet Interface
BufIdx Index of the transmitted buffer
Parameters
(inout):
None
Parameters (out):
None
Return value:
None
Description:
Confirms frame transmission by the indexed controller
⌋()
[SWS_EthIf_00092]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00093]
⌈
If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_CTRL_IDX.
⌋()
[SWS_EthIf_00094]
⌈
If default error detection is enabled: the function shall check the parameter BufIdx for being valid. If the check fails, the function shall raise the default error
ETHIF_E_INV_PARAM.
⌋()
[SWS_EthIf_00095]
⌈
Caveat: The function requires previous initialization (EthIf_Init).
⌋()
[SWS_EthIf_00096]
⌈
Caveat: The function shall be callable on interrupt level.
⌋()
8.4.3 EthIf_CtrlModeIndication
[SWS_EthIf_00231]
⌈
Service name:
Syntax:
EthIf_CtrlModeIndication void
) uint8
Eth_ModeType
EthIf_CtrlModeIndication(
CtrlIdx,
CtrlMode
Service ID[hex]:
0x0e
Sync/Async:
Synchronous
Reentrancy:
Non Reentrant for the same CtrlIdx, reentrant for different
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
Parameters (in):
Parameters
(inout):
CtrlMode Notified Ethernet controller mode
None
Parameters (out):
None
Return value:
None
Description:
Called asynchronously when mode has been read out. Triggered by previous
Eth_SetControllerMode call. Can directly be called within the trigger functions.
⌋()
52 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00252]
⌈
The function shall call EthSM_CtrlModeIndication.
⌋()
8.4.4 EthIf_TrcvModeIndication
[SWS_EthIf_00232]
⌈
Service name:
Syntax:
EthIf_TrcvModeIndication void
) uint8
EthTrcv_ModeType
EthIf_TrcvModeIndication(
CtrlIdx,
TrcvMode
Service ID[hex]:
0x0f
Sync/Async:
Synchronous
Reentrancy:
Parameters (in):
Non Reentrant for the same CtrlIdx, reentrant for different
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
TrcvMode Notified Ethernet transceiver mode
Parameters
(inout):
None
Parameters (out):
None
Return value:
None
Description:
Called asynchronously when mode has been read out. Triggered by previous
Eth_SetTransceiverMode call. Can directly be called within the trigger functions.
⌋()
[SWS_EthIf_00253]
⌈
The function shall call EthSM_TrcvModeIndication.
⌋()
8.5 Scheduled functions
8.5.1 EthIf_MainFunctionRx
[SWS_EthIf_00097]
⌈
Service name:
Syntax:
EthIf_MainFunctionRx void
)
EthIf_MainFunctionRx( void
Service ID[hex]:
0x20
Description:
The function checks for new received frames and issues transmission confirmations in polling mode. It checks also for transceiver state changes.
⌋()
[SWS_EthIf_00098]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00099]
⌈
The receive frame check shall be pre compile time configurable On/Off by the configuration parameter: ETHIF_ENABLE_RX_INTERRUPT.
⌋()
53 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
8.5.2 EthIf_MainFunctionTx
[SWS_EthIf_00113]
⌈
Service name:
Syntax:
EthIf_MainFunctionTx void
)
EthIf_MainFunctionTx( void
Service ID[hex]:
0x21
Description:
The function issues transmission confirmations in polling mode. It checks also for transceiver state changes.
⌋()
[SWS_EthIf_00124]
⌈
If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error
ETHIF_E_NOT_INITIALIZED.
⌋()
[SWS_EthIf_00100]
⌈
The transmission confirmation check shall be pre compile time configurable On/Off by the configuration parameter: ETHIF_ENABLE_TX_INTERRUPT.
⌋()
[SWS_EthIf_00101]
⌈
The frequency of polling the transceiver state change shall be configurable by the configuration parameter: EthIfTrcvLinkStateChgMainReload.
⌋()
8.6 Expected Interfaces
This chapter lists all interfaces required from other modules.
8.6.1 Mandatory Interfaces
This chapter defines all interfaces required to fulfill the core functionality of the module.
[SWS_EthIf_00102]
⌈
API function
Dem_ReportErrorStatus
Eth_GetControllerMode
Eth_GetPhysAddr
Eth_ProvideTxBuffer
Eth_ReadMii
Description
Queues the reported events from the BSW modules (API is only used by BSW modules). The interface has an asynchronous behavior, because the processing of the event is done within the Dem main function.
OBD Events Suppression shall be ignored for this computation.
Obtains the state of the indexed controller
Obtains the physical source address used by the indexed controller
Provides access to a transmit buffer of the specified controller
Reads a transceiver register
Eth_Receive
Eth_SetControllerMode
Triggers frame reception
Enables / disables the indexed controller
Eth_Transmit
Eth_TxConfirmation
Triggers transmission of a previously filled transmit buffer
Triggers frame transmission confirmation
Eth_WriteMii Configures a transceiver register or triggers a function offered by the receiver
EthSM_CtrlModeIndication Called when mode has been read out. Either triggered by previous
54 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
EthIf_GetControllerMode or by EthIf_SetControllerMode call. Can directly be called within the trigger functions.
EthSM_TrcvModeIndication Called when mode has been read out. Either triggered by previous
EthIf_GetTransceiverMode or by EthIf_SetTransceiverMode call. Can directly be called within the trigger functions.
EthTrcv_GetDuplexMode
EthTrcv_GetLinkState
Obtains the duplex mode of the indexed transceiver
Obtains the link state of the indexed transceiver
EthTrcv_GetTransceiverMode Obtains the state of the indexed transceiver
EthTrcv_SetTransceiverMode Enables / disables the indexed transceiver
⌋()
8.6.2 Optional Interfaces
This chapter defines all interfaces required to fulfill an optional functionality of the module.
[SWS_EthIf_00103]
⌈
API function Description
Det_ReportError
Eth_GetCounterState
EthTrcv_GetBaudRate Obtains the baud rate of the indexed transceiver
EthTrcv_StartAutoNegotiation Restarts the negotiation of the transmission parameters used by the indexed transceiver
SchM_Enter_EthIf
Service to report development errors.
Reads the value of a counter specified with its memory offset
SchM_Exit_EthIf
⌋()
Invokes the SchM_Enter function to enter a module local exclusive area.
Invokes the SchM_Exit function to exit an exclusive area.
8.6.3 Configurable interfaces
This chapter lists all interfaces with configurable target functions. The target function is usually a callback function. The function names are configurable.
[SWS_EthIf_00104]
⌈
Service name:
Syntax:
<User>_RxIndication void
) const uint8
Eth_FrameType boolean uint8* uint8* uint16
<User>_RxIndication(
CtrlIdx,
FrameType,
IsBroadcast,
PhysAddrPtr,
DataPtr,
LenByte
Service ID[hex]:
--
Sync/Async:
Reentrancy:
--
Dont care
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
FrameType frame type of received Ethernet frame
Parameters (in):
IsBroadcast parameter to indicate a broadcast frame
PhysAddrPtr pointer to Physical source address (MAC address in network byte order) of received Ethernet frame
55 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
DataPtr Pointer to payload of the received Ethernet frame (i.e. Ethernet header is not provided).
Length of received data.
Parameters
(inout):
LenByte
None
Parameters (out):
None
Return value:
None
Description:
Indicates the reception of an Ethernet frame
⌋()
[SWS_EthIf_00105]
⌈
The callback function shall be configurable by the configuration parameter:
EthIfRxIndicationFunction.
⌋()
[SWS_EthIf_00106]
⌈
Service name:
Syntax:
<User>_TxConfirmation void
) uint8
Eth_BufIdxType
<User>_TxConfirmation(
CtrlIdx,
BufIdx
Service ID[hex]:
--
Sync/Async:
Reentrancy:
--
Dont care
Parameters (in):
CtrlIdx Index of the Ethernet controller within the context of the Ethernet Interface
BufIdx Index of the buffer resource
Parameters
(inout):
None
Parameters (out):
None
Return value:
void --
Description:
Confirms the transmission of an Ethernet frame
⌋()
[SWS_EthIf_00107]
⌈
The callback function shall be configurable by the configuration parameter:
EthIfTxConfirmationFunction.
⌋()
[SWS_EthIf_00108]
⌈
Service name:
Syntax:
<User>_TrcvLinkStateChg void
) uint8
EthTrcv_LinkStateType
<User>_TrcvLinkStateChg(
CtrlIdx,
TrcvLinkState
Service ID[hex]:
--
Sync/Async:
Reentrancy:
--
Don’t care
Parameters (in):
CtrlIdx Index of the Ethernet controller within the context of the Ethernet
Interface
TrcvLinkState ETHTRCV_LINK_STATE_DOWN transceiver link is down
ETHTRCV_LINK_STATE_ACTIVE transceiver link is up
Parameters
(inout):
Description:
⌋()
None
Parameters (out):
None
Return value:
None
Indicates the change of a transceiver state
56 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
[SWS_EthIf_00109]
⌈
The callback function shall be configurable by the configuration parameter:
EthIfTrcvLinkStateChgFunction.
⌋()
[SWS_EthIf_00229]
⌈
EthIfControllers not referring to an Ethernet Transceiver, i.e. no valid EthIfEthTrcvRef is configured, shall act as if the transceiver was present and the transceiver status was ETHTRCV_LINK_STATE_ACTIVE.
⌋()
[SWS_EthIf_00230]
⌈
Upon change of link state <User>_TrcvLinkStateChg shall be invoked for every affected EthIfController.
⌋()
Terms and definitions:
Reentrant: interface is reentrant
Don’t care: reentrancy of interface not relevant for this module (in general it is in this case not reentrant).
57 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
9 Sequence diagrams
The sequence diagrams show the basic operations carried out during operation.
They show the interaction of the Ethernet Interface with upper layer BSW module and the underlying Ethernet Controller Driver.
Please note that the sequence diagrams are an extension for illustrational purposes to ease understanding of the specification.
9.1 Initialization
Name:
Package:
Version:
Author:
EthIf_Initalization
EthIf
1.0
fix0ec2
«module»
:EcuM
«module»
:EthIf
EthIf_Init(const
EthIf_ConfigType*)
Eth_Init(const
Eth_ConfigType*)
EthTrcv_Init(const
EthTrcv_ConfigType*)
«module»
:Eth
«module»
:EthTrcv
Eth_WriteMii(Std_ReturnType, uint8, uint8, uint8, uint16)
Figure 5: Initialization
58 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
9.2 Communication Initialization
Name:
Package:
Version:
Author:
EthIf_CommunicationInitialization
EthIf
1.0
fix0ec2
«module»
:EthSM
«module»
:EthIf
EthIf_SetControllerMode(CtrlIdx,
ETH_MODE_ACTIVE)
Eth_SetControllerMode(CtrlIdx,
ETH_MODE_ACTIVE)
«module»
:Eth
«module»
:EthTrcv
EthIf_CtrlModeIndication(CtrlIdx,
ETH_MODE_ACTIVE)
EthSM_CtrlModeIndication(CtrlIdx,
ETH_MODE_ACTIVE)
EthIf_SetTransceiverMode(CtrlIdx,
ETHTRCV_MODE_ACTIVE)
EthTrcv_SetTransceiverMode(TrcvIdx,
ETHTRCV_MODE_ACTIVE)
EthSM_TrcvModeIndication(CtrlIdx,
ETHTRCV_MODE_ACTIVE)
Figure 6: Communication Initialization
EthIf_TrcvModeIndication(CtrlIdx,
ETHTRCV_MODE_ACTIVE)
59 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
9.3 Data Transmission
Name:
Package:
Version:
Author:
EthIf_DataTransmission
EthIf
1.0
fix0ec2
UL
EthIf_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_FrameType, uint8,
Eth_BufIdxType*, uint8**, uint16*)
«module»
:EthIf
Eth_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_BufIdxType*, uint8**, uint16*)
«module»
:Eth
EthIf_Transmit(Std_ReturnType, uint8,
Eth_BufIdxType, Eth_FrameType, boolean, uint16, const uint8*)
Eth_Transmit(Std_ReturnType, uint8,
Eth_BufIdxType, Eth_FrameType , boolean, uint16, const uint8*)
EthIf_MainFunctionTx()
Eth_TxConfirmation(void, uint8)
EthIf_TxConfirmation(uint8,
Eth_BufIdxType)
UL_TxConfirmation(CtrlIdx,
Bufidx)
Figure 7: Frame Transmission in Polling Mode
[SWS_EthIf_00115]
In each call of EthIf_MainFunctionTx the component shall call Eth_TxConfirmation for all Ethernet Controller Drivers.
Note: The Ethernet Interface expects that each Ethernet Controller Driver issues confirmations for all transmitted frames using the call-back function
EthIf_Cbk_TxConfirmation.
[SWS_EthIf_00125]
EthIf_Cbk_TxConfirmation shall forward the confirmation to the registered call-back functions <User>_TxConfirmation.
60 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Name:
Package:
Version:
Author:
EthIf_TransmissionInterrupt
EthIf
1.0
fix0ec2
UL
EthIf_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_FrameType, uint8,
Eth_BufIdxType*, uint8**, uint16*)
«module»
:EthIf
Eth_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_BufIdxType*, uint8**, uint16*)
«module»
:Eth
Eth_TxIrqHdlr_<CtrlIdx>(void)
EthIf_TxConfirmation(uint8,
Eth_BufIdxType)
UL_TxConfirmation(CtrlIdx,
BufIdx)
Figure 8: Frame Transmission in Interrupt Mode
9.4 Data Reception
Name:
Package:
Version:
Author:
EthIf_DataReception
EthIf
1.0
fix0ec2
UL
«module»
:EthIf
EthIf_MainFunctionRx()
Eth_Receive(uint8,
Eth_RxStatusType*)
EthIf_RxIndication(uint8, Eth_FrameType, boolean, const uint8*, Eth_DataType*, uint16)
UL_RxIndication(CtrlIdx, DataPtr,
LenByte)
«module»
:Eth
61 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Figure 9: Frame Reception in Polling Mode
Name:
Package:
Version:
Author:
EthIf_ReceptionInterrupt
EthIf
1.0
fix0ec2
UL
«module»
:EthIf
UL_RxIndication(CtrlIdx, DataPtr,
LenByte)
EthIf_RxIndication(uint8, Eth_FrameType, boolean, const uint8*, Eth_DataType*, uint16)
«module»
:Eth
Eth_RxIrqHdlr_<CtrlIdx>(void)
Figure 10: Frame Reception in Interrupt Mode
9.5 Link State Change
Name:
Package:
Version:
Author:
EthIf_LinkStateChange
EthIf
1.0
fix0ec2
UL
«module»
:EthIf
EthIf_MainFunctionRx()
EthTrcv_GetLinkState(Std_ReturnType, uint8, EthTrcv_LinkStateType*)
«module»
:EthTrcv
UL_LinkStateChange(CtrlIdx, LinkState)
Figure 11: Link State Change
62 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
10 Configuration specification
In general, this chapter defines configuration parameters and their clustering into containers. In order to support the specification Chapter 10.1 describes fundamentals. It also specifies a template (table) you shall use for the parameter specification. We intend to leave Chapter 10.1 in the specification to guarantee comprehension.
Chapter 10.2 specifies the structure (containers) and the parameters of the module
Ethernet Interface.
Chapter 10.3 specifies published information of the module Ethernet Interface.
10.1 Containers and configuration parameters
The following chapters summarize all configuration parameters. The detailed
meanings of the parameters describe Chapters 7 and Chapter 8.
63 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
EthIf :EcucModuleDef lowerMultiplicity = 0 upperMultiplicity = 1
+container
EthIfGeneral :
EcucParamConfContainerDef
+parameter EthIfDevErrorDetect :
EcucBooleanParamDef
+parameter
EthIfMaxT rcvsT otal :
EcucIntegerParamDef min = 1 max = 255
+parameter EthIfEnableRxInterrupt :
EcucBooleanParamDef
+parameter EthIfEnableT xInterrupt :
EcucBooleanParamDef
+parameter EthIfVersionInfoApi :
EcucBooleanParamDef
+parameter EthIfVersionInfoApiMacro :
EcucBooleanParamDef
+parameter
EthIfT rcvLinkStateChgMainReload :
EcucIntegerParamDef min = 1 max = 255
+parameter
EthIfMainFunctionPeriod :
EcucFloatParamDef
+parameter min = 0 max = INF EthIfPublicCddHeaderFile :
EcucStringParamDef
+parameter lowerMultiplicity = 0 upperMultiplicity = * minLength = 1 maxLength = 32
EthIfRxIndicationIterations :
EcucIntegerParamDef min = 0 max = 65535
+parameter
EthIfMainFunctionRxT imeout :
EcucFloatParamDef min = 0 max = INF
+parameter EthIfStartAutoNegotiation :
EcucBooleanParamDef
+parameter EthIfGetBaudRate :
EcucBooleanParamDef
+parameter EthIfGetCounterState :
EcucBooleanParamDef
Figure 10.1: Ethernet Interface general configuration structure
64 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
EthIf :EcucModuleDef lowerMultiplicity = 0 upperMultiplicity = 1
+container
EthIfConfigSet :
EcucParamConfContainerDef
+subContainer
EthIfFrameOwnerConfig :
EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *
+parameter
EthIfFrameType :
EcucIntegerParamDef min = 0 max = 65535
+parameter
EthIfOwner :
EcucIntegerParamDef min = 0 max = 255
+subContainer
EthIfRxIndicationConfig :
EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *
+parameter EthIfRxIndicationFunction :
EcucFunctionNameDef
+subContainer
EthIfTxConfirmationConfig :
EcucParamConfContainerDef lowerMultiplicity = 0 upperMultiplicity = *
+parameter EthIfTxConfirmationFunction :
EcucFunctionNameDef
+subContainer
EthIfTrcvLinkStateChgConfig :
EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *
EthIfController :
EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *
+parameter EthIfTrcvLinkStateChgFunction :
EcucFunctionNameDef
EthCtrlIdx :EcucIntegerParamDef min = 0 max = 255 symbolicNameValue = true
EthIfCtrlIdx :
EcucIntegerParamDef
+parameter min = 0 max = 255 symbolicNameValue = true
+reference
EthIfEthCtrlRef :
EcucSymbolicNameReferenceDef
+destination
EthCtrlConfig :EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *
+subContainer
+reference
EthIfEthTrcvRef :
EcucSymbolicNameReferenceDef lowerMultiplicity = 0 upperMultiplicity = 1
+destination
(from Eth)
EthTrcvConfig :EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *
(from EthTrcv)
EthIfVlanId :
EcucIntegerParamDef
+parameter min = 0 max = 4095 lowerMultiplicity = 0 upperMultiplicity = 1
+parameter
EthTrcvIdx :
EcucIntegerParamDef
+parameter
EthIfCtrlMtu :
EcucIntegerParamDef min = 64 max = 9000 min = 0 max = 255 symbolicNameValue = true
(from EthTrcv)
+subContainer
EthIfSwitch :
EcucParamConfContainerDef lowerMultiplicity = 0 upperMultiplicity = *
+parameter
EthIfMaxTxBufsTotal :
EcucIntegerParamDef min = 1 max = 255
+parameter
EthIfSwitchIdx :EcucIntegerParamDef min = 0 max = 255 symbolicNameValue = true
EthSwtIdx :
EcucIntegerParamDef min = 0 max = 255 symbolicNameValue = true
+parameter
(from EthSwt)
+reference EthIfSwitchRef :
EcucSymbolicNameReferenceDef
+destination
EthSwtConfig :
EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *
(from EthSwt)
Figure 10.2: Ethernet Interface Interface configuration structure
65 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
10.1.1 Variants
VARIANT-POST-
BUILD: All configuration parameters in container ‘EthGeneral’ shall be configurable at pre-compile time.
Use case: Object code delivery, selectable configuration
VARIANT-LINK-TIME
: All configuration parameters in container ‘EthGeneral’ shall be configurable at pre-compile time.
Use case: Object code delivery, single configuration
VARIANT-PRE-COMPILE: All configuration parameters shall be configurable at precompile time.
Use case: Execution time optimizations, fix configuration
10.1.2 EthIf
Module Name
Module Description
EthIf
Configuration of the EthIf (Ethernet Interface) module.
Post-Build Variant Support
true
Included Containers
Container Name
EthIfConfigSet
EthIfGeneral
Multiplicity Scope / Dependency
1
Collecting container for all parameters with post-build configuration classes.
1
This container contains the general configuration parameters of the Ethernet Interface.
10.1.3 EthIfGeneral
SWS Item
Container Name
Description
ECUC_EthIf_00001 :
EthIfGeneral
This container contains the general configuration parameters of the
Ethernet Interface.
Configuration Parameters
SWS Item
Name
Description
ECUC_EthIf_00004 :
EthIfDevErrorDetect
Switches the Default Error Tracer (Det) detection and notification ON or
OFF.
true: enabled (ON).
false: disabled (OFF).
Multiplicity
Type
Default value
1
EcucBooleanParamDef
--
Post-Build Variant Value
false
66 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
SWS Item
Name
Description
X All Variants
--
--
ECUC_EthIf_00005 :
EthIfEnableRxInterrupt
Enables / Disables receive interrupt.
Multiplicity
Type
Scope / Dependency
1
EcucBooleanParamDef
Default value
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
X All Variants
--
--
SWS Item
Name
Description
Multiplicity
Type
ECUC_EthIf_00006 :
EthIfEnableTxInterrupt
Enables / Disables the transmit interrupt.
1
EcucBooleanParamDef
Default value
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
SWS Item
Name
Description
Multiplicity
ECUC_EthIf_00034 :
EthIfGetBaudRate
X All Variants
--
--
Enables / Disables GetBaudRate API.
1
Type
Default value
EcucBooleanParamDef
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
SWS Item
Name
Description
Multiplicity
ECUC_EthIf_00035 :
EthIfGetCounterState
X All Variants
--
--
Enables / Disables GetCounterState API.
1
Type
Default value
EcucBooleanParamDef
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
SWS Item
Name
ECUC_EthIf_00041 :
X All Variants
--
--
EthIfGetTransceiverWakeupModeApi
67 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Description
Multiplicity
Enables / Disables EthIf_GetTransceiverWakeupMode API
0..1
Type
EcucBooleanParamDef
Default value
Post-Build
false
Variant
false
Multiplicity
Post-Build Variant Value
false
Multiplicity Configuration Pre-compile time
Class
Link time
Post-build time
Value Configuration Class Pre-compile time
Scope / Dependency
Link time
X All Variants
--
--
X All Variants
--
Post-build time
-- scope: dependency: Only valid if EthIfWakeUpSupport is TRUE local
SWS Item
Name
Description
ECUC_EthIf_00039 :
EthIfGlobalTimeSupport
Multiplicity
Type
Scope / Dependency
Enables/Disables the Global Time APIs used amongst others by Global
Time Synchronization over Ethernet.
1
EcucBooleanParamDef
Default value
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
X All Variants
--
--
SWS Item
Name
Description
ECUC_EthIf_00023 :
EthIfMainFunctionPeriod
Multiplicity
Type
Specifies the period of main function EthIf_MainFunctionRx and
EthIf_MainFunctionTx in seconds. Ethernet Interface does not require this information but the BSW scheduler.
1
Range
Default value
EcucFloatParamDef
0 .. INF
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Scope / Dependency
Link time
Post-build time
scope: local
SWS Item
Name
Description
Multiplicity
Type
Range
Default value
X All Variants
--
--
ECUC_EthIf_00031 : (Obsolete)
EthIfMainFunctionRxTimeout
This parameter is deprecated and will be removed in future.
Old description: Timeout in seconds after which the EthIf stops to receive frames in an EthIfMainFunctionRx period.
Tags:
atp.Status=obsolete atp.StatusRevisionBegin=4.2.2
0..1
EcucFloatParamDef
0 .. INF
--
68 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
SWS Item
Name
Description
Multiplicity
ECUC_EthIf_00003 :
EthIfMaxTrcvsTotal
X All Variants
--
--
Limits the total number of transceivers.
1
Type
Range
Default value
EcucIntegerParamDef
1 .. 255
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
SWS Item
Name
Description
ECUC_EthIf_00024 :
EthIfPublicCddHeaderFile
X All Variants
--
--
Defines header files for callback functions which shall be included in case of CDDs. Range of characters is 1.. 32.
Multiplicity
Type
Default value maxLength minLength
0..*
EcucStringParamDef
--
32
1
regularExpression
Post-Build
--
Variant
false
Multiplicity
Post-Build Variant Value
false
Multiplicity Configuration Pre-compile time
Class
Link time
Post-build time
X All Variants
--
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: ECU
Scope / Dependency
SWS Item
Name
Description
ECUC_EthIf_00030 :
EthIfRxIndicationIterations
--
X All Variants
--
--
Maximum number of Ethernet frames per Ethernet controller polled from the Ethernet driver within EthIf_MainFunctionRx.
0..1
Multiplicity
Type
Range
EcucIntegerParamDef
0 .. 65535
Default value
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
X All Variants
--
--
Scope / Dependency
SWS Item
Name
ECUC_EthIf_00033 :
EthIfStartAutoNegotiation
69 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Description
Multiplicity
Enables / Disables StartAutoNegotiation API.
1
Type
EcucBooleanParamDef
Default value
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Scope / Dependency
Link time
Post-build time
scope: local
X All Variants
--
--
SWS Item
Name
Description
ECUC_EthIf_00009 :
EthIfTrcvLinkStateChgMainReload
Specifies the frequency of transceiver link state change checks in each period of main function EthIf_MainFunctionTx.
1
Multiplicity
Type
Range
Default value
EcucIntegerParamDef
1 .. 255
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Scope / Dependency
Link time
Post-build time
scope: local
X All Variants
--
--
SWS Item
Name
Description
Multiplicity
ECUC_EthIf_00007 :
EthIfVersionInfoApi
Enables / Disables version info API
1
Type
Default value
EcucBooleanParamDef
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
X All Variants
--
--
Scope / Dependency
SWS Item
Name
Description
Multiplicity
ECUC_EthIf_00008 :
EthIfVersionInfoApiMacro
Enables / Disables version info API macro implementation.
1
Type
Default value
EcucBooleanParamDef
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
X All Variants
--
--
Scope / Dependency
SWS Item
Name
Description
Multiplicity
ECUC_EthIf_00040 :
EthIfWakeUpSupport
Configures if wakeup is supported or not.
1
Type
Default value
EcucBooleanParamDef false
Post-Build Variant Value
false
70 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
No Included Containers
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
X All Variants
--
--
10.1.4 EthIfConfigSet
SWS Item
Container Name
Description
ECUC_EthIf_00010 :
EthIfConfigSet
Collecting container for all parameters with post-build configuration classes.
Configuration Parameters
Included Containers
Container Name
EthIfController
EthIfFrameOwnerConfig
EthIfRxIndicationConfig
Multiplicity Scope / Dependency
1..* This container contains the configuration of EthIfController.
1..* Configuration of Ethernet frame owner
1..* Configuration of receive callback functions.
EthIfSwitch 0..* This container contains the configuration of EthIfSwitches.
EthIfTrcvLinkStateChgConfig 1..* Specifies link state change callback function
0..* Configuration of transmit indication callback functions. EthIfTxConfirmationConfig
10.1.5 EthIfController
SWS Item
Container Name
Description
Configuration Parameters
SWS Item
Name
Description
Multiplicity
Type
Range
Default value
ECUC_EthIf_00025 :
EthIfController
This container contains the configuration of EthIfController.
ECUC_EthIf_00026 :
EthIfCtrlIdx
This parameter provides a zero-based consecutive index of the Ethernet
Communication Controllers. Upper layer BSW modules and the EthIf itself use this index to identify a Ethernet CC.
1
EcucIntegerParamDef (Symbolic Name generated for this parameter)
0 .. 255
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Scope / Dependency
Link time
Post-build time
scope: ECU
SWS Item
Name
Description
X All Variants
--
--
ECUC_EthIf_00032 :
EthIfCtrlMtu
Specifies the maximum transmission unit (MTU) of the EthIfCtrl in [bytes].
Note: in case a VLAN tag is used for the EthIfCtrl, the MTU is 4 bytes
71 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
smaller than the maximum payload size of an Ethernet frame which can be transmitted on the network.
1
Multiplicity
Type
Range
EcucIntegerParamDef
64 .. 9000
Default value
--
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
X VARIANT-PRE-COMPILE
Scope / Dependency
Link time
Post-build time
scope: dependency: EthIfVlanId
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
ECU
SWS Item
Name
Description
Multiplicity
Type
Scope / Dependency
ECUC_EthIf_00002 :
EthIfMaxTxBufsTotal
Limits the total number of transmit buffers.
1
EcucIntegerParamDef
Range
Default value
1 .. 255
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
X All Variants
--
--
SWS Item
Name
Description
Multiplicity
ECUC_EthIf_00029 :
EthIfVlanId
A virtual-LAN is identified by this attribute according to IEEE 802.1Q.
0..1
Type
Range
EcucIntegerParamDef
0 .. 4095
Default value
Post-Build
Multiplicity
Variant
-- true
Post-Build Variant Value
true
Multiplicity Configuration Pre-compile time
Class
Link time
Post-build time
Value Configuration Class Pre-compile time
Link time
Scope / Dependency
Post-build time
scope: ECU
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
SWS Item
Scope / Dependency
ECUC_EthIf_00027 :
Name
Description
EthIfEthCtrlRef
Reference to a Controller, which is handled by a specific Driver. This reference is unique for the ECU.
1
Multiplicity
Type
Symbolic name reference to [ EthCtrlConfig ]
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: ECU
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
72 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
SWS Item
Name
Description
Multiplicity
Type
ECUC_EthIf_00028 :
EthIfEthTrcvRef
Reference to a Ethernet Transceiver.
0..1
Symbolic name reference to [ EthTrcvConfig ]
Post-Build
Multiplicity
Variant
true
Post-Build Variant Value
true
Multiplicity Configuration Pre-compile time
Class
Link time
Post-build time
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: ECU
Scope / Dependency
No Included Containers
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
10.1.6 EthIfFrameOwnerConfig
SWS Item
Container Name
Description
Configuration Parameters
SWS Item
Name
Description
Multiplicity
Type
ECUC_EthIf_00011 :
EthIfFrameOwnerConfig
Configuration of Ethernet frame owner
ECUC_EthIf_00012 :
EthIfFrameType
Selects the Ethernet frame type.
1
EcucIntegerParamDef
Range
Default value
0 .. 65535
--
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
Scope / Dependency
SWS Item
Name
Description
ECUC_EthIf_00013 :
EthIfOwner
Multiplicity
Type
Range
Default value
Selects the owner of an Ethernet frame type. The owner is a zero based index into the callback function configuration 'EthIfRxIndicationConfig'. I.e. an Ethernet frame of type IPv4 (0x800) at index 0 will call the first callback function configured in 'EthIfRxIndicationConfig'.
1
EcucIntegerParamDef
0 .. 255
--
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
Link time
Post-build time
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
Scope / Dependency
scope: local
73 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
No Included Containers
10.1.7 EthIfRxIndicationConfig
SWS Item
Container Name
Description
Configuration Parameters
SWS Item
Name
Description
Multiplicity
Type
Default value maxLength minLength
ECUC_EthIf_00014 :
EthIfRxIndicationConfig
Configuration of receive callback functions.
ECUC_EthIf_00015 :
EthIfRxIndicationFunction
Specifies receive indication callback function.
1
EcucFunctionNameDef
--
--
--
regularExpression
--
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
Link time
Scope / Dependency
Post-build time
scope: local
No Included Containers
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
10.1.8 EthIfSwitch
SWS Item
Container Name
Description
ECUC_EthIf_00036 :
EthIfSwitch
This container contains the configuration of EthIfSwitches.
Configuration Parameters
SWS Item
Name
Description
ECUC_EthIf_00037 :
EthIfSwitchIdx
This parameter provides a zero-based consecutive index of the Ethernet
Interface Switches. Upper layer BSW modules and the EthIf itself use this index to identify a Ethernet Switch.
1
Multiplicity
Type
Range
EcucIntegerParamDef (Symbolic Name generated for this parameter)
0 .. 255
Default value
--
Post-Build Variant Value
false
Value Configuration Class Pre-compile time
Scope / Dependency
SWS Item
Link time
Post-build time
scope: ECU
ECUC_EthIf_00038 :
X All Variants
--
--
74 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Name
Description
Multiplicity
Type
EthIfSwitchRef
Reference to a Ethernet Switch, which is handled by a specific Ethernet
Switch driver.
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
Link time
Scope / Dependency
No Included Containers
1
Symbolic name reference to [ EthSwtConfig ]
Post-build time
scope: ECU
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
10.1.9 EthIfTrcvLinkStateChgConfig
SWS Item
Container Name
Description
Configuration Parameters
SWS Item
Name
ECUC_EthIf_00018 :
EthIfTrcvLinkStateChgConfig
Specifies link state change callback function
Description
Multiplicity
Type
Default value
ECUC_EthIf_00019 :
EthIfTrcvLinkStateChgFunction
Specifies link state change callback function
1
EcucFunctionNameDef
--
maxLength minLength
--
--
regularExpression
--
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
Scope / Dependency
No Included Containers
Link time
Post-build time
scope: local
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
10.1.10 EthIfTxConfirmationConfig
SWS Item
Container Name
Description
Configuration Parameters
SWS Item
Name
Description
Multiplicity
Type
ECUC_EthIf_00016 :
EthIfTxConfirmationConfig
Configuration of transmit indication callback functions.
ECUC_EthIf_00017 :
EthIfTxConfirmationFunction
Specifies transmit indication callback function
1
EcucFunctionNameDef
75 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
Default value maxLength
--
--
minLength
--
regularExpression
--
Post-Build Variant Value
true
Value Configuration Class Pre-compile time
Link time
Post-build time
scope: local
Scope / Dependency
No Included Containers
X VARIANT-PRE-COMPILE
X VARIANT-LINK-TIME
X VARIANT-POST-BUILD
76 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
Specification of Ethernet Interface
AUTOSAR Release 4.2.2
11 Not applicable requirements
[SWS_EthIf_00999]
These requirements are not applicable to this specification (BSW00170).
77 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface
- AUTOSAR confidential -
advertisement
Related manuals
advertisement
Table of contents
- 2 AUTOSAR Release
- 8 Introduction and functional overview
- 10 Acronyms and abbreviations
- 11 Related documentation
- 11 Input documents
- 12 Related standards and norms
- 12 Related specification
- 13 Constraints and assumptions
- 13 Limitations
- 13 Applicability to car domains
- 14 Dependencies to other modules
- 14 File structure
- 14 Header file structure
- 16 Requirements traceability
- 22 Functional specification
- 22 Ethernet BSW stack
- 22 Indexing scheme for Ethernet controller
- 23 Indexing scheme for Ethernet switches
- 24 Ethernet Interface main function
- 24 Requirements
- 24 Configuration description
- 25 VLAN support
- 26 Wake up support
- 26 Error classification
- 26 Default Errors
- 26 Runtime Errors
- 26 Transient Faults
- 26 Production Errors
- 26 Extended Production Errors
- 27 API specification
- 27 Imported types
- 27 Type definitions
- 27 EthIf_ConfigType
- 28 EthIf_StateType
- 28 Function definitions
- 28 EthIf_Init
- 29 EthIf_SetControllerMode
- 29 EthIf_GetControllerMode
- 30 EthIf_SetTransceiverMode
- 31 EthIf_GetTransceiverMode
- 32 EthIf_ SetTransceiverWakeupMode
- 33 EthIf_ GetTransceiverWakeupMode
- 2 AUTOSAR Release
- 34 EthIf_ CheckWakeup
- 34 EthIf_GetPhysAddr
- 35 EthIf_SetPhysAddr
- 36 EthIf_UpdatePhysAddrFilter
- 37 EthIf_GetPortMacAddr
- 38 EthIf_GetArlTable
- 39 EthIf_GetBufferLevel
- 40 EthIf_GetDropCount
- 40 EthIf_StoreConfiguration
- 41 EthIf_ResetConfiguration
- 42 EthIf_GetCurrentTime
- 43 EthIf_EnableEgressTimeStamp
- 43 EthIf_GetEgressTimeStamp
- 44 EthIf_GetIngressTimeStamp
- 45 EthIf_SetCorrectionTime
- 46 EthIf_SetGlobalTime
- 47 EthIf_ProvideTxBuffer
- 49 EthIf_Transmit
- 50 EthIf_GetVersionInfo
- 50 Callback notifications
- 50 EthIf_RxIndication
- 51 EthIf_TxConfirmation
- 52 EthIf_CtrlModeIndication
- 53 EthIf_TrcvModeIndication
- 53 Scheduled functions
- 53 EthIf_MainFunctionRx
- 54 EthIf_MainFunctionTx
- 54 Expected Interfaces
- 54 Mandatory Interfaces
- 55 Optional Interfaces
- 55 Configurable interfaces
- 58 Sequence diagrams
- 58 Initialization
- 59 Communication Initialization
- 60 Data Transmission
- 61 Data Reception
- 62 Link State Change
- 63 Configuration specification
- 63 Containers and configuration parameters
- 66 Variants
- 66 EthIf
- 66 EthIfGeneral
- 71 EthIfConfigSet
- 71 EthIfController
- 73 EthIfFrameOwnerConfig
- 74 EthIfRxIndicationConfig
- 74 EthIfSwitch
- 75 EthIfTrcvLinkStateChgConfig
- 75 EthIfTxConfirmationConfig