4.1. CAN Module

4.1.1. Acronyms and Definitions

Abbreviation/Term

Explanation

AUTOSAR

Automotive Open System Architecture

RTE

Runtime Environment

BSW

Basic Software

GPIO

General Purpose Input Output

MCAL

Micro Controller Abstraction Layer

API

Application Programming Interface

DET

Default Error Tracer

HW

Hardware

SW

Software

I/O

Input/Output

CAN

Controller Area Network

CanIf

Can Interface

L-PDU

Data Link Layer Protocol Data Unit. Consists of Identifier, Data Length and Data (SDU).

DLC

Data Length Code

4.1.2. Introduction

This document details AUTOSAR BSW CAN module implementation

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Post-build, Pre-Compile

Vendor ID

CAN_VENDOR_ID (44)

Module ID

CAN_MODULE_ID (80)

The CAN driver provides services for basic transmission and reception of CAN frames in both interrupt and polling mode. These components can be used by an application.

CAN MCAL AUTOSAR

Fig. 4.1 Can MCAL AUTOSAR

4.1.3. Functional Overview

The CAN module initializes and controls the internal CAN Controllers of the microcontroller. It provides services to write, read, and configure mailboxes of the Can controllers

Programming of clock source for the can, is beyond the scope of this document. The driver expects user of this module has programmed required clock source.

Can module offers following services.

  • On L-PDU transmission, the Can module writes the L-PDU in an appropriate buffer inside the CAN controller hardware.

  • On L-PDU reception, the Can module calls the RX indication callback function with ID, DLC and pointer to L-SDU as parameter.

  • The Can module provides an interface that serves as periodical processing function, and which must be called by the Basic Software Scheduler module periodically.

  • The Can module provides services to control the state of the CAN controllers. Bus-off and Wake-up events are notified by means of callback functions.

4.1.4. Hardware Features

4.1.4.1. Hardware Features supported

  • Conforms with CAN Protocol 2.0 A, B and ISO 11898-1:2015

  • Full CAN FD support (up to 64 data bytes)

  • 1-Mbps nominal bit rate, 5-Mbps data bit rate

  • Loop-back mode for self-test

  • AUTOSAR and SAE J1939 support

  • Maskable interrupt (two configurable interrupt lines and clock stop or wakeup)

  • Two clock domains (CAN clock and host clock)

  • Clock stop and wakeup support

  • Up to 32 dedicated transmit buffers

  • Configurable transmit FIFO, up to 32 elements

  • Configurable transmit queue, up to 32 elements

  • Configurable transmit Event FIFO, up to 32 elements

  • Up to 64 dedicated receive buffers

  • Two configurable receive FIFOs, up to 64 elements each

  • Up to 128 filter elements

4.1.4.2. Not supported Features

None

4.1.4.3. Non compliance

Below AUTOSAR requirement are not supported for Can Driver :

[SWS_Can_00447 ,SWS_Can_00446, SWS_Can_00445, SWS_Can_00391, SWS_Can_00244, SWS_Can_00242]

Rejection Reason : Currently Can driver using internal Can controller, so implementation of wakeup events through external hardware Can controller not required.

[SWS_Can_00405 ,SWS_Can_00290, SWS_Can_00267, SWS_Can_00404, SWS_Can_00258]

Rejection Reason : Can driver supports SLEEP and WAKEUP functionality, implementation of logical SLEEP state not required.

For more details, Refer AUTOSAR_SWS_CanDriver : Section: 5.1.2 : Header File Structure

4.1.5. Source files

📦f29h85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┃ ┣ 📂BSW_Stubs
┃ ┣ 📂Can
┃ ┃ ┣ 📂include
┃ ┃ ┃ ┣ 📜Can.h : Contains the API’s of the Can driver to be used by upper layers.
┃ ┃ ┃ ┣ 📜Can_Priv.h : Contains data structures and Internal function declarations.
┃ ┃ ┃ ┗ 📜Can_Reg_Access.h : Contains the MACROs for CAN register access.
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┣ 📜Can.c : Contains the implementation of the API’s for Can driver.
┃ ┃ ┃ ┣ 📜Can_Irq.c : contains the implementation for Can interrupts handlers.
┃ ┃ ┃ ┗ 📜Can_Priv.c : Contains Functions that support the API’s for Can driver
┃ ┃ ┗ 📜CMakeLists.txt
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┣ 📂hw_include
┃ ┣ 📂Mcal_Lib
┃ ┣ 📂Mcu
┃ ┗ 📂Port
┣ 📂examples
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json

CAN Header File Structure

Fig. 4.2 Can Header File Structure

4.1.6. Module requirements

4.1.6.1. Memory Mapping

Will be added in later release

4.1.6.2. Scheduling

Schedule Function API

Description

Can_MainFunction_Write

This function performs the polling of TX confirmation when CAN_TX_PROCESSING is set to POLLING

Can_MainFunction_Read

This function performs the polling of RX indications when CAN_RX_PROCESSING is set to POLLING.

Can_MainFunction_BusOff

This function performs the polling of bus-off events that are configured statically as ‘to be polled’.

Can_MainFunction_Wakeup

This function performs the polling of wake-up events that are configured statically as ‘to be polled’.

Can_MainFunction_Mode

This function performs the polling of CAN controller mode transitions.

4.1.6.3. Error handling

4.1.6.3.1. Development Error Reporting

Development errors are reported to the DET using the service Det_ReportError(),when enabled. The driver interface contains the MACRO declaration of the error codes to be returned.

4.1.6.4. Error codes

Type of Error

Related Error code

Value (Hex)

API service called with wrong parameter pointer

CAN_E_PARAM_POINTER

0x01

API service called with wrong hardware handle

CAN_E_PARAM_HANDLE

0x02

API service called with wrong data length

CAN_E_PARAM_DATA_LENGTH

0x03

API service called with wrong parameter Controller

CAN_E_PARAM_CONTROLLER

0x04

API service used without initialization

CAN_E_UNINIT

0x05

Invalid transition for the current mode.

CAN_E_TRANSITION

0x06

Parameter baud rate has an invalid value.

CAN_E_PARAM_BAUDRATE

0x07

invalid ICOM configuration Id

CAN_E_ICOM_CONFIG_INVALID

0x08

Invalid Configuration set selection.

CAN_E_INIT_FAILED

0x09

4.1.7. Safety Mechanism

TI Diagnostic Unique Identifier

Summary

Description

MCAN3

Periodic Software Read Back of Static Configuration Registers

API is provided for the reading the static configuration registers

MCAN8

SRAM ECC

Provided the enable/disable the ECC mechanism through configuration

MCAN10

MCAN Stuff Error Detection

Errors will be reported to DEM module

MCAN11

MCAN Form Error Detection

Errors will be reported to DEM module

MCAN12

MCAN Acknowledge Error Detection

Errors will be reported to DEM module

MCAN13

Bit Error Detection

Errors will be reported to DEM module

MCAN14

CRC in Message

Errors will be reported to DEM module

MCAN16

Timeout on FIFO activity

Errors will be reported to DEM module

MCAN19

Interrupt on Message RAM Access Failure

Errors will be reported to DEM module

MCAN21

Test of FEVT using ESM

Provided selection of filter event pin via configuration

Note

More details of Safety Mechanisms can be found in Safety Manual.

4.1.8. Used resources

4.1.8.1. Interrupt Handling

AUTOSAR_SWS_CANDriver section: 10 Configuration specification, details the expected behavior and control flow for ISR implementation, please refer the same.

The Driver doesn’t register any interrupts handler (ISR), it’s expected that consumer of this driver registers the required interrupt handler.

For every CAN Instance, an ISR requires to be registered. The Interrupt number associated with instance of the CAN is detailed in TRM (also, please refer the Example application). Interrupt type should be selected in CAN plugin.

Can Instance

Interrupt handler

Can A

Can_1_Int1ISR

Can B

Can_2_Int1ISR

Can C

Can_3_Int1ISR

Can D

Can_4_Int1ISR

Can E

Can_5_Int1ISR

Can F

Can_6_Int1ISR

Note

Same interrupt category should be configured in Os module. Nesting of CAN interrupts is not allowed. In case nesting of CAN interrupt is enabled, data integrity cannot be ensured.

4.1.8.2. Instance support

CPU instances

supported

CPU 1

YES

CPU 2

NO

CPU 3

NO

4.1.8.3. Hardware-Software Mapping

Below image shows CAN driver Hardware-Software mapping. For more information related to HW/SW mapping, refer the F29x Reference Manual.

CAN HW/SW Mapping

Fig. 4.3 Can HW/SW Mapping

4.1.9. Integration description

4.1.9.1. Dependent modules

4.1.9.1.1. DET

This implementation depends on the DET in order to report development errors The detection of development errors is configurable (ON / OFF), The switch CAN_CFG_DEV_ERROR_DETECT will activate or deactivate the detection of all development errors..

4.1.9.1.2. SchM

If multiple AUTOSAR runnables have access to the same Data Store Memory block, the exported AUTOSAR specification enforces data consistency by using an AUTOSAR exclusive area. With this specification, the runnables have mutually exclusive access to the per-instance memory global data, which prevents data corruption. Beside the OS, the BSW Scheduler provides functions that CAN module calls at begin and end of critical sections. This implementation requires 1 level of exclusive access to guard critical sections.

The data consistency mechanism that has to be applied to an ExclusiveArea might be domain, ECU or even project specific. The decision which mechanism has to be applied by RTE / Basic Software Scheduler is taken during ECU integration by setting the Exclusive Area configuration parameter RteExclusiveAreaImplMechanism. This parameter is an input for RTE generator. For CAN Module, data consistency and exclusive access to critical sections are required for the following sections as shown in the table below:

Exclusive Area Functions used

CAN Function calling Exclusive Area

Need for Exclusive Area

Recommended Exclusive Area Mapping

CAN_EXCLUSIVE_AREA_0

Can_DisableControllerInterrupts
Can_EnableControllerInterrupts

To protect against multiple access for shared resources, i.e. Can interrupt Registers, which can lead to race condition

ALL_INTERRUPT_BLOCKING : All interrupts should be blocked as this API’s can be called in the interrupts

CAN_EXCLUSIVE_AREA_1

Can_Write

To protect again multiple access to the same hth handle in the Can_write API

OS_RESOURCE : If the Can_Write API is only called from pre-emptible task context, its recommended to use this mechanism as it takes care of resource access protection and task priority management.
None: If Can_Write API is only called from non pre-emptible task context, its recommended to use this mechanism as multiple access protection to shared resource is not needed.

4.1.9.1.3. MCU

MCU Module is required to initialize all the clock to be used by different peripherals

4.1.9.1.4. PORT

PORT Module is required to initialize Pin configurations and MUX mode for CAN Instances

4.1.9.2. Multi-core and Resource allocator

Not Supported

4.1.9.3. General Guidelines

4.1.9.3.1. Imported Types: Can_HwHandleType

Can_HwHandleType represents the hardware object handles of a CAN hardware unit. MCAN supports configuration of more than 256 hardware object handles. Hence extended range (i.e. uint16 type) must be used. For details of Can_HwHandleType refer AUTOSAR requirement SWS_Can_00429.

4.1.10. Configuration

The Can Driver implementation supports multiple configuration variants The driver expects generated Can_Cfg.h to be present as input file. The associated Can driver configuration generated source files are Can_Cfg.c and Can_PBcfg.c if Post-Build config variant is selected, only Can_Cfg.c if Pre-Compile variant is selected

The generated configuration files should not be modified manually. The config tool Elektrobit Tresos should be used to modify the configuration files.

4.1.10.1. Migration Guide to v02.00.00 from v01.02.00

v02.00.00 CAN driver is designed to fit MCAN hardware with AUTOSAR concepts. Following are some generic recommendations for v02.00.00 CAN driver configuration.

  1. When hardware object handle is configured as BASIC, it uses FIFO in hardware which can store multiple messages as per configured depth. Hardware supports maximum 1 Tx FIFO and 2 Rx FIFOs per controller, hence maximum 1 BASIC transmit hardware object handle and maximum 2 BASIC receive hardware object handles can be configured.

  2. Each BASIC receive hardware object handle can store multiple different CAN messages as per one or more filters configured inside hardware object handle.

  3. When hardware object handle is configured as FULL, it uses dedicated buffer in hardware which can store only one message with specific message Id. Hardware supports maximum 32 Tx dedicated buffers and 64 Rx dedicated buffers per controller, hence maximum 32 FULL transmit hardware object handle and maximum 64 FULL receive hardware object handles can be configured.

  4. Each FULL receive hardware object handle can store only one message at a time as per one or more filters configured inside hardware object handle.

  5. There can be maximum 128 standard filters and 64 extended filters configured per controller.

  6. Total size of Standard filters, Extended filters, Rx messages (FIFO and dedicated buffers), Tx messages (FIFO and dedicated buffers) should not exceed total message RAM area available for controller. For more details, refer to F29x Technical Reference Manual.

In version v02.00.00, the name of the generated configuration structure used to initialize the module has been changed to comply with AUTOSAR requirement TPS_ECUC_08011. In case of Post build variant, upper modules that call the Can_Init function will need to use the new configuration structure name. For example:

/* Old code (v01.01.00 or any older versions) */
Can_Init(&Can_CanConfigSet);

/* New code (v02.00.00) */
Can_Init(&Can_Config);

This change ensures compliance with AUTOSAR naming conventions.

To successfully migrate to v02.00.00, update any upper module that references the configuration structures to use the new structure name.

4.1.10.2. CanConfigSet

This container contains the configuration parameters and sub containers of the AUTOSAR Can module.

4.1.10.2.1. CanController

This container contains the configuration parameters of the CAN controller(s).

4.1.10.2.1.1. CanBusoffProcessing

Item

Name

CanBusoffProcessing

Description

Enables / disables API Can_MainFunction_BusOff() for handling busoff events in polling mode.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

POLLING

Range

INTERRUPT
POLLING

4.1.10.2.1.2. CanControllerActivation

Item

Name

CanControllerActivation

Description

Defines if a CAN controller is used in the configuration.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.1.10.2.1.3. CanControllerInstance

Item

Name

CanControllerInstance

Description

Selects Can Controller Instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MCAN1

Range

MCAN1
MCAN2
MCAN3
MCAN4
MCAN5
MCAN6

4.1.10.2.1.4. CanControllerBaseAddress

Item

Name

CanControllerBaseAddress

Description

Specifies the CAN controller base address.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

4294967295

Min-value

0

4.1.10.2.1.5. CanControllerId

Item

Name

CanControllerId

Description

This parameter provides the controller ID which is unique in a given CAN Driver. The value for this parameter starts with 0 and continue without any gaps.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.1.10.2.1.6. CanRxProcessing

Item

Name

CanRxProcessing

Description

Enables / disables API Can_MainFunction_Read() for handling PDU reception events in polling mode.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

POLLING

Range

INTERRUPT
MIXED
POLLING

4.1.10.2.1.7. CanTxProcessing

Item

Name

CanTxProcessing

Description

Enables / disables API Can_MainFunction_Write() for handling PDU transmission events in polling mode.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

POLLING

Range

INTERRUPT
MIXED
POLLING

4.1.10.2.1.8. CanWakeupFunctionalityAPI

Item

Name

CanWakeupFunctionalityAPI

Description

Adds / removes the service Can_CheckWakeup() from the code.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.1.9. CanWakeupProcessing

Item

Name

CanWakeupProcessing

Description

Enables / disables API Can_MainFunction_Wakeup() for handling wakeup events in polling mode.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

POLLING

Range

INTERRUPT
POLLING

4.1.10.2.1.10. CanWakeupSupport

Item

Name

CanWakeupSupport

Description

CAN driver support for wakeup over CAN Bus.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.1.11. CanInteruptType

Item

Name

CanInteruptType

Description

Defines the interrupt type.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CAN_ISR_CAT1_RTINT

Range

CAN_ISR_CAT1_RTINT
CAN_ISR_CAT1_INT
CAN_ISR_CAT2

4.1.10.2.1.12. CanControllerDefaultBaudrate

Item

Name

CanControllerDefaultBaudrate

Description

Reference to baudrate configuration container configured for the Can Controller.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.2.1.13. CanCpuClockRef

Item

Name

CanCpuClockRef

Description

Reference to the CPU clock configuration, which is set in the MCU driver configuration

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.2.1.14. CanWakeupSourceRef

Item

Name

CanWakeupSourceRef

Description

This parameter contains a reference to the Wakeup Source for this controller as defined in the ECU State Manager.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.2.2. CanControllerConfig

This container contains CAN Controller specific configuration parameters.

4.1.10.2.2.1. CanFDMode

Item

Name

CanFDMode

Description

Enable Flexible Datarate Operation.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.2.2. CanLoopbackMode

Item

Name

CanLoopbackMode

Description

Enable internal loopback mode.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.2.3. CanTransmitPause

Item

Name

CanTransmitPause

Description

Enable Transmit Pause.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.2.4. CanDisableAutomaticRetransmission

Item

Name

CanDisableAutomaticRetransmission

Description

Disable automatic retranmission on transmit errors.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.3. CanControllerBaudrateConfig

This container contains bit timing related configuration parameters of the CAN controller(s).

4.1.10.2.3.1. CanControllerBaudRate

Item

Name

CanControllerBaudRate

Description

Specifies the baudrate of the controller in kbps.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1000

Max-value

1000

Min-value

0

4.1.10.2.3.2. CanControllerBaudRateConfigID

Item

Name

CanControllerBaudRateConfigID

Description

Uniquely identifies a specific baud rate configuration. This ID is used by SetBaudrate API.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

65535

Min-value

0

4.1.10.2.3.3. CanControllerPropSeg

Item

Name

CanControllerPropSeg

Description

Specifies propagation delay in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

2

Max-value

255

Min-value

0

4.1.10.2.3.4. CanControllerSeg1

Item

Name

CanControllerSeg1

Description

Specifies phase segment 1 in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

3

Max-value

255

Min-value

0

4.1.10.2.3.5. CanControllerSeg2

Item

Name

CanControllerSeg2

Description

Specifies phase segment 2 in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

4

Max-value

128

Min-value

2

4.1.10.2.3.6. CanControllerSyncJumpWidth

Item

Name

CanControllerSyncJumpWidth

Description

Specifies the synchronization jump width for the controller in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

4

Max-value

128

Min-value

1

4.1.10.2.4. CanControllerFdBaudrateConfig

This optional container contains bit timing related configuration parameters of the CAN controller(s) for payload and CRC of a CAN FD frame. If this container exists the controller supports CAN FD frames.

4.1.10.2.4.1. CanControllerFdBaudRate

Item

Name

CanControllerFdBaudRate

Description

Specifies the data segment baud rate of the controller in kbps.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1000

Max-value

5000

Min-value

0

4.1.10.2.4.2. CanControllerPropSeg

Item

Name

CanControllerPropSeg

Description

Specifies propagation delay in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

2

Max-value

32

Min-value

0

4.1.10.2.4.3. CanControllerSeg1

Item

Name

CanControllerSeg1

Description

Specifies phase segment 1 in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

3

Max-value

32

Min-value

0

4.1.10.2.4.4. CanControllerSeg2

Item

Name

CanControllerSeg2

Description

Specifies phase segment 2 in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

4

Max-value

16

Min-value

1

4.1.10.2.4.5. CanControllerSyncJumpWidth

Item

Name

CanControllerSyncJumpWidth

Description

Specifies the synchronization jump width for the controller in time quantas.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

4

Max-value

16

Min-value

1

4.1.10.2.4.6. CanControllerTrcvDelayCompensationOffset

Item

Name

CanControllerTrcvDelayCompensationOffset

Description

Specifies the Transceiver Delay Compensation Offset in ns. If not specified Transceiver Delay Compensation is disabled.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

true

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

400

Min-value

0

4.1.10.2.4.7. CanControllerTrcvDelayCompensationFilter

Item

Name

CanControllerTrcvDelayCompensationFilter

Description

Specifies the Transceiver Delay Compensation Filter in ns. If not specified Transceiver Delay Compensation is disabled.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

400

Min-value

0

4.1.10.2.4.8. CanControllerTxBitRateSwitch

Item

Name

CanControllerTxBitRateSwitch

Description

Specifies if the bit rate switching shall be used for transmissions.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.1.10.2.5. CanTTController

CanTTController is specified in the SWS TTCAN and contains the configuration parameters of the TTCAN controller(s) (which are needed in addition to the configuration parameters of the CAN controller(s)).

4.1.10.2.5.1. CanTTControllerApplWatchdogLimit

Item

Name

CanTTControllerApplWatchdogLimit

Description

Defines the maximum time period (unit is 256 times NTU) after which the application has to serve the watchdog.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.1.10.2.5.2. CanTTControllerCycleCountMax

Item

Name

CanTTControllerCycleCountMax

Description

Defines the value for cycle_count_max.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

63

Min-value

0

4.1.10.2.5.3. CanTTControllerExpectedTxTrigger

Item

Name

CanTTControllerExpectedTxTrigger

Description

Number of expected_tx_trigger.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.1.10.2.5.4. CanTTControllerExternalClockSynchronisation

Item

Name

CanTTControllerExternalClockSynchronisation

Description

Enables/disables the external clock synchronization.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.5.5. CanTTControllerGlobalTimeFiltering

Item

Name

CanTTControllerGlobalTimeFiltering

Description

Enables/disables the global time filtering.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.5.6. CanTTControllerInitialRefOffset

Item

Name

CanTTControllerInitialRefOffset

Description

Defines the initial value for ref trigger offset.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

127

Min-value

0

4.1.10.2.5.7. CanTTControllerInterruptEnable

Item

Name

CanTTControllerInterruptEnable

Description

Enables/disables the respective interrupts.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

1023

Min-value

0

4.1.10.2.5.8. CanTTControllerLevel2

Item

Name

CanTTControllerLevel2

Description

Defines whether Level 2 or Level 1 is used.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.5.9. CanTTControllerNTUConfig

Item

Name

CanTTControllerNTUConfig

Description

Defines the config value for NTU (network time unit).

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.0

Max-value

100.0

Min-value

0.0

4.1.10.2.5.10. CanTTControllerOperationMode

Item

Name

CanTTControllerOperationMode

Description

Defines the operation mode.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CAN_TT_EVENT_SYNC_TIME_TRIGGERED

Range

CAN_TT_EVENT_SYNC_TIME_TRIGGERED
CAN_TT_EVENT_TRIGGERED
CAN_TT_TIME_TRIGGERED

4.1.10.2.5.11. CanTTControllerSyncDeviation

Item

Name

CanTTControllerSyncDeviation

Description

Defines the maximum synchronization deviation:

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.0

Max-value

100.0

Min-value

0.0

4.1.10.2.5.12. CanTTControllerTimeMaster

Item

Name

CanTTControllerTimeMaster

Description

Defines whether the controller acts as a potential time master.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.5.13. CanTTControllerTimeMasterPriority

Item

Name

CanTTControllerTimeMasterPriority

Description

Defines the time master priority.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

7

Min-value

0

4.1.10.2.5.14. CanTTControllerTURRestore

Item

Name

CanTTControllerTURRestore

Description

Enables/disables the TUR restore.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.5.15. CanTTControllerTxEnableWindowLength

Item

Name

CanTTControllerTxEnableWindowLength

Description

Length of the tx enable window given in CAN bit times.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

16

Min-value

1

4.1.10.2.5.16. CanTTControllerWatchTriggerGapTimeMark

Item

Name

CanTTControllerWatchTriggerGapTimeMark

Description

watch trigger time mark after a gap

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

65535

Min-value

0

4.1.10.2.5.17. CanTTControllerWatchTriggerTimeMark

Item

Name

CanTTControllerWatchTriggerTimeMark

Description

watch trigger time mark

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

65535

Min-value

0

4.1.10.2.5.18. CanTTIRQProcessing

Item

Name

CanTTIRQProcessing

Description

Enables / disables API Can_MainFunction_BusOff() for handling busoff events in polling mode.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

POLLING

Range

INTERRUPT
POLLING

4.1.10.2.6. CanHardwareObject

This container contains the configuration (parameters) of CAN Hardware Objects.

4.1.10.2.6.1. CanFdPaddingValue

Item

Name

CanFdPaddingValue

Description

Specifies the value which is used to pad unspecified data in CAN FD frames > 8 bytes for transmission. This is necessary due to the discrete possible values of the DLC if > 8 bytes.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.1.10.2.6.2. CanHandleType

Item

Name

CanHandleType

Description

Specifies the type (Full-CAN or Basic-CAN) of a hardware object. Basic object uses FIFO in hardware and Full object uses dedicated buffer in hardware.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

BASIC

Range

BASIC
FULL

4.1.10.2.6.3. CanHardwareObjectUsesPolling

Item

Name

CanHardwareObjectUsesPolling

Description

Enables polling of this hardware object.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.6.4. CanHwObjectCount

Item

Name

CanHwObjectCount

Description

Number of hardware objects used to implement one HOH. In case of Basic object, this parameter defines the depth of FIFO. In case of Full object it must be one.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

65535

Min-value

1

4.1.10.2.6.5. CanIdType

Item

Name

CanIdType

Description

Specifies whether the IdValue is of type

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

MIXED

Range

EXTENDED
MIXED
STANDARD

4.1.10.2.6.6. CanObjectId

Item

Name

CanObjectId

Description

Holds the handle ID of HRH or HTH. The value of this parameter is unique in a given CAN Driver, and it should start with 0 and continue without any gaps.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

65535

Min-value

0

4.1.10.2.6.7. CanObjectType

Item

Name

CanObjectType

Description

Specifies if the HardwareObject is used as Transmit or as Receive object

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

TRANSMIT

Range

RECEIVE
TRANSMIT

4.1.10.2.6.8. CanTriggerTransmitEnable

Item

Name

CanTriggerTransmitEnable

Description

This parameter defines if or if not Can supports the trigger-transmit API for this handle.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.6.9. CanControllerRef

Item

Name

CanControllerRef

Description

Reference to CAN Controller to which the HOH is associated to.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.2.6.10. CanMainFunctionRWPeriodRef

Item

Name

CanMainFunctionRWPeriodRef

Description

Reference to CanMainFunctionPeriod

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.2.7. CanHwFilter

This container is only valid for HRHs and contains the configuration (parameters) of one hardware filter.

4.1.10.2.7.1. CanHwFilterCode

Item

Name

CanHwFilterCode

Description

Specifies (together with the filter mask) the identifiers range that passes the hardware filter.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

4294967295

Min-value

0

4.1.10.2.7.2. CanHwFilterMask

Item

Name

CanHwFilterMask

Description

Describes a mask for hardware-based filtering of CAN identifiers. The CAN identifiers of incoming messages are masked with the appropriate CanFilterMaskValue. Bits holding a 0 mean don’t care, i.e. do not compare the message’s identifier in the respective bit position.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

4294967295

Min-value

0

4.1.10.2.7.3. CanStandardFilterType

Item

Name

CanStandardFilterType

Description

Defines the type of the Standard Filter

Origin

Texas Instruments

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CAN_CLASSIC_FILTER

Range

CAN_RANGE_FILTER
CAN_DUAL_ID_FILTER
CAN_CLASSIC_FILTER
CAN_FILTER_DISABLED

4.1.10.2.7.4. CanEventPin

Item

Name

CanEventPin

Description

Defines the type of the Event pin

Origin

Texas Instruments

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CAN_EVENT_PIN_NONE

Range

CAN_EVENT_PIN_0
CAN_EVENT_PIN_1
CAN_EVENT_PIN_NONE

4.1.10.2.8. CanTTHardwareObjectTrigger

CanTTHardwareObjectTrigger is specified in the SWS TTCAN and contains the configuration (parameters) of TTCAN triggers for Hardware Objects, which are additional to the configuration (parameters) of CAN Hardware Objects.

4.1.10.2.8.1. CanTTHardwareObjectBaseCycle

Item

Name

CanTTHardwareObjectBaseCycle

Description

Defines the cycle_offset.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

63

Min-value

0

4.1.10.2.8.2. CanTTHardwareObjectCycleRepetition

Item

Name

CanTTHardwareObjectCycleRepetition

Description

Defines the repeat_factor.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

64

Min-value

1

4.1.10.2.8.3. CanTTHardwareObjectTimeMark

Item

Name

CanTTHardwareObjectTimeMark

Description

Defines the point in time, when the trigger will be activated.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

65535

Min-value

0

4.1.10.2.8.4. CanTTHardwareObjectTriggerId

Item

Name

CanTTHardwareObjectTriggerId

Description

Sequential number which allows separation of different TTCAN triggers configured for one and the same hardware object.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

63

Min-value

0

4.1.10.2.8.5. CanTTHardwareObjectTriggerType

Item

Name

CanTTHardwareObjectTriggerType

Description

Defines the type of the trigger associated with the hardware object. This parameter depends on plain CAN parameter CAN_OBJECT_TYPE.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

true

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CAN_TT_RX_TRIGGER

Range

CAN_TT_RX_TRIGGER
CAN_TT_TX_REF_TRIGGER
CAN_TT_TX_REF_TRIGGER_GAP
CAN_TT_TX_TRIGGER_EXCLUSIVE
CAN_TT_TX_TRIGGER_MERGED
CAN_TT_TX_TRIGGER_SINGLE

4.1.10.2.9. CanIcom

This container contains the parameters for configuring pretended networking

4.1.10.2.10. CanIcomConfig

This container contains the configuration parameters of the ICOM Configuration.

4.1.10.2.10.1. CanIcomConfigId

Item

Name

CanIcomConfigId

Description

This parameter identifies the ID of the ICOM configuration.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

255

Min-value

1

4.1.10.2.10.2. CanIcomWakeOnBusOff

Item

Name

CanIcomWakeOnBusOff

Description

This parameter defines that the MCU shall wake if the bus off is detected or not.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.1.10.2.11. CanIcomWakeupCauses

This container contains the configuration parameters of the wakeup causes to leave the power saving mode.

4.1.10.2.12. CanIcomRxMessage

This container contains the configuration parameters for the wakeup causes for matching received messages. It has to be configured as often as received messages are defined as wakeup cause.

4.1.10.2.12.1. CanIcomCounterValue

Item

Name

CanIcomCounterValue

Description

This parameter defines that the MCU shall wake if the message with the ID is received n times on the communication channel.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

65536

Min-value

1

4.1.10.2.12.2. CanIcomMessageId

Item

Name

CanIcomMessageId

Description

This parameter defines the message ID the wakeup causes of this CanIcomRxMessage are configured for. In addition a mask (CanIcomMessageIdMask) can be defined, in that case it is possible to define a range of rx messages, which can create a wakeup condition.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

536870912

Min-value

0

4.1.10.2.12.3. CanIcomMessageIdMask

Item

Name

CanIcomMessageIdMask

Description

Describes a mask for filtering of CAN identifiers. The CAN identifiers of incoming messages are masked with this CanIcomMessageIdMask. If the masked identifier matches the masked value of CanIcomMessageId, it can create a wakeup condition for this CanIcomRxMessage. Bits holding a 0 mean don’t care, i.e. do not compare the message’s identifier in the respective bit position. The mask shall be build by filling with leading 0.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

536870912

Min-value

0

4.1.10.2.12.4. CanIcomMissingMessageTimerValue

Item

Name

CanIcomMissingMessageTimerValue

Description

This parameter defines that the MCU shall wake if the message with the ID is not received for a specific time in s on the

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.0

Max-value

5.36870912E8

Min-value

0.0

4.1.10.2.12.5. CanIcomPayloadLengthError

Item

Name

CanIcomPayloadLengthError

Description

This parameter defines that the MCU shall wake if a payload error occurs

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.2.13. CanIcomRxMessageSignalConfig

This container contains the configuration parameters for the wakeup causes for matching signals.

4.1.10.2.13.1. CanIcomSignalMask

Item

Name

CanIcomSignalMask

Description

This parameter shall be used to mask a signal in the payload of a CAN message.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

18446744073709551615

Min-value

0

4.1.10.2.13.2. CanIcomSignalOperation

Item

Name

CanIcomSignalOperation

Description

This parameter defines the operation, which shall be used to verify the signal value creates a wakeup condition.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

EQUAL

Range

AND
EQUAL
GREATER
SMALLER
XOR

4.1.10.2.13.3. CanIcomSignalValue

Item

Name

CanIcomSignalValue

Description

This parameter shall be used to define a signal value which shall be compared (CanIcomSignalOperation) with the masked CanIcomSignalMask value of the received signal (CanIcomSignalRef).

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

18446744073709551615

Min-value

0

4.1.10.2.13.4. CanIcomSignalRef

Item

Name

CanIcomSignalRef

Description

This parameter defines a reference to the signal which shall be checked additional to the message id (CanIcomMessageId).

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.3. CanGeneral

This container contains the parameters related each CAN Driver Unit.

4.1.10.3.1. CanDevErrorDetect

Item

Name

CanDevErrorDetect

Description

Switches the development error detection and notification on or off.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.3.2. CanIndex

Item

Name

CanIndex

Description

Specifies the InstanceId of this module instance. If only one instance is present it shall have the Id 0.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.1.10.3.3. CanLPduReceiveCalloutFunction

Item

Name

CanLPduReceiveCalloutFunction

Description

This parameter defines the existence and the name of a callout function that is called after a successful

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

NULL_PTR

4.1.10.3.4. CanMainFunctionBusoffPeriod

Item

Name

CanMainFunctionBusoffPeriod

Description

This parameter describes the period for cyclic call to Can_MainFunction_Busoff. Unit is seconds.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.01

Max-value

INF

Min-value

0.0

4.1.10.3.5. CanMainFunctionModePeriod

Item

Name

CanMainFunctionModePeriod

Description

This parameter describes the period for cyclic call to Can_MainFunction_Mode. Unit is seconds.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.01

Max-value

INF

Min-value

0.0

4.1.10.3.6. CanMainFunctionWakeupPeriod

Item

Name

CanMainFunctionWakeupPeriod

Description

This parameter describes the period for cyclic call to Can_MainFunction_Wakeup. Unit is seconds.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.01

Max-value

INF

Min-value

0.0

4.1.10.3.7. CanMultiplexedTransmission

Item

Name

CanMultiplexedTransmission

Description

Specifies if multiplexed transmission shall be supported.ON or OFF. This parameter is not used. Use of Transmit FIFO is equivalent to multiplexed transmission.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.3.8. CanPublicIcomSupport

Item

Name

CanPublicIcomSupport

Description

Selects support of Pretended Network features in Can driver.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.3.9. CanECCSupport

Item

Name

CanECCSupport

Description

Enable SRAM ECC configuration.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.3.10. CanSetBaudrateApi

Item

Name

CanSetBaudrateApi

Description

The support of the Can_SetBaudrate API is optional.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.3.11. CanTimeoutDuration

Item

Name

CanTimeoutDuration

Description

Specifies the maximum time for blocking function until a timeout is detected. Unit is seconds.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.1

Max-value

65.535

Min-value

1.0E-6

4.1.10.3.12. CanVersionInfoApi

Item

Name

CanVersionInfoApi

Description

Switches the Can_GetVersionInfo() API ON or OFF.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.1.10.3.13. CanOsCounterRef

Item

Name

CanOsCounterRef

Description

This parameter contains a reference to the OsCounter, which is used by the CAN driver. Note: The CAN driver does not currently utilize this parameter

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.3.14. CanSysClockRef

Item

Name

CanSysClockRef

Description

This parameter references the SYSCLK to convert timeout values from milliseconds to clock ticks. Users should ensure the correct clock reference point is selected to achieve accurate timeout calculations.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Post-Build-Time

VARIANT-POST-BUILD

4.1.10.3.15. CanSupportTTCANRef

Item

Name

CanSupportTTCANRef

Description

The parameter refers to CanIfSupportTTCAN parameter in the CAN Interface Module configuration.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.1.10.3.16. CanIcomGeneral

This container contains the general configuration parameters of the ICOM Configuration.

4.1.10.3.16.1. CanIcomLevel

Item

Name

CanIcomLevel

Description

Defines the level of Pretended Networking.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CAN_ICOM_LEVEL_ONE

Range

CAN_ICOM_LEVEL_ONE
CAN_ICOM_LEVEL_TWO

4.1.10.3.16.2. CanIcomVariant

Item

Name

CanIcomVariant

Description

Defines the variant, which is supported by this CanController

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CAN_ICOM_VARIANT_SW

Range

CAN_ICOM_VARIANT_HW
CAN_ICOM_VARIANT_NONE
CAN_ICOM_VARIANT_SW

4.1.10.3.17. CanMainFunctionRWPeriods

This container contains the parameter for configuring the period for cyclic call to Can_MainFunction_Read or Can_MainFunction_Write depending on the referring item.

4.1.10.3.17.1. CanMainFunctionPeriod

Item

Name

CanMainFunctionPeriod

Description

This parameter describes the period for cyclic call to Can_MainFunction_Read or Can_MainFunction_Write depending on the referring item. Unit is seconds. Different poll-cycles will be configurable if more than one CanMainFunctionPeriod is configured. In this case multiple Can_MainFunction_Read() or Can_MainFunction_Write() will be provided by the CAN Driver module.

Origin

AUTOSAR_ECUC

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0.01

Max-value

INF

Min-value

0.0

Refer AUTOSAR_SWS_CANDriver section: 10 Configuration specification for configuration parameters details

4.1.10.4. Steps To Configure Can Module

  1. Open EB Tresos configurator tool and load Port, Mcu and Can modules

  2. Open PORT module plugin and configure required pins as CAN-TX, CAN-RX

  3. Open CAN module plugin, Select the Config Variant (Pre-compile/Link-Time)

  4. In CAN module plugin configure required parameters.

  5. Save the configuration and generate the configuration.

4.1.11. Examples

The example application demonstrates use of Can module, the list below identifies key steps performed the example.

4.1.11.1. Can_Example_loopback

4.1.11.1.1. Overview of Can_Example_loopback

  • Can_Example_loopback

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

      • Initializes pins as CAN-Tx and CAN-Rx using Port_Init()

      • Initializes Can instances in loopback mode.

    • Set controller state to STARTED.

    • Send the data using can_write() with pre-defined data.

    • Read Tx confirmation and rx indication.

    • Validate the received data with pre-defined transmit data.

4.1.11.1.2. Setup required to run Can_Example_loopback

  • Install Code Composer Studio(CCS) latest version

  • Install latest c29 compiler

  • Connect the hardware and power up

  • Connect the uart set up to check the log on serial console

4.1.11.1.3. How to run Can_Example_loopback

  • Open CCS and Import Can_Example_loopback example

  • Build project and start debug project

4.1.11.1.4. Sample Log of Can_Example_loopback

    Can_Example_loopback : Sample Application - STARTS !!!
    Can_Example_loopback : Can Controller: MCAN A
    Can_Example_loopback : Can Transmission Started 
    Can_Example_loopback : Transmitted and Received Message Id is 0x64
    Can_Example_loopback : Sample Application success

4.1.11.2. Can_Example_Classic_FD

4.1.11.2.1. Overview of Can_Example_Classic_FD

  • Can_Example_Classic_FD

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

      • Initializes pins as CAN-Tx and CAN-Rx using Port_Init()

      • Initializes Can instances

    • Set controller state to STARTED.

    • Set PCAN with the same setting.

    • Start sending predefined data from PCAN

    • Send the data using can_write() with pre-defined data.

    • Read Tx confirmation and rx indication.

    • Validate the received data with pre-defined transmit data.

4.1.11.2.2. Setup required to run Can_Example_Classic_FD

  • Install Code Composer Studio(CCS) latest version

  • Install latest c29 compiler

  • Connect the hardware and power up

  • Connect CANA Tx and Rx pins to CAN transceiver

  • Connect PCAN CANH, CANL to CAN transceiver

  • Connect the uart set up to check the log on serial console

4.1.11.2.3. How to run Can_Example_Classic_FD

  • Open CCS and Import Can_Example_Classic_FD example

  • Build project and start debug project

4.1.11.2.4. Sample Log of Can_Example_Classic_FD

    Can_Example_Classic_FD : Sample Application - STARTS !!!
    Can_Example_Classic_FD : Can Controller: MCAN A
    Can_Example_Classic_FD : Transmitted ID value: 0x64 and length : 8 
    Can_Example_Classic_FD : Transmission data: 0xa1 0x1a 0xff 0xff 0xc1 0x1c 0xb1 0x1b 
    Can_Example_Classic_FD : Can Transmission Started 
    Can_Example_Classic_FD : Received Message Id is 0x101
    Can_Example_Classic_FD : Sample Application success

4.1.11.3. Can_Example_Icom

4.1.11.3.1. Overview of Can_Example_Icom

  • Can_Example_Icom

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init()

      • Initializes pins as CAN-Tx and CAN-Rx using Port_Init()

      • Initializes Can instances

    • Set PCAN with the same setting.

    • Start sending predefined data from PCAN

    • Send the data using can_write() with pre-defined data.

    • Read Tx confirmation and rx indication.

    • Validate the received data with pre-defined Transmit data.

    • Set Icom configuration by calling Can_SetIcomConfiguration.

    • Send pre-defined data from the PCAN same as Icom signal configuration.

    • Read Rx indication.

4.1.11.3.2. Setup required to run Can_Example_Icom

  • Install Code Composer Studio(CCS) latest version

  • Install latest c29 compiler

  • Connect the hardware and power up

  • Connect CANA Tx and Rx pins to CAN transceiver

  • Connect PCAN CANH, CANL to CAN transceiver

  • Connect the uart set up to check the log on serial console

4.1.11.3.3. How to run Can_Example_Icom

  • Open CCS and Import Can_Example_Icom example

  • Build project and start debug project

4.1.11.3.4. Sample Log of Can_Example_Icom

    Can_Example_Icom : Sample Application - STARTS !!!
    ICOM ConfigurationCan_Example_Icom : Can Controller: MCAN A
    Can_Example_Icom : Transmitted ID value: 0x64 and length : 8 
    Can_Example_Icom : Transmission data: 0xa1 0x1a 0xff 0xff 0xc1 0x1c 0xb1 0x1b 
    Can_Example_Icom : Can Transmission Started 
    Can_Example_Icom : Enabling pretended networking.
    Can_Example_Icom : Sample Application for pretended networking was success

4.1.11.4. File Structure

📦f29H85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┣ 📂examples
┃ ┣ 📂AppUtils
┃ ┣ 📂Can
┃ ┃ ┣ 📂 Can_Example_Classic_FD
┃ ┃ ┣ 📂 Can_Example_Icom
┃ ┃ ┗ 📂 Can_Example_loopback
┃ ┃ ┃ ┣ 📂ccs
┃ ┃ ┃ ┃ ┗ 📜Can_Example_loopback.projectspec
┃ ┃ ┃ ┣ 📂f29h85x_config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Can.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Port.xdm
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Can_Cfg.h : Contains the generated pre-compiler configuration header.*
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Can_Cfg.c : Contains the pre-compile configuration parameters.
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_PBcfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Port_PBcfg.c
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜Can_Example_loopback.c : Example application for CAN
┃ ┃ ┗ ┗ 📜Can_Example_loopback.h : Contains data structures and Internal function declarations.
┃ ┣ 📂DeviceSupport
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┣ 📂Mcu
┃ ┣ 📂Port
┃ ┗ 📜CMakeLists.txt
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json

Note

Can_PBcfg.c and Can_Cfg.c will be present if Post-Build config variant is selected, only Can_Cfg.c will be present if Pre-Compile variant is selected