Specification of Ethernet Interface

Add to My manuals
77 Pages

advertisement

Specification of Ethernet Interface | Manualzz

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Document Title

Specification of Ethernet

Interface

Document Owner

Document Responsibility

AUTOSAR

AUTOSAR

Document Identification No

417

Document Classification

Document Status

Part of AUTOSAR Release

Standard

Final

4.2.2

Document Change History

Release Changed by

4.2.2 AUTOSAR

Release

Management

4.2.1 AUTOSAR

Release

Management

4.1.3 AUTOSAR

Release

Management

Change Description

EthIf_TransceiverInit and EthIf_ControllerInit removed

Development Error Tracer renamed to

Default Error Tracer

Change from Synchronous to Asynchronous

API

gPTP Timestamp Support

Ethernet Switch Support

Ethernet Wakeup Support

Extended UL_RxIndication

Editorial changes

4.1.2 AUTOSAR

Release

Management

4.1.1 AUTOSAR

Administration

4.0.3 AUTOSAR

Administration

3.1.5 AUTOSAR

Administration

Introduction of Eth_GeneralTypes.h

Support of API deviation for asynchronous implementation

Changes in API of EthIf_ProvideTxBuffer and EthIf_SetPhysAddr

Editorial changes

Removed chapter(s) on change documentation

Remove „Commercial Off The Shelf“ use case

VLAN support

1000MBit Ethernet support

Description of payload data in

EthIf_Cbk_RxIndication adapted

Further post-build configurable parameters

EthIf_MainFunctionTx functional requirements improved (functionality split)

'Instance ID' removed from Version Info

(concerns EthIf_GetVersionInfo API)

Additional development error in

EthIf_GetVersionInfo API

1 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Document Change History

Release Changed by

3.1.4 AUTOSAR

Administration

Change Description

Initial Release

2 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Disclaimer

This specification and the material contained in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR and the companies that have contributed to it shall not be liable for any use of the specification.

The material contained in this specification is protected by copyright and other types of Intellectual Property Rights. The commercial exploitation of the material contained in this specification requires a license to such Intellectual Property Rights.

This specification may be utilized or reproduced without any modification, in any form or by any means, for informational purposes only. For any other purpose, no part of the specification may be utilized or reproduced, in any form or by any means, without permission in writing from the publisher.

The AUTOSAR specifications have been developed for automotive applications only.

They have neither been developed, nor tested for non-automotive applications.

The word AUTOSAR and the AUTOSAR logo are registered trademarks.

Advice for users

AUTOSAR specifications may contain exemplary items (exemplary reference models, "use cases", and/or references to exemplary technical solutions, devices, processes or software).

Any such exemplary items are contained in the specifications for illustration purposes only, and they themselves are not part of the AUTOSAR Standard. Neither their presence in such specifications, nor any later documentation of AUTOSAR conformance of products actually implementing such exemplary items, imply that intellectual property rights covering such exemplary items are licensed under the same rules as applicable to the AUTOSAR Standard.

3 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Table of Contents

1 Introduction and functional overview ................................................................... 8

2 Acronyms and abbreviations ............................................................................. 10

3 Related documentation...................................................................................... 11

3.1

Input documents .......................................................................................... 11

3.2

Related standards and norms ..................................................................... 12

3.3

Related specification ................................................................................... 12

4 Constraints and assumptions ............................................................................ 13

4.1

Limitations ................................................................................................... 13

4.2

Applicability to car domains ......................................................................... 13

5 Dependencies to other modules ........................................................................ 14

5.1

File structure ................................................................................................ 14

5.1.1

Header file structure .............................................................................. 14

6 Requirements traceability .................................................................................. 16

7 Functional specification ..................................................................................... 22

7.1

Ethernet BSW stack .................................................................................... 22

7.1.1

Indexing scheme for Ethernet controller ............................................... 22

7.1.2

Indexing scheme for Ethernet switches ................................................ 23

7.1.3

Ethernet Interface main function ........................................................... 24

7.1.4

Requirements........................................................................................ 24

7.1.5

Configuration description ...................................................................... 24

7.1.6

VLAN support........................................................................................ 25

7.1.7

Wake up support ................................................................................... 26

7.2

Error classification ....................................................................................... 26

7.2.1

Default Errors ........................................................................................ 26

7.2.2

Runtime Errors ...................................................................................... 26

7.2.3

Transient Faults .................................................................................... 26

7.2.4

Production Errors .................................................................................. 26

7.2.1

Extended Production Errors .................................................................. 26

8 API specification ................................................................................................ 27

8.1

Imported types ............................................................................................. 27

8.2

Type definitions ........................................................................................... 27

8.2.1

EthIf_ConfigType .................................................................................. 27

8.2.2

EthIf_StateType .................................................................................... 28

8.3

Function definitions...................................................................................... 28

8.3.1

EthIf_Init ................................................................................................ 28

8.3.2

EthIf_SetControllerMode ....................................................................... 29

8.3.3

EthIf_GetControllerMode ...................................................................... 29

8.3.4

EthIf_SetTransceiverMode ................................................................... 30

8.3.5

EthIf_GetTransceiverMode ................................................................... 31

8.3.6

EthIf_ SetTransceiverWakeupMode ..................................................... 32

4 of 77

8.3.7

EthIf_ GetTransceiverWakeupMode ..................................................... 33

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

8.3.8

EthIf_ CheckWakeup ............................................................................ 34

8.3.9

EthIf_GetPhysAddr ............................................................................... 34

8.3.10

EthIf_SetPhysAddr ............................................................................ 35

8.3.11

EthIf_UpdatePhysAddrFilter .............................................................. 36

8.3.12

EthIf_GetPortMacAddr ....................................................................... 37

8.3.13

EthIf_GetArlTable .............................................................................. 38

8.3.14

EthIf_GetBufferLevel ......................................................................... 39

8.3.15

EthIf_GetDropCount .......................................................................... 40

8.3.16

EthIf_StoreConfiguration ................................................................... 40

8.3.17

EthIf_ResetConfiguration ................................................................... 41

8.3.18

EthIf_GetCurrentTime ........................................................................ 42

8.3.19

EthIf_EnableEgressTimeStamp ......................................................... 43

8.3.20

EthIf_GetEgressTimeStamp .............................................................. 43

8.3.21

EthIf_GetIngressTimeStamp ............................................................. 44

8.3.22

EthIf_SetCorrectionTime ................................................................... 45

8.3.23

EthIf_SetGlobalTime.......................................................................... 46

8.3.24

EthIf_ProvideTxBuffer ........................................................................ 47

8.3.25

EthIf_Transmit ................................................................................... 49

8.3.26

EthIf_GetVersionInfo ......................................................................... 50

8.4

Callback notifications ................................................................................... 50

8.4.1

EthIf_RxIndication ................................................................................. 50

8.4.2

EthIf_TxConfirmation ............................................................................ 51

8.4.3

EthIf_CtrlModeIndication ....................................................................... 52

8.4.4

EthIf_TrcvModeIndication ..................................................................... 53

8.5

Scheduled functions .................................................................................... 53

8.5.1

EthIf_MainFunctionRx ........................................................................... 53

8.5.2

EthIf_MainFunctionTx ........................................................................... 54

8.6

Expected Interfaces ..................................................................................... 54

8.6.1

Mandatory Interfaces ............................................................................ 54

8.6.2

Optional Interfaces ................................................................................ 55

8.6.3

Configurable interfaces ......................................................................... 55

9 Sequence diagrams .......................................................................................... 58

9.1

Initialization .................................................................................................. 58

9.2

Communication Initialization ........................................................................ 59

9.3

Data Transmission....................................................................................... 60

9.4

Data Reception ............................................................................................ 61

9.5

Link State Change ....................................................................................... 62

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

10.1

Containers and configuration parameters ................................................ 63

10.1.1

Variants ............................................................................................. 66

10.1.2

EthIf ................................................................................................... 66

10.1.3

EthIfGeneral ...................................................................................... 66

10.1.4

EthIfConfigSet ................................................................................... 71

10.1.5

EthIfController .................................................................................... 71

10.1.6

EthIfFrameOwnerConfig .................................................................... 73

10.1.7

EthIfRxIndicationConfig ..................................................................... 74

10.1.8

EthIfSwitch ......................................................................................... 74

10.1.9

EthIfTrcvLinkStateChgConfig ............................................................ 75

5 of 77

10.1.10

EthIfTxConfirmationConfig ................................................................. 75

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

11 Not applicable requirements .......................................................................... 77

6 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Known Limitations

Currently, chapter 5 Dependencies to other modules does not describe the versions

of dependent modules. Thus, a version check will extend the chapter.

7 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

1 Introduction and functional overview

This specification specifies the functionality, API and the configuration of the

AUTOSAR Basic Software module Ethernet Interface.

In the AUTOSAR Layered Software Architecture, the Ethernet Interface belongs to the ECU Abstraction Layer, or more precisely, to the Communication Hardware

Abstraction.

This indicates the main task of the Ethernet Interface:

Provide to upper layers a hardware independent interface to the Ethernet

Communication System comprising multiple different Ethernet controllers and transceivers. This interface shall be uniform for all Ethernet controllers and transceivers. Thus, the upper layers (TCP/IP, EthSM, CDD) may access the underlying bus system in a uniform manner.

The Ethernet Interface does not directly access the Ethernet hardware (Ethernet

Communication Controller and Ethernet Transceiver) but by means of one or more hardware-specific driver modules.

[SWS_EthIf_00111]

In order to access the Ethernet controller(s), the Ethernet Interface shall use one or multiple Ethernet Driver modules, which abstract the specific features and interfaces of the respective Ethernet controller(s).

⌋ ()

[SWS_EthIf_00123]

In order to access the Ethernet transceiver(s), the Ethernet Interface shall use one or multiple Ethernet Transceiver Driver modules, which abstract the specific features and interfaces of the respective Ethernet transceiver(s).

⌋ ()

[SWS_EthIf_00228]

In order to access the Ethernet switch(es), the Ethernet Interface shall use one or multiple Ethernet Switch Driver modules, which abstract the specific features and interfaces of the respective Ethernet switch(es).

⌋ ()

[SWS_EthIf_00112]

Therefore, the Ethernet Interface executable code (however, not the configuration used during runtime) shall be completely independent of the Ethernet

Communication Controller(s).

⌋ ()

8 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

TCP/IP EthSM

EthIf

CDD

Eth EthTrcv EthSwt

Figure 1: Ethernet stack module overview

Note: The Ethernet Interface is specified in a way that allows for object code delivery of the code module, following the "one-fits-all" principle, i.e. the entire configuration of the Ethernet Interface can be carried out without modifying any source code. Thus, the configuration of the Ethernet Interface can be carried out largely without detailed knowledge of the underlying hardware.

9 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

2 Acronyms and abbreviations

Abbreviation /

Acronym:

Description:

Eth

EthIf

EthSM

EthTrcv

IP

MCG

MII

TCP

TCP/IP Stack

VLAN

Ethernet Controller Driver (AUTOSAR BSW module)

Ethernet Interface (AUTOSAR BSW module)

Ethernet State Manager (AUTOSAR BSW module)

Ethernet Transceiver Driver (AUTOSAR BSW module)

Internet Protocol

Module Configuration Generator

Media Independent Interface (standardized Interface provided by

Ethernet controllers to access Ethernet transceivers)

Transmission Control Protocol

Ethernet communication stack

Virtual Local Area Network

10 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

3 Related documentation

3.1 Input documents

[1] List of Basic Software Modules

AUTOSAR_TR_BSWModuleList.pdf

[2] Layered Software Architecture

AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf

[3] General Requirements on Basic Software Modules

AUTOSAR_SRS_BSWGeneral.pdf

[4] Requirements on Ethernet Support in AUTOSAR

AUTOSAR_SRS_Ethernet.pdf

[5] Specification of Ethernet Driver

AUTOSAR_SWS_EthernetDriver.pdf

[6] Specification of Ethernet State Manager

AUTOSAR_SWS_EthernetStateManager.pdf

[7] Specification of Ethernet Transceiver Driver

AUTOSAR_SWS_EthernetTransceiver.pdf

[8] Specification of TCP/IP

AUTOSAR_SWS_TcpIp.pdf

[9] Specification of PDU Router

AUTOSAR_SWS_PDURouter.pdf

[10] BSW Scheduler Specification

AUTOSAR_SWS_Scheduler.pdf

[11] Specification of ECU Configuration

AUTOSAR_TPS_ECUConfiguration.pdf

[12] Specification of Memory Mapping

AUTOSAR_SWS_MemoryMapping.pdf

[13] Specification of Standard Types

AUTOSAR_SWS_StandardTypes.pdf

[14] Specification of Default Error Tracer

AUTOSAR_SWS_DefaulttErrorTracer.pdf

[15] Specification of Diagnostics Event Manager

AUTOSAR_SWS_DiagnosticEventManager

11 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[16] Specification of C Implementation Rules

AUTOSAR_TR_CImplementationRules.pdf

[17] Specification of ECU State Manager

AUTOSAR_SWS_ECUStateManager.pdf

[18] Specification of ECU State Manager Fix

AUTOSAR_SWS_ECUStateManagerFixed.pdf

[19] General Specification of Basic Software Modules

AUTOSAR_SWS_BSWGeneral.pdf

3.2 Related standards and norms

[20] IEC 7498-1 The Basic Model, IEC Norm, 1994

[21] IEEE 802.3-2006

[22] IEEE 802.1Q-2011

3.3 Related specification

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

BSW General), which is also valid for Ethernet Interface.

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

12 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

4 Constraints and assumptions

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

4.1 Limitations

The Ethernet Interface module is only able to handle a single thread of execution.

The execution must not be pre-empted by itself.

The Ethernet Interface is conceptually able to access one or more Ethernet Driver and one or more Ethernet Transceiver Driver.

It is not possible to transmit data which exceeds the available buffer size of the used

Ethernet controller. Longer data has to be transmitted using the Internet Protocol (IP) or Transmission Control Protocol (TCP).

4.2 Applicability to car domains

The Ethernet BSW stack is intended to be used wherever high data rates are

required but no hard real-time is required. Of course, it can also be used for lessdemanding use cases, i.e. for low data rates.

13 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

5 Dependencies to other modules

This chapter lists the modules interacting with the Ethernet Interface module.

Modules that use Ethernet Interface module:

Ethernet Communication Stack (TCP/IP Stack)

Ethernet State Manager (EthSM)

Modules used by the Ethernet Interface module:

Dependencies to other Modules:

The Ethernet Interface module doesn’t take care of configuring Ethernet Driver but requires its preceding initialization and configuration.

The Ethernet Interface module doesn’t take care of configuring Ethernet

Transceiver Driver but requires its preceding initialization and configuration.

[SWS_EthIf_00225]

The EthIf shall include the following header file:

- EthSwt_<vendorID>_<Vendor specific name><driver abbreviation>.h for services and type definitions of the EthSwt (e.g.: EthSwt_99_Ext1.h).

(SRS_BSW_00436)

[SWS_EthIf_00226]

The EthIf shall include the following header files which contain the configuration data used by the EthIf:

- EthSwt_<vendorID>_<Vendor specific name><driver abbreviation>_Cfg.h for configuration data of the EthSwt (e.g.: EthSwt_99_Ext1_Cfg.h).

(SRS_BSW_00436)

5.1 File structure

5.1.1 Header file structure

SchM_EthIf.h

Eth.h

EthTrcv_< vi >_<ai>.h

EthSwt_< vi >_<ai>.h

14 of 77

Det.h

EthIf_MemMap.h

EthIf.c

- AUTOSAR confidential -

EthIf.h

ComStack_Types.h

Eth_GeneralTypes.h

EthIf_Cfg.h

EthIf_Types.h

includes

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Dem.h includes

(if default error detection is swiched on)

<vi> … Vendor ID

<ai> … Vendor API infix

Figure 2: Ethernet Interface file structure

15 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

6 Requirements traceability

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Requirement

16 of 77

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Description Satisfied by

SWS_EthIf_00003

SWS_EthIf_00004

SWS_EthIf_00005

SWS_EthIf_00006

SWS_EthIf_00007

SWS_EthIf_00008

SWS_EthIf_00009

SWS_EthIf_00010

SWS_EthIf_00011

SWS_EthIf_00012

SWS_EthIf_00013

SWS_EthIf_00014

SWS_EthIf_00017

SWS_EthIf_00023

SWS_EthIf_00024

SWS_EthIf_00025

SWS_EthIf_00027

SWS_EthIf_00034

SWS_EthIf_00035

SWS_EthIf_00036

SWS_EthIf_00037

SWS_EthIf_00038

SWS_EthIf_00039

SWS_EthIf_00040

SWS_EthIf_00041

SWS_EthIf_00042

SWS_EthIf_00043

SWS_EthIf_00044

SWS_EthIf_00050

SWS_EthIf_00051

SWS_EthIf_00052

SWS_EthIf_00053

SWS_EthIf_00054

SWS_EthIf_00055

SWS_EthIf_00056

SWS_EthIf_00057

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

17 of 77

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

SWS_EthIf_00058

SWS_EthIf_00059

SWS_EthIf_00060

SWS_EthIf_00061

SWS_EthIf_00062

SWS_EthIf_00063

SWS_EthIf_00064

SWS_EthIf_00065

SWS_EthIf_00066

SWS_EthIf_00067

SWS_EthIf_00068

SWS_EthIf_00069

SWS_EthIf_00070

SWS_EthIf_00071

SWS_EthIf_00072

SWS_EthIf_00073

SWS_EthIf_00074

SWS_EthIf_00075

SWS_EthIf_00076

SWS_EthIf_00077

SWS_EthIf_00078

SWS_EthIf_00079

SWS_EthIf_00080

SWS_EthIf_00081

SWS_EthIf_00082

SWS_EthIf_00085

SWS_EthIf_00086

SWS_EthIf_00087

SWS_EthIf_00088

SWS_EthIf_00089

SWS_EthIf_00090

SWS_EthIf_00091

SWS_EthIf_00092

SWS_EthIf_00093

SWS_EthIf_00094

SWS_EthIf_00095

SWS_EthIf_00096

SWS_EthIf_00097

SWS_EthIf_00098

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

18 of 77

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

SWS_EthIf_00099

SWS_EthIf_00100

SWS_EthIf_00101

SWS_EthIf_00102

SWS_EthIf_00103

SWS_EthIf_00104

SWS_EthIf_00105

SWS_EthIf_00106

SWS_EthIf_00107

SWS_EthIf_00108

SWS_EthIf_00109

SWS_EthIf_00111

SWS_EthIf_00112

SWS_EthIf_00113

SWS_EthIf_00114

SWS_EthIf_00116

SWS_EthIf_00117

SWS_EthIf_00118

SWS_EthIf_00123

SWS_EthIf_00124

SWS_EthIf_00127

SWS_EthIf_00128

SWS_EthIf_00129

SWS_EthIf_00130

SWS_EthIf_00132

SWS_EthIf_00134

SWS_EthIf_00135

SWS_EthIf_00136

SWS_EthIf_00137

SWS_EthIf_00138

SWS_EthIf_00139

SWS_EthIf_00140

SWS_EthIf_00141

SWS_EthIf_00142

SWS_EthIf_00143

SWS_EthIf_00144

SWS_EthIf_00145

SWS_EthIf_00146

SWS_EthIf_00147

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

19 of 77

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

SWS_EthIf_00149

SWS_EthIf_00150

SWS_EthIf_00151

SWS_EthIf_00152

SWS_EthIf_00153

SWS_EthIf_00154

SWS_EthIf_00155

SWS_EthIf_00156

SWS_EthIf_00157

SWS_EthIf_00158

SWS_EthIf_00159

SWS_EthIf_00160

SWS_EthIf_00161

SWS_EthIf_00162

SWS_EthIf_00164

SWS_EthIf_00165

SWS_EthIf_00166

SWS_EthIf_00167

SWS_EthIf_00168

SWS_EthIf_00169

SWS_EthIf_00170

SWS_EthIf_00171

SWS_EthIf_00172

SWS_EthIf_00173

SWS_EthIf_00174

SWS_EthIf_00175

SWS_EthIf_00176

SWS_EthIf_00177

SWS_EthIf_00178

SWS_EthIf_00179

SWS_EthIf_00180

SWS_EthIf_00181

SWS_EthIf_00182

SWS_EthIf_00183

SWS_EthIf_00184

SWS_EthIf_00185

SWS_EthIf_00186

SWS_EthIf_00187

SWS_EthIf_00188

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

20 of 77

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

SWS_EthIf_00189

SWS_EthIf_00190

SWS_EthIf_00191

SWS_EthIf_00192

SWS_EthIf_00193

SWS_EthIf_00194

SWS_EthIf_00195

SWS_EthIf_00196

SWS_EthIf_00197

SWS_EthIf_00198

SWS_EthIf_00199

SWS_EthIf_00200

SWS_EthIf_00201

SWS_EthIf_00202

SWS_EthIf_00203

SWS_EthIf_00204

SWS_EthIf_00205

SWS_EthIf_00206

SWS_EthIf_00207

SWS_EthIf_00208

SWS_EthIf_00209

SWS_EthIf_00210

SWS_EthIf_00211

SWS_EthIf_00212

SWS_EthIf_00213

SWS_EthIf_00214

SWS_EthIf_00215

SWS_EthIf_00216

SWS_EthIf_00217

SWS_EthIf_00218

SWS_EthIf_00219

SWS_EthIf_00220

SWS_EthIf_00221

SWS_EthIf_00222

SWS_EthIf_00223

SWS_EthIf_00224

SWS_EthIf_00228

SWS_EthIf_00229

SWS_EthIf_00230

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

SRS_BSW_00436 -

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

SWS_EthIf_00231

SWS_EthIf_00232

SWS_EthIf_00233

SWS_EthIf_00234

SWS_EthIf_00235

SWS_EthIf_00236

SWS_EthIf_00238

SWS_EthIf_00239

SWS_EthIf_00240

SWS_EthIf_00241

SWS_EthIf_00242

SWS_EthIf_00243

SWS_EthIf_00244

SWS_EthIf_00246

SWS_EthIf_00247

SWS_EthIf_00248

SWS_EthIf_00250

SWS_EthIf_00252

SWS_EthIf_00253

SWS_EthIf_00225,

SWS_EthIf_00226

SRS_Eth_00106 The Ethernet Transceiver Driver shall switch on/off wake up functionality at pre compile time.

SWS_EthIf_00237,

SWS_EthIf_00245,

SWS_EthIf_00249

21 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

7 Functional specification

7.1 Ethernet BSW stack

As part of the AUTOSAR Layered Software Architecture according to [2], the

Ethernet BSW modules also form a layered software stack. Figure 3 depicts the

basic structure of this Ethernet BSW stack. The Ethernet Interface module accesses several Ethernet controllers using the Ethernet Driver layer, which can be made up of several Ethernet Drivers modules.

Figure 3: Basic Structure of the Ethernet BSW stack

7.1.1 Indexing scheme for Ethernet controller

Users of the Ethernet Interface identify Ethernet controller resources using an

indexing scheme as depicted in Figure 4.

22 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Figure 4: Ethernet Interface controller indexing scheme

[SWS_EthIf_00003]

The Ethernet Interface is using an index (EthIfCtrlIdx) to abstract the access to

VLANs from the underlying communication system compromised of Ethernet

Controller and Ethernet Transceiver.

Therefore the Ethernet Interface shall implement a mapping from Ethernet Interface controllers (EthIfCtrlIdx) to respective hardware ressource controllers (EthCtrlId +

EthTrcvId).

⌋ ()

7.1.2 Indexing scheme for Ethernet switches

The EthIf introduces a indexing scheme for EthSwtes. All managed EthSwtes are collected in the EthIfSwitch configuration container. Each EthSwt is given a zerobased consecutive configuration index in the configuration of the EthIf by the parameter EthIfSwitchIdx.

Each EthSwt driver configuration keeps an own zero-based configuration index locally and the EthIf translates the EthIfSwitchIdx to the respective EthSwtIdx value.

[SWS_EthIf_00224]

The EthIf shall dispatch all accesses by the EthIfSwitchIdx index to the respective

EthSwt driver module with the EthSwtIdx value

⌋ ()

Since the EthIf is not concerned with the individual EthSwtPorts which belong to the individual EthSwtes there is no indexing scheme for EthSwtPorts required in the

EthIf. Any BSW module which interacts with EthSwtPorts can directly refer to the

ECU configuration of the EthSwtPort for the indexing.

23 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

7.1.3 Ethernet Interface main function

[SWS_EthIf_00004]

The Ethernet Interface shall implement main functions to be used for frame transmission confirmation and frame reception in polling mode with a calling period configurable at system configuration time.

⌋()

7.1.4 Requirements

This chapter lists requirements that shall be fulfilled by Ethernet Interface module implementations.

The Ethernet Interface module environment comprises all modules which are calling interfaces of the Ethernet Interface module.

[SWS_EthIf_00005]

The Ethernet Interface module shall support pre-compile time, link time and postbuild time configuration.

⌋()

[SWS_EthIf_00006]

The header file EthIf.h shall include a software and specification version number.

⌋()

[SWS_EthIf_00007]

The Ethernet Interface module shall perform a consistency check between code files and header files based on pre-process-checking the version numbers of related code files and header files.

⌋()

[SWS_EthIf_00008]

In case default error detection is enabled for the Ethernet Interface module: The

Ethernet Interface module shall check API parameters for validity and report detected errors to the DET.

⌋()

DET API functions are specified in [14].

[SWS_EthIf_00009]

The Ethernet Interface module implementation shall conform to the HIS subset of the

MISRA C Standard (see document [16]).

⌋()

[SWS_EthIf_00010]

The Ethernet Interface module shall implement the API functions specified by the

Ethernet Interface SWS as real C-code functions and shall not implement the API as macros for object code deliveries.

⌋()

[SWS_EthIf_00011]

None of the Ethernet Interface module header files shall define global variables.

⌋()

7.1.5 Configuration description

[SWS_EthIf_00012]

24 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

The Ethernet Interface module shall provide an XML file that contains the data, which is required for the SW identification (it shall contain the vendor identification, module

ID and software version information), configuration and integration process. This file should describe vendor specific configuration parameters as well as it should contain recommended configuration parameter values.

⌋()

[SWS_EthIf_00117]

The MCG shall read the ECU configuration description of the Ethernet Driver and the

Ethernet Interface module(s). While cluster related configuration parameters are contained in the Ethernet Interface module configuration description, Ethernet Driver related configuration data is contained in the Ethernet Driver module configuration description. The Ethernet Interface module specific configuration tool shall read both

ECU module descriptions to derive the configuration data for all Ethernet Drivers mapped to the Ethernet Interface module.

⌋()

[SWS_EthIf_00118]

The MCG shall ensure the consistency of the generated configuration data.

⌋()

[SWS_EthIf_00013]

The configuration of the Ethernet Interface module shall be configured at ECU configuration time. None of the communication parameters shall be configured at runtime.

⌋()

[SWS_EthIf_00014]

The start address of post-build time configuration data shall be passed during module

initialization (see chapter 8.3.1).

⌋()

An assignment of those configuration classes to configuration parameters can be

found in chapter 10.

A detailed description of all Ethernet Interface related configuration parameters can

be found in chapter 10 of this document. Additionally, the configuration description of

the Ethernet Driver (see chapter 10 of [5] ) shall be evaluated for Ethernet Interface

module configuration.

7.1.6 VLAN support

[SWS_EthIf_00128]

The Ethernet Interface shall support Virtual Local Area Networks (VLAN).

⌋()

[SWS_EthIf_00129]

The Ethernet Interface shall encapsulate Virtual Local Area Networks (VLAN) into virtual controllers (Ethernet Interface controller) representing a dedicated VLAN.

All BSW modules above the Ethernet Interface shall interact based on those virtual controllers.

The Ethernet Driver and Transceiver deal only with real controllers and are not aware of the existence of virtual controllers.

Caveat: if no VLAN ID is set the virtual controller represents the untagged VLAN.

⌋()

25 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00130]

The Ethernet Interface shall use the buffers provided by the Ethernet Driver for VLAN support.

⌋()

7.1.7 Wake up support

The Ethernet Interface supports wake up depending on the parameter

EthIfWakeUpSupport.

Note: Enabling wake-up support in EthIf makes only sense if the underlying EthTrcv supports also wake up.

7.2 Error classification

7.2.1 Default Errors

[SWS_EthIf_00017]

Type or error Relevance Related error code Value [hex]

Invalid controller index Default Error ETHIF_E_INV_CTRL_IDX 0x01

Invalid transceiver index Default Error ETHIF_E_INV_TRCV_IDX 0x02

EthIf module was not initialized

Default Error ETHIF_E_NOT_INITIALIZED 0x03

Default Error ETHIF_E_PARAM_POINTER 0x04 Invalid pointer in parameter list

Invalid parameter

Initialization failure

⌋()

Default Error ETHIF_E_INV_PARAM

Default Error ETHIF_E_INIT_FAILED

0x05

0x06

7.2.2 Runtime Errors

There are no runtime errors.

7.2.3 Transient Faults

There are no transient faults.

7.2.4 Production Errors

There are no production errors.

7.2.1 Extended Production Errors

There are no extended production errors.

26 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

8 API specification

8.1 Imported types

This chapter lists all types included from the following files:

[SWS_EthIf_00023]

Module Imported Type

ComStack_Types BufReq_ReturnType

Dem Dem_EventIdType

EcuM

Dem_EventStatusType

EcuM_WakeupSourceType

EthSwt EthSwt_MacVlanType

Eth_GeneralTypes EthTrcv_BaudRateType

EthTrcv_DuplexModeType

EthTrcv_LinkStateType

EthTrcv_ModeType

EthTrcv_WakeupModeType

Eth_BufIdxType

Eth_DataType

Eth_FilterActionType

Eth_FrameType

Eth_ModeType

Eth_RateRatioType

Std_Types

Eth_RxStatusType

Eth_TimeIntDiffType

Eth_TimeStampQualType

Eth_TimeStampType

Std_ReturnType

Std_VersionInfoType

⌋()

8.2 Type definitions

[SWS_EthIf_00152]

EthIf.h shall include Eth_GeneralTypes.h for the include of general Eth type declarations.

⌋()

[SWS_EthIf_00153]

The types specified in SWS_EthernetInterface shall be declared in

Eth_GeneralTypes.h.

⌋()

8.2.1 EthIf_ConfigType

[SWS_EthIf_00149]

Name:

EthIf_ConfigType

Type:

Structure

Range:

Implementation specific.

27 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Implementation specific structure of the post build configuration

Description:

⌋()

8.2.2 EthIf_StateType

[SWS_EthIf_00150]

Name:

EthIf_StateType

Type:

Enumeration

Range:

ETHCTRL_STATE_INIT

0x01: Ethernet Interface is configured

Description:

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

⌋()

8.3 Function definitions

This is a list of functions provided for upper layer modules.

8.3.1 EthIf_Init

[SWS_EthIf_00024]

Service name:

Syntax:

EthIf_Init void

) const EthIf_ConfigType*

EthIf_Init(

CfgPtr

Service ID[hex]:

0x01

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant

Parameters (in):

CfgPtr Points to the implementation specific structure

Parameters

(inout):

None

Parameters (out):

None

Return value:

None

Description:

Initializes the Ethernet Interface

⌋()

[SWS_EthIf_00025]

The function shall store the access to the configuration structure for subsequent API calls.

⌋()

[SWS_EthIf_00114]

The function shall change the state of the component from ETHIF_STATE_UNINIT to

ETHIF_STATE_INIT.

⌋()

[SWS_EthIf_00116]

If default error detection is enabled: the function shall check the parameter CfgPtr for containing a valid configuration. If the check fails, the function shall raise the default error ETHIF_E_INIT_FAILED.

⌋()

[SWS_EthIf_00027]

28 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Caveat: The API has to be called during initialization.

⌋()

8.3.2 EthIf_SetControllerMode

[SWS_EthIf_00034]

Service name:

Syntax:

EthIf_SetControllerMode

Std_ReturnType

) uint8

Eth_ModeType

EthIf_SetControllerMode(

CtrlIdx,

CtrlMode

Service ID[hex]:

0x03

Sync/Async:

Reentrancy:

Asynchronous

Non Reentrant

CtrlIdx

Parameters (in):

CtrlMode

Index of the Ethernet controller within the context of the Ethernet

Interface

ETH_MODE_DOWN: disable

ETH_MODE_ACTIVE: enable the controller the controller

Parameters

(inout):

None

Parameters (out):

None

Return value:

Std_ReturnType E_OK:

E_NOT_OK: controller mode could not be changed success

Description:

⌋()

Enables / disables the indexed controller

[SWS_EthIf_00035]

The function EthIf_SetControllerMode shall forward the call to function

Eth_SetControllerMode of the respective Ethernet Controller Driver.

⌋()

[SWS_EthIf_00036]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00037]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00038]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.3 EthIf_GetControllerMode

[SWS_EthIf_00039]

Service name:

Syntax:

EthIf_GetControllerMode

Std_ReturnType

) uint8

Eth_ModeType*

29 of 77

EthIf_GetControllerMode(

CtrlIdx,

CtrlModePtr

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Service ID[hex]:

0x04

Sync/Async:

Reentrancy:

Parameters (in):

Synchronous

Non Reentrant

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

Interface

Parameters

(inout):

None

Parameters (out):

Return value:

CtrlModePtr ETH_MODE_DOWN: the controller

ETH_MODE_ACTIVE: the controller is enabled

Std_ReturnType E_OK:

E_NOT_OK: controller could not be initialized is disabled success

Description:

⌋()

Obtains the state of the indexed controller

[SWS_EthIf_00040]

The function EthIf_GetControllerMode shall forward the call to function

Eth_GetControllerMode of the respective Ethernet Controller Driver.

⌋()

[SWS_EthIf_00041]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00042]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00043]

If default error detection is enabled: the function shall check the parameter

CtrlModePtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00044]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.4 EthIf_SetTransceiverMode

[SWS_EthIf_00050]

Service name:

Syntax:

EthIf_SetTransceiverMode

Std_ReturnType uint8

EthTrcv_ModeType

EthIf_SetTransceiverMode(

CtrlIdx,

TrcvMode

)

Service ID[hex]:

0x06

Sync/Async:

Reentrancy:

Asynchronous

Non Reentrant

CtrlIdx

Parameters (in):

TrcvMode

Index of the Ethernet controller within the context of the Ethernet

Interface

ETHTRCV_MODE_DOWN: disable the

ETHTRCV_MODE_ACTIVE: enable the transceiver transceiver

Parameters

None

30 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

(inout):

Parameters (out):

None

Return value:

Std_ReturnType E_OK:

E_NOT_OK: transceiver mode could not be changed success

Description:

Enable / disable the indexed transceiver

⌋()

[SWS_EthIf_00051]

The function EthIf_SetTransceiverMode shall forward the call to function

EthTrcv_SetTransceiverMode of the respective Ethernet Transceiver Driver.

⌋()

[SWS_EthIf_00052]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00053]

If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00054]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.5 EthIf_GetTransceiverMode

[SWS_EthIf_00055]

Service name:

Syntax:

EthIf_GetTransceiverMode

Std_ReturnType

) uint8

EthTrcv_ModeType*

EthIf_GetTransceiverMode(

CtrlIdx,

TrcvModePtr

Service ID[hex]:

0x07

Sync/Async:

Synchronous

Reentrancy:

Parameters (in):

Non Reentrant

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

Interface

Parameters

(inout):

None

Parameters (out):

TrcvModePtr ETHTRCV_MODE_DOWN: the transceiver is disabled

ETHTRCV_MODE_ACTIVE: the transceiver is enabled

Return value:

Std_ReturnType E_OK:

E_NOT_OK: transceiver mode could not be obtained success

Description:

Obtain state of the indexed transceiver

⌋()

[SWS_EthIf_00056]

The function EthIf_GetTransceiverMode shall forward the call to function

EthTrcv_GetTransceiverMode of the respective Ethernet Transceiver Driver.

⌋()

[SWS_EthIf_00057]

31 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00058]

If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00059]

If default error detection is enabled: the function shall check the parameter

TrcvModePtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00060]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.6 EthIf_ SetTransceiverWakeupMode

[SWS_EthIf_00233]

Service name:

Syntax:

EthIf_SetTransceiverWakeupMode

Std_ReturnType EthIf_SetTransceiverWakeupMode( uint8 TrcvIdx,

EthTrcv_WakeupModeType TrcvWakeupMode

)

Service ID[hex]:

0x2e

Sync/Async:

Synchronous

Reentrancy:

Parameters (in):

Non Reentrant

TrcvIdx Index of the transceiver within the context of the Ethernet

Interface

TrcvWakeupMode ETHTRCV_WUM_DISABLE: disable transceiver wake up

ETHTRCV_WUM_ENABLE: enable transceiver wake up

ETHTRCV_WUM_CLEAR: clears transceiver wake up reason

Parameters

(inout):

None

Parameters (out):

None

Return value:

Std_ReturnType E_OK: success

E_NOT_OK: transceiver wake up could not be changed or wake-up reason could not be cleared

Description:

Enables / disables the wake up mode or clear the wake-up reason of the indexed transceiver

⌋()

[SWS_EthIf_00234]

The function EthIf_SetTransceiverWakeupMode shall forward the call to function

EthTrcv_SetTransceiverWakeupMode of the respective Ethernet Transceiver Driver.

⌋()

[SWS_EthIf_00235]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

32 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00236]

If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00237]

The function shall be pre compile time configurable On/Off by the configuration parameter EthIfWakeUpSupport.

⌋(SRS_Eth_00106)

8.3.7 EthIf_ GetTransceiverWakeupMode

[SWS_EthIf_00238]

Service name:

Syntax:

EthIf_GetTransceiverWakeupMode

Std_ReturnType EthIf_GetTransceiverWakeupMode( uint8

EthTrcv_WakeupModeType*

TrcvIdx,

TrcvWakeupModePtr

)

Service ID[hex]:

0x2f

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant

Parameters (in):

TrcvIdx Index of the transceiver within the context of the Ethernet

Interface

Parameters

(inout):

None

Parameters (out):

Return value:

TrcvWakeupModePtr ETHTRCV_WUM_DISABLE: transceiver wake up is disabled

ETHTRCV_WUM_ENABLE: transceiver wake up is enabled

Std_ReturnType E_NOT_OK: transceiver wake up mode could not be obtained

Description:

Returns the wake up mode of the indexed transceiver

⌋()

[SWS_EthIf_00239]

The function EthIf_GetTransceiverWakeupMode shall forward the call to function

EthTrcv_GetTransceiverWakeupMode of the respective Ethernet Transceiver Driver.

⌋()

[SWS_EthIf_00240]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00241]

If default error detection is enabled: the function shall check the parameter TrcvIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_TRCV_IDX otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00242]

If default error detection is enabled: the function shall check the parameter

TrcvWakeupModePtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_INV_POINTER otherwise (if DET is disabled) return

E_NOT_OK.

⌋()

33 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00243]

The function shall be pre compile time configurable On/Off by the configuration parameter EthIfGetTransceiverWakeupModeApi.

⌋()

8.3.8 EthIf_ CheckWakeup

[SWS_EthIf_00244]

Service name:

Syntax:

EthIf_CheckWakeup

Std_ReturnType

)

EcuM_WakeupSourceType

EthIf_CheckWakeup(

WakeupSource

Service ID[hex]:

0x30

Sync/Async:

Reentrancy:

Asynchronous

Reentrant

Parameters (in):

WakeupSource source (transceiver) which initiated the wake up event

Parameters

(inout):

None

Parameters (out):

None

Return value:

Std_ReturnType E_OK when function has been successfully executed

E_NOT_OK when function could not be successfully executed

Description:

Service is called by integration code to check a wakeup source.

⌋()

[SWS_EthIf_00245]

The function EthIf_CheckWakeup shall forward the call to function

EthTrcv_CheckWakeup of the respective Ethernet Transceiver Driver.

⌋(

SRS_Eth_00106)

[SWS_EthIf_00246]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00247]

If default error detection is enabled: the function shall check the parameter

WakeupSource for being valid. If the check fails, the function shall raise the default error ETHIF_E_INV_PARAM otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00248]

The function EthIf_CheckWakeup() shall be pre-compile time configurable On/Off by the configuration parameter EthIfWakeUpSupport.

⌋()

[SWS_EthIf_00249]

Caveat: The function EthIf_CheckWakeup() requires previous transceiver initialization (EthIf_Init).

⌋(SRS_Eth_00106)

8.3.9 EthIf_GetPhysAddr

[SWS_EthIf_00061]

Service name:

EthIf_GetPhysAddr

34 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Syntax:

void

) uint8 uint8*

EthIf_GetPhysAddr(

CtrlIdx,

PhysAddrPtr

Service ID[hex]:

0x08

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant

Parameters (in):

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

Interface

Parameters

(inout):

None

Parameters (out):

PhysAddrPtr Physical source address (MAC address) in network byte order.

Return value:

None

Description:

Obtains the physical source address used by the indexed controller

⌋()

[SWS_EthIf_00062]

The function EthIf_GetPhysAddr shall forward the call to the respective Ethernet

Controller Driver.

⌋()

[SWS_EthIf_00063]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00064]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00065]

If default error detection is enabled: the function shall check the parameter

PhysAddrPtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00066]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.10 EthIf_SetPhysAddr

[SWS_EthIf_00132]

Service name:

Syntax:

EthIf_SetPhysAddr void

) const uint8 uint8*

EthIf_SetPhysAddr(

CtrlIdx,

PhysAddrPtr

Service ID[hex]:

0x0d

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant for the same CtrlIdx, reentrant for different

Parameters (in):

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

Driver.

PhysAddrPtr Pointer to memory containing the physical source address (MAC address) in network byte order.

35 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Parameters

(inout):

None

Parameters (out):

None

Return value:

None

Description:

Sets the physical source address used by the indexed controller.

⌋()

[SWS_EthIf_00134]

The function EthIf_SetPhysAddr shall forward the call to the respective Ethernet

Controller Driver.

⌋()

[SWS_EthIf_00135]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00136]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00137]

If default error detection is enabled: the function shall check the parameter

PhysAddrPtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00138]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.11 EthIf_UpdatePhysAddrFilter

[SWS_EthIf_00139]

Service name:

Syntax:

EthIf_UpdatePhysAddrFilter

Std_ReturnType const uint8

EthIf_UpdatePhysAddrFilter( uint8*

Eth_FilterActionType

CtrlIdx,

PhysAddrPtr,

Action

)

Service ID[hex]:

0x0c

Sync/Async:

Synchronous

Reentrancy:

Non Reentrant for the same CtrlIdx, reentrant for different

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

Driver.

Parameters (in):

PhysAddrPtr Pointer to memory containing the physical destination address

(MAC address) in network byte order. This is the multicast destination address of the layer 2 Ethernet packet.

Add or remove the address from the Ethernet controllers filter.

Parameters

(inout):

Action

None

Parameters (out):

None

Return value:

Description:

Std_ReturnType E_OK: filter was successfully

E_NOT_OK: filter could not be changed changed

Update the physical source address to/from the indexed controller filter. If the

36 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Ethernet Controller is not capable to do the filtering, the software has to do this.

⌋()

[SWS_EthIf_00140]

The function EthIf_SetPhysAddrFilter shall forward the call to the respective Ethernet

Controller Driver.

⌋()

[SWS_EthIf_00141]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00142]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00143]

If default error detection is enabled: the function shall check the parameter

PhysAddrPtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00144]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.12 EthIf_GetPortMacAddr

[SWS_EthIf_00190]

Service name:

Syntax:

EthIf_GetPortMacAddr

Std_ReturnType const

) uint8* uint8* uint8*

EthIf_GetPortMacAddr(

MacAddrPtr,

SwitchIdxPtr,

PortIdxPtr

Service ID[hex]:

0x28

Sync/Async:

Synchronous

Reentrancy:

Parameters (in):

Non Reentrant

MacAddrPtr MAC-address for which a switch port is searched over which the node with this MAC-address can be reached.

Parameters

(inout):

None

Parameters (out):

Return value:

SwitchIdxPtr Pointer to the switch index

PortIdxPtr Pointer to the port index

Std_ReturnType E_OK:

E_NOT_OK: switch port could not be initialized success

Description:

Obtains the port over which this MAC-address can be reached

⌋()

[SWS_EthIf_00191]

The function EthIf_GetPortMacAddr shall return the switch and port index over which the given MAC-address is reachable. If multiple or no ports are possible, this API call will return an error value. The API call will be forwarded to the Ethernet Switch Driver which shall have a corresponding API call.

⌋()

37 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00192]

The function EthIf_GetPortMacAddr shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetPortMacAddrApi.

⌋()

[SWS_EthIf_00193]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00194]

If default error detection is enabled: the function shall check the parameter

MacAddrPtr, SwitchIdxPtr and PortIdxPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00195]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.13 EthIf_GetArlTable

[SWS_EthIf_00196]

Service name:

Syntax:

EthIf_GetArlTable

Std_ReturnType

) uint8

EthSwt_MacVlanType[]*

EthIf_GetArlTable(

SwitchIdx,

ArlTable

Service ID[hex]:

0x29

Sync/Async:

Synchronous /Asynchronous

Reentrancy:

Parameters (in):

Non Reentrant

SwitchIdx Index of the switch within the context of the Ethernet Switch

Driver

Parameters

(inout):

None

Parameters (out):

ArlTable Returns the ARL table of the switch consisting of a list of structs with MAC-address, VLAN-ID and port.

Return value:

Std_ReturnType E_OK:

E_NOT_OK: switch port could not be initialized success

Description:

Obtains the address resolution table of a switch

⌋()

[SWS_EthIf_00197]

The function EthIf_GetArlTable shall return a list of structs with MAC-address, VLAN-

ID and port for the indexed switch.

⌋()

[SWS_EthIf_00198]

The function EthIf_GetArlTable shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetArlTable.

⌋()

[SWS_EthIf_00199]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

38 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00200]

If default error detection is enabled: the function shall check the parameter ArlTable for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00201]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.14 EthIf_GetBufferLevel

[SWS_EthIf_00202]

Service name:

Syntax:

EthIf_GetBufferLevel

Std_ReturnType

) uint8 uint32*

EthIf_GetBufferLevel(

SwitchIdx,

SwitchBufferLevelPtr

Service ID[hex]:

0x2a

Sync/Async:

Reentrancy:

Synchronous /Asynchronous

Non Reentrant

Parameters (in):

SwitchIdx Index of the switch within the context of the Ethernet

Switch Driver

Parameters

(inout):

None

Parameters (out):

SwitchBufferLevelPtr

Return value:

Std_ReturnType

The interpretation of this value is switch dependent

E_OK: success

E_NOT_OK: switch port could not be initialized

Description:

Reads the buffer level of the corresponding switch. Whether this buffer level is one value for the entire switch (shared memory) or one value for each port at a switch is technology dependent.

⌋()

[SWS_EthIf_00203]

The function EthIf_GetBufferLevel shall read the buffer level of the currently used buffer of the switch.

⌋()

[SWS_EthIf_00204]

The function EthIf_GetBufferLevel shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetBufferLevelApi.

⌋()

[SWS_EthIf_00205]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00206]

If default error detection is enabled: the function shall check the parameter

SwitchBufferLevelPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00207]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

39 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

8.3.15 EthIf_GetDropCount

[SWS_EthIf_00208]

Service name:

Syntax:

EthIf_GetDropCount

Std_ReturnType

) uint8 uint32[]*

EthIf_GetDropCount(

SwitchIdx,

DropCount

Service ID[hex]:

0x2b

Sync/Async:

Synchronous /Asynchronous

Reentrancy:

Parameters (in):

Non Reentrant

SwitchIdx Index of the switch within the context of the Ethernet

Switch Driver

Parameters

(inout):

None

Parameters (out):

DropCount

Return value:

Std_ReturnType

The interpretation of this list of values is switch dependent

E_OK:

E_NOT_OK: switch port could not be initialized success

Description:

Reads a list with drop counter values of the corresponding switch. The meaning of these values is switch dependent and can include values like 1.) dropped packets due to buffer overrun, 2.) dropped packets due to CRC errors, etc.

⌋()

[SWS_EthIf_00209]

The function EthIf_GetDropCount shall read a list of values of the switch.

⌋()

[SWS_EthIf_00210]

The function EthIf_GetDropCount shall be pre compile time configurable On/Off by the configuration parameter: EthIfGetDropCount.

⌋()

[SWS_EthIf_00211]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00212]

If default error detection is enabled: the function shall check the parameter

DropCount for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00213]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.16 EthIf_StoreConfiguration

[SWS_EthIf_00214]

Service name:

Syntax:

EthIf_StoreConfiguration

Std_ReturnType

)

Service ID[hex]:

0x2c

Sync/Async:

Reentrancy:

Synchronous /Asynchronous

Non Reentrant

40 of 77 uint8

EthIf_StoreConfiguration(

SwitchIdx

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Parameters (in):

SwitchIdx Index of the switch within the context of the Ethernet Switch

Driver

Parameters

(inout):

None

Parameters (out):

None

Std_ReturnType

Return value:

E_OK: success

E_NOT_OK: switch port could not be initialized or unknown index

Description:

Stores the configuration of the learned MAC/Port tables of a switch in a persistent manner and will be used by e.g. CDD.

⌋()

[SWS_EthIf_00215]

The function EthIf_StoreConfiguration shall read a list of values of the switch.

⌋()

[SWS_EthIf_00216]

The function EthIf_StoreConfiguration shall be pre compile time configurable On/Off by the configuration parameter: EthIfStoreConfigurationApi.

⌋()

[SWS_EthIf_00217]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00218]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.17 EthIf_ResetConfiguration

[SWS_EthIf_00219]

Service name:

Syntax:

EthIf_ResetConfiguration

Std_ReturnType

) uint8

EthIf_ResetConfiguration(

SwitchIdx

Service ID[hex]:

0x2d

Sync/Async:

Reentrancy:

Synchronous /Asynchronous

Non Reentrant

Parameters (in):

SwitchIdx Index of the switch within the context of the Ethernet Switch

Driver

Parameters

(inout):

None

Parameters (out):

None

Return value:

Std_ReturnType E_OK:

E_NOT_OK: switch port could not be initialized success

Description:

Resets the configuration of the learned MAC/Port tables of a switch in a persistent manner and will be used by e.g. CDD. The statically configured entries shall still remain.

⌋()

[SWS_EthIf_00220]

The function EthIf_ResetConfiguration shall read a list of values of the switch.

⌋()

[SWS_EthIf_00221]

41 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

The function EthIf_ResetConfiguration shall be pre compile time configurable On/Off by the configuration parameter: EthIfResetConfigurationApi.

⌋()

[SWS_EthIf_00222]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00223]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.18 EthIf_GetCurrentTime

[SWS_EthIf_00154]

Service name:

Syntax:

EthIf_GetCurrentTime

Std_ReturnType uint8

Eth_TimeStampQualType*

Eth_TimeStampType*

)

EthIf_GetCurrentTime(

CtrlIdx, timeQualPtr, timeStampPtr

Service ID[hex]:

0x22

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant

Parameters (in):

CtrlIdx

Parameters

(inout):

None

Parameters (out):

Return value:

timeQualPtr timeStampPtr

Std_ReturnType

Index of the addresses ETH controller. quality of HW time stamp, e.g. based on current drift current time stamp

E_OK:

E_NOT_OK: failed successful

Description:

Returns a time value out of the HW registers according to the capability of the HW.

Is the HW resolution is lower than the Eth_TimeStampType resolution resp. range, than an the remaining bits will be filled with 0.

⌋()

[SWS_EthIf_00155]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00156]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00157]

If default error detection is enabled: the function shall check the parameter timeQualPtr and timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00158]

42 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.

⌋()

[SWS_EthIf_00159]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.19 EthIf_EnableEgressTimeStamp

[SWS_EthIf_00160]

Service name:

Syntax:

EthIf_EnableEgressTimeStamp void

) uint8 uint8

EthIf_EnableEgressTimeStamp(

CtrlIdx,

BufIdx

Service ID[hex]:

0x23

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant

Parameters (in):

CtrlIdx Index of the addresses ETH controller.

BufIdx Index of the message buffer, where Application expects egress time stamping

None

Parameters

(inout):

Parameters (out):

None

Return value:

None

Description:

Activates egress time stamping on a dedicated message object.

Some HW does store once the egress time stamp marker and some HW needs it always before transmission. There will be no “disable― functionality, due to the fact, that the message type is always "time stamped" by network design.

⌋()

[SWS_EthIf_00161]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00162]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00164]

The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.

⌋()

[SWS_EthIf_00165]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.20 EthIf_GetEgressTimeStamp

[SWS_EthIf_00166]

Service name:

Syntax:

EthIf_GetEgressTimeStamp void

43 of 77

EthIf_GetEgressTimeStamp(

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

) uint8 uint8

Eth_TimeStampQualType*

Eth_TimeStampType*

CtrlIdx,

BufIdx, timeQualPtr, timeStampPtr

Service ID[hex]:

0x24

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant

Parameters (in):

CtrlIdx

BufIdx

Index of the addresses ETH controller.

Index of the message buffer, where Application expects egress time stamping

Parameters

(inout):

None

Parameters (out):

timeQualPtr quality of HW time stamp, e.g. based on current drift timeStampPtr current time stamp

Return value:

None

Description:

Reads back the egress time stamp on a dedicated message object.

It must be called within the TxConfirmation() function.

⌋()

[SWS_EthIf_00167]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00168]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00169]

If default error detection is enabled: the function shall check the parameter timeQualPtr and timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00170]

The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.

⌋()

[SWS_EthIf_00171]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.21 EthIf_GetIngressTimeStamp

[SWS_EthIf_00172]

Service name:

Syntax:

EthIf_GetIngressTimeStamp void uint8

Eth_DataType*

EthIf_GetIngressTimeStamp(

CtrlIdx,

DataPtr,

)

Eth_TimeStampQualType*

Eth_TimeStampType* timeQualPtr, timeStampPtr

Service ID[hex]:

0x25

44 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Sync/Async:

Reentrancy:

Parameters (in):

Synchronous

Non Reentrant

CtrlIdx Index of the addresses ETH controller.

DataPtr Pointer to the message buffer, where Application expects ingress time stamping

None

Parameters

(inout):

Parameters (out):

timeQualPtr quality of HW time stamp, e.g. based on current drift timeStampPtr current time stamp

None

Return value:

Description:

Reads back the ingress time stamp on a dedicated message object.

It must be called within the RxIndication() function.

⌋()

[SWS_EthIf_00173]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00174]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00175]

If default error detection is enabled: the function shall check the parameter DataPtr, timeQualPtr and timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00176]

The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.

⌋()

[SWS_EthIf_00177]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.22 EthIf_SetCorrectionTime

[SWS_EthIf_00178]

Service name:

Syntax:

EthIf_SetCorrectionTime void

) const const

EthIf_SetCorrectionTime( uint8

Eth_TimeIntDiffType*

CtrlIdx, timeOffsetPtr,

Eth_RateRatioType* rateRatioPtr

Service ID[hex]:

0x26

Sync/Async:

Synchronous

Reentrancy:

Non Reentrant

CtrlIdx Index of the addresses ETH controller.

Parameters (in):

timeOffsetPtr offset between time stamp grandmaster and time stamp by local clock:

(OriginTimeStampSync[FUP]

– IngressTimeStampSync) + Pdelay rateRatioPtr time elements to calculate and to modify the ratio of the frequency of

45 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

the grandmaster in relation to the frequency of the Local Clock with: ratio = OriginTimeStampDelta / IngressTimeStampDelta

Parameters

(inout):

None

Parameters (out):

None

Return value:

None

Description:

Allows the Time Slave to adjust the local ETH Reference clock in HW.

⌋()

[SWS_EthIf_00179]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00180]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00181]

If default error detection is enabled: the function shall check the parameter timeOffsetPtr and timeRatioPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00182]

The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.

⌋()

[SWS_EthIf_00183]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.23 EthIf_SetGlobalTime

[SWS_EthIf_00184]

Service name:

Syntax:

EthIf_SetGlobalTime

Std_ReturnType

) const

EthIf_SetGlobalTime( uint8

Eth_TimeStampType*

CtrlIdx, timeStampPtr

Service ID[hex]:

0x27

Sync/Async:

Reentrancy:

Synchronous

Non Reentrant

Parameters (in):

Parameters

(inout):

CtrlIdx timeStampPtr

None

Index of the addresses ETH controller. new time stamp

Parameters (out):

None

Return value:

Description:

Std_ReturnType E_OK:

E_NOT_OK: failed successful

Allows the Time Master to adjust the global ETH Reference clock in HW.

We can use this method to set a global time base on ETH in general or to synchronize the global ETH time base with another time base, e.g. FlexRay.

⌋()

46 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00185]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00186]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00187]

If default error detection is enabled: the function shall check the parameter timeStampPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00188]

The function shall be pre compile time configurable On/Off by the configuration parameter: EthIfGlobalTimeSupport.

⌋()

[SWS_EthIf_00189]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

8.3.24 EthIf_ProvideTxBuffer

[SWS_EthIf_00067]

Service name:

Syntax:

EthIf_ProvideTxBuffer

BufReq_ReturnType

)

Service ID[hex]:

0x09

Sync/Async:

Synchronous

Reentrancy:

Non Reentrant

CtrlIdx

Parameters (in):

Parameters

(inout):

FrameType

Priority

LenBytePtr uint8

Eth_FrameType uint8

Eth_BufIdxType* uint8** uint16*

EthIf_ProvideTxBuffer(

CtrlIdx,

FrameType,

Priority,

BufIdxPtr,

BufPtr,

LenBytePtr

Index of the Ethernet controller within the context of the

Ethernet Interface

Ethernet Frame Type (EtherType)

Priority value which shall be used for the 3-bit PCP field of the VLAN tag in: desired length in bytes, out: granted length in bytes

Parameters (out):

Return value:

Description:

⌋()

BufIdxPtr Index to the granted buffer resource. To be used for subsequent requests

Pointer to the granted buffer BufPtr

BufReq_ReturnType BUFREQ_OK: success

BUFREQ_E_NOT_OK: development error detected

BUFREQ_E_BUSY: all buffers in use

Provides access to a transmit buffer of the specified Ethernet controller.

47 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00146]

If CtrlIdx refers to an EthIfCtrl where no EthIfVlanID is configured, the parameters FrameType and Priority are not used.

⌋()

[SWS_EthIf_00147]

If VLAN is used

- EthIf shall increment the input desired length by 4 bytes before calling the

Ethernet Driver module

- EthIf shall store the PCP (Priority parameter), CFI (always 0), VID (configured

VLAN ID) and value of the FrameType parameter at the beginning of the buffer received from Eth_ProvideTxBuffer).

- EthIf shall increment the BufPtr by 4 bytes when returning the granted buffer

- EthIf shall decrement the output granted length by 4 bytes

⌋()

[SWS_EthIf_00068]

The function EthIf_ProvideTxBuffer shall forward the call to the respective Ethernet

Controller Driver.

⌋()

[SWS_EthIf_00069]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED and return BUFREQ_E_NOT_OK.

⌋()

[SWS_EthIf_00070]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX and return BUFREQ_E_NOT_OK.

⌋()

[SWS_EthIf_00071]

If default error detection is enabled: the function shall check the parameter BufIdxPtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER and return BUFREQ_E_NOT_OK.

⌋()

[SWS_EthIf_00072]

If default error detection is enabled: the function shall check the parameter BufPtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER and return BUFREQ_E_NOT_OK.

⌋()

[SWS_EthIf_00073]

If default error detection is enabled: the function shall check the parameter

LenBytePtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER and return BUFREQ_E_NOT_OK.

⌋()

[SWS_EthIf_00074]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

48 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

8.3.25 EthIf_Transmit

[SWS_EthIf_00075]

Service name:

Syntax:

EthIf_Transmit

Std_ReturnType uint8 const

Eth_BufIdxType

Eth_FrameType boolean uint16 uint8*

)

EthIf_Transmit(

CtrlIdx,

BufIdx,

FrameType,

TxConfirmation,

LenByte,

PhysAddrPtr

Service ID[hex]:

0x0a

Sync/Async:

Synchronous

Reentrancy:

Non Reentrant

Parameters (in):

Parameters

(inout):

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

Interface

FrameType Ethernet frame type

TxConfirmation Activates transmission confirmation

PhysAddrPtr Physical target address (MAC address) in network byte order

LenByte Data length in byte

Parameters (out):

BufIdx

Return value:

Index of the buffer resource

Std_ReturnType E_OK:

E_NOT_OK: transmission failed success

Description:

Triggers transmission of a previously filled transmit buffer

⌋()

[SWS_EthIf_00250]

If CtrlIdx refers to an EthIfCtrl where an EthIfVlanID is configured, the parameters

FrameType is not used, and 0x8100 is provided to Eth_Transmit instead.

⌋()

[SWS_EthIf_00076]

The function EthIf_Transmit shall forward the call to the respective Ethernet

Controller Driver.

⌋()

[SWS_EthIf_00077]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00078]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00079]

If default error detection is enabled: the function shall check the parameter BufIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_PARAM otherwise (if DET is disabled) return E_NOT_OK.

⌋()

49 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00080]

If default error detection is enabled: the function shall check the parameter

PhysAddrPtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK.

⌋()

[SWS_EthIf_00081]

Caveat: The function requires previous buffer request (EthIf_ProvideTxBuffer).

⌋()

8.3.26 EthIf_GetVersionInfo

[SWS_EthIf_00082]

Service name:

Syntax:

EthIf_GetVersionInfo void

)

Std_VersionInfoType*

EthIf_GetVersionInfo(

VersionInfoPtr

Service ID[hex]:

0x0b

Sync/Async:

Synchronous

Reentrancy:

Reentrant

Parameters (in):

None

Parameters

(inout):

None

Parameters (out):

VersionInfoPtr Version information of this module

Return value:

None

Description:

Returns the version information of this module

⌋()

[SWS_EthIf_00127]

If default error detection is enabled: the function shall check the parameter

VersionInfoPtr for being valid. If the check fails, the function shall raise the default error ETHIF_E_PARAM_POINTER.

⌋()

8.4 Callback notifications

This is a list of functions provided for other modules. File EthIf_Cbk.h shall provide the function prototypes of the callback functions.

8.4.1 EthIf_RxIndication

[SWS_EthIf_00085]

Service name:

Syntax:

EthIf_RxIndication void

) const uint8

Eth_FrameType boolean uint8*

Eth_DataType* uint16

EthIf_RxIndication(

CtrlIdx,

FrameType,

IsBroadcast,

PhysAddrPtr,

DataPtr,

LenByte

Service ID[hex]:

0x10

Sync/Async:

Synchronous

Reentrancy:

Non Reentrant

Parameters (in):

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

50 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Parameters

(inout):

LenByte

None

Parameters (out):

None

Interface

FrameType Frame type of received Ethernet frame

IsBroadcast parameter to indicate a broadcast frame

PhysAddrPtr Pointer to Physical source address (MAC address in network byte order) of received Ethernet frame

DataPtr Pointer to payload of received Ethernet frame.

Length of the received frame bytes

Return value:

None

Description:

⌋()

Handles a received frame received by the indexed controller

[SWS_EthIf_00086]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00087]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00088]

If default error detection is enabled: the function shall check the parameter DataPtr for being valid. If the check fails, the function shall raise the default error

ETHIF_E_PARAM_POINTER.

⌋()

[SWS_EthIf_00151]

The Ethernet Driver shall indicate broadcast message with the parameter

‘IsBroadcast’ to the Ethernet Interface.

⌋()

[SWS_EthIf_00145]

If the VLAN is not active the Ethernet Interface shall filter the message.

⌋()

[SWS_EthIf_00089]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

[SWS_EthIf_00090]

Caveat: The function shall be callable on interrupt level.

⌋()

8.4.2 EthIf_TxConfirmation

[SWS_EthIf_00091]

Service name:

Syntax:

EthIf_TxConfirmation void

)

Service ID[hex]:

0x11

Sync/Async:

Synchronous

51 of 77 uint8

Eth_BufIdxType

EthIf_TxConfirmation(

CtrlIdx,

BufIdx

Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Reentrancy:

Non Reentrant

Parameters (in):

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

BufIdx Index of the transmitted buffer

Parameters

(inout):

None

Parameters (out):

None

Return value:

None

Description:

Confirms frame transmission by the indexed controller

⌋()

[SWS_EthIf_00092]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00093]

If default error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_CTRL_IDX.

⌋()

[SWS_EthIf_00094]

If default error detection is enabled: the function shall check the parameter BufIdx for being valid. If the check fails, the function shall raise the default error

ETHIF_E_INV_PARAM.

⌋()

[SWS_EthIf_00095]

Caveat: The function requires previous initialization (EthIf_Init).

⌋()

[SWS_EthIf_00096]

Caveat: The function shall be callable on interrupt level.

⌋()

8.4.3 EthIf_CtrlModeIndication

[SWS_EthIf_00231]

Service name:

Syntax:

EthIf_CtrlModeIndication void

) uint8

Eth_ModeType

EthIf_CtrlModeIndication(

CtrlIdx,

CtrlMode

Service ID[hex]:

0x0e

Sync/Async:

Synchronous

Reentrancy:

Non Reentrant for the same CtrlIdx, reentrant for different

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

Interface

Parameters (in):

Parameters

(inout):

CtrlMode Notified Ethernet controller mode

None

Parameters (out):

None

Return value:

None

Description:

Called asynchronously when mode has been read out. Triggered by previous

Eth_SetControllerMode call. Can directly be called within the trigger functions.

⌋()

52 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00252]

The function shall call EthSM_CtrlModeIndication.

⌋()

8.4.4 EthIf_TrcvModeIndication

[SWS_EthIf_00232]

Service name:

Syntax:

EthIf_TrcvModeIndication void

) uint8

EthTrcv_ModeType

EthIf_TrcvModeIndication(

CtrlIdx,

TrcvMode

Service ID[hex]:

0x0f

Sync/Async:

Synchronous

Reentrancy:

Parameters (in):

Non Reentrant for the same CtrlIdx, reentrant for different

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

Interface

TrcvMode Notified Ethernet transceiver mode

Parameters

(inout):

None

Parameters (out):

None

Return value:

None

Description:

Called asynchronously when mode has been read out. Triggered by previous

Eth_SetTransceiverMode call. Can directly be called within the trigger functions.

⌋()

[SWS_EthIf_00253]

The function shall call EthSM_TrcvModeIndication.

⌋()

8.5 Scheduled functions

8.5.1 EthIf_MainFunctionRx

[SWS_EthIf_00097]

Service name:

Syntax:

EthIf_MainFunctionRx void

)

EthIf_MainFunctionRx( void

Service ID[hex]:

0x20

Description:

The function checks for new received frames and issues transmission confirmations in polling mode. It checks also for transceiver state changes.

⌋()

[SWS_EthIf_00098]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00099]

The receive frame check shall be pre compile time configurable On/Off by the configuration parameter: ETHIF_ENABLE_RX_INTERRUPT.

⌋()

53 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

8.5.2 EthIf_MainFunctionTx

[SWS_EthIf_00113]

Service name:

Syntax:

EthIf_MainFunctionTx void

)

EthIf_MainFunctionTx( void

Service ID[hex]:

0x21

Description:

The function issues transmission confirmations in polling mode. It checks also for transceiver state changes.

⌋()

[SWS_EthIf_00124]

If default error detection is enabled: the function shall check that the service EthIf_Init was previously called. If the check fails, the function shall raise the default error

ETHIF_E_NOT_INITIALIZED.

⌋()

[SWS_EthIf_00100]

The transmission confirmation check shall be pre compile time configurable On/Off by the configuration parameter: ETHIF_ENABLE_TX_INTERRUPT.

⌋()

[SWS_EthIf_00101]

The frequency of polling the transceiver state change shall be configurable by the configuration parameter: EthIfTrcvLinkStateChgMainReload.

⌋()

8.6 Expected Interfaces

This chapter lists all interfaces required from other modules.

8.6.1 Mandatory Interfaces

This chapter defines all interfaces required to fulfill the core functionality of the module.

[SWS_EthIf_00102]

API function

Dem_ReportErrorStatus

Eth_GetControllerMode

Eth_GetPhysAddr

Eth_ProvideTxBuffer

Eth_ReadMii

Description

Queues the reported events from the BSW modules (API is only used by BSW modules). The interface has an asynchronous behavior, because the processing of the event is done within the Dem main function.

OBD Events Suppression shall be ignored for this computation.

Obtains the state of the indexed controller

Obtains the physical source address used by the indexed controller

Provides access to a transmit buffer of the specified controller

Reads a transceiver register

Eth_Receive

Eth_SetControllerMode

Triggers frame reception

Enables / disables the indexed controller

Eth_Transmit

Eth_TxConfirmation

Triggers transmission of a previously filled transmit buffer

Triggers frame transmission confirmation

Eth_WriteMii Configures a transceiver register or triggers a function offered by the receiver

EthSM_CtrlModeIndication Called when mode has been read out. Either triggered by previous

54 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

EthIf_GetControllerMode or by EthIf_SetControllerMode call. Can directly be called within the trigger functions.

EthSM_TrcvModeIndication Called when mode has been read out. Either triggered by previous

EthIf_GetTransceiverMode or by EthIf_SetTransceiverMode call. Can directly be called within the trigger functions.

EthTrcv_GetDuplexMode

EthTrcv_GetLinkState

Obtains the duplex mode of the indexed transceiver

Obtains the link state of the indexed transceiver

EthTrcv_GetTransceiverMode Obtains the state of the indexed transceiver

EthTrcv_SetTransceiverMode Enables / disables the indexed transceiver

⌋()

8.6.2 Optional Interfaces

This chapter defines all interfaces required to fulfill an optional functionality of the module.

[SWS_EthIf_00103]

API function Description

Det_ReportError

Eth_GetCounterState

EthTrcv_GetBaudRate Obtains the baud rate of the indexed transceiver

EthTrcv_StartAutoNegotiation Restarts the negotiation of the transmission parameters used by the indexed transceiver

SchM_Enter_EthIf

Service to report development errors.

Reads the value of a counter specified with its memory offset

SchM_Exit_EthIf

⌋()

Invokes the SchM_Enter function to enter a module local exclusive area.

Invokes the SchM_Exit function to exit an exclusive area.

8.6.3 Configurable interfaces

This chapter lists all interfaces with configurable target functions. The target function is usually a callback function. The function names are configurable.

[SWS_EthIf_00104]

Service name:

Syntax:

<User>_RxIndication void

) const uint8

Eth_FrameType boolean uint8* uint8* uint16

<User>_RxIndication(

CtrlIdx,

FrameType,

IsBroadcast,

PhysAddrPtr,

DataPtr,

LenByte

Service ID[hex]:

--

Sync/Async:

Reentrancy:

--

Dont care

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

Interface

FrameType frame type of received Ethernet frame

Parameters (in):

IsBroadcast parameter to indicate a broadcast frame

PhysAddrPtr pointer to Physical source address (MAC address in network byte order) of received Ethernet frame

55 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

DataPtr Pointer to payload of the received Ethernet frame (i.e. Ethernet header is not provided).

Length of received data.

Parameters

(inout):

LenByte

None

Parameters (out):

None

Return value:

None

Description:

Indicates the reception of an Ethernet frame

⌋()

[SWS_EthIf_00105]

The callback function shall be configurable by the configuration parameter:

EthIfRxIndicationFunction.

⌋()

[SWS_EthIf_00106]

Service name:

Syntax:

<User>_TxConfirmation void

) uint8

Eth_BufIdxType

<User>_TxConfirmation(

CtrlIdx,

BufIdx

Service ID[hex]:

--

Sync/Async:

Reentrancy:

--

Dont care

Parameters (in):

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

BufIdx Index of the buffer resource

Parameters

(inout):

None

Parameters (out):

None

Return value:

void --

Description:

Confirms the transmission of an Ethernet frame

⌋()

[SWS_EthIf_00107]

The callback function shall be configurable by the configuration parameter:

EthIfTxConfirmationFunction.

⌋()

[SWS_EthIf_00108]

Service name:

Syntax:

<User>_TrcvLinkStateChg void

) uint8

EthTrcv_LinkStateType

<User>_TrcvLinkStateChg(

CtrlIdx,

TrcvLinkState

Service ID[hex]:

--

Sync/Async:

Reentrancy:

--

Don’t care

Parameters (in):

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

Interface

TrcvLinkState ETHTRCV_LINK_STATE_DOWN transceiver link is down

ETHTRCV_LINK_STATE_ACTIVE transceiver link is up

Parameters

(inout):

Description:

⌋()

None

Parameters (out):

None

Return value:

None

Indicates the change of a transceiver state

56 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

[SWS_EthIf_00109]

The callback function shall be configurable by the configuration parameter:

EthIfTrcvLinkStateChgFunction.

⌋()

[SWS_EthIf_00229]

EthIfControllers not referring to an Ethernet Transceiver, i.e. no valid EthIfEthTrcvRef is configured, shall act as if the transceiver was present and the transceiver status was ETHTRCV_LINK_STATE_ACTIVE.

⌋()

[SWS_EthIf_00230]

Upon change of link state <User>_TrcvLinkStateChg shall be invoked for every affected EthIfController.

⌋()

Terms and definitions:

Reentrant: interface is reentrant

Don’t care: reentrancy of interface not relevant for this module (in general it is in this case not reentrant).

57 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

9 Sequence diagrams

The sequence diagrams show the basic operations carried out during operation.

They show the interaction of the Ethernet Interface with upper layer BSW module and the underlying Ethernet Controller Driver.

Please note that the sequence diagrams are an extension for illustrational purposes to ease understanding of the specification.

9.1 Initialization

Name:

Package:

Version:

Author:

EthIf_Initalization

EthIf

1.0

fix0ec2

«module»

:EcuM

«module»

:EthIf

EthIf_Init(const

EthIf_ConfigType*)

Eth_Init(const

Eth_ConfigType*)

EthTrcv_Init(const

EthTrcv_ConfigType*)

«module»

:Eth

«module»

:EthTrcv

Eth_WriteMii(Std_ReturnType, uint8, uint8, uint8, uint16)

Figure 5: Initialization

58 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

9.2 Communication Initialization

Name:

Package:

Version:

Author:

EthIf_CommunicationInitialization

EthIf

1.0

fix0ec2

«module»

:EthSM

«module»

:EthIf

EthIf_SetControllerMode(CtrlIdx,

ETH_MODE_ACTIVE)

Eth_SetControllerMode(CtrlIdx,

ETH_MODE_ACTIVE)

«module»

:Eth

«module»

:EthTrcv

EthIf_CtrlModeIndication(CtrlIdx,

ETH_MODE_ACTIVE)

EthSM_CtrlModeIndication(CtrlIdx,

ETH_MODE_ACTIVE)

EthIf_SetTransceiverMode(CtrlIdx,

ETHTRCV_MODE_ACTIVE)

EthTrcv_SetTransceiverMode(TrcvIdx,

ETHTRCV_MODE_ACTIVE)

EthSM_TrcvModeIndication(CtrlIdx,

ETHTRCV_MODE_ACTIVE)

Figure 6: Communication Initialization

EthIf_TrcvModeIndication(CtrlIdx,

ETHTRCV_MODE_ACTIVE)

59 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

9.3 Data Transmission

Name:

Package:

Version:

Author:

EthIf_DataTransmission

EthIf

1.0

fix0ec2

UL

EthIf_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_FrameType, uint8,

Eth_BufIdxType*, uint8**, uint16*)

«module»

:EthIf

Eth_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_BufIdxType*, uint8**, uint16*)

«module»

:Eth

EthIf_Transmit(Std_ReturnType, uint8,

Eth_BufIdxType, Eth_FrameType, boolean, uint16, const uint8*)

Eth_Transmit(Std_ReturnType, uint8,

Eth_BufIdxType, Eth_FrameType , boolean, uint16, const uint8*)

EthIf_MainFunctionTx()

Eth_TxConfirmation(void, uint8)

EthIf_TxConfirmation(uint8,

Eth_BufIdxType)

UL_TxConfirmation(CtrlIdx,

Bufidx)

Figure 7: Frame Transmission in Polling Mode

[SWS_EthIf_00115]

In each call of EthIf_MainFunctionTx the component shall call Eth_TxConfirmation for all Ethernet Controller Drivers.

Note: The Ethernet Interface expects that each Ethernet Controller Driver issues confirmations for all transmitted frames using the call-back function

EthIf_Cbk_TxConfirmation.

[SWS_EthIf_00125]

EthIf_Cbk_TxConfirmation shall forward the confirmation to the registered call-back functions <User>_TxConfirmation.

60 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Name:

Package:

Version:

Author:

EthIf_TransmissionInterrupt

EthIf

1.0

fix0ec2

UL

EthIf_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_FrameType, uint8,

Eth_BufIdxType*, uint8**, uint16*)

«module»

:EthIf

Eth_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_BufIdxType*, uint8**, uint16*)

«module»

:Eth

Eth_TxIrqHdlr_<CtrlIdx>(void)

EthIf_TxConfirmation(uint8,

Eth_BufIdxType)

UL_TxConfirmation(CtrlIdx,

BufIdx)

Figure 8: Frame Transmission in Interrupt Mode

9.4 Data Reception

Name:

Package:

Version:

Author:

EthIf_DataReception

EthIf

1.0

fix0ec2

UL

«module»

:EthIf

EthIf_MainFunctionRx()

Eth_Receive(uint8,

Eth_RxStatusType*)

EthIf_RxIndication(uint8, Eth_FrameType, boolean, const uint8*, Eth_DataType*, uint16)

UL_RxIndication(CtrlIdx, DataPtr,

LenByte)

«module»

:Eth

61 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Figure 9: Frame Reception in Polling Mode

Name:

Package:

Version:

Author:

EthIf_ReceptionInterrupt

EthIf

1.0

fix0ec2

UL

«module»

:EthIf

UL_RxIndication(CtrlIdx, DataPtr,

LenByte)

EthIf_RxIndication(uint8, Eth_FrameType, boolean, const uint8*, Eth_DataType*, uint16)

«module»

:Eth

Eth_RxIrqHdlr_<CtrlIdx>(void)

Figure 10: Frame Reception in Interrupt Mode

9.5 Link State Change

Name:

Package:

Version:

Author:

EthIf_LinkStateChange

EthIf

1.0

fix0ec2

UL

«module»

:EthIf

EthIf_MainFunctionRx()

EthTrcv_GetLinkState(Std_ReturnType, uint8, EthTrcv_LinkStateType*)

«module»

:EthTrcv

UL_LinkStateChange(CtrlIdx, LinkState)

Figure 11: Link State Change

62 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

10 Configuration specification

In general, this chapter defines configuration parameters and their clustering into containers. In order to support the specification Chapter 10.1 describes fundamentals. It also specifies a template (table) you shall use for the parameter specification. We intend to leave Chapter 10.1 in the specification to guarantee comprehension.

Chapter 10.2 specifies the structure (containers) and the parameters of the module

Ethernet Interface.

Chapter 10.3 specifies published information of the module Ethernet Interface.

10.1 Containers and configuration parameters

The following chapters summarize all configuration parameters. The detailed

meanings of the parameters describe Chapters 7 and Chapter 8.

63 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

EthIf :EcucModuleDef lowerMultiplicity = 0 upperMultiplicity = 1

+container

EthIfGeneral :

EcucParamConfContainerDef

+parameter EthIfDevErrorDetect :

EcucBooleanParamDef

+parameter

EthIfMaxT rcvsT otal :

EcucIntegerParamDef min = 1 max = 255

+parameter EthIfEnableRxInterrupt :

EcucBooleanParamDef

+parameter EthIfEnableT xInterrupt :

EcucBooleanParamDef

+parameter EthIfVersionInfoApi :

EcucBooleanParamDef

+parameter EthIfVersionInfoApiMacro :

EcucBooleanParamDef

+parameter

EthIfT rcvLinkStateChgMainReload :

EcucIntegerParamDef min = 1 max = 255

+parameter

EthIfMainFunctionPeriod :

EcucFloatParamDef

+parameter min = 0 max = INF EthIfPublicCddHeaderFile :

EcucStringParamDef

+parameter lowerMultiplicity = 0 upperMultiplicity = * minLength = 1 maxLength = 32

EthIfRxIndicationIterations :

EcucIntegerParamDef min = 0 max = 65535

+parameter

EthIfMainFunctionRxT imeout :

EcucFloatParamDef min = 0 max = INF

+parameter EthIfStartAutoNegotiation :

EcucBooleanParamDef

+parameter EthIfGetBaudRate :

EcucBooleanParamDef

+parameter EthIfGetCounterState :

EcucBooleanParamDef

Figure 10.1: Ethernet Interface general configuration structure

64 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

EthIf :EcucModuleDef lowerMultiplicity = 0 upperMultiplicity = 1

+container

EthIfConfigSet :

EcucParamConfContainerDef

+subContainer

EthIfFrameOwnerConfig :

EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *

+parameter

EthIfFrameType :

EcucIntegerParamDef min = 0 max = 65535

+parameter

EthIfOwner :

EcucIntegerParamDef min = 0 max = 255

+subContainer

EthIfRxIndicationConfig :

EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *

+parameter EthIfRxIndicationFunction :

EcucFunctionNameDef

+subContainer

EthIfTxConfirmationConfig :

EcucParamConfContainerDef lowerMultiplicity = 0 upperMultiplicity = *

+parameter EthIfTxConfirmationFunction :

EcucFunctionNameDef

+subContainer

EthIfTrcvLinkStateChgConfig :

EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *

EthIfController :

EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *

+parameter EthIfTrcvLinkStateChgFunction :

EcucFunctionNameDef

EthCtrlIdx :EcucIntegerParamDef min = 0 max = 255 symbolicNameValue = true

EthIfCtrlIdx :

EcucIntegerParamDef

+parameter min = 0 max = 255 symbolicNameValue = true

+reference

EthIfEthCtrlRef :

EcucSymbolicNameReferenceDef

+destination

EthCtrlConfig :EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *

+subContainer

+reference

EthIfEthTrcvRef :

EcucSymbolicNameReferenceDef lowerMultiplicity = 0 upperMultiplicity = 1

+destination

(from Eth)

EthTrcvConfig :EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *

(from EthTrcv)

EthIfVlanId :

EcucIntegerParamDef

+parameter min = 0 max = 4095 lowerMultiplicity = 0 upperMultiplicity = 1

+parameter

EthTrcvIdx :

EcucIntegerParamDef

+parameter

EthIfCtrlMtu :

EcucIntegerParamDef min = 64 max = 9000 min = 0 max = 255 symbolicNameValue = true

(from EthTrcv)

+subContainer

EthIfSwitch :

EcucParamConfContainerDef lowerMultiplicity = 0 upperMultiplicity = *

+parameter

EthIfMaxTxBufsTotal :

EcucIntegerParamDef min = 1 max = 255

+parameter

EthIfSwitchIdx :EcucIntegerParamDef min = 0 max = 255 symbolicNameValue = true

EthSwtIdx :

EcucIntegerParamDef min = 0 max = 255 symbolicNameValue = true

+parameter

(from EthSwt)

+reference EthIfSwitchRef :

EcucSymbolicNameReferenceDef

+destination

EthSwtConfig :

EcucParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = *

(from EthSwt)

Figure 10.2: Ethernet Interface Interface configuration structure

65 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

10.1.1 Variants

VARIANT-POST-

BUILD: All configuration parameters in container ‘EthGeneral’ shall be configurable at pre-compile time.

Use case: Object code delivery, selectable configuration

VARIANT-LINK-TIME

: All configuration parameters in container ‘EthGeneral’ shall be configurable at pre-compile time.

Use case: Object code delivery, single configuration

VARIANT-PRE-COMPILE: All configuration parameters shall be configurable at precompile time.

Use case: Execution time optimizations, fix configuration

10.1.2 EthIf

Module Name

Module Description

EthIf

Configuration of the EthIf (Ethernet Interface) module.

Post-Build Variant Support

true

Included Containers

Container Name

EthIfConfigSet

EthIfGeneral

Multiplicity Scope / Dependency

1

Collecting container for all parameters with post-build configuration classes.

1

This container contains the general configuration parameters of the Ethernet Interface.

10.1.3 EthIfGeneral

SWS Item

Container Name

Description

ECUC_EthIf_00001 :

EthIfGeneral

This container contains the general configuration parameters of the

Ethernet Interface.

Configuration Parameters

SWS Item

Name

Description

ECUC_EthIf_00004 :

EthIfDevErrorDetect

Switches the Default Error Tracer (Det) detection and notification ON or

OFF.

 true: enabled (ON).

 false: disabled (OFF).

Multiplicity

Type

Default value

1

EcucBooleanParamDef

--

Post-Build Variant Value

false

66 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

SWS Item

Name

Description

X All Variants

--

--

ECUC_EthIf_00005 :

EthIfEnableRxInterrupt

Enables / Disables receive interrupt.

Multiplicity

Type

Scope / Dependency

1

EcucBooleanParamDef

Default value

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

X All Variants

--

--

SWS Item

Name

Description

Multiplicity

Type

ECUC_EthIf_00006 :

EthIfEnableTxInterrupt

Enables / Disables the transmit interrupt.

1

EcucBooleanParamDef

Default value

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

SWS Item

Name

Description

Multiplicity

ECUC_EthIf_00034 :

EthIfGetBaudRate

X All Variants

--

--

Enables / Disables GetBaudRate API.

1

Type

Default value

EcucBooleanParamDef

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

SWS Item

Name

Description

Multiplicity

ECUC_EthIf_00035 :

EthIfGetCounterState

X All Variants

--

--

Enables / Disables GetCounterState API.

1

Type

Default value

EcucBooleanParamDef

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

SWS Item

Name

ECUC_EthIf_00041 :

X All Variants

--

--

EthIfGetTransceiverWakeupModeApi

67 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Description

Multiplicity

Enables / Disables EthIf_GetTransceiverWakeupMode API

0..1

Type

EcucBooleanParamDef

Default value

Post-Build

false

Variant

false

Multiplicity

Post-Build Variant Value

false

Multiplicity Configuration Pre-compile time

Class

Link time

Post-build time

Value Configuration Class Pre-compile time

Scope / Dependency

Link time

X All Variants

--

--

X All Variants

--

Post-build time

-- scope: dependency: Only valid if EthIfWakeUpSupport is TRUE local

SWS Item

Name

Description

ECUC_EthIf_00039 :

EthIfGlobalTimeSupport

Multiplicity

Type

Scope / Dependency

Enables/Disables the Global Time APIs used amongst others by Global

Time Synchronization over Ethernet.

1

EcucBooleanParamDef

Default value

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

X All Variants

--

--

SWS Item

Name

Description

ECUC_EthIf_00023 :

EthIfMainFunctionPeriod

Multiplicity

Type

Specifies the period of main function EthIf_MainFunctionRx and

EthIf_MainFunctionTx in seconds. Ethernet Interface does not require this information but the BSW scheduler.

1

Range

Default value

EcucFloatParamDef

0 .. INF

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Scope / Dependency

Link time

Post-build time

scope: local

SWS Item

Name

Description

Multiplicity

Type

Range

Default value

X All Variants

--

--

ECUC_EthIf_00031 : (Obsolete)

EthIfMainFunctionRxTimeout

This parameter is deprecated and will be removed in future.

Old description: Timeout in seconds after which the EthIf stops to receive frames in an EthIfMainFunctionRx period.

Tags:

atp.Status=obsolete atp.StatusRevisionBegin=4.2.2

0..1

EcucFloatParamDef

0 .. INF

--

68 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

SWS Item

Name

Description

Multiplicity

ECUC_EthIf_00003 :

EthIfMaxTrcvsTotal

X All Variants

--

--

Limits the total number of transceivers.

1

Type

Range

Default value

EcucIntegerParamDef

1 .. 255

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

SWS Item

Name

Description

ECUC_EthIf_00024 :

EthIfPublicCddHeaderFile

X All Variants

--

--

Defines header files for callback functions which shall be included in case of CDDs. Range of characters is 1.. 32.

Multiplicity

Type

Default value maxLength minLength

0..*

EcucStringParamDef

--

32

1

regularExpression

Post-Build

--

Variant

false

Multiplicity

Post-Build Variant Value

false

Multiplicity Configuration Pre-compile time

Class

Link time

Post-build time

X All Variants

--

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: ECU

Scope / Dependency

SWS Item

Name

Description

ECUC_EthIf_00030 :

EthIfRxIndicationIterations

--

X All Variants

--

--

Maximum number of Ethernet frames per Ethernet controller polled from the Ethernet driver within EthIf_MainFunctionRx.

0..1

Multiplicity

Type

Range

EcucIntegerParamDef

0 .. 65535

Default value

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

X All Variants

--

--

Scope / Dependency

SWS Item

Name

ECUC_EthIf_00033 :

EthIfStartAutoNegotiation

69 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Description

Multiplicity

Enables / Disables StartAutoNegotiation API.

1

Type

EcucBooleanParamDef

Default value

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Scope / Dependency

Link time

Post-build time

scope: local

X All Variants

--

--

SWS Item

Name

Description

ECUC_EthIf_00009 :

EthIfTrcvLinkStateChgMainReload

Specifies the frequency of transceiver link state change checks in each period of main function EthIf_MainFunctionTx.

1

Multiplicity

Type

Range

Default value

EcucIntegerParamDef

1 .. 255

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Scope / Dependency

Link time

Post-build time

scope: local

X All Variants

--

--

SWS Item

Name

Description

Multiplicity

ECUC_EthIf_00007 :

EthIfVersionInfoApi

Enables / Disables version info API

1

Type

Default value

EcucBooleanParamDef

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

X All Variants

--

--

Scope / Dependency

SWS Item

Name

Description

Multiplicity

ECUC_EthIf_00008 :

EthIfVersionInfoApiMacro

Enables / Disables version info API macro implementation.

1

Type

Default value

EcucBooleanParamDef

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

X All Variants

--

--

Scope / Dependency

SWS Item

Name

Description

Multiplicity

ECUC_EthIf_00040 :

EthIfWakeUpSupport

Configures if wakeup is supported or not.

1

Type

Default value

EcucBooleanParamDef false

Post-Build Variant Value

false

70 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

No Included Containers

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

X All Variants

--

--

10.1.4 EthIfConfigSet

SWS Item

Container Name

Description

ECUC_EthIf_00010 :

EthIfConfigSet

Collecting container for all parameters with post-build configuration classes.

Configuration Parameters

Included Containers

Container Name

EthIfController

EthIfFrameOwnerConfig

EthIfRxIndicationConfig

Multiplicity Scope / Dependency

1..* This container contains the configuration of EthIfController.

1..* Configuration of Ethernet frame owner

1..* Configuration of receive callback functions.

EthIfSwitch 0..* This container contains the configuration of EthIfSwitches.

EthIfTrcvLinkStateChgConfig 1..* Specifies link state change callback function

0..* Configuration of transmit indication callback functions. EthIfTxConfirmationConfig

10.1.5 EthIfController

SWS Item

Container Name

Description

Configuration Parameters

SWS Item

Name

Description

Multiplicity

Type

Range

Default value

ECUC_EthIf_00025 :

EthIfController

This container contains the configuration of EthIfController.

ECUC_EthIf_00026 :

EthIfCtrlIdx

This parameter provides a zero-based consecutive index of the Ethernet

Communication Controllers. Upper layer BSW modules and the EthIf itself use this index to identify a Ethernet CC.

1

EcucIntegerParamDef (Symbolic Name generated for this parameter)

0 .. 255

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Scope / Dependency

Link time

Post-build time

scope: ECU

SWS Item

Name

Description

X All Variants

--

--

ECUC_EthIf_00032 :

EthIfCtrlMtu

Specifies the maximum transmission unit (MTU) of the EthIfCtrl in [bytes].

Note: in case a VLAN tag is used for the EthIfCtrl, the MTU is 4 bytes

71 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

smaller than the maximum payload size of an Ethernet frame which can be transmitted on the network.

1

Multiplicity

Type

Range

EcucIntegerParamDef

64 .. 9000

Default value

--

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

X VARIANT-PRE-COMPILE

Scope / Dependency

Link time

Post-build time

scope: dependency: EthIfVlanId

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

ECU

SWS Item

Name

Description

Multiplicity

Type

Scope / Dependency

ECUC_EthIf_00002 :

EthIfMaxTxBufsTotal

Limits the total number of transmit buffers.

1

EcucIntegerParamDef

Range

Default value

1 .. 255

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

X All Variants

--

--

SWS Item

Name

Description

Multiplicity

ECUC_EthIf_00029 :

EthIfVlanId

A virtual-LAN is identified by this attribute according to IEEE 802.1Q.

0..1

Type

Range

EcucIntegerParamDef

0 .. 4095

Default value

Post-Build

Multiplicity

Variant

-- true

Post-Build Variant Value

true

Multiplicity Configuration Pre-compile time

Class

Link time

Post-build time

Value Configuration Class Pre-compile time

Link time

Scope / Dependency

Post-build time

scope: ECU

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

SWS Item

Scope / Dependency

ECUC_EthIf_00027 :

Name

Description

EthIfEthCtrlRef

Reference to a Controller, which is handled by a specific Driver. This reference is unique for the ECU.

1

Multiplicity

Type

Symbolic name reference to [ EthCtrlConfig ]

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: ECU

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

72 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

SWS Item

Name

Description

Multiplicity

Type

ECUC_EthIf_00028 :

EthIfEthTrcvRef

Reference to a Ethernet Transceiver.

0..1

Symbolic name reference to [ EthTrcvConfig ]

Post-Build

Multiplicity

Variant

true

Post-Build Variant Value

true

Multiplicity Configuration Pre-compile time

Class

Link time

Post-build time

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: ECU

Scope / Dependency

No Included Containers

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

10.1.6 EthIfFrameOwnerConfig

SWS Item

Container Name

Description

Configuration Parameters

SWS Item

Name

Description

Multiplicity

Type

ECUC_EthIf_00011 :

EthIfFrameOwnerConfig

Configuration of Ethernet frame owner

ECUC_EthIf_00012 :

EthIfFrameType

Selects the Ethernet frame type.

1

EcucIntegerParamDef

Range

Default value

0 .. 65535

--

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

Scope / Dependency

SWS Item

Name

Description

ECUC_EthIf_00013 :

EthIfOwner

Multiplicity

Type

Range

Default value

Selects the owner of an Ethernet frame type. The owner is a zero based index into the callback function configuration 'EthIfRxIndicationConfig'. I.e. an Ethernet frame of type IPv4 (0x800) at index 0 will call the first callback function configured in 'EthIfRxIndicationConfig'.

1

EcucIntegerParamDef

0 .. 255

--

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

Link time

Post-build time

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

Scope / Dependency

scope: local

73 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

No Included Containers

10.1.7 EthIfRxIndicationConfig

SWS Item

Container Name

Description

Configuration Parameters

SWS Item

Name

Description

Multiplicity

Type

Default value maxLength minLength

ECUC_EthIf_00014 :

EthIfRxIndicationConfig

Configuration of receive callback functions.

ECUC_EthIf_00015 :

EthIfRxIndicationFunction

Specifies receive indication callback function.

1

EcucFunctionNameDef

--

--

--

regularExpression

--

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

Link time

Scope / Dependency

Post-build time

scope: local

No Included Containers

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

10.1.8 EthIfSwitch

SWS Item

Container Name

Description

ECUC_EthIf_00036 :

EthIfSwitch

This container contains the configuration of EthIfSwitches.

Configuration Parameters

SWS Item

Name

Description

ECUC_EthIf_00037 :

EthIfSwitchIdx

This parameter provides a zero-based consecutive index of the Ethernet

Interface Switches. Upper layer BSW modules and the EthIf itself use this index to identify a Ethernet Switch.

1

Multiplicity

Type

Range

EcucIntegerParamDef (Symbolic Name generated for this parameter)

0 .. 255

Default value

--

Post-Build Variant Value

false

Value Configuration Class Pre-compile time

Scope / Dependency

SWS Item

Link time

Post-build time

scope: ECU

ECUC_EthIf_00038 :

X All Variants

--

--

74 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Name

Description

Multiplicity

Type

EthIfSwitchRef

Reference to a Ethernet Switch, which is handled by a specific Ethernet

Switch driver.

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

Link time

Scope / Dependency

No Included Containers

1

Symbolic name reference to [ EthSwtConfig ]

Post-build time

scope: ECU

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

10.1.9 EthIfTrcvLinkStateChgConfig

SWS Item

Container Name

Description

Configuration Parameters

SWS Item

Name

ECUC_EthIf_00018 :

EthIfTrcvLinkStateChgConfig

Specifies link state change callback function

Description

Multiplicity

Type

Default value

ECUC_EthIf_00019 :

EthIfTrcvLinkStateChgFunction

Specifies link state change callback function

1

EcucFunctionNameDef

--

maxLength minLength

--

--

regularExpression

--

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

Scope / Dependency

No Included Containers

Link time

Post-build time

scope: local

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

10.1.10 EthIfTxConfirmationConfig

SWS Item

Container Name

Description

Configuration Parameters

SWS Item

Name

Description

Multiplicity

Type

ECUC_EthIf_00016 :

EthIfTxConfirmationConfig

Configuration of transmit indication callback functions.

ECUC_EthIf_00017 :

EthIfTxConfirmationFunction

Specifies transmit indication callback function

1

EcucFunctionNameDef

75 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

Default value maxLength

--

--

minLength

--

regularExpression

--

Post-Build Variant Value

true

Value Configuration Class Pre-compile time

Link time

Post-build time

scope: local

Scope / Dependency

No Included Containers

X VARIANT-PRE-COMPILE

X VARIANT-LINK-TIME

X VARIANT-POST-BUILD

76 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

Specification of Ethernet Interface

AUTOSAR Release 4.2.2

11 Not applicable requirements

[SWS_EthIf_00999]

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

77 of 77 Document ID 417: AUTOSAR_SWS_EthernetInterface

- AUTOSAR confidential -

advertisement

Related manuals

Download PDF

advertisement

Table of contents