AUTOSAR SWS CANTransceiverDriver
AUTOSAR SWS CANTransceiverDriver
Disclaimer
This work (specification and/or software implementation) and the material contained
in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR
and the companies that have contributed to it shall not be liable for any use of the
work.
The material contained in this work is protected by copyright and other types of
intellectual property rights. The commercial exploitation of the material contained in
this work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the
work may be utilized or reproduced, in any form or by any means, without permission
in writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Table of Content
1 Introduction.......................................................................................................... 8
1.1 Goal of CAN Transceiver Driver .................................................................... 9
1.2 Explicitly uncovered CAN transceiver functionality ........................................ 9
1.3 Single wire CAN transceivers according SAE J2411 ..................................... 9
2 Acronyms and abbreviations ............................................................................. 10
3 Related documentation...................................................................................... 11
3.1 Input documents .......................................................................................... 11
3.2 Related standards and norms ..................................................................... 11
3.3 Related specification ................................................................................... 11
4 Constraints and assumptions ............................................................................ 12
4.1 Limitations ................................................................................................... 12
4.2 Applicability to car domains ......................................................................... 12
5 Dependencies to other modules ........................................................................ 13
5.1 File structure ................................................................................................ 13
5.1.1 Code file structure ................................................................................. 13
5.1.2 Header file structure .............................................................................. 14
6 Requirements Traceability ................................................................................. 15
7 Functional specification ..................................................................................... 23
7.1 CAN transceiver driver operation modes ..................................................... 23
7.1.1 Operation mode switching .................................................................... 24
7.2 CAN transceiver hardware operation modes ............................................... 24
7.2.1 Example for temporary “Go-To-Sleep” mode ........................................ 25
7.2.2 Example for “PowerOn/ListenOnly” mode ............................................. 25
7.3 CAN transceiver wake up types .................................................................. 25
7.4 Enabling/Disabling wakeup notification ....................................................... 26
7.5 CAN transceiver wake up modes ................................................................ 26
7.6 Error classification ....................................................................................... 27
7.6.1 Development Errors .............................................................................. 27
7.6.2 Runtime Errors ...................................................................................... 27
7.6.3 Transient Faults .................................................................................... 28
7.6.4 Production Errors .................................................................................. 28
7.6.5 Extended Production Errors .................................................................. 28
7.7 Preconditions for driver initialization ............................................................ 28
7.8 Instance concept ......................................................................................... 29
7.9 Wait states................................................................................................... 29
7.10 Transceivers with selective wakeup functionality .................................... 29
8 API specification ................................................................................................ 31
8.1 Imported types ............................................................................................. 31
8.2 Type definitions ........................................................................................... 32
8.3 Function definitions...................................................................................... 33
8.3.1 CanTrcv_Init.......................................................................................... 33
8.3.2 CanTrcv_SetOpMode ........................................................................... 34
8.3.3 CanTrcv_GetOpMode ........................................................................... 36
6 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
1 Introduction
This specification describes the functionality, APIs and configuration of CAN Trans-
ceiver Driver module. The CAN Transceiver Driver module is responsible for handling
the CAN transceiver hardware chips on an ECU.
The CAN Transceiver is a hardware device, which adapts the signal levels that are
used on the CAN bus to the logical (digital) signal levels recognised by a microcon-
troller.
In addition, the transceivers are able to detect electrical malfunctions like wiring is-
sues, ground offsets or transmission of long dominant signals. Depending on the in-
terfacing with the microcontroller, they flag the detected error summarized by a single
port pin or very detailed by SPI.
Some transceivers support power supply control and wake up via the CAN bus. Dif-
ferent wake up/sleep and power supply concepts are usual on the market.
Within the automotive environment, there are mainly three different CAN bus physics
used. These are ISO11898 for high-speed CAN (up to 1Mbits/s), ISO11519 for low-
speed CAN (up to 125Kbits/s) and SAE J2411 for single-wire CAN.
Latest developments include System Basis Chips (SBCs) where power supply con-
trol and advanced watchdogs are implemented in addition to CAN. These are en-
closed in one housing and controlled through single interface (e.g. via SPI).
Abbreviation Description
ComM Communication Manager
DEM Diagnostic Event Manager
DET Default Error Tracer
DIO Digital Input Output (SPAL module)
EB Externally Buffered channels. Buffers containing data to transfer are outside the
SPI Handler/Driver.
EcuM ECU State Manager
IB Internally Buffered channels. Buffers containing data to transfer are inside the SPI
Handler/Driver.
ISR Interrupt Service Routine
MCAL Micro Controller Abstraction Layer
Port Port module (SPAL module)
n/a Not Applicable
SBC System Basis Chip; a device, which integrates e.g. CAN and/or LIN transceiver,
watchdog and power control.
SPAL Standard Peripheral Abstraction Layer
SPI A channel is a software exchange medium for data that are defined with the same
Channel criteria: configuration parameters, number of data elements with same size and
data pointers (source & destination) or location. See specification of SPI driver for
more details.
SPI A job is composed of one or several channels with the same chip select. A job is
Job considered to be atomic and therefore cannot be interrupted. A job has also an
assigned priority. See specification of SPI driver for more details.
SPI A sequence is a number of consecutive jobs to be transmitted. A sequence de-
Sequence pends on a static configuration. See specification of SPI driver for more details.
CAN Channel A physical channel which is connected to a CAN network from a CAN controller
through a CAN transceiver.
API Application Programming Interface
3 Related documentation
3.1 Input documents
[1] List of Basic Software Modules
AUTOSAR_TR_BSWModuleList.pdf
Thus, the specification SWS BSW General shall be considered as additional and re-
quired specification for CAN Transceiver Driver.
4.1 Limitations
[SWS_CanTrcv_00098] ⌈ The CAN bus transceiver hardware shall provide the
functionality and an interface which can be mapped to the operation mode model of
the AUTOSAR CAN transceiver driver. ⌋ (SRS_BSW_00172)
See also Chapter 7.1.
This driver might be applicable in all car domains using CAN for communication.
Module Dependencies
CanIf All CAN transceiver drivers are arranged below CanIf.
ComM ComM steers CAN transceiver driver communication modes via CanIf. Each CAN trans-
ceiver driver is steered independently.
DET DET gets development error information from CAN transceiver driver.
DEM DEM gets production error information from CAN transceiver driver.
DIO DIO module is used to access CAN transceiver device connected via ports.
EcuM EcuM gets information about wake up events from CAN transceiver driver via CanIf.
SPI SPI module is used to access CAN transceiver device connected via SPI.
[SWS_CanTrcv_00067]
⌈
⌋ (SRS_BSW_00301, SRS_BSW_00409)
[SWS_CanTrcv_00162] ⌈ CanTrcv.h shall include Can_GeneralTypes.h, for the
general CAN type definitions. ⌋ ()
[SWS_CanTrcv_00166] ⌈ The imported types described in SWS_CanTrcv_00163,
SWS_CanTrcv_00164 and SWS_CanTrcv_00165 shall be defined in
Can_GeneralTypes.h. ⌋ ()
6 Requirements Traceability
SWS_CanTrcv_91005
SRS_BSW_00371 The passing of function pointers SWS_CanTrcv_00001,
as API parameter is forbidden for SWS_CanTrcv_00002,
all AUTOSAR Basic Software Mo- SWS_CanTrcv_00005,
dules SWS_CanTrcv_00007,
SWS_CanTrcv_00008,
SWS_CanTrcv_00009,
SWS_CanTrcv_00013
SRS_BSW_00373 The main processing function of SWS_CanTrcv_00013
each AUTOSAR Basic Software
Module shall be named according
the defined convention
SRS_BSW_00375 Basic Software Modules shall re- SWS_CanTrcv_00007
port wake-up reasons
SRS_BSW_00377 A Basic Software Module can re- SWS_CanTrcv_00005,
turn a module specific types SWS_CanTrcv_00007
SRS_BSW_00378 AUTOSAR shall provide a boolean SWS_CanTrcv_00999
type
SRS_BSW_00383 The Basic Software Module spe- SWS_CanTrcv_00999
cifications shall specify which
other configuration files from other
modules they use at least in the
description
SRS_BSW_00384 The Basic Software Module spe- SWS_CanTrcv_00999
cifications shall specify at least in
the description which other mo-
dules they require
SRS_BSW_00385 List possible error notifications SWS_CanTrcv_00050,
SWS_CanTrcv_00206,
SWS_CanTrcv_00227,
SWS_CanTrcv_00228
SRS_BSW_00386 The BSW shall specify the confi- SWS_CanTrcv_00050
guration for detecting an error
SRS_BSW_00388 Containers shall be used to group SWS_CanTrcv_00090,
configuration parameters that are SWS_CanTrcv_00091,
defined for the same object SWS_CanTrcv_00093,
SWS_CanTrcv_00095
SRS_BSW_00389 Containers shall have names SWS_CanTrcv_00090,
SWS_CanTrcv_00091,
SWS_CanTrcv_00093,
SWS_CanTrcv_00095
SRS_BSW_00390 Parameter content shall be unique SWS_CanTrcv_00090,
within the module SWS_CanTrcv_00091,
SWS_CanTrcv_00093,
SWS_CanTrcv_00095
SRS_BSW_00392 Parameters shall have a type SWS_CanTrcv_00090,
SWS_CanTrcv_00091,
SWS_CanTrcv_00093,
SWS_CanTrcv_00095
SRS_BSW_00393 Parameters shall have a range SWS_CanTrcv_00090,
SWS_CanTrcv_00091,
SWS_CanTrcv_00093,
SWS_CanTrcv_00095
7 Functional specification
POWER_ON
NOT_ACTIVE
CanTrcv_Init() ACTIVE
CanTrcv_Init()
[CFG1] [CFG3]
3(a) 1(a)
CanTrcv_DeInit()
CANTRCV_TRCVMODE_SLEEP CANTRCV_TRCVMODE_NORMAL
1(c)
CanTrcv_Init()
[CFG2]
2(b)
CanTrcv_DeInit()
3(b)
1(b)
CANTRCV_TRCVMODE_STANDBY
2(a)
Legend:
1 - CanTrcv_SetOpMode(CANTRCV_TRCVMODE_NORMAL)
2 - CanTrcv_SetOpMode(CANTRCV_TRCVMODE_STANDBY)
3 - CanTrcv_SetOpMode(CANTRCV_TRCVMODE_SLEEP)
The main idea intended by this diagram, is to support a lot of up to now available
CAN bus transceivers in a generic view. Depending on the CAN transceiver hard-
ware, the model may have one or two states more than necessary for a given CAN
transceiver hardware but this will clearly decouple the ComM and EcuM from the
used hardware.
23 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
If a CAN transceiver driver covers more than one CAN transceiver (configured as
channels), all transceivers (channels) are either in the state NOT_ACTIVE or in the
state ACTIVE.
The CAN transceiver hardware may support more mode transitions than shown in
the state diagram above. The dependencies and the recommended implementations
behaviour are explained in this chapter.
It is implementation specific to decide which CAN transceiver hardware state is cov-
ered by which CAN transceiver driver software state. An implementation has to guar-
antee that the whole functionality of the described CAN transceiver driver software
state is realized by the implementation.
The mode often referred to as “PowerOn“ or “ListenOnly” is a mode where the CAN
transceiver hardware is only able to receive messages but not able to send messag-
es. Also, transmission of the acknowledge bit during reception of a message is sup-
pressed. This mode is not supported because it is outside of the CAN standard and
not supported by all CAN transceiver hardware chips.
Scenario 1:
MCU is not powered.
Parts of ECU including CAN transceiver hardware are powered.
The considered CAN transceiver is in SLEEP mode.
A wake up event on CAN bus is detected by CAN transceiver hardware.
The CAN transceiver hardware causes powering of MCU.
In terms of AUTOSAR, this is kept as a cold start and NOT as a wake up.
Scenario 2:
MCU is in low power mode.
Parts of ECU including CAN transceiver hardware are powered.
The considered CAN transceiver is in STANDBY mode.
A wake up event on CAN bus is detected by CAN transceiver hardware.
The CAN transceiver hardware causes a SW interrupt for waking up.
In terms of AUTOSAR, this is kept as a wake up of the CAN channel and of the
MCU.
Scenario 3:
MCU is in full power mode.
At least parts of ECU including CAN transceiver hardware are powered.
25 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
CanTrcv driver shall ensure the following to avoid the loss of wakeup events:
[SWS_CanTrcv_00172] ⌈ It shall enable the ICU channels when the transceiver
transitions to the Standby mode (CANTRCV_STANDBY). ⌋ ()
[SWS_CanTrcv_00173] ⌈ It shall disable the ICU channels when the transceiver
transitions to the Normal mode (CANTRCV_NORMAL). ⌋ ()
Note: In both modes the function CanTrcv_CheckWakeup shall be present, but the
functionality shall be based on the configured wakeup mode (NOT_SUPPORTED
OR POLLING).
Implementation Hint:
If a CAN transceiver needs a specific state transition (e.g. Sleep -> Normal) initiated
by the software after detection of a wake-up, this may be accomplished by the
CanTrcv module, during the execution of CanTrcv_CheckWakeup. This behaviour
is implementation specific.
It has to be assured by configuration of modules, which are involved in wake-up pro-
cess (EcuM, CanIf, ICU etc…) that CanTrcv_CheckWakeup is called, when a trans-
ceiver needs a specific state transition.
[SWS_CanTrcv_00050]
⌈
Value
Type or error Relevance Related error code
[hex]
API called with
wrong parameter for Development CANTRCV_E_INVALID_TRANSCEIVER 1
the CAN transceiver
API called with null
pointer parameter
Development CANTRCV_E_PARAM_POINTER 2
API service used
without initialization
Development CANTRCV_E_UNINIT 11
API service called in CANTRCV_E_TRCV_NOT_STANDBY 21
wrong transceiver Development
operation mode CANTRCV_E_TRCV_NOT_NORMAL 22
API service called
with invalid parame-
ter for TrcvWakeup-
Development CANTRCV_E_PARAM_TRCV_WAKEUP_MODE 23
Mode
API service called
with invalid parame- Development CANTRCV_E_PARAM_TRCV_OPMODE 24
ter for OpMode
Configured baud
rate is not supported Development CANTRCV_E_BAUDRATE_NOT_SUPPORTED 25
by the transceiver
Module initialization
has failed, e.g.
CanTrcv_Init() called Development CANTRCV_E_INIT_FAILED 27
with an invalid point-
er in postbuild.
⌋ (SRS_BSW_00327, SRS_BSW_00350, SRS_BSW_00385, SRS_BSW_00386)
Value
Type or error Related error code
[hex]
No/incorrect communica-
tion to transceiver.
CANTRCV_E_NO_TRCV_CONTROL 26
[SWS_CanTrcv_00228]
⌈
Error Name: CANTRCV_E_BUS_ERROR
Short Description: A CAN bus error occured during communication
Long Description: This Extended Production Error shall be issued when a bus failure is de-
tected by the transceiver during the CAN communication..
Fail When the flag corresponding to bus failure is set,
Dem_SetEventStatus shall be reported with parameters
EventId as CANTRCV_E_BUS_ERROR and EventStatus as
DEM_EVENT_STATUS_FAILED.
SWS_CanTrcv_00206, SWS_CanTrcv_00229
Detection Criteria:
Pass When the flag corresponding to bus failure is not set,
Dem_SetEventStatus shall be reported with parameters
EventId as CANTRCV_E_BUS_ERROR and EventStatus as
DEM_EVENT_STATUS_PASSED.
SWS_CanTrcv_00227, SWS_CanTrcv_00229
Secondary Parameters: N/A
Time Required: N/A
Monitor Frequency continuous
⌋ (SRS_BSW_00339, SRS_BSW_00385)
2) The runtime of the used underlying services is very short and synchronous to
enable the driver to keep his own timing requirements limited by the used
hardware device.
3) The runtime of the driver may be enlarged due to some hardware devices con-
figuring the port pin level to be valid for e.g. 50µs before changing it again to
reach a specific state (e.g. sleep).
8 API specification
8.1 Imported types
In this chapter all types included from the following files are listed:
[SWS_CanTrcv_00084] ⌈
Module Imported Type
Can_GeneralTypes CanTrcv_TrcvModeType
CanTrcv_TrcvWakeupModeType
CanTrcv_TrcvWakeupReasonType
Dem Dem_EventIdType
Dem_EventStatusType
Dio Dio_ChannelGroupType
Dio_ChannelType
Dio_LevelType
Dio_PortLevelType
Dio_PortType
EcuM EcuM_WakeupSourceType
Icu Icu_ChannelType
Spi Spi_ChannelType
Spi_DataBufferType
Spi_NumberOfDataType
Spi_SequenceType
Spi_StatusType
Std_Types Std_ReturnType
Std_VersionInfoType
⌋ ()
[SWS_CanTrcv_00163] ⌈
Name: CanTrcv_TrcvModeType
Type: Enumeration
Range: CANTRCV_TRCVMODE_SLEEP -- Transceiver mode SLEEP
CANTRCV_TRCVMODE_STANDBY -- Transceiver mode STANDBY
CANTRCV_TRCVMODE_NORMAL 0x00 Transceiver mode NORMAL
Description: Operating modes of the CAN Transceiver Driver.
⌋ ()
[SWS_CanTrcv_00164] ⌈
Name: CanTrcv_TrcvWakeupModeType
Type: Enumeration
Range: CANTRCV_WUMODE_ENABLE 0x00 The notification for wakeup events is enabled on
the addressed transceiver.
CANTRCV_WUMODE_DISABLE 0x01 The notification for wakeup events is disabled on
the addressed transceiver.
CANTRCV_WUMODE_CLEAR 0x02 A stored wakeup event is cleared on the ad-
dressed transceiver.
Description: This type shall be used to control the CAN transceiver concerning wake up events
and wake up notifications.
⌋ ()
[SWS_CanTrcv_00165] ⌈
31 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
Name: CanTrcv_TrcvWakeupReasonType
Type: Enumeration
Range: CANTRCV_WU_ERROR 0x00 Due to an error wake up reason was not de-
tected. This value may only be reported when
error was reported to DEM before.
CANTRCV_WU_NOT_SUPPORTED 0x01 The transceiver does not support any infor-
mation for the wake up reason.
CANTRCV_WU_BY_BUS 0x02 The transceiver has detected, that the network
has caused the wake up of the ECU.
CANTRCV_WU_INTERNALLY 0x03 The transceiver has detected, that the network
has woken up by the ECU via a request to
NORMAL mode.
CANTRCV_WU_RESET 0x04 The transceiver has detected, that the "wake
up" is due to an ECU reset.
CANTRCV_WU_POWER_ON 0x05 The transceiver has detected, that the "wake
up" is due to an ECU reset after power on.
CANTRCV_WU_BY_PIN 0x06 The transceiver has detected a wake-up event
at one of the transceiver's pins (not at the CAN
bus).
CANTRCV_WU_BY_SYSERR 0x07 The transceiver has detected, that the wake
up of the ECU was caused by a HW related
device failure.
Description: This type denotes the wake up reason detected by the CAN transceiver in detail.
⌋ ()
[SWS_CanTrcv_00209] ⌈
Name: CanTrcv_ConfigType
Type: Structure
Range: Implementation --
specific
Description: This is the type of the external data structure containing the overall initialization
data for the CAN transceiver driver and settings affecting all transceivers. Fur-
thermore it contains pointers to transceiver configuration structures. The contents
of the initialization data structure are CAN transceiver hardware specific.
⌋ ()
[SWS_CanTrcv_00210] ⌈
Name: CanTrcv_PNActivationType
Type: Enumeration
Range: PN_ENABLED -- PN wakeup functionality in CanTrcv is enabled.
PN_DISABLED -- PN wakeup functionality in CanTrcv is disabled.
Description: Datatype used for describing whether PN wakeup functionality in CanTrcv is ena-
bled or disabled.
⌋ ()
[SWS_CanTrcv_00211] ⌈
Name: CanTrcv_TrcvFlagStateType
Type: Enumeration
Range: CANTRCV_FLAG_SET -- The flag is set in the transceiver hardware.
CANTRCV_FLAG_CLEARED -- The flag is cleared in the transceiver hardware.
Description: Provides the state of a flag in the transceiver hardware.
⌋ ()
.
32 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
[SWS_CanTrcv_00001] ⌈
Service name: CanTrcv_Init
Syntax: void CanTrcv_Init(
const CanTrcv_ConfigType* ConfigPtr
)
Service ID[hex]: 0x00
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): ConfigPtr Pointer to driver configuration.
Parameters (in- None
out):
Parameters (out): None
Return value: None
Description: Initializes the CanTrcv module.
⌋ (SRS_BSW_00310, SRS_BSW_00358, SRS_BSW_00369, SRS_BSW_00371,
SRS_BSW_00414, SRS_BSW_00101, SRS_BSW_00172, SRS_Can_01096,
SRS_Can_01097, SRS_Can_01109, SRS_Can_01110, SRS_Can_01108)
at the bit position according to the symbolic name value referred by CanTrcvPor-
WakeupsourceRef, and “0” on all others. ⌋ ()
[SWS_CanTrcv_00184] ⌈ If the SYSERR flag is set, wakeup shall be reported to
EcuM through API EcuM_SetWakeupEvent with a wakeup source value, which has
a “1” at the bit position according to the symbolic name value referred by
CanTrcvSyserrWakeupSourceRef, and “0” on all others. ⌋ ()
[SWS_CanTrcv_00113] ⌈ If there is no/incorrect communication towards the trans-
ceiver, the function CanTrcv_Init shall report the runtime error code
CANTRCV_E_NO_TRCV_CONTROL to the Default Error Tracer and return E_NOT_OK.
For Eg., there are different transceiver types and different access ways (port connec-
tion, SPI). This development error should be signalled if you detect any miscommuni-
cation with your hardware. Depending on connection type and depending on your
transceiver hardware you may not run in situations where you have to signal this er-
ror. ⌋ ()
[SWS_CanTrcv_00168] ⌈ If development error detection is enabled for CanTrcv
module: the function CanTrcv_Init shall raise the development error
CANTRCV_E_BAUDRATE_NOT_SUPPORTED, if the configured baud rate is not sup-
ported by the transceiver. ⌋ ()
[SWS_CanTrcv_00226] ⌈ In order to implement the AUTOSAR Partial Networking
mechanism CAN transceivers shall support the definition of a data mask for the
Wake Up Frame (the configuration structure of CanTrcvPnFrameDataMask is
mandatory). ⌋ ()
8.3.2 CanTrcv_SetOpMode
[SWS_CanTrcv_00002] ⌈
Service name: CanTrcv_SetOpMode
Syntax: Std_ReturnType CanTrcv_SetOpMode(
uint8 Transceiver,
CanTrcv_TrcvModeType OpMode
)
Service ID[hex]: 0x01
Sync/Async: Asynchronous
Reentrancy: Reentrant for different transceivers
Transceiver CAN transceiver to which API call has to be applied.
Parameters (in):
OpMode This parameter contains the desired operating mode
Parameters (in- None
out):
Parameters (out): None
Std_ReturnType E_OK: will be returned if the request for transceiver mode change
has been accepted.
Return value: E_NOT_OK: will be returned if the request for transceiver mode
change has not been accepted or any parameter is out of the al-
lowed range.
Description: Sets the mode of the Transceiver to the value OpMode.
⌋ (SRS_BSW_00310, SRS_BSW_00357, SRS_BSW_00369, SRS_BSW_00371,
SRS_BSW_00406, SRS_Can_01091, SRS_Can_01097, SRS_Can_01098,
SRS_Can_01099, SRS_Can_01100, SRS_Can_01109, SRS_Can_01110,
SRS_Can_01108)
[SWS_CanTrcv_00102] ⌈ The function CanTrcv_SetOpMode shall switch the in-
ternal state of Transceiver to the value of the parameter OpMode, which can be
34 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
CANTRCV_TRCVMODE_NORMAL, CANTRCV_TRCVMODE_STANDBY or
CANTRCV_TRCVMODE_SLEEP. ⌋ ()
[SWS_CanTrcv_00103] ⌈ The user of the CanTrcv module shall call the function
CanTrcv_SetOpMode with OpMode = CANTRCV_TRCVMODE_STANDBY or
CANTRCV_TRCVMODE_NORMAL, if the Transceiver is in mode
CANTRCV_TRCVMODE_NORMAL. ⌋ ()
[SWS_CanTrcv_00104] ⌈ The user of the CanTrcv module shall call the function
CanTrcv_SetOpMode with OpMode = CANTRCV_TRCVMODE_SLEEP or
CANTRCV_TRCVMODE_STANDBY, if the Transceiver is in mode
CANTRCV_TRCVMODE_STANDBY. ⌋ ()
This API is applicable to each transceiver with each value for parameter
CanTrcv_SetOpMode, regardless of whether the transceiver hardware supports
these modes or not. This is to simplify the view of the CanIf to the assigned bus.
[SWS_CanTrcv_00105] ⌈ If the requested mode is not supported by the underlying
transceiver hardware, the function CanTrcv_SetOpMode shall return E_NOT_OK.
⌋ ()
The number of supported busses is set up in the configuration phase.
[SWS_CanTrcv_00186] ⌈ If selective wakeup is supported by hardware: the flags
POR and SYSERR of the transceiver status shall be checked by
CanTrcv_SetOpMode API. ⌋ ()
[SWS_CanTrcv_00187] ⌈ If the POR flag is set, transceiver shall be re-initialized to
run the transceiver’s configuration sequence.⌋ ()
[SWS_CanTrcv_00188] ⌈ If the SYSERR flag is NOT set and the requested mode
is CANTRCV_NORMAL, transceiver shall call the API
CanIf_ConfirmPnAvailability() for the corresponding abstract CanIf Trans-
ceiverId. CanIf_ConfirmPnAvailability informs CanNm (through CanIf and
CanSm) that selective wakeup is enabled.⌋ ()
[SWS_CanTrcv_00114] ⌈ If there is no/incorrect communication to the transceiver,
the function CanTrcv_SetOpMode shall report runtime error code
CANTRCV_E_NO_TRCV_CONTROL to the Default Error Tracer and return
E_NOT_OK. ⌋ ()
8.3.3 CanTrcv_GetOpMode
[SWS_CanTrcv_00005] ⌈
Service name: CanTrcv_GetOpMode
Syntax: Std_ReturnType CanTrcv_GetOpMode(
uint8 Transceiver,
CanTrcv_TrcvModeType* OpMode
)
Service ID[hex]: 0x02
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): Transceiver CAN transceiver to which API call has to be applied.
Parameters (in- None
out):
Parameters (out): OpMode Pointer to operation mode of the bus the API is applied to.
Std_ReturnType E_OK: will be returned if the operation mode was detected.
Return value: E_NOT_OK: will be returned if the operation mode was not de-
tected.
Description: Gets the mode of the Transceiver and returns it in OpMode.
⌋ (SRS_BSW_00310, SRS_BSW_00369, SRS_BSW_00371, SRS_BSW_00377,
SRS_BSW_00406, SRS_Can_01091, SRS_Can_01097, SRS_Can_01101, SRS_Can_01109,
SRS_Can_01110)
[SWS_CanTrcv_00106] ⌈ The function CanTrcv_GetOpMode shall collect the ac-
tual state of the CAN transceiver driver in the out parameter OpMode. ⌋()
See function CanTrcv_Init for the provided state after the CAN transceiver driver
initialization till the first operation mode change request.
The number of supported busses is statically set in the configuration phase.
[SWS_CanTrcv_00115] ⌈ If there is no/incorrect communication to the transceiver,
the function CanTrcv_GetOpMode shall report the runtime error code
CANTRCV_E_NO_TRCV_CONTROL to the Default Error Tracer and return E_NOT_OK.
⌋ ()
[SWS_CanTrcv_00124] ⌈ If development error detection for the module CanTrcv is
enabled: If called before the CanTrcv module has been initialized, the function
8.3.4 CanTrcv_GetBusWuReason
[SWS_CanTrcv_00007] ⌈
Service name: CanTrcv_GetBusWuReason
Syntax: Std_ReturnType CanTrcv_GetBusWuReason(
uint8 Transceiver,
CanTrcv_TrcvWakeupReasonType* reason
)
Service ID[hex]: 0x03
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): Transceiver CAN transceiver to which API call has to be applied.
Parameters (in- None
out):
Parameters (out): reason Pointer to wake up reason of the bus the API is applied to.
Std_ReturnType E_OK: will be returned if the transceiver wakeup reason was pro-
vided.
Return value:
E_NOT_OK: will be returned if no wake up reason is available or
if the service request failed due to development errors.
Description: Gets the wakeup reason for the Transceiver and returns it in parameter Reason.
⌋ (SRS_BSW_00310, SRS_BSW_00369, SRS_BSW_00371, SRS_BSW_00375,
SRS_BSW_00377, SRS_BSW_00406, SRS_Can_01091, SRS_Can_01095, SRS_Can_01097,
SRS_Can_01103, SRS_Can_01106, SRS_Can_01109, SRS_Can_01110)
8.3.5 CanTrcv_VersionInfo
[SWS_CanTrcv_00008] ⌈
Service name: CanTrcv_GetVersionInfo
Syntax: void CanTrcv_GetVersionInfo(
Std_VersionInfoType* versioninfo
)
Service ID[hex]: 0x04
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): None
Parameters (in- None
out):
Parameters (out): versioninfo Pointer to version information of this module.
Return value: None
Description: Gets the version of the module and returns it in VersionInfo.
⌋ (SRS_BSW_00310, SRS_BSW_00369, SRS_BSW_00371, SRS_BSW_00406,
SRS_BSW_00407, SRS_BSW_00411)
[SWS_CanTrcv_00009] ⌈
Service name: CanTrcv_SetWakeupMode
Syntax: Std_ReturnType CanTrcv_SetWakeupMode(
uint8 Transceiver,
CanTrcv_TrcvWakeupModeType TrcvWakeupMode
)
Service ID[hex]: 0x05
Sync/Async: Synchronous
Reentrancy: Reentrant for different transceivers
Transceiver CAN transceiver to which API call has to be applied.
Parameters (in):
TrcvWakeupMode Requested transceiver wakeup reason
Parameters (in- None
out):
Parameters (out): None
Std_ReturnType E_OK: Will be returned, if the wakeup state has been changed
Return value: to the requested mode.
E_NOT_OK: Will be returned, if the wakeup state change has
38 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
8.3.7 CanTrcv_GetTrcvSystemData
[SWS_CanTrcv_00213] ⌈
Service name: CanTrcv_GetTrcvSystemData
Syntax: Std_ReturnType CanTrcv_GetTrcvSystemData(
uint8 Transceiver,
const uint32* TrcvSysData
)
Service ID[hex]: 0x09
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): Transceiver CAN transceiver ID.
Parameters (in- None
out):
Parameters (out): TrcvSysData Configuration/Status data of the transceiver.
Std_ReturnType E_OK: will be returned if the transceiver status is successfully
read.
Return value:
E_NOT_OK: will be returned if the transceiver status data is not
available or a development error occurs.
Description: Reads the transceiver configuration/status data and returns it through parameter
TrcvSysData. This API shall exist only if CanTrcvHwPnSupport = TRUE.
⌋ ()
[SWS_CanTrcv_00189] ⌈ The function CanTrcv_GetTrcvSystemData shall read
the configuration/status of the CAN transceiver and store the read data in the out pa-
rameter TrcvSysData. If this is successful, E_OK shall be returned.
Hint: This API can be invoked through diagnostic services or during initialization to
determine the transceiver status and its availability.
Note: Currently an agreement on the parameter set for the transceiver HW specifica-
tion has not been reached. For this reason, the diagnostic data is now returned as a
uint32 (as stored in the transceiver registers). When a definitive and standard pa-
rameter set is defined, a data structure may be defined for abstracting the diagnostic
data. ⌋ ()
[SWS_CanTrcv_00190] ⌈ If there is no/incorrect communication to the transceiver,
the function CanTrcv_GetTrcvSystemData shall report the runtime error code
CANTRCV_E_NO_TRCV_CONTROL to the default Error Tracer and return E_NOT_OK.
⌋ ()
[SWS_CanTrcv_00191] ⌈ If development error detection is enabled for the CanTrcv
module: if called before the CanTrcv has been initialized, the function
CanTrcv_GetTrcvSystemData shall raise development error
CANTRCV_E_UNINIT otherwise (if DET is disabled) return E_NOT_OK. ⌋ ()
[SWS_CanTrcv_00192] ⌈ If development error detection is enabled for the CanTrcv
module: if called with an invalid transceiver ID for parameter Transceiver, function
CanTrcv_GetTrcvSystemData shall raise the development error
CANTRCV_E_INVALID_TRANSCEIVER otherwise (if DET is disabled) return
E_NOT_OK. ⌋ ()
[SWS_CanTrcv_00193] ⌈ If development error detection is enabled for the CanTrcv
module: if called with NULL pointer for parameter TrcvSysData, function
CanTrcv_GetTrcvSystemData shall raise the development error
CANTRCV_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK. ⌋ ()
8.3.8 CanTrcv_ClearTrcvWufFlag
[SWS_CanTrcv_00214] ⌈
Service name: CanTrcv_ClearTrcvWufFlag
Syntax: Std_ReturnType CanTrcv_ClearTrcvWufFlag(
uint8 Transceiver
)
Service ID[hex]: 0x0a
Sync/Async: Synchronous
Reentrancy: Reentrant for different transceivers
Parameters (in): Transceiver CAN Transceiver ID.
Parameters (in- None
out):
Parameters (out): None
Std_ReturnType E_OK: will be returned if the WUF flag has been cleared.
Return value: E_NOT_OK: will be returned if the WUF flag has not been
cleared or a development error occurs.
Description: Clears the WUF flag in the transceiver hardware. This API shall exist only if
CanTrcvHwPnSupport = TRUE.
⌋ (SRS_Can_01157)
[SWS_CanTrcv_00194] ⌈ The function CanTrcv_ClearTrcvWufFlag shall clear
the wakeup flag in the CAN transceiver. If successful, E_OK shall be returned.
Implementation Hints:
This API shall be used by the CanSM module for ensuring that no frame wakeup
event is lost, during entering a low-power mode. This API clears the WUF flag.
The CAN transceiver shall be shall be put into Standby mode (CANTRCV_STANDBY)
after clearing of the WUF flag.
If a system error (SYSERR, e.g. configuration error) occurs while selective wakeup
functionality is being enabled, transceiver will disable the functionality. Transceiver
will wake up on the next CAN wake pattern (WUP).
In case of any other hardware error (e.g. frame detection error), transceiver will wake
up if the error counter inside the transceiver overflows. ⌋ ()
[SWS_CanTrcv_00195] ⌈ CanTrcv shall inform CanIf that the wakeup flag has been
cleared for the requested Transceiver, through the callback notification
CanIf_ClearTrcvWufFlagIndication referring to the corresponding CAN
transceiver with the abstract CanIf TransceiverId. ⌋ ()
[SWS_CanTrcv_00196] ⌈ ⌈ If there is no/incorrect communication to the transceiv-
er, the function CanTrcv_ClearTrcvWufFlag shall report the runtime error
CANTRCV_E_NO_TRCV_CONTROL to the Default Error Tracer and return E_NOT_OK.
⌋ ()
[SWS_CanTrcv_00197] ⌈ If development error detection is enabled for the CanTrcv
module: if called before the CanTrcv has been initialized, the function
CanTrcv_ClearTrcvWufFlag shall raise development error CANTRCV_E_UNINIT
otherwise (if DET is disabled) return E_NOT_OK. ⌋ ()
[SWS_CanTrcv_00198] ⌈ If development error detection is enabled for the CanTrcv
module: if called with an invalid transceiver ID for parameter Transceiver, function
CanTrcv_ClearTrcvWufFlag shall raise the development error
CANTRCV_E_INVALID_TRANSCEIVER otherwise (if DET is disabled) return
E_NOT_OK. ⌋ ()
8.3.9 CanTrcv_ReadTrcvTimeoutFlag
[SWS_CanTrcv_00215] ⌈
Service name: CanTrcv_ReadTrcvTimeoutFlag
Syntax: Std_ReturnType CanTrcv_ReadTrcvTimeoutFlag(
uint8 Transceiver,
CanTrcv_TrcvFlagStateType* FlagState
)
Service ID[hex]: 0x0b
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): Transceiver CAN transceiver ID.
Parameters (in- None
out):
Parameters (out): FlagState State of the timeout flag.
Std_ReturnType E_OK: Will be returned, if status of the timeout flag is success-
fully read.
Return value:
E_NOT_OK: Will be returned, if status of the timeout flag
could not be read.
Description: Reads the status of the timeout flag from the transceiver hardware. This API shall
exist only if CanTrcvHwPnSupport = TRUE.
⌋ ()
[SWS_CanTrcv_00199] ⌈ If development error detection is enabled for the module
CanTrcv: If called with an invalid transceiver ID Transceiver, the function
CanTrcv_ReadTrcvTimeoutFlag shall raise the development error
CANTRCV_E_INVALID_TRANSCEIVER otherwise (if DET is disabled) return
E_NOT_OK. ⌋ ()
[SWS_CanTrcv_00200] ⌈ If development error detection is enabled for the module
CanTrcv: If called with FlagState = NULL, the function
CanTrcv_ReadTrcvTimeoutFlag shall raise the development error
CANTRCV_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK. ⌋ ()
8.3.10 CanTrcv_ClearTrcvTimeoutFlag
[SWS_CanTrcv_00216] ⌈
Service name: CanTrcv_ClearTrcvTimeoutFlag
Syntax: Std_ReturnType CanTrcv_ClearTrcvTimeoutFlag(
uint8 Transceiver
)
Service ID[hex]: 0x0c
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): Transceiver CAN transceiver ID.
Parameters (in- None
out):
Parameters (out): None
Std_ReturnType E_OK: Will be returned, if the timeout flag is successfully
cleared.
Return value:
E_NOT_OK: Will be returned, if the timeout flag could not be
cleared.
Description: Clears the status of the timeout flag in the transceiver hardware. This API shall
exist only if CanTrcvHwPnSupport = TRUE.
⌋ ()
42 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
8.3.11 CanTrcv_ReadTrcvSilenceFlag
[SWS_CanTrcv_00217] ⌈
Service name: CanTrcv_ReadTrcvSilenceFlag
Syntax: Std_ReturnType CanTrcv_ReadTrcvSilenceFlag(
uint8 Transceiver,
CanTrcv_TrcvFlagStateType* FlagState
)
Service ID[hex]: 0x0d
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): Transceiver CAN transceiver ID.
Parameters (in- None
out):
Parameters (out): FlagState State of the silence flag.
Std_ReturnType E_OK: Will be returned, if status of the silence flag is success-
fully read.
Return value:
E_NOT_OK: Will be returned, if status of the silence flag could
not be read.
Description: Reads the status of the silence flag from the transceiver hardware. This API shall
exist only if CanTrcvHwPnSupport = TRUE.
⌋ ()
[SWS_CanTrcv_00202] ⌈ If development error detection is enabled for the module
CanTrcv: If called with an invalid transceiver ID Transceiver, the function
CanTrcv_ReadTrcvSilenceFlag shall raise the development error
CANTRCV_E_INVALID_TRANSCEIVER otherwise (if DET is disabled) return
E_NOT_OK. ⌋ ()
[SWS_CanTrcv_00203] ⌈ If development error detection is enabled for the module
CanTrcv: If called with FlagState = NULL, the function
CanTrcv_ReadTrcvSilenceFlag shall raise the development error
CANTRCV_E_PARAM_POINTER otherwise (if DET is disabled) return E_NOT_OK. ⌋ ()
8.3.12 CanTrcv_CheckWakeup
[SWS_CanTrcv_00143] ⌈
Service name: CanTrcv_CheckWakeup
Syntax: Std_ReturnType CanTrcv_CheckWakeup(
uint8 Transceiver
)
Service ID[hex]: 0x07
Sync/Async: Synchronous
Reentrancy: Reentrant
Parameters (in): Transceiver CAN transceiver to which API call has to be applied.
Parameters (in- None
out):
43 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
8.3.13 CanTrcv_SetPNActivationState
[SWS_CanTrcv_00219] ⌈
Service name: CanTrcv_SetPNActivationState
Syntax: Std_ReturnType CanTrcv_SetPNActivationState(
CanTrcv_PNActivationType ActivationState
)
Service ID[hex]: 0x0f
Sync/Async: Synchronous
Reentrancy: Non Reentrant
ActivationState PN_ENABLED: PN wakeup functionality in CanTrcv shall be
enabled.
Parameters (in):
PN_DIABLED: PN wakeup functionality in CanTrcv shall be
disabled.
Parameters (in- None
out):
Parameters (out): None
Std_ReturnType E_OK: Will be returned, if the PN has been changed to the re-
quested configuration.
Return value:
E_NOT_OK: Will be returned, if the PN configuration change
has failed. The previous configuration has not been changed.
Description: The API configures the wake-up of the transceiver for Standby and Sleep Mode:
Either the CAN transceiver is woken up by a remote wake-up pattern (standard
CAN wake-up) or by the configured remote wake-up frame.
⌋ ()
[SWS_CanTrcv_00220] ⌈ If development error detection for the module CanTrcv is
enabled: If called before the CanTrcv module has been initialized, the function
CanTrcv_SetPNActivationState shall raise the development error
CANTRCV_E_UNINIT otherwise (if DET is disabled) return E_NOT_OK. ⌋ ()
44 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
8.3.14 CanTrcv_CheckWakeFlag
[SWS_CanTrcv_00223] ⌈
Service name: CanTrcv_CheckWakeFlag
Syntax: Std_ReturnType CanTrcv_CheckWakeFlag(
uint8 Transceiver
)
Service ID[hex]: 0x0e
Sync/Async: Asynchronous
Reentrancy: Non Reentrant
Parameters (in): Transceiver CAN transceiver ID.
Parameters (in- None
out):
Parameters (out): None
Std_ReturnType E_OK: Will be returned, if the request for checking the wakeup
flag has been accepted.
Return value:
E_NOT_OK: Will be returned, if the request for checking the
wakeup flag has not been accepted.
Description: Requests to check the status of the wakeup flag from the transceiver hardware.
⌋ ()
[SWS_CanTrcv_00224] ⌈ CanTrcv shall inform the CanIf with the callback notifica-
tion CanIf_CheckTrcvWakeFlagIndication, that the wake flag of the CAN
Transceiver with the corresponding TransceiverId has been checked.⌋()
[SWS_CanTrcv_00225] ⌈ If development error detection is enabled for the module
CanTrcv: If called with an invalid transceiver ID Transceiver, the function
CanTrcv_CheckWakeFlag shall raise the development error
CANTRCV_E_INVALID_TRANSCEIVER otherwise (if DET is disabled) return
E_NOT_OK.⌋ ()
8.3.15 CanTrcv_DeInit
[SWS_CanTrcv_91001] ⌈
Service name: CanTrcv_DeInit
Syntax: void CanTrcv_DeInit(
void
)
Service ID[hex]: 0x10
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): None
Parameters (in- None
out):
Parameters (out): None
Return value: None
Description: De-initializes the CanTrcv module.
45 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
⌋ (SRS_Can_01108, SRS_BSW_00336)
For Eg., there are different transceiver types and different access ways (port connec-
tion, SPI). This development error should be signaled if you detect any miscommuni-
cation with your hardware. Depending on connection type and depending on your
transceiver hardware you may not run in situations where you have to signal this er-
ror. ⌋(SRS_BSW_00369)
8.4.1 CanTrcv_MainFunction
[SWS_CanTrcv_00013] ⌈
Service name: CanTrcv_MainFunction
Syntax: void CanTrcv_MainFunction(
void
)
Service ID[hex]: 0x06
Description: Service to scan all busses for wake up events and perform these event.
⌋ (SRS_BSW_00310, SRS_BSW_00369, SRS_BSW_00371, SRS_BSW_00373,
SRS_BSW_00406, SRS_BSW_00424, SRS_BSW_00428, SRS_BSW_00171, SRS_BSW_00172,
SRS_Can_01097, SRS_Can_01109, SRS_Can_01110)
The CAN bus transceiver driver may have cyclic jobs like polling for wake up events
(if configured).
[SWS_CanTrcv_00112] ⌈ The CanTrcv_MainFunction shall scan all busses in
STANDBY and SLEEP for wake up events.
This function shall set a wake-up event flag to perform these events.
⌋ (SRS_BSW_00343)
8.4.2 CanTrcv_MainFunctionDiagnostics
[SWS_CanTrcv_00218] ⌈
Service name: CanTrcv_MainFunctionDiagnostics
Syntax: void CanTrcv_MainFunctionDiagnostics(
void
)
Service ID[hex]: 0x08
Description: Reads the transceiver diagnostic status periodically and sets product/development
accordingly.
⌋ ()
[SWS_CanTrcv_00204] ⌈ The cyclic function
CanTrcv_MainFunctionDiagnostics shall read the transceiver status periodi-
cally and report production/development errors accordingly. ⌋ ()
[SWS_CanTrcv_00205] ⌈ The cyclic function
CanTrcv_MainFunctionDiagnostics shall exist only if CanTrcvBusErrFlag
= TRUE. ⌋ ()
[SWS_CanTrcv_00206] ⌈ If configured and supported by hardware: if the BUSERR
flag reported from BSW is set, function CanTrcv_MainFunctionDiagnostics
shall call the API Dem_SetEventStatus with parameters EventId as
CANTRCV_E_BUS_ERROR and EventStatus as DEM_EVENT_STATUS_FAILED.
⌋ (SRS_BSW_00337, SRS_BSW_00385, SRS_BSW_00327, SRS_BSW_00331)
[SWS_CanTrcv_00227] ⌈ If configured and supported by hardware: if the BUSERR
flag reported from BSW is reset, function CanTrcv_MainFunctionDiagnostics
shall call the API Dem_SetEventStatus with parameters EventId as
CANTRCV_E_BUS_ERROR and EventStatus as DEM_EVENT_STATUS_PASSED.⌋
(SRS_BSW_00337, SRS_BSW_00385, SRS_BSW_00327, SRS_BSW_00331)
[SWS_CanTrcv_00207] ⌈ If development error detection is enabled for the module:
If called before the CanTrcv has been initialized, the function
CanTrcv_MainFunctionDiagnostics shall raise development error
CANTRCV_E_UNINIT. ⌋ ()
This chapter defines all interfaces which are required to fulfill the core functionality of
the module.
[SWS_CanTrcv_00085] ⌈
API function Description
CanIf_TrcvModeIndication This service indicates a transceiver state transition referring to the cor-
responding CAN transceiver with the abstract CanIf TransceiverId.
Det_ReportRuntimeError Service to report runtime errors. If a callout has been configured then
this callout shall be called.
⌋ ()
This chapter defines all interfaces which are required to fulfill an optional functionality
of the module.
[SWS_CanTrcv_00086] ⌈
API function Description
CanIf_CheckTrcvWakeFlagIndication This service indicates that the check of the transceiver's wake-up
flag has been finished by the corresponding CAN transceiver with
the abstract CanIf TransceiverId. This indication is used to cope
with the asynchronous transceiver communication.
CanIf_ClearTrcvWufFlagIndication This service indicates that the transceiver has cleared the
WufFlag referring to the corresponding CAN transceiver with the
abstract CanIf TransceiverId.
CanIf_ConfirmPnAvailability This service indicates that the transceiver is running in PN com-
munication mode referring to the corresponding CAN transceiver
with the abstract CanIf TransceiverId.
Dem_SetEventStatus Called by SW-Cs or BSW modules to report monitor status infor-
mation to the Dem. BSW modules calling Dem_SetEventStatus
can safely ignore the return value.
Det_ReportError Service to report development errors.
Dio_ReadChannel Returns the value of the specified DIO channel.
Dio_ReadChannelGroup This Service reads a subset of the adjoining bits of a port.
Dio_ReadPort Returns the level of all channels of that port.
Dio_WriteChannel Service to set a level of a channel.
Dio_WriteChannelGroup Service to set a subset of the adjoining bits of a port to a speci-
fied level.
Dio_WritePort Service to set a value of the port.
EcuM_SetWakeupEvent Sets the wakeup event.
Icu_DisableNotification This function disables the notification of a channel.
Icu_EnableNotification This function enables the notification on the given channel.
Spi_GetStatus Service returns the SPI Handler/Driver software module status.
Spi_ReadIB Service for reading synchronously one or more data from an IB
SPI Handler/Driver Channel specified by parameter.
Spi_SetupEB Service to setup the buffers and the length of data for the EB SPI
Handler/Driver Channel specified.
Spi_SyncTransmit Service to transmit data on the SPI bus
Spi_WriteIB Service for writing one or more data to an IB SPI Handler/Driver
Channel specified by parameter.
Tm_BusyWait1us16bit Performs busy waiting by polling with a guaranteed minimum
waiting time.
⌋ ()
48 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
check of the transceiver's wake-up flag has been finished by the corresponding CAN
transceiver with the abstract CanIf TransceiverId. This indication is used to cope with
the asynchronous transceiver communication.
1. The interfaces of the SPI module are used by the CanTrcv module if there are
instances of the container CanTrcvSpiSequence.
2. The interfaces of the DIO module are used by the CanTrcv module if there are
instances of the container CanTransceiverDIOAccess.
Note: If the Can transceiver is controlled via Dio/Spi, the Dio/Spi interfaces are re-
quired to fulfill the core functionality of the module. Which interfaces are needed ex-
actly shall not be detailed further in this specification
9 Sequence diagram
The focus of the following diagrams is on the interaction between the CAN transceiv-
er driver and the BSW modules CanIf, ComM, EcuM and Dio. Depending on the CAN
transceiver hardware, one or more calls to Dio_WriteChannels may be neces-
sary.
Depending on the transceiver hardware, there may be a need of wait states for some
transitions.
ComM_EcuM_WakeUpIndication(NetworkHandleType)
ComM_EcuM_WakeUpIndication()
CanSM_RequestComMode(COMM_FULL_COMMUNICATION)
alt
CanTrcv_SetOpMode(CANIF_TRCV_MODE_NORMAL)
Dio_WriteChannel(Dio_ChannelType, Dio_LevelType)
set/reset HW ports()
Dio_WriteChannel()
Dio_WriteChannel(Dio_ChannelType, Dio_LevelType)
set/reset HW ports()
Dio_WriteChannel()
CanTrcv_SetOpMode()
CanIf_SetTrcvMode()
CanSM_RequestComMode()
Comment:
CAN transceiver
hardware is now in
NORMAL mode. It's
ready to operate.
CanSM_RequestComMode(COMM_NO_COMMUNICATION)
alt
CanTrcv_SetOpMode(CANIF_TRCV_MODE_STANDBY)
Dio_WriteChannel(Dio_ChannelType, Dio_LevelType)
set/reset HW ports()
Dio_WriteChannel()
Dio_WriteChannel(Dio_ChannelType, Dio_LevelType)
set/reset HW ports()
Dio_WriteChannel()
CanTrcv_SetOpMode()
CanIf_SetTrcvMode()
CanSM_RequestComMode()
Comment:
CAN transceiver
hardware is now in
STANDBY mode. No
transmitting or receiving
EcuM_AL_SwitchOff()
possible. It's ready to
wake up again.
CanIf_SetTrcvMode(CANIF_TRCV_MODE_SLEEP)
CanTrcv_SetOpMode(CANIF_TRCV_MODE_SLEEP)
Dio_WriteChannel(Dio_ChannelType, Dio_LevelType)
set/reset HW ports()
Dio_WriteChannel()
Dio_WriteChannel(Dio_ChannelType, Dio_LevelType)
set/reset HW ports()
Dio_WriteChannel()
CanTrcv_SetOpMode()
CanIf_SetTrcvMode() Comment:
CanSM_RequestComMode(NetworkA,
NoCom)
CanSM_MainFunction()
CanIf_ClearTrcvWufFlag(TransceiverId)
CanTrcv_ClearTrcvWufFlag(Transceiver)
Spi_SyncTransmit(Sequence)
CanIf_ClearTrcvWufFlagIndication(TransceiverId)
SPI request is processed synchronously
CanIf_SetControllerMode(ControllerId,
CAN_CS_STOPPED)
Can_SetControllerMode(Controller,
CAN_T_STOP)
CanIf_SetTrcvMode(TransceiverId,
CANIF_TRCV_MODE_STANDBY)
CanTrcv_SetOpMode(Transceiver, CANIF_TRCV_MODE_STANDBY)
:Std_ReturnType
Spi_SyncTransmit(Sequence)
CanIf_TrcvModeIndication(TransceiverId,
CANIF_TRCV_MODE_STANDBY)
CanSM_TransceiverModeIndication(TransceiverId,
CANIF_TRCV_MODE_STANDBY)
CanIf_SetControllerMode(ControllerId,
CANIF_CS_SLEEP)
Can_SetControllerMode(Controller,
CAN_T_SLEEP)
:CAN_OK / CAN_NOT_OK
:E_OK / E_NOT_OK
CanIf_CheckTrcvWakeFlag(TransceiverId)
CanTrcv_CheckWakeFlag(Transceiver)
[pin (prio_medium)]
[optional]:
If Wake Flags are cleared, the
EcuM_SetWakeupEvent(WuSourcePin) see note [1]
dominant level on RxD has to be
cleared. -> OEM HW requirement
CanIf_CheckTrcvWakeFlagIndication(TransceiverId)
CanSM_CheckTransceiverWakeFlagIndication(Transceiver)
[E_OK]
ComM_CanSM_ModeIndication(NetworkA,
NoCom)
[E_NOT_OK]
[E_OK]
ComM_BusSM_ModeIndication(NetworkA,
NoCom)
[E_NOT_OK]
CanSM_RequestComMode(NetworkA, NoCom) :
Std_ReturnType [1] It could be checked via
- Spi_JobEndNotification() callback or
- Spi_GetSequenceResult() or
- Spi_ReadIB()
whether SPI request was successfully transmitted via SPI lines.
This could either be done in interrupt context or in
CanTrcv_MainFunction().
CanSM_MainFunction()
CanIf_ClearTrcvWufFlag(TransceiverId) :
Std_ReturnType
CanTrcv_ClearTrcvWufFlag(Transceiver) :
Std_ReturnType
Spi_AsyncTransmit(Sequence) :
Std_ReturnType
CanIf_ClearTrcvWufFlagIndication(TransceiverId)
CanSM_MainFunction()
CanIf_SetControllerMode(ControllerId,
CAN_CS_STOPPED)
Can_SetControllerMode(Controller,
CAN_T_STOP)
CanIf_SetTrcvMode(TransceiverId, CANIF_TRCV_MODE_STANDBY) :
Std_ReturnType
CanTrcv_SetOpMode(Transceiver, CANIF_TRCV_MODE_STANDBY) :
Std_ReturnType
Spi_AsyncTransmit(Sequence) :
Std_ReturnType
CanIf_TrcvModeIndication(TransceiverId,
CANIF_TRCV_MODE_STANDBY)
CanSM_TransceiverModeIndication(TransceiverId,
CANIF_TRCV_MODE_STANDBY)
see note [1] above
CanIf_SetControllerMode(ControllerId,
CANIF_CS_SLEEP)
Can_SetControllerMode(Controller,
CAN_T_SLEEP)
:CAN_OK / CAN_NOT_OK
:E_OK / E_NOT_OK
CanIf_CheckTrcvWakeFlag(TransceiverId) :
Std_ReturnType
CanTrcv_CheckWakeFlag(Transceiver) :
Std_ReturnType
[pin (prio_medium)]
[optional]:
If Wake Flags are cleared, the
EcuM_SetWakeupEvent(WuSourcePin) see note [1] above
dominant level on RxD has to be
cleared. -> OEM HW requirement
CanIf_CheckTrcvWakeFlagIndication(TransceiverId)
CanSM_CheckTransceiverWakeFlagIndication(Transceiver)
[E_OK]
ComM_CanSM_ModeIndication(NetworkA,
NoCom)
[E_NOT_OK]
[E_OK]
ComM_BusSM_ModeIndication(NetworkA, NoCom)
[E_NOT_OK]
10 Configuration specification
In general this chapter defines configuration parameters and their clustering into con-
tainers. In order to support the specification Chapter 10.1 describes fundamentals.
Chapter 10.2 specifies the structure (containers) and the parameters of the module
CanTrcv.
10.2.1 CanTrcv
SWS Item ECUC_CanTrcv_00192 :
Module Name CanTrcv
Module Description Configuration of the CanTrcv (CAN Transceiver driver) module.
Post-Build Variant Support true
Supported Config Variants VARIANT-LINK-TIME, VARIANT-POST-BUILD, VARIANT-PRE-COMPILE
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains the configuration parameters and sub
CanTrcvConfigSet 1
containers of the AUTOSAR WdgM module.
CanTrcvGeneral 1 Container gives CAN transceiver driver basic information.
CanTrcv :EcucModuleDef
CanTrcvGeneral :
upperMultiplicity = * +container EcucParamConfContainerDef
lowerMultiplicity = 0
lowerMultiplicity = 1
upperMultiplicity = 1
CanTrcvConfigSet : CanTrcvChannel :
EcucParamConfContainerDef EcucParamConfContainerDef CanTrcvAccess :
+subContainer EcucChoiceContainerDef
upperMultiplicity = *
lowerMultiplicity = 1 upperMultiplicity = 1
+subContainer lowerMultiplicity = 1
CanTrcvPartialNetwork :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
+container
CanTrcvSPICommTimeout :
+parameter EcucIntegerParamDef
min = 0
max = 100
defaultValue = 0
CanTrcvSPICommRetries :
+parameter EcucIntegerParamDef
min = 0
max = 255
defaultValue = 0
10.2.2 CanTrcvGeneral
SWS Item ECUC_CanTrcv_00090 :
Container Name CanTrcvGeneral
Description Container gives CAN transceiver driver basic information.
Configuration Parameters
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
plicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
CanTrcvGeneral : CanTrcvDevErrorDetect :
+parameter
EcucParamConfContainerDef EcucBooleanParamDef
CanTrcvVersionInfoApi :
+parameter EcucBooleanParamDef
defaultValue = false
CanTrcvIndex :
+parameter EcucIntegerParamDef
min = 0
max = 255
CanTrcvMainFunctionPeriod :
EcucFloatParamDef
+parameter
min = 0
max = INF
lowerMultiplicity = 0
upperMultiplicity = 1
CanTrcvMainFunctionDiagnosticsPeriod :
EcucFloatParamDef
+parameter
min = 0
max = INF
lowerMultiplicity = 0
upperMultiplicity = 1
+literal None :
CanTrcvTimerType : EcucEnumerationLiteralDef
EcucEnumerationParamDef
+parameter
lowerMultiplicity = 0
upperMultiplicity = 1
+literal
Timer_1us16bit :
EcucEnumerationLiteralDef
CanTrcvWaitTime :
EcucFloatParamDef
+parameter
min = 0
max = 0.000255
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.3 CanTrcvConfigSet
SWS Item ECUC_CanTrcv_00173 :
Container Name CanTrcvConfigSet
This container contains the configuration parameters and sub containers of
Description
the AUTOSAR WdgM module.
Configuration Parameters
Included Containers
Container Name Multiplicity Scope / Dependency
Container gives CAN transceiver driver information about a
CanTrcvChannel 1..* single CAN
transceiver (channel).
10.2.4 CanTrcvChannel
SWS Item ECUC_CanTrcv_00143 :
Container Name CanTrcvChannel
Container gives CAN transceiver driver information about a single CAN
Description
transceiver (channel).
Configuration Parameters
Multiplicity 0..1
Type Symbolic name reference to [ IcuChannel ]
Post-Build Variant Multi-
false
plicity
Post-Build Variant Value false
Multiplicity ConfigurationPre-compile time X All Variants
Class Link time --
Post-build time --
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency
Included Containers
Container Name Multiplicity Scope / Dependency
Container gives CanTrcv Driver information about access
CanTrcvAccess 1
to a single CAN transceiver.
Container for the references to DemEventParameter ele-
ments which shall be invoked using the API
Dem_SetEventStatus in case the corresponding error oc-
CanTrcvDemEventParameter-
0..1 curs. The EventId is taken from the referenced DemEv-
Refs
entParameter's DemEventId symbolic value. The stand-
ardized errors are provided in this container and can be
extended by vendor-specific error references.
Container gives CAN transceiver driver information about
CanTrcvPartialNetwork 0..1
the configuration of Partial Networking functionality.
CanTrcvChannel :
CanTrcvChannelId :EcucIntegerParamDef
EcucParamConfContainerDef +parameter
symbolicNameValue = true
upperMultiplicity = *
max = 255
lowerMultiplicity = 1
defaultValue = true
CANTRCV_OP_MODE_NORMAL :
CanTrcvWakeupByBusUsed : EcucEnumerationLiteralDef
EcucBooleanParamDef
+parameter
defaultValue = false
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter CanTrcvControlsPowerSupply :
EcucBooleanParamDef
defaultValue = false
CanTrcvMaxBaudrate :EcucIntegerParamDef
+parameter
max = 12000
min = 0
CanTrcvAccess :EcucChoiceContainerDef
+subContainer
upperMultiplicity = 1
lowerMultiplicity = 1
CanTrcvPartialNetwork :
+subContainer EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
CanTrcvWakeupSourceRef :
+reference EcucSymbolicNameReferenceDef EcuMWakeupSource :EcucParamConfContainerDef
+destination
lowerMultiplicity = 0 lowerMultiplicity = 1
upperMultiplicity = 1 upperMultiplicity = 32
CanTrcvPorWakeupSourceRef :
+reference EcucSymbolicNameReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
CanTrcvSyserrWakeupSourceRef :
+reference EcucSymbolicNameReferenceDef +destination
lowerMultiplicity = 0
upperMultiplicity = 1
(from EcuM)
CanTrcvIcuChannelRef : IcuChannel :
+reference EcucSymbolicNameReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 upperMultiplicity = *
upperMultiplicity = 1 lowerMultiplicity = 1
(from ICU)
(from Dem)
10.2.5 CanTrcvAccess
SWS Item ECUC_CanTrcv_00101 :
68 of 78 Document ID 071: AUTOSAR_SWS_CANTransceiverDriver
- AUTOSAR confidential -
Specification of CAN Transceiver Driver
AUTOSAR CP Release 4.3.1
Container Choices
Container Name Multiplicity Scope / Dependency
Container gives CAN transceiver driver information about ac-
cessing ports and port pins. In addition relation between CAN
transceiver hardware pin names and Dio port access infor-
CanTrcvDioAccess 0..1
mation is given.
If a CAN transceiver hardware has no Dio interface, there is no
instance of this container.
Container gives CAN transceiver driver information about ac-
CanTrcvSpiAccess 0..1 cessing Spi. If a CAN transceiver hardware has no Spi inter-
face, there is no instance of this container.
+reference CanTrcvDioSymNameRef :
EcucChoiceReferenceDef
CanTrcvSpiSequence :
CanTrcvSpiSequenceName :
EcucParamConfContainerDef
+reference EcucSymbolicNameReferenceDef
CanTrcvSpiAccess :
+subContainer lowerMultiplicity = 1
+choice EcucParamConfContainerDef lowerMultiplicity = 0
upperMultiplicity = *
upperMultiplicity = *
lowerMultiplicity = 0
upperMultiplicity = 1 CanTrcvSpiAccessSynchronous :
+parameter EcucBooleanParamDef
defaultValue = false
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.6 CanTrcvDioAccess
SWS Item ECUC_CanTrcv_00145 :
Container Name CanTrcvDioAccess
Container gives CAN transceiver driver information about accessing ports
and port pins. In addition relation between CAN transceiver hardware pin
Description names and Dio port access information is given.
If a CAN transceiver hardware has no Dio interface, there is no instance of
this container.
Configuration Parameters
Included Containers
Container Name Multiplicity Scope / Dependency
Container gives DIO channel access by single Can transceiver
CanTrcvDioChannelAccess 1..*
channel.
10.2.7 CanTrcvDioChannelAccess
SWS Item ECUC_CanTrcv_00157 :
Container Name CanTrcvDioChannelAccess
Description Container gives DIO channel access by single Can transceiver channel.
Configuration Parameters
Description CAN transceiver hardware interface name. It is typically the name of a pin.
From a Dio point of view it is either a port, a single channel or a channel
group. Depending on this fact either
CANTRCV_DIO_PORT_SYMBOLIC_NAME or
CANTRCV_DIO_CHANNEL_SYMBOLIC_NAME or
CANTRCV_DIO_CHANNEL_GROUP_SYMBOLIC_NAME
shall reference a Dio configuration.
The CAN transceiver driver implementation description shall list up this
name for the appropriate CAN transceiver hardware.
Multiplicity 1
Type EcucStringParamDef
Default value --
maxLength --
minLength --
regularExpression --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
No Included Containers
10.2.8 CanTrcvSpiAccess
SWS Item ECUC_CanTrcv_00183 :
Container Name CanTrcvSpiAccess
Container gives CAN transceiver driver information about accessing Spi. If
Description a CAN transceiver hardware has no Spi interface, there is no instance of
this container.
Configuration Parameters
Included Containers
Container Name Multiplicity Scope / Dependency
Container gives CAN transceiver driver information about one
SPI sequence.
One SPI sequence used by CAN transceiver driver is in exclu-
CanTrcvSpiSequence 1..* sive use for it. No other driver is allowed to access this se-
quence. CAN transceiver driver may use one sequence to ac-
cess n CAN transceiver hardwares chips of the same type or n
sequences are used to access one single CAN transceiver
hardware chip.
If a CAN transceiver hardware has no SPI interface, there is
no instance of this container.
10.2.9 CanTrcvSpiSequence
SWS Item ECUC_CanTrcv_00144 :
Container Name CanTrcvSpiSequence
Container gives CAN transceiver driver information about one SPI se-
quence.
One SPI sequence used by CAN transceiver driver is in exclusive use for
it. No other driver is allowed to access this sequence. CAN transceiver
Description driver may use one sequence to access n CAN transceiver hardwares
chips of the same type or n sequences are used to access one single CAN
transceiver hardware chip.
If a CAN transceiver hardware has no SPI interface, there is no instance of
this container.
Configuration Parameters
No Included Containers
.
CanTrcvSpiSequence : SpiSequence :
CanTrcvSpiSequenceName :
EcucParamConfContainerDef +reference EcucSymbolicNameReferenceDef +destination EcucParamConfContainerDef
(from SPI)
DioChannelGroup :
CanTrcvDioChannelAccess : CanTrcvDioSymNameRef : +destination EcucParamConfContainerDef
EcucParamConfContainerDef EcucChoiceReferenceDef
+reference upperMultiplicity = *
lowerMultiplicity = 1
lowerMultiplicity = 0
upperMultiplicity = *
+subContainer (from DIO)
DioPort :EcucParamConfContainerDef
+destination
+subContainer
upperMultiplicity = *
lowerMultiplicity = 1
(from DIO)
CanTrcvDioAccess : +subContainer
EcucParamConfContainerDef
DioChannel :EcucParamConfContainerDef
upperMultiplicity = 1 +destination
lowerMultiplicity = 0 upperMultiplicity = *
lowerMultiplicity = 0
(from DIO)
10.2.10 CanTrcvDemEventParameterRefs
SWS Item ECUC_CanTrcv_00188 :
Container Name CanTrcvDemEventParameterRefs
Container for the references to DemEventParameter elements which shall
be invoked using the API Dem_SetEventStatus in case the corresponding
Description error occurs. The EventId is taken from the referenced DemEventParame-
ter's DemEventId symbolic value. The standardized errors are provided in
this container and can be extended by vendor-specific error references.
Configuration Parameters
Post-build time --
Scope / Dependency scope: ECU
dependency: DEM
No Included Containers
10.2.11 CanTrcvPartialNetwork
SWS Item ECUC_CanTrcv_00161 :
Container Name CanTrcvPartialNetwork
Container gives CAN transceiver driver information about the configuration
Description
of Partial Networking functionality.
Configuration Parameters
Type EcucIntegerParamDef
Range 0 .. 8
Default value --
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
Defines data payload mask to be used on the received
CanTrcvPnFrameData-
0..8 payload in order to determine if the transceiver must be
MaskSpec
woken up by the received Wake-up Frame (WUF).
CanTrcvPartialNetwork : CanTrcvPnFrameCanIdMask :
EcucParamConfContainerDef +parameter EcucIntegerParamDef
lowerMultiplicity = 0 min = 0
upperMultiplicity = 1 max = 4294967295
CanTrcvPnFrameCanId :
+parameter EcucIntegerParamDef
min = 0
max = 4294967295
CanTrcvPnCanIdIsExtended :
+parameter EcucBooleanParamDef
defaultValue = false
CanTrcvPnFrameDataMaskSpec : CanTrcvPnFrameDataMask :
EcucParamConfContainerDef +parameter EcucIntegerParamDef
lowerMultiplicity = 0 min = 0
+subContainer upperMultiplicity = 8 max = 255
+parameter CanTrcvPnFrameDataMaskIndex :
EcucIntegerParamDef
min = 0
max = 7
CanTrcvPnFrameDlc :
+parameter EcucIntegerParamDef
min = 0
max = 8
CanTrcvBaudRate :EcucIntegerParamDef
+parameter
min = 0
max = 12000
CanTrcvPowerOnFlag :
+parameter EcucBooleanParamDef
defaultValue = false
CanTrcvBusErrFlag :
+parameter EcucBooleanParamDef
defaultValue = false
CanTrcvPnEnabled :
+parameter EcucBooleanParamDef
defaultValue = false
10.2.12 CanTrcvPnFrameDataMaskSpec
SWS Item ECUC_CanTrcv_00165 :
Container Name CanTrcvPnFrameDataMaskSpec
Defines data payload mask to be used on the received payload in order to
Description determine if the transceiver must be woken up by the received Wake-up
Frame (WUF).
Configuration Parameters
No Included Containers