0% found this document useful (0 votes)
58 views89 pages

AUTOSAR SWS EthernetTransceiverDriver

Uploaded by

Stefan Ruscanu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views89 pages

AUTOSAR SWS EthernetTransceiverDriver

Uploaded by

Stefan Ruscanu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 89

Specification of Ethernet Transceiver Driver

AUTOSAR CP R20-11

Document Title Specification of Ethernet


Transceiver Driver
Document Owner AUTOSAR
Document Responsibility AUTOSAR
Document Identification No 431
Document Status published
Part of AUTOSAR Standard Classic Platform
Part of Standard Release R20-11

Document Change History


Date Release Changed by Change Description
2020-11-30 R20-11 AUTOSAR  EthTrcvGetTransceiverModeApi and
Release EthTrcvSetTransceiverModeApi
Management obsolete
 Eth_GeneralTypes removed from
imported module list
 Introduction WakeOnDataLine
 Introduction 10BASE-T1S
2019-11-28 R19-11 AUTOSAR  2500Mbit Ethernet Support
Release  Cable Diagnostic
Management  Uniformatisation Eth_Mode Type
 Changed Document Status from
Final to published
2018-10-31 4.4.0 AUTOSAR  Explicite transceiver link control
Release  Support of host controllers with
Management multiple cores
2017-12-08 4.3.1 AUTOSAR  Minor corrections and adaptions
Release  Improved Switch integration
Management
2016-11-30 4.3.0 AUTOSAR  Configuration via Switch or Mii
Release  100BASE-T1 test mode support
Management
2015-07-31 4.2.2 AUTOSAR  EthTrcv_TransceiverInit functionality
Release merged into EthTrcv_Init API
Management  Development Error Tracer renamed
to Default Error Tracer
2014-10-31 4.2.1 AUTOSAR  Change from Synchronous to
Release Asynchronous API
Management  Ethernet Wakeup Support

1 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Document Change History


Date Release Changed by Change Description
2013-10-31 4.1.2 AUTOSAR  Introduction of Eth_GeneralTypes.h
Release  Support of API deviation for
Management asynchronous implementation
 Editorial changes
 Removed chapter(s) on change
documentation
2013-03-15 4.1.1 AUTOSAR  1000 kbit Ethernet Support
Administration
2011-12-22 4.0.3 AUTOSAR  EthTrcv_GetVersionInfo revised
Administration
2010-09-30 3.1.5 AUTOSAR  Further post-build configurable
Administration parameters
 Configuration enhanced by
additional parameter
EthTrcvWaitCount
 'Instance ID' removed from Version
Info (concerns
EthTrcv_GetVersionInfo API)
 Additional development error in
EthTrcv_GetVersionInfo API
 Improved description of 'XxxCtrlIdx'
semantics
 Specification of behaviour for state
switch into already active state
2010-02-02 3.1.4 AUTOSAR  Initial Release
Administration

2 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Disclaimer

This work (specification and/or software implementation) 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
work.
The material contained in this work is protected by copyright and other types of
intellectual property rights. The commercial exploitation of the material contained in
this work requires a license to such intellectual property rights.
This work 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
work may be utilized or reproduced, in any form or by any means, without permission
in writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.

3 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Table of Contents

1 Introduction and functional overview ..................................................................... 7

2 Acronyms and abbreviations.................................................................................. 9

3 Related documentation ........................................................................................ 10


3.1 Input documents............................................................................................. 10
3.2 Related standards and norms ........................................................................ 11
3.3 Related specification ...................................................................................... 11
4 Constraints and assumptions............................................................................... 12
4.1 Limitations ...................................................................................................... 12
4.2 Applicability to car domains ........................................................................... 12
5 Dependencies to other modules .......................................................................... 13

6 Requirements traceability .................................................................................... 14

7 Functional specification ........................................................................................ 16


7.1 Ethernet BSW stack ....................................................................................... 16
7.1.1 Indexing scheme ..................................................................................... 16
7.1.2 Requirements .......................................................................................... 17
7.1.3 Configuration description ........................................................................ 18
7.1.4 Wake-up support ..................................................................................... 19
7.1.5 PLCA support .......................................................................................... 20
7.1.6 Handling of cable diagnostic ................................................................... 20
7.2 Error classification .......................................................................................... 21
7.2.1 Development Errors ................................................................................ 21
7.2.2 Runtime Errors ........................................................................................ 22
7.2.3 Transient Faults ....................................................................................... 22
7.2.4 Production Errors .................................................................................... 22
7.2.5 Extended Production Errors .................................................................... 22
8 API specification ................................................................................................... 23
8.1 Imported types ............................................................................................... 23
8.2 Type definitions .............................................................................................. 23
8.2.1 EthTrcv_ConfigType................................................................................ 23
8.2.2 EthTrcv_LinkStateType ........................................................................... 23
8.2.3 EthTrcv_StateType.................................................................................. 24
8.2.4 EthTrcv_BaudRateType .......................................................................... 24
8.2.5 EthTrcv_DuplexModeType...................................................................... 25
8.2.6 EthTrcv_ WakeupModeType................................................................... 25
8.2.7 EthTrcv_ WakeupReasonType ............................................................... 25
8.2.8 EthTrcv_ PhyTestModeType................................................................... 26
8.2.9 EthTrcv_ PhyLoopbackModeType .......................................................... 27
8.2.10 EthTrcv_ PhyTxModeType .................................................................. 27
8.2.11 EthTrcv_ CableDiagResultType .......................................................... 28
8.2.12 EthTrcv_MacMethodType .................................................................... 28
8.3 Function definitions ........................................................................................ 29
4 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

8.3.1 EthTrcv_Init ............................................................................................. 29


8.3.2 EthTrcv_SetTransceiverMode ................................................................ 30
8.3.3 EthTrcv_GetTransceiverMode ................................................................ 35
8.3.4 EthTrcv_ SetTransceiverWakeupMode .................................................. 36
8.3.5 EthTrcv_GetTransceiverWakeupMode ................................................... 37
8.3.6 EthTrcv_GetBusWuReason .................................................................... 39
8.3.7 EthTrcv_CheckWakeup .......................................................................... 40
8.3.8 EthTrcv_StartAutoNegotiation................................................................. 41
8.3.9 EthTrcv_TransceiverLinkStateRequest .................................................. 43
8.3.10 EthTrcv_GetLinkState .......................................................................... 44
8.3.11 EthTrcv_GetBaudRate ......................................................................... 45
8.3.12 EthTrcv_GetDuplexMode .................................................................... 47
8.3.13 EthTrcv_SetPhyTestMode ................................................................... 48
8.3.14 EthTrcv_SetPhyLoopbackMode .......................................................... 49
8.3.15 EthTrcv_GetPhySignalQuality ............................................................. 50
8.3.16 EthTrcv_SetPhyTxMode ...................................................................... 50
8.3.17 EthTrcv_ RunCableDiagnostic............................................................. 51
8.3.18 EthTrcv_GetCableDiagnosticsResult .................................................. 52
8.3.19 EthTrcv_GetPhyIdentifier ..................................................................... 52
8.3.20 EthTrcv_GetMacMethod ...................................................................... 53
8.3.21 EthTrcv_GetVersionInfo ...................................................................... 54
8.4 Callback notifications ..................................................................................... 55
8.4.1 EthTrcv_ReadMiiIndication ..................................................................... 55
8.4.2 EthTrcv_WriteMiiIndication ..................................................................... 56
8.5 Interrupt service routines ............................................................................... 57
8.6 Scheduled functions ....................................................................................... 57
8.6.1 EthTrcv_MainFunction ............................................................................ 57
8.7 Expected Interfaces ....................................................................................... 59
8.7.1 Mandatory Interfaces............................................................................... 59
8.7.2 Optional Interfaces .................................................................................. 59
8.7.3 Configurable interfaces ........................................................................... 60
9 Sequence diagrams ............................................................................................. 62

10 Configuration specification ............................................................................... 63


10.1 Containers and configuration parameters .................................................. 64
10.1.1 EthTrcv ................................................................................................. 67
10.1.2 EthTrcvConfigSet ................................................................................. 67
10.1.3 EthTrcvConfig ...................................................................................... 67
10.1.4 EthTrcvDemEventParameterRefs ....................................................... 80
10.1.5 EthTrcvMgmtInterface.......................................................................... 81
10.1.6 EthTrcvMiiInterface .............................................................................. 81
10.1.7 EthTrcvSwitchInterface ........................................................................ 82
10.1.8 EthTrcvGeneral .................................................................................... 83
11 Not applicable requirements ............................................................................ 89

5 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

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.

6 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

1 Introduction and functional overview


This specification specifies the functionality, API and the configuration of the
AUTOSAR Basic Software module Ethernet Transceiver Driver.

In the AUTOSAR Layered Software Architecture, the Ethernet Transceiver Driver


belongs to the Microcontroller Abstraction Layer, or more precisely, to the
Communication Drivers.

This indicates the main task of the Ethernet Transceiver Driver:


Provide to the upper layer (Ethernet Interface) a hardware independent interface
comprising multiple equal transceivers. This interface shall be uniform for all
transceivers. Thus, the upper layer (Ethernet Interface) may access the underlying
bus system in a uniform manner. The configuration of the Ethernet Transceiver
Driver however is bus specific, since it takes into account the specific features of the
communication transceiver.

A single Ethernet Transceiver Driver module supports only one type of transceiver
hardware, but several transceivers of the same type. The Ethernet Transceiver
Driver's prefix requires a unique namespace. The Ethernet Interface can access
different Ethernet controller types using different Ethernet Transceiver Drivers using
this prefix. The decision which driver to use to access a particular transceiver is a
configuration parameter of the Ethernet Interface.

Figure 1.1 depicts the lower part of the Ethernet stack. One Ethernet Interface
accesses several transceivers using one or several Ethernet Transceiver Drivers.

Figure 1.1: Ethernet stack module overview


7 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Note: The Ethernet Transceiver Driver 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 Transceiver Driver can be
carried out largely without detailed knowledge of the Ethernet Transceiver Driver
software.

8 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

2 Acronyms and abbreviations


Abbreviation / Description:
Acronym:
EC Ethernet controller
ET Ethernet transceiver
Eth Ethernet Controller Driver (AUTOSAR BSW module)
EthIf Ethernet Interface (AUTOSAR BSW module)
EthTrcv Ethernet Transceiver Driver (AUTOSAR BSW module)
MCG Module Configuration Generator
MII Media Independent Interface (standardized Interface provided by
Ethernet controllers to access Ethernet transceivers, see [21])
PLCA Physical Layer Collision Avoidance
P2P Point-to-Point
TO Transmit Opportunity
OA TC10 Open Alliance TC10 (see [23])

9 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

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] AUTOSAR General Requirements on Basic Software Modules


AUTOSAR_SRS_BSWGeneral.pdf

[4] Specification of Communication


AUTOSAR_SWS_COM.pdf

[5] Requirements on Ethernet Support in AUTOSAR


AUTOSAR_SRS_Ethernet.pdf

[6] Specification of Ethernet Interface


AUTOSAR_SWS_EthernetInterface.pdf

[7] Specification of Ethernet State Manager


AUTOSAR_SWS_EthernetStateManager.pdf

[9] Specification of Socket Adapter


AUTOSAR_SWS_SocketAdapter.pdf

[10] Specification of UDP Network Management


AUTOSAR_SWS_UDPNetworkManagement.pdf

[11] Specification of PDU Router


AUTOSAR_SWS_PDURouter.pdf

[12] BSW Scheduler Specification


AUTOSAR_SWS_Scheduler.pdf

[13] Specification of ECU Configuration


AUTOSAR_TPS_ECUConfiguration.pdf

[14] Specification of Memory Mapping


AUTOSAR_SWS_MemoryMapping.pdf

[15] Specification of Standard Types


AUTOSAR_SWS_StandardTypes.pdf

[16] Specification of Default Error Tracer


AUTOSAR_SWS_ DefaultErrorTracer.pdf
10 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[17] Specification of Diagnostics Event Manager


AUTOSAR_SWS_DiagnosticEventManager

[18] Specification of ECU State Manager


AUTOSAR_SWS_ECUStateManager.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.3cg-2019

[23] OPEN ALLIANCE Sleep/Wake-up Specification Version 2.0 (Rel Feb 21, 2017),
http://www.opensig.org/Automotive-Ethernet-Specifications/

3.3 Related specification

AUTOSAR provides a General Specification on Basic Software modules [19] (SWS


BSW General), which is also valid for Ethernet Transceiver Driver.

Thus, the specification SWS BSW General shall be considered as additional and
required specification for Ethernet Transceiver Driver.

11 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

4 Constraints and assumptions

4.1 Limitations
The Ethernet Transceiver Driver module is only able to handle a single thread of
execution. The execution must not be pre-empted by itself.

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 less-
demanding use cases, i.e. for low data rates.

12 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

5 Dependencies to other modules


This chapter lists the modules interacting with the Ethernet Transceiver Driver
module.

Modules that use Ethernet Transceiver Driver module:


 Ethernet Interface (EthIf)

Modules used by the Ethernet Transceiver Driver module:


 Ethernet Controller Driver (Eth) for transceiver access via Media Independent
Interface (MII).

Dependencies to other Modules:


 On certain systems the transceiver might share resources with other
components (e.g. the MCU, Port), and may depend on their configuration. If
those resources are within scope of the other modules (e.g. PLL configuration,
memory mapping, etc.) the Ethernet Transceiver Driver module does not take
care of configuring those components but requires their preceding
initialization.

13 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

6 Requirements traceability

Requirement Description Satisfied by


SRS_Eth_00039 The Ethernet SWS_EthTrcv_00029, SWS_EthTrcv_00030,
Transceiver Driver SWS_EthTrcv_00035
shall provide hardware
configuration and
intitialization.
SRS_Eth_00040 The Ethernet SWS_EthTrcv_00062
Transceiver Driver
shall provide access to
the link state.
SRS_Eth_00106 The Ethernet SWS_EthTrcv_00124, SWS_EthTrcv_00139
Transceiver Driver
shall switch on/off
wake up functionality
at pre compile time.
SRS_Eth_00107 The Ethernet SWS_EthTrcv_00135, SWS_EthTrcv_00146,
Transceiver Driver SWS_EthTrcv_00185, SWS_EthTrcv_00186,
shall support access to SWS_EthTrcv_91012
the wake up reason.
SRS_Eth_00108 The Ethernet SWS_EthTrcv_00110, SWS_EthTrcv_00114,
Transceiver Driver SWS_EthTrcv_00115, SWS_EthTrcv_00118,
shall be able to wake- SWS_EthTrcv_00183, SWS_EthTrcv_00184,
up an Ethernet SWS_EthTrcv_00185, SWS_EthTrcv_00191
network.
SRS_Eth_00117 The Ethernet SWS_EthTrcv_00147, SWS_EthTrcv_00149,
Transceiver Driver SWS_EthTrcv_91001, SWS_EthTrcv_91002,
shall provide access to SWS_EthTrcv_91003, SWS_EthTrcv_91004,
standardized hardware SWS_EthTrcv_91005, SWS_EthTrcv_91006,
features SWS_EthTrcv_91007, SWS_EthTrcv_91008,
SWS_EthTrcv_91009, SWS_EthTrcv_91010
SRS_Eth_00149 The Ethernet SWS_EthTrcv_00059, SWS_EthTrcv_00174
Transceiver Driver
shall provide 10BASE-
T1S support
SRS_Eth_00151 The Ethernet SWS_EthTrcv_00180, SWS_EthTrcv_00181,
Transceiver Driver SWS_EthTrcv_00182, SWS_EthTrcv_00193
shall support a
controlled link
shutdown (sleep
request)
SRS_Eth_00152 The Ethernet SWS_EthTrcv_00192
Transceiver Driver
shall be able to react
on sleep request
received from the
network.
SRS_Eth_00154 The Ethernet SWS_EthTrcv_00042, SWS_EthTrcv_00184,
Transceiver Driver SWS_EthTrcv_00196
shall provide a
possibility to re-trigger
14 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

a wake-up request.
SRS_Eth_00155 The Ethernet SWS_EthTrcv_00194, SWS_EthTrcv_00195
Transceiver Driver
shall provide a
possibility to re-trigger
a sleep request.
SRS_ModeMgm_09267 - SWS_EthTrcv_00192

15 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

7 Functional specification
7.1 Ethernet BSW stack
As part of the AUTOSAR Layered Software Architecture according to Figure 7.1, the
Ethernet BSW modules also form a layered software stack. Figure 7.1 depicts the
basic structure of this Ethernet BSW stack. The EthIf module accesses several
transceivers using the Ethernet Transceiver Driver layer, which can be made up of
several Ethernet Transceiver Drivers modules.

Ethernet Interface

Software
Ethernet Transceiver Ethernet Transceiver Ethernet Transceiver
Driver Vendor A Driver Vendor B Driver Vendor C

Hardware
ET Type A ET Type A ET Type B ET Type C ET Type C

Ethernet physical medium

Figure 7.1: Basic Structure of the Ethernet BSW stack

7.1.1 Indexing scheme


Users of the Ethernet Transceiver Driver identify transceiver resources using an
indexing scheme as depicted in Figure 7.2.

16 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Figure 7.2: Ethernet Transceiver Driver indexing scheme

[SWS_EthTrcv_00003] ⌈
The Ethernet Transceiver Driver is using a zero-based index to abstract the access
for upper software layers. The parameter EthTrcv_CtrlIdx within configuration
corresponds to parameter TrcvIdx used in the API. ⌋()

7.1.2 Requirements
This chapter lists requirements that shall be fulfilled by Ethernet Transceiver Driver
module implementations.
The Ethernet Interface module environment comprises all modules which are calling
interfaces of the Ethernet Interface module.

[SWS_EthTrcv_00004] ⌈
The Ethernet Transceiver Driver module shall support pre-compile time, link time and
post-build time configuration. ⌋()

[SWS_EthTrcv_00005] ⌈
The header file EthTrcv.h shall include a software and specification version number.
⌋()

[SWS_EthTrcv_00006] ⌈
The Ethernet Transceiver Driver 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_EthTrcv_00007] ⌈

17 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

In case development error detection is enabled for the Ethernet Transceiver Driver
module: The Ethernet Transceiver Driver module shall check API parameters for
validity and report detected errors to the DET. ⌋()

DET API functions are specified in [16].

[SWS_EthTrcv_00009] ⌈
The Ethernet Transceiver Driver module shall implement the API functions specified
by the Ethernet Transceiver Driver SWS as real C-code functions and shall not
implement the API as macros for object code deliveries. ⌋()

[SWS_EthTrcv_00010] ⌈
None of the Ethernet Transceiver Driver module header files shall define global
variables. ⌋()

7.1.3 Configuration description


[SWS_EthTrcv_00011] ⌈
The Ethernet Transceiver Driver 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_EthTrcv_00012] ⌈
The MCG shall read the ECU configuration description of the Ethernet Driver
module(s). Ethernet Driver related configuration data is contained in the Ethernet
Driver module configuration description. ⌋()

[SWS_EthTrcv_00013] ⌈
The MCG shall ensure the consistency of the generated configuration data. ⌋()

[SWS_EthTrcv_00014] ⌈
The configuration of the Ethernet Transceiver Driver module shall be calculated at
ECU configuration time. None of the communication parameters shall be calculated
at runtime. ⌋()

[SWS_EthTrcv_00015] ⌈
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


found in chapter 10.

A detailed description of all Ethernet Transceiver Driver related configuration


parameters can be found in chapter 10 of this document.

18 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

7.1.4 Wake-up support


[SWS_EthTrcv_00110]{DRAFT} ⌈
The Ethernet Transceiver driver shall support wake up detection depending on the
configuration parameter EthTrcvWakeUpSupport either not at all
(ETHTRCV_WAKEUP_NOT_SUPPORTED) or by interrupt
(ETHTRCV_WAKEUP_BY_INTERRUPT) or by asynchronous check
(ETHTRCV_WAKEUP_BY_ASYNCHRONOUS_CHECK) or by polling
(ETHTRCV_WAKEUP_BY_POLLING). ⌋(SRS_Eth_00108)

Note: If the Ethernet Transceiver driver detects a wakeup it will map the wake-up
reason provided by the Ethernet hardware (PHY) to wake-up events defined by
EcuM. The Ethernet Transceiver driver will support the following scenarios:
- Sleeping ECU and sleeping network -> wake up detection via EthTrcv_Init
(called during Power On)
- Awake ECU and sleeping network -> wake up detection via
EthTrcv_MainFunction or wake up interrupt handler (checked by EcuM within
CheckWakeup)

[SWS_EthTrcv_00111]{DRAFT} ⌈
If the EthTrcv is requested with ETH_MODE_DOWN (e.g. low power mode), the
Ethernet Transceiver driver shall enable the corresponding ICU channel (see
EthTrcvIcuChannelRef) by calling Icu_EnableNotification if configured. ⌋()

[SWS_EthTrcv_00112]{DRAFT} ⌈
If the EthTrcv is requested with ETH_MODE_ACTIVE (e.g. normal mode), the
Ethernet Transceiver driver shall disable the corresponding ICU channel (see
EthTrcvIcuChannelRef) by calling Icu_DisableNotification if configured. ⌋()

[SWS_EthTrcv_00146] ⌈
The wake up interrupt handler (if present) shall clear the interrupt and identify the
wake up reason and store it. ⌋(SRS_Eth_00107)

7.1.4.1 Wake-up and Sleep on dataline

AUTOSAR supports OA TC10 compliant Ethernet hardware (PHY) (see [23]). Such
PHYs have the capability to transmit wake-up and sleep signals on the dataline.
Wake-up on dataline will bring the connected communication partners from a low-
power sleep mode to a normal mode. Sleep on dataline will bring the connected
communication partners from a normal mode to a low-power mode in a synchronized
manner.
The Ethernet Transceiver driver is requested to trigger a wake-up on the network if
the upper layer requests ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST.
The Ethernet transceiver driver is requested to trigger a sleep on the network if the
upper layer requests ETH_MODE_DOWN.
A wake-up on the network could be propagated to neighboring PHYs according to
the configuration.

Therefore, the configuration contains particular parameter to configure the behaviour


regarding the forwarding of a received wake-up:
19 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

- Forward a locally received wake-up from a neighboring PHY to the network


(EthTrcvWakeupForwardLocalEnabled);
- Forward a received wake-up from the network to the neighboring PHY.
(EthTrcvWakeupForwardRemoteEnabled).

Addtionally timing parameters are available to define the timing behaviour of used
Ethernet hardware (PHY):
- Define the time when a local wake-up on the used wake-up detection
connection (e.g. I/O pins) is evaluated and detected as valid
(EthTrcvWakeupLocalDetectionTime). Please note, local wake-up is triggered
by a connected neighboring PHY;
- Define the time duration how long a wake-up is present on the used wake-up
detection connection (e.g. I/O pins) for the connected neighboring PHYs
(EthTrcvWakeupLocalDurationTime).

Note: If using OA TC10 compliant PHYs, then the ECU needs its own control of the
power supply and should not rely on the PHY, since the INH will be switched off per
specification (see [23] Figure 1: PHY power mode sequence)

7.1.5 PLCA support


Physical Layer Collision Avoidance (PLCA) media access control specified by IEEE
(see [22]) allows several nodes to share the same medium.
This media access control mode is meant to be used in half-duplex and requires to
be supported by the HW. This feature supported by specific HW (i.e. 10BASE-T1S)
can be deactivated and in that case CSMA/CD is used for multidrop topologies. In
this case, autonegociation is configured the same way as the others Ethernet PHY
types.

7.1.6 Handling of cable diagnostic


Cable diagnostic measurement is triggered by calling EthTrcv_RunCableDiagnostic.
The current state of the cable diagnostic measurement is polled by calling
EthTrcv_GetCableDiagnosticsResult. If EthTrcv_GetCableDiagnosticsResult return
with other value then ETHTRCV_CABLEDIAG_PENDING, then the cable diagnostic
has finished.
It is up to the caller to re-trigger cable diagnostic again, if the measurement failed by
returning ETHTRCV_CABLEDIAG_ERROR.

[SWS_EthTrcv_00159] ⌈
If EthTrcv_RunPortCableDiagnostic is called, EthTrcv has to ensure that the Ethernet
hardware (PHY) is in a state to run the cable diagnostic by considering at least the
following points:
- the corresponding Ethernet transceiver is in state ETH_MODE_ACTIVE
- the corresponding Ethernet transceiver is in state
ETHTRCV_LINK_STATE_DOWN

If all pre conditions are fullfilled to run the cable diagnostic measurement, EthTrcv

20 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

shall trigger the cable diagnostic measurement and set the state internally to
ETHTRCV_CABLEDIAG_PENDING of the affected Ethernet transceiver. ⌋()

[SWS_EthTrcv_00160] ⌈
If EthTrcv_GetCableDiagnosticsResult is called, the current state of the cable
diagnostic measurement of the affected Ethernet transceiver shall be returned and
stored per Ethernet transceiver as internal cable diagnostic state. ⌋()

[SWS_EthTrcv_00161] ⌈
As long as the cable diagnostic measurement is running (internal cable diagnostic
state is ETHTRCV_CABLEDIAG_PENDING), a mode request (indicated by
EthTrcv_SetTransceiverMode) and link request (indicated by
EthTrcv_TransceiverLinkStateRequest), respectively, shall be stored and not
executed. ⌋()

[SWS_EthTrcv_00162] ⌈
As soon as the cable diagnostic meassurement has finished (internal cable
diagnostic state is different from ETHTRCV_CABLEDIAG_PENDING), EthTrcv shall
execute the last mode request and link request, respectively, of the affected Ethernet
transceiver. ⌋()

Note: Cable diagnostic measurement is triggered by a CDD that maintain the cable
diagnostic result. The CDD should use the dedicated APIs of EthIf to execute the
cable diagnostic measurement:
- EthIf_RunCableDiagnostic: For a single Ethernet transceiver which is not
referenced by an Ethernet switch port;
- EthIf_RunPortCableDiagnostic: For an Ethernet transceiver which is
referenced by an Ethernet switch port.
Thus, the upper layer of the EthTrcv is either EthIf or an Ethernet switch.

7.2 Error classification


Section 7.2 "Error Handling" of the document "General Specification of Basic
Software Modules" [19] describes the error handling of the Basic Software in detail.
Above all, it constitutes a classification scheme consisting of five error types which
may occur in BSW modules.

Based on this foundation, the following section specifies particular errors arranged in
the respective subsections below.

7.2.1 Development Errors


[SWS_EthTrcv_00017]⌈
Type of error Related error code Error value

Invalid transceiver index ETHTRCV_E_INV_TRCV_IDX 0x01

EthTrcv module was not initialized ETHTRCV_E_UNINIT 0x02

21 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Invalid pointer in parameter list ETHTRCV_E_PARAM_POINTER 0x03

⌋()

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.5 Extended Production Errors


Extended production errors are handled as events of the Diagnostic Event Manager.
The event IDs are defined in the following tables, while the actual values are
assigned externally by the configuration of the Diagnostic Event Manager, and are
included in the module via Dem.h.

[SWS_EthTrcv_00105] ⌈
Error Name: ETHTRCV_E_ACCESS
Short Description: Ethernet Transceiver Access Failure.
Long Description: Monitors the access to the Ethernet Transceiver.
Fail When access to the Ethernet Transceiver fails the module
shall report the extended production error with event
status DEM_EVENT_STATUS_PREFAILED to DEM.
Detection Criteria: Pass When access to the Ethernet Transceiver succeds the
module shall report the extended production error with
event status DEM_EVENT_STATUS_PREPASSED to
DEM.
Secondary Parameters: None.
Time Required: None.
Monitor Frequency None.
⌋()

22 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

8 API specification

8.1 Imported types


This chapter lists all types included from the following modules:

[SWS_EthTrcv_00027]⌈
Module Header File Imported Type

Rte_Dem_Type.h Dem_EventIdType
Dem
Rte_Dem_Type.h Dem_EventStatusType

EcuM EcuM.h EcuM_WakeupSourceType

Eth Eth_GeneralTypes.h Eth_ModeType

Icu Icu.h Icu_ChannelType

Std_Types.h Std_ReturnType
Std
Std_Types.h Std_VersionInfoType

⌋()

8.2 Type definitions

8.2.1 EthTrcv_ConfigType
[SWS_EthTrcv_00098]⌈
Name EthTrcv_ConfigType

Kind Structure

Description Implementation specific structure of the post build configuration

Available via EthTrcv.h

⌋()

8.2.2 EthTrcv_LinkStateType
[SWS_EthTrcv_00100]⌈
Name EthTrcv_LinkStateType

Kind Enumeration

ETHTRCV_LINK_STATE_ No physical Ethernet connection


Range 0x00
DOWN established

23 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

ETHTRCV_LINK_STATE_ Physical Ethernet connection


0x01
ACTIVE established

This type defines the Ethernet link state. The link state changes after an Ethernet
Description cable gets plugged in and the transceivers on both ends negotiated the transmission
parameters (i.e. baud rate and duplex mode)

Available
Eth_GeneralTypes.h
via

⌋()
8.2.3 EthTrcv_StateType
[SWS_EthTrcv_00101]⌈
Name EthTrcv_StateType

Kind Enumeration

ETHTRCV_STATE_UNINIT 0x00 Driver is not yet configured


Range
ETHTRCV_STATE_INIT 0x01 Driver is configured

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

Available
Eth_GeneralTypes.h
via

⌋()

8.2.4 EthTrcv_BaudRateType
[SWS_EthTrcv_00102]⌈
Name EthTrcv_BaudRateType

Kind Enumeration

ETHTRCV_BAUD_RATE_10MBIT 0x00 10MBIT Ethernet connection

ETHTRCV_BAUD_RATE_100MBIT 0x01 100MBIT Ethernet connection


Range
ETHTRCV_BAUD_RATE_1000MBIT 0x02 1000MBIT Ethernet connection

ETHTRCV_BAUD_RATE_2500MBIT 0x03 2500MBIT Ethernet Connection

This type defines the Ethernet baud rate. The baud rate gets either negotiated
Description
between the connected transceivers or has to be configured.

Available
Eth_GeneralTypes.h
via

⌋()

24 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

8.2.5 EthTrcv_DuplexModeType
[SWS_EthTrcv_00103]⌈
Name EthTrcv_DuplexModeType

Kind Enumeration

ETHTRCV_DUPLEX_MODE_HALF 0x00 Half duplex Ethernet connection


Range
ETHTRCV_DUPLEX_MODE_FULL 0x01 Full duplex Ethernet connection

This type defines the Ethernet duplex mode. The duplex mode gets either negotiated
Description
between the connected transceivers or has to be configured.

Available
Eth_GeneralTypes.h
via

⌋()
8.2.6 EthTrcv_ WakeupModeType
[SWS_EthTrcv_00113]{OBSOLETE} ⌈
Name EthTrcv_WakeupModeType (obsolete)

Kind Enumeration

ETHTRCV_WUM_
0x00 Transceiver wake up disabled
DISABLE

Range ETHTRCV_WUM_ Transceiver wake up enabled (default wakeup


0x01
ENABLE mode)

ETHTRCV_WUM_CLEAR 0x02 Transceiver wake up reason cleared.

This type controls the transceiver wake up modes and/or clears the wake-up reason.
Description
Tags:atp.Status=obsolete

Available
Eth_GeneralTypes.h
via

⌋()
8.2.7 EthTrcv_ WakeupReasonType
[SWS_EthTrcv_00114]⌈
Name EthTrcv_WakeupReasonType

Kind Enumeration

ETHTRCV_
0x00 No wake up reason detected.
WUR_NONE
Range
ETHTRCV_
General wake up detected, no distinct reason supported by
WUR_ 0x01
hardware.
GENERAL

25 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

ETHTRCV_ Bus wake up detected. Available if supported by hardware.


0x02
WUR_BUS Tags:atp.Status=obsolete

ETHTRCV_
Internal wake up detected. Available if supported by
WUR_ 0x03
hardware.
INTERNAL

ETHTRCV_
0x04 Reset wake up detected. Available if supported by hardware.
WUR_RESET

ETHTRCV_
Power on wake up detected. Available if supported by
WUR_ 0x05
hardware.
POWER_ON

ETHTRCV_
0x06 Pin wake up detected. Available if supported by hardware.
WUR_PIN

ETHTRCV_ System error wake up detected. Available if supported by


0x07
WUR_SYSERR hardware.

Wake-up on data line (WUP = wake up pulse) detected while


ETHTRCV_ link is down of the corresponding Ethernet hardware (e.g.
WUR_WODL_ 0x08 PHY). Only available if EthTrcvWakeupSleepOnDataline
WUP Enabled is set to TRUE.
Tags:atp.Status=draft

Wake-up on data line (WUR = wake up request) detected


ETHTRCV_ while link is active of the used Ethernet hardware (e.g. PHY).
WUR_WODL_ 0x09 Only available if EthTrcvWakeupSleepOnDatalineEnabled is
WUR set to TRUE.
Tags:atp.Status=draft

Device internal transfer of wake-up on data line from a


ETHTRCV_
neighboring PHY. Only possible if Ethernet hardware is
WUR_ 0xA
compliant to OA TC10.
TRANSFER
Tags:atp.Status=draft

Description This type defines the transceiver wake up reasons.

Available
Eth_GeneralTypes.h
via

⌋(SRS_Eth_00108)

8.2.8 EthTrcv_ PhyTestModeType


[SWS_EthTrcv_91002]⌈
Name EthTrcv_PhyTestModeType

Kind Enumeration

ETHTRCV_PHYTESTMODE_
0x00 normal operation
NONE
Range
ETHTRCV_PHYTESTMODE_1 0x01 test transmitter droop

ETHTRCV_PHYTESTMODE_2 0x02 test master timing jitter

26 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

ETHTRCV_PHYTESTMODE_3 0x03 test slave timing jitter

ETHTRCV_PHYTESTMODE_4 0x04 test transmitter distortion

test power spectral density (PSD)


ETHTRCV_PHYTESTMODE_5 0x05
mask

Description Describes the possible PHY test modes

Available
Eth_GeneralTypes.h
via

⌋(SRS_Eth_00117)

8.2.9 EthTrcv_ PhyLoopbackModeType


[SWS_EthTrcv_91004]⌈
Name EthTrcv_PhyLoopbackModeType

Kind Enumeration

ETHTRCV_PHYLOOPBACK_NONE 0x00 normal operation

ETHTRCV_PHYLOOPBACK_INTERNAL 0x01 internal loopback


Range
ETHTRCV_PHYLOOPBACK_EXTERNAL 0x02 external loopback

ETHTRCV_PHYLOOPBACK_REMOTE 0x03 remote loopback

Description Describes the possible PHY loopback modes

Available via Eth_GeneralTypes.h

⌋(SRS_Eth_00117)

8.2.10 EthTrcv_ PhyTxModeType

[SWS_EthTrcv_91006]⌈
Name EthTrcv_PhyTxModeType

Kind Enumeration

ETHTRCV_PHYTXMODE_NORMAL 0x00 normal operation

Range ETHTRCV_PHYTXMODE_TX_OFF 0x01 transmitter disabled

ETHTRCV_PHYTXMODE_SCRAMBLER_OFF 0x02 scrambler disabled

Description Describes the possible PHY transmit modes

Available via Eth_GeneralTypes.h

⌋(SRS_Eth_00117)

27 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

8.2.11 EthTrcv_ CableDiagResultType

[SWS_EthTrcv_91008]⌈
Name EthTrcv_CableDiagResultType

Kind Enumeration

ETHTRCV_CABLEDIAG_
0x00 Cable diagnostic ok
OK

ETHTRCV_CABLEDIAG_
0x01 Cable diagnostic failed
ERROR

ETHTRCV_CABLEDIAG_
0x02 Short circuit detected
SHORT
Range
ETHTRCV_CABLEDIAG_
0x03 Open circuit detected
OPEN

ETHTRCV_CABLEDIAG_
0x04 cable diagnostic is still running
PENDING

cable diagnostics has detected wrong polarity of


ETHTRCV_CABLEDIAG_
0x05 the "Ethernet physical+" or "Ethernet physical-"
WRONG_POLARITY
lines

Description Describes the results of the cable diagnostics.

Available
Eth_GeneralTypes.h
via

⌋(SRS_Eth_00117)

8.2.12 EthTrcv_MacMethodType

[SWS_EthTrcv_91013]{DRAFT} ⌈
Name EthTrcv_MacMethodType (draft)

Kind Enumeration

ETHTRCV_MAC_TYPE_ Carrier sence multiple access with


0x00
CSMA_CD collision detection
Range
ETHTRCV_MAC_TYPE_PLCA 0x01 Physical layer collision avoidance

This type defines the media access control type in half duplex. If ETHTRCV_MAC_
TYPE_PLCA is configured, PLCA is supported and the parameters listed in ECUC_
Description
EthTrcv_00055 have to be configured.
Tags:atp.Status=draft

Available
Eth_GeneralTypes.h
via

⌋()

28 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

8.3 Function definitions


This is a list of functions provided for upper layer modules.
8.3.1 EthTrcv_Init
[SWS_EthTrcv_00028]⌈
Service Name EthTrcv_Init

void EthTrcv_Init (
Syntax const EthTrcv_ConfigType* CfgPtr
)

Service ID [hex] 0x01

Sync/Async Synchronous

Reentrancy Non Reentrant

Parameters (in) CfgPtr Points to the implementation specific structure

Parameters (inout) None

Parameters (out) None

Return value None

Description Initializes the Ethernet Transceiver Driver

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00029] ⌈
The function shall store the access to the configuration structure for subsequent API
calls. ⌋(SRS_Eth_00039)

[SWS_EthTrcv_00035] ⌈
The function shall initialize the Ethernet hardware (PHY) with all available
configuration parameters:
- EthTrcvConnNeg (see ECUC_EthTrcv_00025)
- EthTrcvDuplexMode (see ECUC_EthTrcv_00023)
- EthTrcvMacLayerSpeed (see ECUC_EthTrcv_00044)
- EthTrcvMacLayerSubType (see ECUC_EthTrcv_00043)
- EthTrcvMacLayerType (see ECUC_EthTrcv_00035)
- EthTrcvPhysLayerType (see ECUC_EthTrcv_00024)
- EthTrcvSpeed (see ECUC_EthTrcv_00022).
29 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

⌋(SRS_Eth_00039)
Note: Only available configuration parameter of Ethernet hardware (PHY) are
considered by the EthTcrv initialization. The remaining configuration parameter may
be hardware-configured (e.g. pin strapping).

[SWS_EthTrcv_00030] ⌈
The function shall change the state of the component from
ETHTRCV_STATE_UNINIT to ETHTRCV_STATE_INIT. ⌋(SRS_Eth_00039)

[SWS_EthTrcv_00115]{DRAFT} ⌈
The function shall check for wake-up reasons and propagate the corresponding
wake-up source (see EthTrcvWakeupMap configuration) to the EcuM by calling
EcuM_SetWakeupEvent. ⌋(SRS_Eth_00108)

[SWS_EthTrcv_00040] ⌈
The function shall check the access to the Ethernet transceiver. If the check fails, the
function shall raise the production error ETHTRCV_E_ACCESS otherwise pass the
production error ETHTRCV_E_ACCESS. ⌋()

[SWS_EthTrcv_00032] ⌈
Caveat: The API has to be called during initialization. ⌋()

8.3.2 EthTrcv_SetTransceiverMode
[SWS_EthTrcv_00042]⌈
Service
EthTrcv_SetTransceiverMode
Name

Std_ReturnType EthTrcv_SetTransceiverMode (
uint8 TrcvIdx,
Syntax
Eth_ModeType TrcvMode
)

Service ID
0x03
[hex]

Sync/Async Asynchronous

Reentrancy Non Reentrant

Index of the transceiver within the context of the Ethernet Transceiver


TrcvIdx
Driver

Parameters ETH_MODE_DOWN: disable the transceiver ETH_MODE_ACTIVE:


(in) enable the transceiver ETH_MODE_ACTIVE_WITH_WAKEUP_
Trcv
REQUEST: enable the transceiver and request to trigger a wake-up on
Mode
the network, if the used Ethernet PHY support such a feature. E.g. used
for PHYs compliant to OA TC10

Parameters
None
(inout)

30 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Parameters
None
(out)

Std_-
E_OK: Service accepted
Return value Return-
E_NOT_OK: Service denied
Type

Description Enables / disables the indexed transceiver

Available via EthTrcv.h

⌋(SRS_Eth_00154)

[SWS_EthTrcv_00163] ⌈
If EthTrcv_SetTransceiverMode() is called and the internal cable diagnostic state is
equal to ETHTRCV_CABLEDIAG_PENDING, the Ethernet Transceiver driver shall
store the mode request per EthTrcv (TrcvIdx).⌋()

Note: Furhter processing of the mode will be done when cable diagnostic has
finished, see SWS_EthTrcv_00162.

[SWS_EthTrcv_00043]{DRAFT} ⌈
The function shall put the indexed transceiver in the specified mode according to the
following specified requirements. Each time a new mode is entered which was
previously requested by EthTrcv_SetTransceiverMode, EthTrcv shall call
EthIf_TrcvModeIndication latest during the next EthTrcv_MainFunction. ⌋()

[SWS_EthTrcv_00179]{DRAFT} ⌈
A new requested EthTrcv mode shall overwrite the last requested EthTrcv mode,
except in case the last mode is ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST
and the new mode is ETH_MODE_ACTIVE. ⌋()

Note: The Ethernet Transceiver driver store the requested mode per EthTrcv. The
stored mode is used to re-trigger the requested mode in the context of the main
function:
- A stored wake-up is repeated according to the available configuration (see
EthTrcvWakeupRequestNumberOfRepetitions and
EthTrcvWakeUpRequestRepetitionPeriod).
- A stored sleep request is repeated according the available configuration
(EthTrcvSleepRequestNumberOfRepetitions and
EthTrcvSleepRequestRepetitionPeriod).

8.3.2.1 ETH_MODE_DOWN request

[SWS_EthTrcv_00117]{DRAFT} ⌈
If the function is called with ETH_MODE_DOWN and
EthTrcvWakeupSleepOnDatalineEnabled is set to FALSE or not configured, it shall

31 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

set the corresponding Ethernet Hardware (PHY) into a mode (e.g. sleep mode)
where wakeups can be detected. ⌋()

[SWS_EthTrcv_00180]{DRAFT} ⌈
If the function is called with ETH_MODE_DOWN,
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE, the Ethernet Transceiver
driver has detected a pending wake-up and a corresponding delay timer with
EthTrcvSleepModeExecutionDelay is not running, the Ethernet Transceiver driver
shall start a delay timer with EthTrcvSleepModeExecutionDelay and return with
E_OK. ⌋ (SRS_Eth_00151)
⌋()

Note: The further processing of the ETH_MODE_DOWN is done in the main


function, see SWS_EthTrcv_00193

Rational for SWS_EthTrcv_00180: The delay of the execution for a sleep


(ETH_MODE_DOWN) should avoid the race condition, if a ETH_MODE_DOWN was
requested while a wake-up of a neighboring PHY was received via a local wake-up
connection (e.g. I/O pin). The EthSM shall be able to finish the shutdown process
(transition from ETHSM_STATE_WAIT_OFFLINE to ETHSM_STATE_OFFLINE), but
the EthTrcv should delay the sleep processing, because it could be that EthSM
request the network with COMM_FULL_COMMUNICATION again, due the pending
wake-up, received via a local wake-up connection. An immediate execution of a
sleep could bring the Ethernet hardware (PHY) to sleep, while the local wake-up
request needs the Ethernet hardware (PHY) in normal state. A local received wake-
up is handled as a passive communication request and will not bring the Ethernet
hardware back to normal mode.

[SWS_EthTrcv_00181]{DRAFT} ⌈
If the function is called with ETH_MODE_DOWN,
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE, the Ethernet Transceiver
driver has detected a pending wake-up and a corresponding delay timer with
EthTrcvSleepModeExecutionDelay is running, then the Ethernet Transceiver driver
shall return with E_OK. ⌋ (SRS_Eth_00151)

Note: A running delay timer with EthTrcvSleepModeExecutionDelay inidicate that a


sleep (ETH_MODE_DOWN) was already requested. Therefor no further handling for
the sleep request is needed.

[SWS_EthTrcv_00182]{DRAFT} ⌈
If the function is called with ETH_MODE_DOWN,
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE and the EthTrcv has not
detected a pending wake-up (see SWS_EthTrcv_00180), the Ethernet hardware
(PHY) is in another mode than sleep mode and has not already triggered a sleep
request, the Ethernet Transceiver driver shall trigger a sleep request according to the
specification of OA TC10 (see [23]).⌋( SRS_Eth_00151)

Note: The Ethernet Transceiver driver is checking if the Ethernet hardware (PHY)
has already entered the sleep mode to avoid to trigger the affected Ethernet
32 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

hardware (PHY) again with a sleep request. This is needed, because the connected
Ethernet ECUs trigger a sleep request may be in a different point in time (e.g. if using
Ethernet switch port switching the executing of sleep request is delayed by
EthIfSwitchOffPortTimeDelay). The Ethernet ECU which shutdown a bit earlier trigger
the sleep request and bring the own Ethernet hardware (PHY) and the Ethernet
hardware of the connected Ethernet ECUs to sleep mode. The Ethernet Transceiver
driver of the ECU which shutdown a bit later detect that the affected Ethernet
hardware (PHY) has already reached sleep mode. In this case, the Ethernet
hardware (PHY) shall be left as it is and return from the function call.

8.3.2.2 ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST or
ETH_MODE_ACTIVE request

[SWS_EthTrcv_00118]{DRAFT} ⌈
If EthTrcv_SetTransceiverMode() is called with parameter ETH_MODE_ACTIVE or
ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST,
EthTrcvWakeupSleepOnDatalineEnabled set to FALSE or not configured and the
internal cable diagnostic state is different from ETHTRCV_CABLEDIAG_PENDING,
the Ethernet Transceiver driver shall:
- Check for wake-up reasons when entering the transceiver's active mode;
- If no wake-up reason has been detected, the Ethernet transceiver shall send a
wake-up symbol on the bus if configured;
- Invoke the call-out <EthTrcvWakeUpCallout> function if configured.
⌋(SRS_Eth_00108)

[SWS_EthTrcv_00183]{DRAFT} ⌈
If the function is called with ETH_MODE_ACTIVE,
EthTrcvWakeupSleepOnDatalineEnabled is TRUE and the internal cable diagnostic
state is different from ETHTRCV_CABLEDIAG_PENDING, the Ethernet Transceiver
driver shall:
- Put the Ethernet hardware (PHY) to normal mode, if not already switched
automatically by the statemachine of the Ethernet hardware (PHY),
- Invoke the call-out <EthTrcvWakeUpCallout> function if configured.
⌋(SRS_Eth_00108)

Note: A requested mode with ETH_MODE_ACTIVE indicate a passive wake-up.


Thus, the Ethernet hardware was remotely woken up by the connected
communication partner. In this case no wake-up shall be transmitted on the network.
The Ethernet hardware (PHY) should be put to normal mode, due to a received
wake-up according to the OA TC10 (see [23]). But to increase the robustness for the
communication, the Ethernet Transciever Driver shall check the current mode and
bring the Ethernet hardware (PHY) to normal mode, if not done by the statemachine
Ethernet hardware (PHY).

[SWS_EthTrcv_00184]{DRAFT} ⌈
If the function is called with ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST,
EthTrcvWakeupSleepOnDatalineEnabled is TRUE, the internal cable diagnostic state
is different from ETHTRCV_CABLEDIAG_PENDING and EthTrcv does not currently

33 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

perform wakeup repetition algorithm (see SWS_EthTrcv_00196), the Ethernet


Transceiver driver shall:
- trigger the Ethernet hardware (PHY) to transmit a wake-up on the network
according to the specification of OA TC10 (see [23]),
- invoke the call-out <EthTrcvWakeUpCallout> function if configured.
⌋(SRS_Eth_00108, SRS_Eth_00154)

Note: A requested mode with ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST


indicate an active wake-up. This would result in a trigger of a wake-up on the network
and putting the Ethernet hardware (PHY) implicitely to normal mode.

Comment on [SWS_EthTrcv_00183] and [SWS_EthTrcv_00184]: In case of former


requested mode was ETH_MODE_DOWN and new mode is ETH_MODE_ACTIVE
or ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST all actions regarding sleep
handling will no longer be processed (refer to SWS_EthTrcv_00193 /
SWS_EthTrcv_00194 / SWS_EthTrcv_00195).
Independent of the former mode when
ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST is requested also the number of
wakeup repetions will start from beginning (refer to SWS_EthTrcv_00196).

8.3.2.3 Error handling

[SWS_EthTrcv_00044] ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00045] ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00094] ⌈
If the transceiver is already in the requested mode E_OK shall be returned and no
development error shall be raised. ⌋()

[SWS_EthTrcv_00104] ⌈
The function shall check the access to the Ethernet transceiver. If the check fails, the
function shall raise the production error ETHTRCV_E_ACCESS and return
E_NOT_OK, otherwise pass the production error ETHTRCV_E_ACCESS and return
E_OK. ⌋()

[SWS_EthTrcv_00047] ⌈
Caveat: The function requires previous transceiver initialization (EthTrcv_Init). ⌋()

8.3.2.4 Configuration hints


[SWS_EthTrcv_00046] {OBSOLETE}⌈
34 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

The function shall be pre compile time configurable On/Off by the configuration
parameter: EthTrcvSetTransceiverModeApi. ⌋()

8.3.3 EthTrcv_GetTransceiverMode
[SWS_EthTrcv_00048]⌈
Service Name EthTrcv_GetTransceiverMode

Std_ReturnType EthTrcv_GetTransceiverMode (
uint8 TrcvIdx,
Syntax Eth_ModeType* TrcvModePtr
)

Service ID [hex] 0x04

Sync/Async Synchronous

Reentrancy Non Reentrant

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

Parameters
None
(inout)

Parameters ETH_MODE_DOWN: the transceiver is disabled ETH_MODE_


TrcvModePtr
(out) ACTIVE: the transceiver is enable

Std_Return- E_OK: success


Return value
Type E_NOT_OK: transceiver could not be initialized

Description Obtains the state of the indexed transceiver

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00049]{DRAFT} ⌈
The function shall read the current transceiver mode of the Ethernet hardware (PHY),
whereby ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST shall always be
returned as ETH_MODE_ACTIVE. ⌋()

[SWS_EthTrcv_00050] ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00051] ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()
35 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[SWS_EthTrcv_00052] ⌈
If development error detection is enabled: the function shall check the parameter
TrcvModePtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER otherwise (if DET is disabled)
return E_NOT_OK. ⌋()

[SWS_EthTrcv_00053]{OBSOLETE} ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter: EthTrcvGetTransceiverModeApi. ⌋()

[SWS_EthTrcv_00054] ⌈
Caveat: The function requires previous transceiver initialization (EthTrcv_Init). ⌋()

8.3.4 EthTrcv_ SetTransceiverWakeupMode


[SWS_EthTrcv_00119]{OBSOLETE} ⌈
Service Name EthTrcv_SetTransceiverWakeupMode (obsolete)

Std_ReturnType EthTrcv_SetTransceiverWakeupMode (
uint8 TrcvIdx,
Syntax EthTrcv_WakeupModeType TrcvWakeupMode
)

Service ID
0x0d
[hex]

Sync/Async Synchronous

Reentrancy Non Reentrant

Index of the transceiver within the context of the Ethernet Transceiver


TrcvIdx
Driver
Parameters
(in) Trcv ETHTRCV_WUM_DISABLE: disable transceiver wake up ETHTRCV_
Wakeup WUM_ENABLE: enable transceiver wake up ETHTRCV_WUM_
Mode CLEAR: clears transceiver wake up reason

Parameters
None
(inout)

Parameters
None
(out)

E_OK: transceiver wake up mode has been changed.


Std_-
Return value E_NOT_OK: transceiver wake up mode could not be changed or the
ReturnType
wake-up reason could not be cleared.

Enables / disables the wake-up mode or clear the wake-up reason of the indexed
Description transceiver
Tags:atp.Status=obsolete

Available via EthTrcv.h

⌋()
36 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[SWS_EthTrcv_00128]{OBSOLETE} ⌈
The function EthTrcv_GetTransceiverWakeupMode() shall read the current
transceiver wake up mode and provide it into TrcvWakeupModePtr. ⌋()

[SWS_EthTrcv_00129]{OBSOLETE} ⌈
If development error detection is enabled: The function
EthTrcv_GetTransceiverWakeupMode() shall check that the service EthTrcv_Init was
previously called. If the check fails, the function shall raise the development error
ETHTRCV_E_UNINIT otherwise (if DET is disabled) return E_NOT_OK. ⌋()

[SWS_EthTrcv_00130]{OBSOLETE} ⌈
If development error detection is enabled: The function
EthTrcv_GetTransceiverWakeupMode() shall check the parameter TrcvIdx for being
valid. If the check fails, the function shall raise the development error
ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK. ⌋()

[SWS_EthTrcv_00131]{OBSOLETE} ⌈
If development error detection is enabled: The function
EthTrcv_GetTransceiverWakeupMode() shall check the parameter
TrcvWakeupModePtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER otherwise (if DET is disabled)
return E_NOT_OK. ⌋()

[SWS_EthTrcv_00132]{OBSOLETE} ⌈
The function EthTrcv_GetTransceiverWakeupMode() shall be only available if
EthTrcvGetTransceiverWakeupModeApi is set to TRUE. ⌋()

[SWS_EthTrcv_00133]{OBSOLETE} ⌈
Caveat: The function EthTrcv_GetTransceiverWakeupMode() requires previous
transceiver initialization (EthTrcv_Init). ⌋()

8.3.5 EthTrcv_GetTransceiverWakeupMode
[SWS_EthTrcv_00127]{OBSOLETE} ⌈
Service Name EthTrcv_GetTransceiverWakeupMode (obsolete)

Std_ReturnType EthTrcv_GetTransceiverWakeupMode (
uint8 TrcvIdx,
Syntax
EthTrcv_WakeupModeType* TrcvWakeupModePtr
)

Service ID
0x0e
[hex]

Sync/Async Synchronous

Reentrancy Non Reentrant

Parameters Index of the transceiver within the context of the Ethernet


TrcvIdx
(in) Transceiver Driver
37 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Parameters
None
(inout)

Parameters TrcvWakeup ETHTRCV_WUM_DISABLE: transceiver wake up is disabled


(out) ModePtr ETHTRCV_WUM_ENABLE: transceiver wake up is enabled

Std_Return- E_OK: success


Return value
Type E_NOT_OK: transceiver wake up mode could not be obtained

Returns the wake up mode of the indexed transceiver


Description
Tags:atp.Status=obsolete

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00120]{OBSOLETE} ⌈
If function EthTrcv_SetTransceiverWakeupMode() is called with
ETHTRCV_WUM_DISABLE or ETHTRCV_WUM_ENABLE and the internal cable
diagnostic state is different from ETHTRCV_CABLEDIAG_PENDING, the Ethernet
Transceiver shall put the indexed transceiver in the specified wake up mode. ⌋()

[SWS_EthTrcv_00121]{OBSOLETE} ⌈
If function EthTrcv_SetTransceiverWakeupMode() is called with
ETHTRCV_WUM_CLEAR and the internal cable diagnostic state is different from
ETHTRCV_CABLEDIAG_PENDING, the Ethernet Transceiver driver shall clear
stored wakeup events on the indexed transceiver. ⌋()

[SWS_EthTrcv_00164]{OBSOLETE} ⌈
If the internal cable diagnostic state is ETHTRCV_CABLEDIAG_PENDING, the
EthTrcv_SetTransceiverWakeupMode shall return E_NOT_OK. ⌋()

[SWS_EthTrcv_00122]{OBSOLETE} ⌈
If development error detection is enabled: The function
EthTrcv_SetTransceiverWakeupMode() shall check that the service EthTrcv_Init was
previously called. If the check fails, the function shall raise the development error
ETHTRCV_E_UNINIT otherwise (if DET is disabled) return E_NOT_OK. ⌋()

[SWS_EthTrcv_00123]{OBSOLETE} ⌈
If development error detection is enabled: The function
EthTrcv_SetTransceiverWakeupMode() shall check the parameter TrcvIdx for being
valid. If the check fails, the function shall raise the development error
ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK. ⌋()

[SWS_EthTrcv_00124]{OBSOLETE} ⌈
The function EthTrcv_SetTransceiverWakeupMode() shall be only available if
EthTrcvWakeUpSupport is not disabled (set to
ETHTRCV_WAKEUP_NOT_SUPPORTED). ⌋(SRS_Eth_00106)

[SWS_EthTrcv_00125]{OBSOLETE} ⌈

38 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

If the transceiver is already in the requested wake-up mode, E_OK shall be returned
and no development error shall be raised. ⌋()

[SWS_EthTrcv_00126]{OBSOLETE} ⌈
Caveat: The function EthTrcv_SetTransceiverWakeupMode() requires previous
transceiver initialization (EthTrcv_Init). ⌋()

8.3.6 EthTrcv_GetBusWuReason
[SWS_EthTrcv_91012]{DRAFT} ⌈
Service Name EthTrcv_EthTrcv_GetBusWuReason (draft)

Std_ReturnType EthTrcv_EthTrcv_GetBusWuReason (
uint8 TrcvIdx,
Syntax EthTrcv_WakeupReasonType* WakeupReasonPtr
)

Service ID [hex] 0x17

Sync/Async Synchronous

Reentrancy Reentrant

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

Parameters
None
(inout)

Parameters Wakeup Pointer to structure of least recent wakeup event, which was
(out) ReasonPtr detected by the Ethernet PHY

E_OK: PHY wake up reason request has


Std_Return- been accepted.
Return value
Type E_NOT_OK: PHY wake up reason request has not
been accepted.

This function returns the least recent wakeup reasons.


Description
Tags:atp.Status=draft

Available via EthTrcv.h

⌋(SRS_Eth_00107)

[SWS_EthTrcv_00186] {DRAFT}⌈
The function EthTrcv_GetBusWuReason shall read the stored wake-up reason and
provide the information in WakeupReasonPtr. ⌋(SRS_Eth_00107)

[SWS_EthTrcv_00187]{DRAFT} ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()
39 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[SWS_EthTrcv_00188]{DRAFT} ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00189]{DRAFT} ⌈
If development error detection is enabled: the function shall check the parameter
TrcvModePtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER otherwise (if DET is disabled)
return E_NOT_OK. ⌋()

[SWS_EthTrcv_00190]{DRAFT} ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter: EthTrcvGetBusWuReasonApi. ⌋()

8.3.7 EthTrcv_CheckWakeup
[SWS_EthTrcv_00134]⌈
Service Name EthTrcv_CheckWakeup

Std_ReturnType EthTrcv_CheckWakeup (
Syntax uint8 TrcvIdx
)

Service ID [hex] 0x0f

Sync/Async Synchronous

Reentrancy Reentrant

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

Parameters
None
(inout)

Parameters (out) None

Std_Return- E_OK: The function has been successfully executed


Return value
Type E_NOT_OK: The function could not be successfully executed

Description Service is called by EthIf in case a wake-up interrupt is detected.

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00136]{OBSOLETE} ⌈
If the wake-up mode of the corresponding transceiver is not
ETHTRCV_WUM_ENABLE, the function EthTrcv_CheckWakeup() shall return
E_OK. ⌋()

40 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[SWS_EthTrcv_00135]{DRAFT} ⌈
If EthTrcvWakeUpSupport is set to ETHTRCV_WAKEUP_BY_INTERRUPT, the
function EthTrcv_CheckWakeup() shall check if a wake up has been detected and if
yes propagate the corresponding wake up source (see EthTrcvWakeupMap
configuration) to the EcuM by calling EcuM_SetWakeupEvent. ⌋(SRS_Eth_00107)

[SWS_EthTrcv_00185]{DRAFT} ⌈
If the function EthTrcv_CheckWakeup() is called and EthTrcvWakeUpSupport is set
to ETHTRCV_WAKEUP_BY_ASYNCHRONOUS_CHECK, the Ethernet Transceiver
Driver shall store the request to asynchronously check for a wake-up of used
Ethernet hardware (e.g. the OA TC10 compliant PHY) in the context of the
EthTrcv_MainFunction. ⌋(SRS_Eth_00108, SRS_Eth_00107)

Note: Asychronous check for a wake-up could be used for Ethernet switches, due to
the time consumption to read out all Ethernet switch ports of an Ethernet switch. E.g.
the Ethernet switch is signaled that an interrupt of one or more of its Ethernet switch
ports occurred. The corresponding host ECU (ECU that maintain an Ethernet switch)
has to read out all registers of the cooresponding PHYs, to check which PHYs
signaled the interrupt and the reason for the interrupt. This could be done in the
context of the EthTrcv_MainFunction asynchronously (and NOT synchronously in the
context of EthTrcv_CheckWakeup) to support timing constraints regarding runtime of
the host ECU.

[SWS_EthTrcv_00137] ⌈
If development error detection is enabled: The function EthTrcv_CheckWakeup()
shall check that the service EthTrcv_Init was previously called. If the check fails, the
function shall raise the development error ETHTRCV_E_UNINIT otherwise (if DET is
disabled) return E_NOT_OK. ⌋()

[SWS_EthTrcv_00138] ⌈
If development error detection is enabled: The function EthTrcv_CheckWakeup()
shall check the parameter TrcvIdx for being valid. If the check fails, the function shall
raise the development error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is
disabled) return E_NOT_OK. ⌋()

[SWS_EthTrcv_00139] ⌈
The function EthTrcv_CheckWakeup() shall be only available if
EthTrcvWakeUpSupport is something else than
ETHTRCV_WAKEUP_NOT_SUPPORTED. ⌋(SRS_Eth_00106)

[SWS_EthTrcv_00140] ⌈
Caveat: The function EthTrcv_CheckWakeup() requires previous transceiver
initialization (EthTrcv_Init). ⌋()

8.3.8 EthTrcv_StartAutoNegotiation
[SWS_EthTrcv_00055]⌈
41 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Service Name EthTrcv_StartAutoNegotiation

Std_ReturnType EthTrcv_StartAutoNegotiation (
Syntax uint8 TrcvIdx
)

Service ID [hex] 0x05

Sync/Async Synchronous

Reentrancy Non Reentrant

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

Parameters
None
(inout)

Parameters (out) None

Std_Return- E_OK: success


Return value
Type E_NOT_OK: transceiver could not be initialized

Restarts the negotiation of the transmission parameters used by the indexed


Description
transceiver

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00056] ⌈
The function shall restart the automatic negotiation of the transmission parameters
used by the indexed transceiver if the internal cable diagnostic state is different from
ETHTRCV_CABLEDIAG_PENDING. Otherwise, the API shall return with
E_NOT_OK. ⌋()

[SWS_EthTrcv_00057] ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00058] ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00059] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter: EthTrcvStartAutoNegotiationApi and EthTrcvEnablePLCA.
⌋(SRS_Eth_00149)

42 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[SWS_EthTrcv_00060] ⌈
Caveat: The function requires previous transceiver initialization (EthTrcv_Init). ⌋()

[SWS_EthTrcv_00088] ⌈
Caveat: The function is not required or called by an upper layer BSW software
component. ⌋()

8.3.9 EthTrcv_TransceiverLinkStateRequest
[SWS_EthTrcv_91025]⌈
Service Name EthTrcv_TransceiverLinkStateRequest

Std_ReturnType EthTrcv_TransceiverLinkStateRequest (
uint8 TrcvIdx,
Syntax EthTrcv_LinkStateType LinkState
)

Service ID [hex] 0x02

Sync/Async Asynchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the transceiver within the context of the Ethernet


TrcvIdx
Transceiver Driver
Parameters (in)
LinkState The Ethernet link state of a physical Ethernet connection.

Parameters
None
(inout)

Parameters (out) None

Std_Return- E_OK: The request has been accepted


Return value
Type E_NOT_OK: The request has not been accepted

Description Request the given link state for the given Ethernet transceiver

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00151] ⌈
The function shall start link training of the indexed transceiver if:
- the requested link state is ETHTRCV_LINK_STATE_ACTIVE and
- the internal cable diagnostic state is different from
ETHTRCV_CABLEDIAG_PENDING and
- EthTrcvConnNeg is set to TRCV_CONN_NEG_MASTER or
TRCV_CONN_NEG_AUTO.
If EthTrcvConnNeg is set to TRCV_CONN_NEG_SLAVE, the indexed transceiver
shall be put in a state to wait for the link training of the link partner. ⌋()

[SWS_EthTrcv_00165] ⌈

43 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

If EthTrcv_TransceiverLinkStateRequest() is called and the internal cable diagnostic


state is ETHTRCV_CABLEDIAG_PENDING, the Ethernet Transceiver driver shall
store the link state request per Ethernet transceiver and proceed as specified in
SWS_EthTrcv_00162. ⌋()

[SWS_EthTrcv_00152] ⌈
The function shall stop link training of the indexed transceiver, if the requested link
state is ETHTRCV_LINK_STATE_DOWN and EthTrcvConnNeg is set to
TRCV_CONN_NEG_MASTER or TRCV_CONN_NEG_AUTO. ⌋()

[SWS_EthTrcv_00153] ⌈
The function shall put the link down of the indexed transceiver, if the requested link
state is ETHTRCV_LINK_STATE_DOWN. ⌋()

[SWS_EthTrcv_00154] ⌈
If the Ethernet transceiver is already in the requested link state, E_OK shall be
returned and no development error shall be raised. ⌋()

8.3.10 EthTrcv_GetLinkState

[SWS_EthTrcv_00061]⌈
Service Name EthTrcv_GetLinkState

Std_ReturnType EthTrcv_GetLinkState (
uint8 TrcvIdx,
Syntax EthTrcv_LinkStateType* LinkStatePtr
)

Service ID
0x06
[hex]

Sync/Async Synchronous

Reentrancy Non Reentrant

Parameters Index of the transceiver within the context of the Ethernet


TrcvIdx
(in) Transceiver Driver

Parameters
None
(inout)

Parameters LinkState ETHTRCV_LINK_STATE_DOWN: transceiver is disconnected


(out) Ptr ETHTRCV_LINK_STATE_ACTIVE: transceiver is connected

Std_- E_OK: success


Return value
ReturnType E_NOT_OK: transceiver could not be initialized

Description Obtains the link state of the indexed transceiver

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00062]{DRAFT} ⌈
44 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

The function shall read the current transceiver link state, expect for the following
condition:
If EthTrcvWakeupSleepOnDatalineEnabled set to TRUE and the Ethernet
Transceiver Driver detect that a sleep process is performed for the given TrcvIdx,
then ETHTRCV_LINK_STATE_DOWN shall be returned. ⌋(SRS_Eth_00040)

Note: OA TC10 compliant Ethernet hardware is not able to transfer data on the date
line, if a sleep process is performed. In that case a link down is reported to the upper
layer, to indicate that communication is not possible on data line

[SWS_EthTrcv_00063] ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00064] ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00065] ⌈
If development error detection is enabled: the function shall check the parameter
LinkStatePtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER otherwise (if DET is disabled)
return E_NOT_OK. ⌋()

[SWS_EthTrcv_00066] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter: EthTrcvGetLinkStateApi. ⌋()

[SWS_EthTrcv_00067] ⌈
Caveat: The function requires previous transceiver initialization (EthTrcv_Init). ⌋()

8.3.11 EthTrcv_GetBaudRate

[SWS_EthTrcv_00068]⌈
Service
EthTrcv_GetBaudRate
Name

Std_ReturnType EthTrcv_GetBaudRate (
uint8 TrcvIdx,
Syntax
EthTrcv_BaudRateType* BaudRatePtr
)

Service ID
0x07
[hex]

Sync/Async Synchronous
45 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Reentrancy Non Reentrant

Parameters Index of the transceiver within the context of the Ethernet Transceiver
TrcvIdx
(in) Driver

Parameters
None
(inout)

ETHTRCV_BAUD_RATE_10MBIT: 10MBit connection ETHTRCV_


Parameters Baud BAUD_RATE_100MBIT: 100MBit connection ETHTRCV_BAUD_
(out) RatePtr RATE_1000MBIT: 1000MBit connection ETHTRCV_BAUD_
RATE_2500MBIT: 2500MBit connection

Std_-
E_OK: success
Return value Return-
E_NOT_OK: transceiver could not be initialized
Type

Description Obtains the baud rate of the indexed transceiver

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00069] ⌈
The function shall read the current transceiver baud rate. ⌋()

[SWS_EthTrcv_00070] ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00071] ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00072] ⌈
If development error detection is enabled: the function shall check the parameter
BaudRatePtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER otherwise (if DET is disabled)
return E_NOT_OK. ⌋()

[SWS_EthTrcv_00073] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter: EthTrcvGetBaudRateApi. ⌋()

[SWS_EthTrcv_00074] ⌈
Caveat: The function requires previous transceiver initialization (EthTrcv_Init). ⌋()

[SWS_EthTrcv_00089] ⌈

46 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Caveat: The function is not required or called by an upper layer BSW software
component. ⌋()

8.3.12 EthTrcv_GetDuplexMode

[SWS_EthTrcv_00075]⌈
Service Name EthTrcv_GetDuplexMode

Std_ReturnType EthTrcv_GetDuplexMode (
uint8 TrcvIdx,
Syntax
EthTrcv_DuplexModeType* DuplexModePtr
)

Service ID
0x08
[hex]

Sync/Async Synchronous

Reentrancy Non Reentrant

Parameters Index of the transceiver within the context of the Ethernet


TrcvIdx
(in) Transceiver Driver

Parameters
None
(inout)

Parameters Duplex ETHTRCV_DUPLEX_MODE_HALF: half duplex connections


(out) ModePtr ETHTRCV_DUPLEX_MODE_FULL: full duplex connection

Std_- E_OK: success


Return value
ReturnType E_NOT_OK: transceiver could not be initialized

Description Obtains the duplex mode of the indexed transceiver

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00076] ⌈
The function shall read the current transceiver duplex mode. ⌋()

[SWS_EthTrcv_00077] ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00078] ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00079] ⌈
47 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

If development error detection is enabled: the function shall check the parameter
DuplexModePtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER otherwise (if DET is disabled)
return E_NOT_OK. ⌋()

[SWS_EthTrcv_00080] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter: EthTrcvGetDuplexModeApi. ⌋()

[SWS_EthTrcv_00081] ⌈
Caveat: The function requires previous transceiver initialization (EthTrcv_Init). ⌋()

[SWS_EthTrcv_00090] ⌈
Caveat: The function is not required or called by an upper layer BSW software
component. ⌋()

8.3.13 EthTrcv_SetPhyTestMode

[SWS_EthTrcv_91003]⌈
Service Name EthTrcv_SetPhyTestMode

Std_ReturnType EthTrcv_SetPhyTestMode (
uint8 TrcvIdx,
Syntax
EthTrcv_PhyTestModeType Mode
)

Service ID [hex] 0x11

Sync/Async Synchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the transceiver within the context of the Ethernet


TrcvIdx
Transceiver Driver
Parameters (in)
Mode Test mode to be activated

Parameters
None
(inout)

Parameters (out) None

Std_Return- E_OK: The request has been accepted


Return value
Type E_NOT_OK: The request has not been accepted.

Description Activates a given test mode.

Available via EthTrcv.h

⌋(SRS_Eth_00117)

[SWS_EthTrcv_00166] ⌈
If the internal cable diagnostic state is ETHTRCV_CABLEDIAG_PENDING, the
EthTrcv_SetPhyTestMode shall return E_NOT_OK. ⌋()
48 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[SWS_EthTrcv_00147] ⌈
If development error detection is enabled: the function EthTrcv_SetPhyTestMode
shall check the parameter Mode for being supported by the hardware. If the check
fails, the function shall raise the development error
ETHTRCV_E_NOT_SUPPORTED.⌋(SRS_Eth_00117)

[SWS_EthTrcv_00169] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter EthTrcvSetPhyTestModeApi (ECUC_EthTrcv_00047). ⌋()

8.3.14 EthTrcv_SetPhyLoopbackMode

[SWS_EthTrcv_91005]⌈
Service Name EthTrcv_SetPhyLoopbackMode

Std_ReturnType EthTrcv_SetPhyLoopbackMode (
uint8 TrcvIdx,
Syntax EthTrcv_PhyLoopbackModeType Mode
)

Service ID [hex] 0x12

Sync/Async Synchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the transceiver within the context of the Ethernet


TrcvIdx
Transceiver Driver
Parameters (in)
Mode Loopback mode to be activated

Parameters
None
(inout)

Parameters (out) None

Std_Return- E_OK: The request has been accepted


Return value
Type E_NOT_OK: The request has not been accepted.

Description Activates a given loopback mode.

Available via EthTrcv.h

⌋(SRS_Eth_00117)

[SWS_EthTrcv_00167] ⌈
If the internal cable diagnostic state is ETHTRCV_CABLEDIAG_PENDING, the
EthTrcv_SetPhyLoopbackMode shall return E_NOT_OK. ⌋()

[SWS_EthTrcv_00149] ⌈
If development error detection is enabled: the function
EthTrcv_SetPhyLoopbackMode shall check the parameter Mode for being supported

49 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

by the hardware. If the check fails, the function shall raise the development error
ETHTRCV_E_NOT_SUPPORTED.⌋(SRS_Eth_00117)
8.3.15 EthTrcv_GetPhySignalQuality

[SWS_EthTrcv_91001]⌈
Service Name EthTrcv_GetPhySignalQuality

Std_ReturnType EthTrcv_GetPhySignalQuality (
uint8 TrcvIdx,
Syntax
uint32* SignalQualityPtr
)

Service ID [hex] 0x10

Sync/Async Synchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

Parameters
None
(inout)

SignalQuality
Parameters (out) Pointer to the memory where the signal quality shall be stored.
Ptr

Std_Return- E_OK: The request has been accepted


Return value
Type E_NOT_OK: The request has not been accepted.

Description Obtains the current signal quality of the link of the indexed transceiver

Available via EthTrcv.h

⌋(SRS_Eth_00117)
8.3.16 EthTrcv_SetPhyTxMode

[SWS_EthTrcv_91007]⌈
Service Name EthTrcv_SetPhyTxMode

Std_ReturnType EthTrcv_SetPhyTxMode (
uint8 TrcvIdx,
Syntax EthTrcv_PhyTxModeType Mode
)

Service ID [hex] 0x13

Sync/Async Synchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the transceiver within the context of the Ethernet


TrcvIdx
Transceiver Driver
Parameters (in)
Mode Transmission mode to be activated

50 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Parameters
None
(inout)

Parameters (out) None

Std_Return- E_OK: The request has been accepted


Return value
Type E_NOT_OK: The request has not been accepted

Description Activates a given transmission mode.

Available via EthTrcv.h

⌋(SRS_Eth_00117)

[SWS_EthTrcv_00168] ⌈
If the internal cable diagnostic state is ETHTRCV_CABLEDIAG_PENDING, the
EthTrcv_SetPhyTxMode shall return E_NOT_OK. ⌋()

[SWS_EthTrcv_00148] ⌈
If development error detection is enabled: the function EthTrcv_SetPhyTxMode shall
check the parameter Mode for being supported by the hardware. If the check fails,
the function shall raise the development error ETHTRCV_E_NOT_SUPPORTED.⌋()
8.3.17 EthTrcv_ RunCableDiagnostic

[SWS_EthTrcv_91011]⌈
Service Name EthTrcv_RunCableDiagnostic

Std_ReturnType EthTrcv_RunCableDiagnostic (
Syntax uint8 TrcvIdx
)

Service ID [hex] 0x16

Sync/Async Asynchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the Ethernet transceiver within the context of the


Parameters (in) TrcvIdx
Ethernet Transceiver Driver.

Parameters
None
(inout)

Parameters
None
(out)

Std_Return- E_OK: The trigger has been accepted.


Return value
Type E_NOT_OK: The trigger has not been accepted.

Description Trigger the cable diagnostics for the given Ethernet transceiver.

Available via EthTrcv.h

⌋()

51 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

[SWS_EthTrcv_00170] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter EthTrcvEnableCableDiagnosticApi (ECUC_EthTrcv_00054).
⌋()

8.3.18 EthTrcv_GetCableDiagnosticsResult

[SWS_EthTrcv_91009]⌈
Service Name EthTrcv_GetCableDiagnosticsResult

Std_ReturnType EthTrcv_GetCableDiagnosticsResult (
uint8 TrcvIdx,
Syntax
EthTrcv_CableDiagResultType* ResultPtr
)

Service ID [hex] 0x14

Sync/Async Synchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

Parameters
None
(inout)

Pointer to the location where the cable diagnostics result shall


Parameters (out) ResultPtr
be stored

Std_Return- E_OK: The request has been accepted


Return value
Type E_NOT_OK: The request has not been accepted

Description Retrieves the cable diagnostics result of a given transceiver.

Available via EthTrcv.h

⌋(SRS_Eth_00117)

[SWS_EthTrcv_00171] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter EthTrcvEnableCableDiagnosticApi (ECUC_EthTrcv_00054).⌋()

8.3.19 EthTrcv_GetPhyIdentifier

[SWS_EthTrcv_91010]⌈
Service Name EthTrcv_GetPhyIdentifier

Std_ReturnType EthTrcv_GetPhyIdentifier (
uint8 TrcvIdx,
uint32* OrgUniqueIdPtr,
Syntax uint8* ModelNrPtr,
uint8* RevisionNrPtr
)

52 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Service ID [hex] 0x15

Sync/Async Synchronous

Reentrancy Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx.

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

Parameters
None
(inout)

OrgUniqueId Pointer to the memory where the Organizationally Unique


Ptr Identifier shall be stored.

Parameters Pointer to the memory where the Manufacturer's Model Number


ModelNrPtr
(out) shall be stored.

Pointer to the memory where the Revision Number shall be


RevisionNrPtr
stored.

Std_Return- E_OK: The request has been accepted


Return value
Type E_NOT_OK: The request has not been accepted

Obtains the PHY identifier of the Ethernet Transceiver according to IEEE 802.3-
Description
2015 chapter 22.2.4.3.1 PHY Identifer.

Available via EthTrcv.h

⌋(SRS_Eth_00117)

[SWS_EthTrcv_00172] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter EthTrcvGetPhyIdentifierApi (ECUC_EthTrcv_00046).⌋()

8.3.20 EthTrcv_GetMacMethod

[SWS_EthTrcv_91014]{DRAFT} ⌈
Service Name EthTrcv_GetMacMethod (draft)

Std_ReturnType EthTrcv_GetMacMethod (
uint8* TrcvIdx,
Syntax EthTrcv_MacMethodType* MacModePtr
)

Service ID
0x18
[hex]

Sync/Async Synchronous

Reentrancy Non Reentrant

Index of the transceiver within the context of the Ethernet


Parameters (in) TrcvIdx
Transceiver Driver

53 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Parameters
None
(inout)

ETHTRCV_MAC_TYPE_CSMA_CD: Carrier-sense multiple


Parameters access with collicion detection
MacModePtr
(out) ETHTRCV_MAC_TYPE_PLCA: Physical layer collision
avoidance

Std_Return- E_OK: success


Return value
Type E_NOT_OK: MacType could not be returned

Obtains the media access mode of the transceiver when EthTrcvDuplexMode is


Description configured as ETHTRCV_DUPLEX_MODE_HALF
Tags:atp.Status=draft

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00174]{DRAFT} ⌈
If the parameter EthTrcvDuplexMode is set to ETHTRCV_DUPLEX_MODE_HALF
the function shall return the current transceiver media access mode. Otherwise, it
shall return E_NOT_OK. ⌋(SRS_Eth_00149)

[SWS_EthTrcv_00175]{DRAFT} ⌈
If development error detection is enabled: the function shall check that the service
EthTrcv_Init was previously called. If the check fails, the function shall raise the
development error ETHTRCV_E_UNINIT otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00176]{DRAFT} ⌈
If development error detection is enabled: the function shall check the parameter
TrcvIdx for being valid. If the check fails, the function shall raise the development
error ETHTRCV_E_INV_TRCV_IDX otherwise (if DET is disabled) return
E_NOT_OK. ⌋()

[SWS_EthTrcv_00177]{DRAFT} ⌈
If development error detection is enabled: the function shall check the parameter
MacModePtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER otherwise (if DET is disabled)
return E_NOT_OK. ⌋()

[SWS_EthTrcv_00178]{DRAFT} ⌈
Caveat: The function requires previous transceiver initialization (EthTrcv_Init). ⌋()

8.3.21 EthTrcv_GetVersionInfo

[SWS_EthTrcv_00082]⌈
Service Name EthTrcv_GetVersionInfo

Syntax void EthTrcv_GetVersionInfo (

54 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Std_VersionInfoType* 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

Available via EthTrcv.h

⌋()

[SWS_EthTrcv_00093] ⌈
If development error detection is enabled: the function shall check the parameter
VersionInfoPtr for being valid. If the check fails, the function shall raise the
development error ETHTRCV_E_PARAM_POINTER. ⌋()

[SWS_EthTrcv_00173] ⌈
The function shall be pre compile time configurable On/Off by the configuration
parameter EthTrcvVersionInfoApi (ECUC_EthTrcv_00004). ⌋()

8.4 Callback notifications

8.4.1 EthTrcv_ReadMiiIndication

[SWS_EthTrcv_00108]⌈
Service Name EthTrcv_ReadMiiIndication

void EthTrcv_ReadMiiIndication (
uint8 CtrlIdx,
uint8 TrcvIdx,
Syntax
uint8 RegIdx,
uint8 RegVal
)

Service ID
0x09
[hex]

Sync/Async Synchronous

Reentrancy Non Reentrant for the same CtrlIdx, reentrant for different

55 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

CtrlIdx Index of the controller within the context of the Ethernet Driver

TrcvIdx Index of the transceiver on the MII


Parameters
(in)
RegIdx Index of the transceiver register on the MII

RegVal Value contained in the indexed register

Parameters
None
(inout)

Parameters
None
(out)

Return value None

Called when information has been read out via MII interface. Triggered by previous
Description
Eth_ReadMii call. Can directly be called within Eth_ReadMii.

Available via EthTrcv.h

⌋()
8.4.2 EthTrcv_WriteMiiIndication
[SWS_EthTrcv_00109]⌈
Service Name EthTrcv_WriteMiiIndication

void EthTrcv_WriteMiiIndication (
uint8 CtrlIdx,
Syntax uint8 TrcvIdx,
uint8 RegIdx
)

Service ID
0x0a
[hex]

Sync/Async Synchronous

Reentrancy Non Reentrant for the same CtrlIdx, reentrant for different

CtrlIdx Index of the controller within the context of the Ethernet Driver
Parameters
TrcvIdx Index of the transceiver on the MII
(in)
RegIdx Index of the transceiver register on the MII

Parameters
None
(inout)

Parameters
None
(out)

Return value None

Called when information has been written via MII interface. Triggered by previous
Description
Eth_WriteMii call. Can directly be called within Eth_WriteMii.

Available via EthTrcv.h

56 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

⌋()

8.5 Interrupt service routines


The Ethernet Transceiver Driver does not provide any interrupt service routines.

8.6 Scheduled functions

8.6.1 EthTrcv_MainFunction
[SWS_EthTrcv_00106]⌈
Service
EthTrcv_MainFunction
Name

void EthTrcv_MainFunction (
Syntax void
)

Service ID
0x0c
[hex]

Used for polling state changes and wakeup reasons. Calls EthIf_TrcvModeIndication
Description when the transceiver mode changed. Stores wakeup events if EthTrcvWakeUp
Support is set to ETHTRCV_WAKEUP_BY_POLLING.

Available via SchM_EthTrcv.h

⌋()

[SWS_EthTrcv_00107] ⌈
Used for polling state changes. Calls EthIf_TrcvModeIndication when the transceiver
mode changed. ⌋()

[SWS_EthTrcv_00141] ⌈
The function EthTrcv_MainFunction() shall check for wake up reasons and shall store
wakeup events if EthTrcvWakeUpSupport is set to
ETHTRCV_WAKEUP_BY_POLLING. ⌋()

[SWS_EthTrcv_00191]{DRAFT} ⌈
If EthTrcvWakeUpSupport is set to
ETHTRCV_WAKEUP_BY_ASYNCHRONOUS_CHECK, the EthTrcv_MainFunction
shall check the maintained Ethernet hardware (PHY) for a signaled
Wakeup.Indication of those EthTrcvs where the check for wake-up was requested by
EthTrcv_CheckWakeup. If a wake-up is detected, the Ethernet Transceiver Driver
shall inform the EcuM by calling EcuM_SetWakeupEvent with the corresponding
WakeupSource. ⌋(SRS_Eth_00108)

[SWS_EthTrcv_00192]{DRAFT} ⌈

57 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

If EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE and


EthTrcvActAsSlavePassiveEnabled is set to TRUE, the EthTrcv_MainFunction shall
evaluate the maintained Ethernet hardware (PHY) for a signaled Sleep.Indication
(see [23]). If a Sleep.Indication is detected, the Ethernet Transceiver Driver shall
inform the EthIf by calling EthIf_SleepIndication.⌋(SRS_ModeMgm_09267,
SRS_Eth_00152)

[SWS_EthTrcv_00193]{DRAFT} ⌈
If EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE, the
EthTrcv_MainFunction shall process running delay timers. If a sleep delay timer
exceeds and the requested transceiver mode is still ETH_MODE_DOWN, the
Ethernet Transceiver driver shall trigger a sleep request according to the
specification of OA TC10 (see [23]). ⌋(SRS_Eth_00151)

The EthTrcv_MainFunction checks all EthTrcvs with


EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE where the sleep request
was triggered (requested mode ETH_MODE_DOWN): If no SleepFail.Indication was
signaled within the configured time period specified by
EthTrcvSleepRequestRepetitionPeriod, then the sleep request was confirmed by the
connected Ethernet hardware (PHY). Thus, the Ethernet hardware transit to sleep.

The following requirements specify the procedure in case a sleep request was
rejected by the counter part of the Ethernet connection.

[SWS_EthTrcv_00194]{DRAFT} ⌈
If EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE, the requested transceiver
mode is still ETH_MODE_DOWN and SleepFail.Indication was reported less than
EthTrcvSleepRequestNumberOfRepetitions, the Ethernet Transceiver driver shall
trigger a sleep request according to the specification of OA TC10 (see [23]) after
EthTrcvSleepRequestRepetitionPeriod has been elapsed. ⌋(SRS_Eth_00155)

[SWS_EthTrcv_00195]{DRAFT} ⌈
If EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE, the requested transceiver
mode is still ETH_MODE_DOWN and SleepFail.Indication was reported
EthTrcvSleepRequestNumberOfRepetitions times, the Ethernet Transceiver driver
shall call EthIf_TrcvModeIndication(ETH_MODE_DOWN). If
EthTrcvForceSleepEnabled is set to true the Ethernet Transceiver driver shall
additionally force the Ehternet hardware (PHY) to go to sleep. ⌋(SRS_Eth_00155)

[SWS_EthTrcv_00196]{DRAFT} ⌈
After each call of EthTrcv_SetTransceiverMode with
ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST for a particular EthTrcv the
EthTrcv_MainFunction shall repeat a wake-up request
EthTrcvWakeupRequestNumberOfRepetitions times with a delay of
EthTrcvWakeUpRequestRepetitionPeriod in between as long as no
EthTrcv_SetTransceiverMode with ETH_MODE_DOWN occurs for the same
EthTrcv. ⌋(SRS_Eth_00154)

58 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

8.7 Expected Interfaces


This chapter lists all interfaces required from other modules.
8.7.1 Mandatory Interfaces
This chapter defines all interfaces required to fulfill the core functionality of the
module.

[SWS_EthTrcv_00085]⌈
API Header
Description
Function File

Called by SW-Cs or BSW modules to report monitor status information


to the Dem. BSW modules calling Dem_SetEventStatus can safely
Dem_Set-
Dem.h ignore the return value. This API will be available only if ({Dem/Dem
EventStatus
ConfigSet/DemEventParameter/DemEventReportingType} ==
STANDARD_REPORTING)

EthIf_Trcv- Called asynchronously when a mode change has been read out. If the
Mode- EthIf.h function is triggered by previous call of EthTrcv_SetTransceiverMode it
Indication can directly be called within the trigger function.

SchM_-
Sch Invokes the SchM_Enter function to enter a module local exclusive
Enter_Eth-
M_<Mip>.h area.
Trcv

SchM_Exit_- Sch
Invokes the SchM_Exit function to exit an exclusive area.
EthTrcv M_<Mip>.h

⌋()
8.7.2 Optional Interfaces
This chapter defines all interfaces required to fulfill an optional functionality of the
module.

[SWS_EthTrcv_00086]⌈
API Header
Description
Function File

Det_Report-
Det.h Service to report development errors.
Error

EcuM_Set-
Wakeup- EcuM.h Sets the wakeup event.
Event

Eth_ReadMii Eth.h Reads a transceiver register

Configures a transceiver register or triggers a function offered by the


Eth_WriteMii Eth.h
receiver

This API is called by the corresponding EthTrcv, if a sleep indication was


EthIf_Sleep-
EthIf.h detected on the network. This could be used e.g. for Ethernet hardware
Indication
which is compliant to the OA TC10. In this case the Ethernet hardware

59 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

(PHY) detect an Sleep.Indication which was triggered by a Sleep.Request


of the connected link partner.
Tags:atp.Status=draft

EthSwt_-
Eth
ReadTrcv- Generic API for reading the content of a transceiver register
Swt.h
Register

EthSwt_-
Eth
WriteTrcv- Generic API for writing the content of a transceiver register
Swt.h
Register

Icu_Disable-
Icu.h This function disables the notification of a channel.
Notification

Icu_Enable-
Icu.h This function enables the notification on the given channel.
Notification

⌋()
8.7.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_EthTrcv_00144]{DRAFT} ⌈
Service
<EthTrcvWakeUpCallout> (draft)
Name

void <EthTrcvWakeUpCallout> (
uint8 TrcvIdx,
Syntax Eth_ModeType TrcvMode
)

Service ID
0x11
[hex]

Sync/Async Asynchronous

Reentrancy Non Reentrant Dont care

Trcv
Index of the Ethernet Transceiver
Idx
Parameters
ETH_MODE_ACTIVE: enable the transceiver ETH_MODE_ACTIVE_
(in)
Trcv WITH_WAKEUP_REQUEST: enable the transceiver and request to trigger
Mode a wake-up on the network, if the used Ethernet PHY support such a feature.
E.g. used for PHYs with a compliant to OA TC10.

Parameters
None
(inout)

Parameters
None
(out)

Return value None

Description Indicates an wake-up request for the specified Ethernet Transceiver. The given Trcv

60 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Mode indicates if the request is based on a remote request from the network (ETH_
MODE_ACTIVE) or if the request is based on active user request (ETH_MODE_
ACTIVE_WITH_WAKEUP_REQUEST). The callback function Ccan be used to
trigger integrator code that initiates a remote wake-up .(e.g. trigger a wake-up line for
an active user request).
Tags:atp.Status=draft

Available via EthTrcv_Externals.h

⌋()

[SWS_EthTrcv_00145] ⌈
The callback function shall be configurable by the configuration parameter:
EthTrcvWakeUpCallout. ⌋()

61 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

9 Sequence diagrams
The usage of the Ethernet Transceiver Driver is depicted in the sequence diagrams
of the Ethernet Interface.

62 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

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 Transceiver Driver.

Chapter 10.3 specifies published information of the module Ethernet Transceiver


Driver.

63 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

10.1 Containers and configuration parameters


The following chapters summarize all configuration parameters. The detailed
meanings of the parameters describe Chapters 7 and Chapter 17.2.2.

[SWS_EthTrcv_00155] ⌈
The Ethernet Transceiver Driver module shall reject configurations with partition
mappings which are not supported by the implementation. ⌋()

64 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

EthTrcv :EcucModuleDef

lowerMultiplicity = 0
upperMultiplicity = *

+container
EthTrcvMaxTrcvsSupported :
EthTrcvGeneral :
EcucIntegerParamDef
EcucParamConfContainerDef +parameter
defaultValue = 1
max = 255
min = 0
+parameter EthTrcvDevErrorDetect :
EcucBooleanParamDef

+parameter EthTrcvVersionInfoApi :
EcucBooleanParamDef

+parameter EthTrcvVersionInfoApiMacro :
EcucBooleanParamDef

+parameter EthTrcvSetTransceiverModeApi :
EcucBooleanParamDef

+parameter EthTrcvGetTransceiverModeApi :
EcucBooleanParamDef

+parameter EthTrcvStartAutoNegotiationApi :
EcucBooleanParamDef

+parameter EthTrcvGetLinkStateApi :
EcucBooleanParamDef

+parameter EthTrcvGetBaudRateApi :
EcucBooleanParamDef

+parameter EthTrcvGetDuplexModeApi :
EcucBooleanParamDef

EthTrcvIndex :
+parameter EcucIntegerParamDef

min = 0
max = 255

Figure 10.1: Ethernet Transceiver Driver configuration structure

65 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

EthTrcv :EcucModuleDef

lowerMultiplicity = 0
upperMultiplicity = *

+container

EthTrcvConfigSet :
EcucParamConfContainerDef
EthTrcvIdx :EcucIntegerParamDef

min = 0
+subContainer
max = 255
+parameter symbolicNameValue = true
EthTrcvConfig :
EcucParamConfContainerDef

lowerMultiplicity = 1
upperMultiplicity = * EthTrcvCtrlIdx :EcucIntegerParamDef
+parameter
min = 0
max = 255

DemEventParameter :
EcucParamConfContainerDef
EthTrcvMgmtInterface :
+subContainer EcucChoiceContainerDef
upperMultiplicity = 65535
lowerMultiplicity = 1
lowerMultiplicity = 0
upperMultiplicity = 1 +destination
(from Dem)

EthTrcvDemEventParameterRefs : ETHTRCV_E_ACCESS :
+subContainer EcucParamConfContainerDef +reference EcucSymbolicNameReferenceDef

upperMultiplicity = 1 lowerMultiplicity = 0
lowerMultiplicity = 0 upperMultiplicity = 1

+parameter EthTrcvAutoNegotiationEnabled :
EcucBooleanParamDef

+literal
EthTrcvSpeed : TRCV_SPEED_10 :EcucEnumerationLiteralDef
EcucEnumerationParamDef
+parameter
+literal
TRCV_SPEED_100 :EcucEnumerationLiteralDef

+literal
TRCV_SPEED_1000 :EcucEnumerationLiteralDef

EthTrcvDuplexMode : +literal ETHTRCV_DUPLEX_MODE_HALF :


EcucEnumerationParamDef EcucEnumerationLiteralDef
+parameter

+literal
ETHTRCV_DUPLEX_MODE_FULL :
EcucEnumerationLiteralDef

+literal
TRCV_PHYS_LAYER_TYPE_100BASE_TX :
EthTrcvPhysLayerType : EcucEnumerationLiteralDef
EcucEnumerationParamDef
+literal
lowerMultiplicity = 0 TRCV_PHYS_LAYER_TYPE_1000BASE_T :
+parameter EcucEnumerationLiteralDef
upperMultiplicity = 1
+literal
TRCV_PHYS_LAYER_TYPE_100BASE_T1 :
EcucEnumerationLiteralDef
+literal
TRCV_PHYS_LAYER_TYPE_1000BASE_T1 :
EcucEnumerationLiteralDef

+literal
EthTrcvPortMacLayerType : TRCV_MAC_LAYER_TYPE_XMII :EcucEnumerationLiteralDef
EcucEnumerationParamDef

+parameter +literal
lowerMultiplicity = 0 TRCV_MAC_LAYER_TYPE_XGMII :EcucEnumerationLiteralDef
upperMultiplicity = 1

+literal
TRCV_MAC_LAYER_TYPE_XXGMII :EcucEnumerationLiteralDef

EthTrcvConnNeg :
+literal TRCV_CONN_NEG_MASTER :
EcucEnumerationParamDef
EcucEnumerationLiteralDef

lowerMultiplicity = 1
upperMultiplicity = 1

+parameter +literal TRCV_CONN_NEG_SLAVE :


EcucEnumerationLiteralDef

+literal TRCV_CONN_NEG_AUTO :
EcucEnumerationLiteralDef

EthTrcvIcuChannelRef : IcuChannel : IcuChannelId :


+reference EcucSymbolicNameReferenceDef +destination EcucParamConfContainerDef+parameter EcucIntegerParamDef

lowerMultiplicity = 0 upperMultiplicity = * min = 0


EcuMWakeupSourceId :
upperMultiplicity = 1 lowerMultiplicity = 1 max = 65535
EcucIntegerParamDef
symbolicNameValue = true
(from ICU)
(from ICU) symbolicNameValue = true
EthTrcvWakeUpCallout : min = 0
+parameter EcucFunctionNameDef max = 31

lowerMultiplicity = 0 +parameter
(from EcuM)
upperMultiplicity = 1

EthTrcvWakeupMap : EthTrcvWakeupSourceRef :
+destination EcuMWakeupSource :EcucParamConfContainerDef
EcucParamConfContainerDef +reference EcucSymbolicNameReferenceDef

lowerMultiplicity = 1
lowerMultiplicity = 0 lowerMultiplicity = 1
upperMultiplicity = 32
upperMultiplicity = 7 upperMultiplicity = 1
(from EcuM)
EthTrcvWakeupReason :
EcucEnumerationParamDef +literal ETHTRCV_WUR_GENERAL :
EcucEnumerationLiteralDef
lowerMultiplicity = 1
upperMultiplicity = 1

+literal ETHTRCV_WUR_BUS :
+subContainer EcucEnumerationLiteralDef

+literal ETHTRCV_WUR_INTERNAL :
EcucEnumerationLiteralDef

+parameter +literal ETHTRCV_WUR_RESET :


EcucEnumerationLiteralDef

+literal ETHTRCV_WUR_POWER_ON :
EcucEnumerationLiteralDef

+literal ETHTRCV_WUR_PIN :
EcucEnumerationLiteralDef

+literal ETHTRCV_WUR_SYSERR :
EcucEnumerationLiteralDef

66 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Figure 10.2: Ethernet Transceiver Driver Transceiver configuration structure

10.1.1 EthTrcv

SWS Item ECUC_EthTrcv_00034 :


Module Name EthTrcv
Module Description Configuration of Ethernet Transceiver Driver module
Post-Build Variant Support true
Supported Config Variants VARIANT-LINK-TIME, VARIANT-POST-BUILD, VARIANT-PRE-COMPILE

Included Containers
Container Name Multiplicity Scope / Dependency
This container contains the configuration parameters and sub
EthTrcvConfigSet 1
containers of the AUTOSAR EthTrcv module.
EthTrcvGeneral 1 General configuration of Ethernet Transceiver Driver module

10.1.2 EthTrcvConfigSet

SWS Item ECUC_EthTrcv_00016 :


Container Name EthTrcvConfigSet
Parent Container EthTrcv
This container contains the configuration parameters and sub containers of
Description
the AUTOSAR EthTrcv module.
Configuration Parameters

Included Containers
Container Name Multiplicity Scope / Dependency
EthTrcvConfig 1..* Configuration of the individual transceiver

10.1.3 EthTrcvConfig

SWS Item ECUC_EthTrcv_00012 :


Container Name EthTrcvConfig
Parent Container EthTrcvConfigSet
Description Configuration of the individual transceiver
Configuration Parameters

SWS Item ECUC_EthTrcv_00071 :


Name EthTrcvActAsSlavePassiveEnabled
Parent Container EthTrcvConfig
Description Specifies if the ECU is acting as a passive communication slave on the
corresponding ComM channel (corresponding ComM channel has
ComMNMVariant set to SLAVE_PASSIVE).
If the parameter is set to TRUE, the Ethernet transceiver driver shall poll
the maintained Ethernet hardware for a signaled Sleep.Indication
(according to OA TC10) in the context of the EthTrcv_MainFunction.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucBooleanParamDef
Default value --
Post-Build Variant
false
Multiplicity
67 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Post-Build Variant Value false


Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE and the
corresponding ComM channel has set ComMNMVariant to
SLAVE_PASSIVE.

SWS Item ECUC_EthTrcv_00025 :


Name EthTrcvConnNeg
Parent Container EthTrcvConfig
Description Specifies the connection negotiation of the Ethernet transceiver link.
Multiplicity 1
Type EcucEnumerationParamDef
Range TRCV_CONN_NEG_AUTO Automatic Negotiation
TRCV_CONN_NEG_MASTER Master
TRCV_CONN_NEG_NONE PLCA
TRCV_CONN_NEG_SLAVE Slave
Post-Build Variant
true
Value
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Scope / scope: local
Dependency dependency: If EthTrcvEnablePLCA is TRUE this parameter shall be set to
TRCV_CONN_NEG_NONE.
If EthTrcvEnablePLCA is FALSE and EthTrcvPhysLayerType is set to
TRCV_PHYS_LAYER_TYPE_10BASE_T1S this parameter shall be configured
(master or slave).
Note: 10BASE-T1S can be used with PLCA or CSMA/CD media access.

SWS Item ECUC_EthTrcv_00023 :


Name EthTrcvDuplexMode
Parent Container EthTrcvConfig
Description Specifies the duplex mode of the Ethernet transceiver link if Auto-Negotiation is
disabled. This parameter is ignored if Auto-Negotiation is enabled
(EthTrcvConnNeg=TRCV_CONN_NEG_AUTO).
Multiplicity 1
Type EcucEnumerationParamDef
Range ETHTRCV_DUPLEX_MODE_FULL Full duplex.
ETHTRCV_DUPLEX_MODE_HALF Half duplex.
Post-Build Variant
true
Value
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Scope / scope: local
Dependency dependency: EthTrcvConnNeg=TRCV_CONN_NEG_AUTO

SWS Item ECUC_EthTrcv_00074 :


Name EthTrcvForceSleepEnabled
Parent Container EthTrcvConfig
68 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Description Specifies if the Ethernet hardware (PHY) support to go to sleep without the
confirmation of the Ethernet hardware (PHY) of the linked Ethernet
communication partner according to the OA TC10.
If the parameter is set to TRUE, the Ethernet hardware (PHY) support to
force its hardware state to the sleep state. This is used, if the Ethernet
communication partner do not accept the Sleep.Request after the specified
repetitions on Sleep.Request (see
EthTrcvSleepRequestNumberOfRepetitions). If
EthTrcvSleepRequestNumberOfRepetitions is not available, the
EthTransceiver driver shall force the Ethernet hardware (PHY) to sleep
state after the first unsuccessful Sleep.Request.
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00013 :


Name EthTrcvIdx
Parent Container EthTrcvConfig
Description Specifies the instance ID of the configured transceiver.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 255
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: ECU

SWS Item ECUC_EthTrcv_00044 :


Name EthTrcvMacLayerSpeed
Parent Container EthTrcvConfig
Description Defines the baud rate of the MAC layer.
Multiplicity 0..1
Type EcucEnumerationParamDef
Range ETH_MAC_LAYER_SPEED_100M --
ETH_MAC_LAYER_SPEED_10G --
ETH_MAC_LAYER_SPEED_10M --
ETH_MAC_LAYER_SPEED_1G --
ETH_MAC_LAYER_SPEED_2500M --
Post-Build Variant
true
Multiplicity
Post-Build Variant
true
Value
Multiplicity Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME, VARIANT-
69 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Class POST-BUILD
Post-build time --
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME, VARIANT-
Class POST-BUILD
Post-build time --
Scope / scope: ECU
Dependency

SWS Item ECUC_EthTrcv_00043 :


Name EthTrcvMacLayerSubType
Parent Container EthTrcvConfig
Description Defines the MAC layer subtype of a switch port
Multiplicity 0..1
Type EcucEnumerationParamDef
Range LIGHT --
REDUCED --
REVERSED --
SERIAL --
STANDARD --
UNIVERSAL_SERIAL --
Post-Build Variant
true
Multiplicity
Post-Build Variant
true
Value
Multiplicity Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME, VARIANT-
Class POST-BUILD
Post-build time --
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME, VARIANT-
Class POST-BUILD
Post-build time --
Scope / scope: ECU
Dependency

SWS Item ECUC_EthTrcv_00035 :


Name EthTrcvMacLayerType
Parent Container EthTrcvConfig
Description Defines the MAC layer type of the ethernet transceiver.
Multiplicity 0..1
Type EcucEnumerationParamDef
Range TRCV_MAC_LAYER_TYPE_XGMII MAC layer interface (data) bandwith class
1Gbit/s (e.g. GMII, RGMII, SGMII,
RvGMII, USGMII)
TRCV_MAC_LAYER_TYPE_XMII MAC layer interface (data) bandwith class
10-100Mbit/s (e.g. RMII, RvMII, SMII, MII)
TRCV_MAC_LAYER_TYPE_XXGMII MAC layer interface (data) bandwith class
10Gbit/s
Post-Build Variant
true
Multiplicity
Post-Build Variant
true
Value
Multiplicity Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD

70 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Value Pre-compile time X VARIANT-PRE-COMPILE


Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Scope / scope: ECU
Dependency

SWS Item ECUC_EthTrcv_00056 :


Name EthTrcvPhysLayerPlcaLocalNodeId
Parent Container EthTrcvConfig
Description Configuration parameter for the transceiver node ID when the PLCA mode
for 10BASE-T1S is used.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 255
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only relevant in case that
EthTrcvEnablePLCA is set to true.
If the value is set to 0, the transceiver is configured as head-node.
Note: Within a PLCA cluster the head-node ID shall be unique. A head-
node schedules the transmission cycles and the node ID at the client level
defines the transmission order.

SWS Item ECUC_EthTrcv_00059 :


Name EthTrcvPhysLayerPlcaMaxBurstCount
Parent Container EthTrcvConfig
Description Defines maximum packets allowed to be transmitted within a TO. The
maximum burst count could differ per ECU within a PLCA mixed segment.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucIntegerParamDef
Range 0 .. 255
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only relevant in case that
EthTrcvEnablePLCA is set to true.
If EthTrcvPhysLayerPlcaMaxBurstCount is set to 0 (default value), only
one ethernet frame per TO shall be transmitted.

SWS Item ECUC_EthTrcv_00060 :


Name EthTrcvPhysLayerPlcaMaxBurstTimer
Parent Container EthTrcvConfig
Description Limits the burst frames in bit time. The maximum burst time could differ per
71 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

ECU within a PLCA mixed segment.


Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 128
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only relevant in case that
EthTrcvEnablePLCA is set to true.
Note: For PLCA burst mode to work properly this time should be set
greater than one IPG.

SWS Item ECUC_EthTrcv_00058 :


Name EthTrcvPhysLayerPlcaNodeCount
Parent Container EthTrcvConfig
Description Defines the number of communication participants on the mixed segment.
This value is relevant for the head-node transceiver
(EthTrcvPhysLayerNodeID = 0) in order to know when the BEACON has to
be transmitted.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 8
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only relevant in case that
EthTrcvEnablePLCA is set to true.

SWS Item ECUC_EthTrcv_00057 :


Name EthTrcvPhysLayerPlcaTransmitOpportunityTimer
Parent Container EthTrcvConfig
Description Timer for the transmission in bit time to evaluate if a Transmission
Opportunity is yield or not.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucIntegerParamDef
Range 1 .. 255
Default value 32
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
72 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only relevant in case that
EthTrcvEnablePLCA is set to true.
This parameter shall be set identical within a PLCA cluster.

SWS Item ECUC_EthTrcv_00024 :


Name EthTrcvPhysLayerType
Parent Container EthTrcvConfig
Description Specifies the physical layer type of the Ethernet transceiver link.
Multiplicity 0..1
Type EcucEnumerationParamDef
Range TRCV_PHYS_LAYER_TYPE_- physical layer interface 1000BASE-T
1000BASE_T (1Gbit/s, 4 pairs). Used for consumer
electronic.
TRCV_PHYS_LAYER_TYPE_- physical layer interface 1000BASE-T1
1000BASE_T1 (1Gbit/s, 1 pair). Used for automotive.
TRCV_PHYS_LAYER_TYPE_- physical layer interface 100BASE-T1
100BASE_T1 (100Mbit/s, 1 pair). Used for automotive.
TRCV_PHYS_LAYER_TYPE_- physical layer interface 100BASE-TX
100BASE_TX (100Mbit/s, 2 pairs). Used for consumer
electronic.
TRCV_PHYS_LAYER_TYPE_10BASE_- Physical layer interface 10BASE-T1S
T1S (10Mbit/s, 2 pairs). Used for automotive.
Post-Build Variant
true
Multiplicity
Post-Build Variant
true
Value
Multiplicity Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Scope / scope: local
Dependency

SWS Item ECUC_EthTrcv_00063 :


Name EthTrcvSleepModeExecutionDelay
Parent Container EthTrcvConfig
Description Specifies the time delay in seconds to execute a sleep (see OA TC10) for
a Ethernet hardware (PHY), if a pending wake-up was detected while a
ETH_MODE_DOWN was requested.
The value shall be an integral multiple of EthTrcvMainFunctionPeriod.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucFloatParamDef
Range ]0 .. INF[
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --
73 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Value Configuration Class Pre-compile time X All Variants


Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00072 :


Name EthTrcvSleepRequestNumberOfRepetitions
Parent Container EthTrcvConfig
Description Specifies the repetitions to trigger a Sleep.Request (according to OA
TC10) if a release of the communication channel was triggered by the
upper layer (ETH_MODE_DOWN) and a SleepFail.Indication was
signaled. Thus, the Ethernet hardware (PHY) of the connected
communication partner did not accept the Sleep.Request.
Tags:
atp.Status=draft
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 0
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00073 :


Name EthTrcvSleepRequestRepetitionPeriod
Parent Container EthTrcvConfig
Description Specifies the repetition period in seconds of repetitions for a Sleep
Request (according to OA TC10).
The value shall be a integral multiple of EthTrcvMainFunctionPeriod.
Tags:
atp.Status=draft
Multiplicity 1
Type EcucFloatParamDef
Range ]0 .. INF[
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE and
EthTrcvSleepRequestNumberOfRepetitions is set greater than 0.

SWS Item ECUC_EthTrcv_00022 :


Name EthTrcvSpeed
Parent Container EthTrcvConfig
Description Specifies the speed of the Ethernet transceiver link in [MBit/s]. If AutoNegotiation is
enabled (EthTrcvConnNeg=TRCV_CONN_NEG_AUTO) this is the maximum speed
advertised for Auto-Negotiation.
Multiplicity 1
74 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Type EcucEnumerationParamDef
Range TRCV_SPEED_10 10 MBit/s
TRCV_SPEED_100 100 MBit/s
TRCV_SPEED_1000 1000 MBit/s
Post-Build Variant
true
Value
Value Pre-compile time X VARIANT-PRE-COMPILE
Configuration Link time X VARIANT-LINK-TIME
Class Post-build time X VARIANT-POST-BUILD
Scope / scope: local
Dependency dependency: EthTrcvConnNeg=TRCV_CONN_NEG_AUTO

SWS Item ECUC_EthTrcv_00028 :


Name EthTrcvWakeUpCallout
Parent Container EthTrcvConfig
Description Configuration of the call-out name.
Multiplicity 0..1
Type EcucFunctionNameDef
Default value --
maxLength --
minLength --
regularExpression --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency dependency: Only valid if EthTrcvWakeUpSupport is not
ETHTRCV_WAKEUP_NOT_SUPPORTED.

SWS Item ECUC_EthTrcv_00067 :


Name EthTrcvWakeupForwardLocalEnabled
Parent Container EthTrcvConfig
Description Specifies if remote wake up forwarding is enabled (TRUE) or disabled
(FALSE) for OA TC10 compliant Ethernet Transceiver.
If the parameter is set to TRUE, the Ethernet hardware (PHY) activate a
local wake up (e.g. via I/O pin), if a remote wake-up on data line (e.g.
100Base-T1) was received (either WUP or WUR).
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE and if
EthTrcvWakeupLocalEnabled is set to TRUE.

75 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

SWS Item ECUC_EthTrcv_00068 :


Name EthTrcvWakeupForwardRemoteEnabled
Parent Container EthTrcvConfig
Description Specifies if local wake up forwarding is enabled (TRUE) or disabled
(FALSE) for OA TC10 compliant Ethernet Transceiver.
If the parameter is set to TRUE, the Ethernet hardware (PHY) transmit a
wake-up (WUP or WUR on the data line (e.g. 100Base-T1), when a local
wake-up occurred (e.g. via I/O pin), which was triggered by neighboring
Ethernet hardware (PHY).
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE and if
EthTrcvWakeupRemoteEnabled set to TRUE.

SWS Item ECUC_EthTrcv_00069 :


Name EthTrcvWakeupLocalDetectionTime
Parent Container EthTrcvConfig
Description Defines the time in seconds when a local wake-up (e.g. via I/O pin)
triggered by a neighboring PHY is evalutated as a valid wake-up.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucFloatParamDef
Range [1E-6 .. 0.1]
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X VARIANT-PRE-COMPILE
Class Link time X VARIANT-LINK-TIME, VARIANT-POST-
BUILD
Post-build time --
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME, VARIANT-POST-
BUILD
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00070 :


Name EthTrcvWakeupLocalDurationTime
Parent Container EthTrcvConfig
Description Defines the duration time in seconds how long a local wake-up should be
present on the local wake-up connection (e.g. via I/O pin) to indicate the
neighboring PHYs about a wake-up.
Tags:
atp.Status=draft
76 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Multiplicity 0..1
Type EcucFloatParamDef
Range [1E-6 .. 0.1]
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X VARIANT-PRE-COMPILE
Class Link time X VARIANT-LINK-TIME, VARIANT-POST-
BUILD
Post-build time --
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME, VARIANT-POST-
BUILD
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00065 :


Name EthTrcvWakeupLocalEnabled
Parent Container EthTrcvConfig
Description Specifies if local wake-up is enabled (TRUE) or disabled (FALSE) for OA
TC10 compliant Ethernet hardware (PHY).
If the parameter is set to TRUE, the Ethernet hardware (PHY) is able to
detect and react on a wake-up received by a neighboring PHY (e.g. via I/O
pin).
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00066 :


Name EthTrcvWakeupRemoteEnabled
Parent Container EthTrcvConfig
Description Specifies if remote wake-up is enabled (TRUE) or disabled (FALSE) for
OA TC10 compliant Ethernet hardware (PHY).
If the parameter is set to TRUE, the Ethernet hardware (PHY) wake up
when receiving a remote wake-up (e.g. via 100Base-T1 data line) triggered
by the connected communication partner.
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
77 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Scope / Dependency scope: local


dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00075 :


Name EthTrcvWakeupRequestNumberOfRepetitions
Parent Container EthTrcvConfig
Description Specifies the repetitions to trigger a wake-up request (according to OA
TC10), if an active communication request
(ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST) was triggered by the
upperlayer.
Tags:
atp.Status=draft
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 0
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE.

SWS Item ECUC_EthTrcv_00062 :


Name EthTrcvWakeUpRequestRepetitionPeriod
Parent Container EthTrcvConfig
Description Specifies the repetition period in seconds of a wake-up request, if an active
communication request
(ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST) was triggered by the
upperlayer.
The value shall be an integral multiple of EthTrcvMainFunctionPeriod.
Tags:
atp.Status=draft
Multiplicity 0..1
Type EcucFloatParamDef
Range ]0 .. INF[
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is only valid, if
EthTrcvWakeupSleepOnDatalineEnabled is set to TRUE and
EthTrcvSleepRequestNumberOfRepetitions is set greater than 0.

SWS Item ECUC_EthTrcv_00064 :


Name EthTrcvWakeupSleepOnDatalineEnabled
Parent Container EthTrcvConfig
Description Specifies if wake-up on data line according to OA TC10 is supported by
78 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

the used Ethernet hardware (PHY).


If the parameter is set to TRUE, wake-up on data line is supported
according to OA TC10.
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00051 :


Name EthTrcvConfigEcucPartitionRef
Parent Container EthTrcvConfig
Description Maps the Ethernet transceiver configuration to zero or one ECUC
partitions. The ECUC partition referenced is a subset of the ECUC
partitions where the Ethernet transceiver driver is mapped to.
Multiplicity 0..1
Type Reference to [ EcucPartition ]
Post-Build Variant
true
Multiplicity
Post-Build Variant Value true
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: ECU

SWS Item ECUC_EthTrcv_00026 :


Name EthTrcvIcuChannelRef
Parent Container EthTrcvConfig
Description Reference to the IcuChannel to enable/disable the interrupts for wakeups.
Multiplicity 0..1
Type Symbolic name reference to [ IcuChannel ]
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

Included Containers
Container Name Multiplicity Scope / Dependency
Container for the references to DemEventParameter
EthTrcvDemEventParameterRef elements which shall be invoked using the API
0..1
s Dem_SetEventStatus in case the corresponding error
occurs. The EventId is taken from the referenced

79 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

DemEventParameter's DemEventId symbolic value. The


standardized errors are provided in this container and can
be extended by vendor-specific error references.
The choice container allow to configure either the EthTrcv
EthTrcvMgmtInterface 0..1
is accessed by a MII interface or Switch interface.
Container for the mapping of wake up reasons to wake up
sources. At least one container is needed if
EthTrcvWakeupMap 0..7
EthTrcvWakeUpSupport is not
ETHTRCV_WAKEUP_NOT_SUPPORTED.

[SWS_EthTrcv_00157] ⌈
The ECUC partitions referenced by EthTrcvConfigEcucPartitionRef shall be a subset
of the ECUC partitions referenced by EthTrcvEcucPartitionRef.⌋()
[SWS_EthTrcv_00158] ⌈
EthTrcvConfig, EthCtrlConfig and EthSwtConfig (if existent in configuration) of one
communication channel shall all reference the same ECUC partition.⌋()

[SWS_EthTrcv_CONSTR_00001] ⌈
If EthTrcvEcucPartitionRef references one or more ECUC partitions,
EthTrcvConfigEcucPartitionRef shall have a multiplicity of one and reference one of
these ECUC partitions as well. ⌋()

10.1.4 EthTrcvDemEventParameterRefs

SWS Item ECUC_EthTrcv_00017 :


Container Name EthTrcvDemEventParameterRefs
Parent Container EthTrcvConfig
Container for the references to DemEventParameter elements which shall
be invoked using the API Dem_SetEventStatus in case the corresponding
error occurs. The EventId is taken from the referenced
Description
DemEventParameter's DemEventId symbolic value. The standardized
errors are provided in this container and can be extended by vendor-
specific error references.
Configuration Parameters

SWS Item ECUC_EthTrcv_00018 :


Name ETHTRCV_E_ACCESS
Parent Container EthTrcvDemEventParameterRefs
Description Reference to the DemEventParameter which shall be issued when the
error "Transceiver access failed" has occurred.
Multiplicity 0..1
Type Symbolic name reference to [ DemEventParameter ]
Post-Build Variant
true
Multiplicity
Post-Build Variant Value true
Multiplicity ConfigurationPre-compile time X VARIANT-PRE-COMPILE
Class Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME

80 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Post-build time X VARIANT-POST-BUILD


Scope / Dependency scope: local

No Included Containers

10.1.5 EthTrcvMgmtInterface

SWS Item ECUC_EthTrcv_00036 :


Choice container Name EthTrcvMgmtInterface
Parent Container EthTrcvConfig
The choice container allow to configure either the EthTrcv is accessed by a
Description
MII interface or Switch interface.
Post-Build Variant
false
Multiplicity
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --

Container Choices
Container Name Multiplicity Scope / Dependency
This container includes the MII interface configuration between
an Ethernet Controller and the Ethernet Transceiver. If this
EthTrcvMiiInterface 0..1
container is configured the EthTrcv shall call Eth_WriteMii /
Eth_ReadMii API to access the hardware ethernet tranceiver.
This container includes the Switch interface configuration
between an Ethernet Switch and an Ethernet Transceiver. If
EthTrcvSwitchInterface 0..1 this container is configured the EthTrcv shall call
EthSwt_WriteTrcvRegister / EthSwt_WriteTrcvRegister API to
access the hardware ethernet transceiver.

10.1.6 EthTrcvMiiInterface

SWS Item ECUC_EthTrcv_00037 :


Container Name EthTrcvMiiInterface
Parent Container EthTrcvMgmtInterface
This container includes the MII interface configuration between an Ethernet
Controller and the Ethernet Transceiver. If this container is configured the
Description
EthTrcv shall call Eth_WriteMii / Eth_ReadMii API to access the hardware
ethernet tranceiver.
Post-Build Variant
false
Multiplicity
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --
Configuration Parameters

SWS Item ECUC_EthTrcv_00014 :


Name EthTrcvCtrlIdx
Parent Container EthTrcvMiiInterface
Description Specifies the controller used for MII access to the transceiver
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value --
81 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Post-Build Variant Value true


Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00038 :


Name EthTrcvMiiIdx
Parent Container EthTrcvMiiInterface
Description Specifies the transceiver index used for MII access to the transceiver.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

No Included Containers

10.1.7 EthTrcvSwitchInterface

SWS Item ECUC_EthTrcv_00040 :


Container Name EthTrcvSwitchInterface
Parent Container EthTrcvMgmtInterface
This container includes the Switch interface configuration between an
Ethernet Switch and an Ethernet Transceiver. If this container is configured
Description the EthTrcv shall call EthSwt_WriteTrcvRegister /
EthSwt_WriteTrcvRegister API to access the hardware ethernet
transceiver.
Post-Build Variant
false
Multiplicity
Multiplicity Configuration Pre-compile time X All Variants
Class Link time --
Post-build time --
Configuration Parameters

SWS Item ECUC_EthTrcv_00042 :


Name EthTrcvSwitchPortRef
Parent Container EthTrcvSwitchInterface
Description Reference to a switch port.
Multiplicity 1
Type Symbolic name reference to [ EthSwtPort ]
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00041 :


Name EthTrcvSwitchRef
Parent Container EthTrcvSwitchInterface
82 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Description Reference to a switch configuration container.


Multiplicity 1
Type Symbolic name reference to [ EthSwtConfig ]
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

No Included Containers

10.1.8 EthTrcvGeneral

SWS Item ECUC_EthTrcv_00001 :


Container Name EthTrcvGeneral
Parent Container EthTrcv
Description General configuration of Ethernet Transceiver Driver module
Configuration Parameters

SWS Item ECUC_EthTrcv_00003 :


Name EthTrcvDevErrorDetect
Parent Container EthTrcvGeneral
Description Switches the development error detection and notification on or off.
 true: detection and notification is enabled.

 false: detection and notification is disabled.


Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00054 :


Name EthTrcvEnableCableDiagnosticApi
Parent Container EthTrcvGeneral
Description Enable/disable the APIs for cable diagnostic:
EthTrcv_RunCableDiagnostic, EthTrcv_GetCableDiagnosticsResult
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00055 :


Name EthTrcvEnablePLCA
Parent Container EthTrcvGeneral
Description Enables the transmission with PLCA (Physical Layer Collision Avoidance)
83 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

TRUE: PLCA enabled


FALSE: PLCA disabled
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: This parameter is relevant in case that
EthTrcvPhysLayerType = TRCV_PHYS_LAYER_TYPE_10BASE_T1S.
If PLCA mode is enabled via the parameter EthTrcvEnablePLCA the
following parameter must be configured:
• EthTrcvPhysLayerPlcaLocalNodeID,
• EthTrcvPhysLayerPlcaTransmitOpportunityTime,
• EthTrcvPhysLayerPlcaNodeCount,
• EthTrcvPhysLayerPlcaMaxBurstTime,
• EthTrcvPhysLayerPlcaMaxBurstCount.

SWS Item ECUC_EthTrcv_00010 :


Name EthTrcvGetBaudRateApi
Parent Container EthTrcvGeneral
Description Enables / Disables EthTrcv_GetBaudRate API
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00061 :


Name EthTrcvGetBusWuReasonApi
Parent Container EthTrcvGeneral
Description Enables / Disables API to obtain the recent wake-up reason detected by
the used Ethernet hardware (e.g. PHY).
Tags:
atp.Status=draft
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00011 :


Name EthTrcvGetDuplexModeApi
Parent Container EthTrcvGeneral
Description Enables / Disables EthTrcv_GetDuplexMode API
Multiplicity 1
Type EcucBooleanParamDef
84 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00009 :


Name EthTrcvGetLinkStateApi
Parent Container EthTrcvGeneral
Description Enables / Disables EthTrcv_GetLinkState API
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00046 :


Name EthTrcvGetPhyIdentifierApi
Parent Container EthTrcvGeneral
Description Enables / Disables EthTrcv_GetPhyIdentifier API.
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00031 :


Name EthTrcvGetTransceiverWakeupModeApi
Parent Container EthTrcvGeneral
Description Enables / Disables EthTrcv_GetTransceiverWakeupMode API
Multiplicity 0..1
Type EcucBooleanParamDef
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
dependency: Only valid if EthTrcvWakeUpSupport is not
85 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

ETHTRCV_WAKEUP_NOT_SUPPORTED

SWS Item ECUC_EthTrcv_00020 :


Name EthTrcvIndex
Parent Container EthTrcvGeneral
Description Specifies the InstanceId of this module instance. If only one instance is
present it shall have the Id 0.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00032 :


Name EthTrcvMainFunctionPeriod
Parent Container EthTrcvGeneral
Description Specifies the period of main function EthTrcv_MainFunction in seconds.
Multiplicity 0..1
Type EcucFloatParamDef
Range ]0 .. INF[
Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00002 :


Name EthTrcvMaxTrcvsSupported
Parent Container EthTrcvGeneral
Description --
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value 1
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00047 :


Name EthTrcvSetPhyTestModeApi
Parent Container EthTrcvGeneral
Description Enables / Disables EthTrcv_SetPhyTestMode API.
Multiplicity 1
Type EcucBooleanParamDef
86 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

Default value --
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00008 :


Name EthTrcvStartAutoNegotiationApi
Parent Container EthTrcvGeneral
Description Enables / Disables EthTrcv_StartAutoNegotiation API
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00004 :


Name EthTrcvVersionInfoApi
Parent Container EthTrcvGeneral
Description Enables / Disables version info API
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00005 :


Name EthTrcvVersionInfoApiMacro
Parent Container EthTrcvGeneral
Description Enables / Disables version info API macro implementation
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local

SWS Item ECUC_EthTrcv_00030 :


Name EthTrcvWakeUpSupport
Parent Container EthTrcvGeneral
Description Configures how to detect a signaled wake-up by hardware: polling, asychronous
check via signal, interrupt or to not used/not supported. In case detection of a wake-
87 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver
Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

up is not support (e.g. wake-up detection not needed or Ethernet hardware does not
support wake-up detection), the BSWMD pre-configuration shall be set to
ETHTRCV_WAKEUP_NOT_SUPPORTED.
Multiplicity 1
Type EcucEnumerationParamDef
Range ETHTRCV_WAKEUP_BY_- Wake-up detection is done within the
ASYNCHRONOUS_CHECK main function. Polling of the Ethernet
hardware is only done, if a wake-up
was signaled. Otherwise the Ethernet
hardware is not checked for wake-
up.Used e.g. if Ethernet hardware is
OA TC10 compliant and the ECU
maintain an Ethernet switch.
ETHTRCV_WAKEUP_BY_INTERRUPT Wake-up detection is signaled by
interrupt
ETHTRCV_WAKEUP_BY_POLLING Wake-up detection is done by polling
continuouslly within the main function
ETHTRCV_WAKEUP_NOT_SUPPORTED Wake up is not supported
Post-Build Variant
false
Value
Value Pre-compile time X All Variants
Configuration Link time --
Class Post-build time --
Scope / scope: local
Dependency

SWS Item ECUC_EthTrcv_00050 :


Name EthTrcvEcucPartitionRef
Parent Container EthTrcvGeneral
Description Maps the Ethernet transceiver driver to zero or multiple ECUC partitions to
make the modules API available in this partition. The Ethernet transceiver
driver will operate as an independent instance in each of the partitions.
Multiplicity 0..*
Type Reference to [ EcucPartition ]
Post-Build Variant
true
Multiplicity
Post-Build Variant Value true
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: ECU

No Included Containers

[SWS_EthTrcv_00156] ⌈
The module will operate as an independent instance in each of the partitions, means
the called API will only target the partition it is called in.⌋()

88 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver


Specification of Ethernet Transceiver Driver
AUTOSAR CP R20-11

11 Not applicable requirements


[SWS_EthTrcv_00999]
These requirements are not applicable to this specification (BSW00170).

89 of 89 Document ID 431: AUTOSAR_SWS_EthernetTransceiverDriver

You might also like