4.5. CDD_FSITX Module

4.5.1. Acronyms and Definitions

Abbreviation/Term

Explanation

AUTOSAR

Automotive Open System Architecture

BSW

Basic Software

CDD

Complex Device Driver

FSI

Fast Serial Interface

DDR

Double Data Rate

SDR

Single Data Rate

SDR

Single Data Rate

CRC

Cyclic Redundancy Check

SW

Software

HW

Hardware

DEM

Diagnostic Event Manager

DMA

Direct Memory Access

MCAL

Microcontroller Abstraction Layer

DET

Default Error Tracer

PWM

Pulse Width Modulation

PLL

Phase Locked Loop

MCU

Micro Controller Unit

OS

Operating System

API

Application Programming Interface

4.5.2. Introduction

This document describes CDD FSI Driver functionality, its application interfaces and configuration details as per AUTOSAR version 4.3.1.

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Pre-Compile & Post Build

Vendor ID

CDD_FSI_TX_VENDOR_ID (44)

Module ID

CDD_FSI_TX_MODULE_ID (255)

Supported Platform

AM263Px

4.5.3. Functional Overview

The Fast Serial Interface (FSI) module is a serial communication peripheral capable of reliable high-speed communication across isolation devices. The FSI is designed specifically to ensure reliable high-speed communication for system scenarios that involve communication across isolation barriers without adding components. The FSI consists of independent transmitter (CDD FSI TX) and receiver (CDD FSI RX) cores. The CDD FSITX and CDD FSIRX cores are configured and operated independently. Both CDD FSI TX and FsiRx are capable of configurable frame length and can be operated via DMA. The following figure shows where the CDD Module is located in the AUTOSAR architecture. Since CDD FSI Transmitter and Receiver are CDD Module it occupies the highlighted region in the AUTOSAR architecture.

CDD FSI (CDD Module) in AUTOSAR architecture

Fig. 4.32 CDD FSI (CDD Module) in AUTOSAR architecture

4.5.3.1. Functional Overview of CDD FSI Transmitter

The CDD FSI transmitter module handles the framing of data and signal generation of TXCLK, TXD0, and TXD1, as well as interrupt generation. The operation of the transmitter core is controlled and configured through programmable control registers. The transmitter control registers allow the CPU to program, control, and monitor the operation of CDD the FSI receiver. The transmit data buffer is accessible by the CPU and the DMA.

4.5.3.2. CDD FSI TX Driver Architecture

CDD FSI TX Hardware Overview

Fig. 4.33 CDD FSI TX Hardware Overview

4.5.3.3. Initialization

Cdd_FsiTx_Init() has to be called to initialize the CDD FSI TX driver before initiating a transmission. This will also set the CDD FSI Transmitter Hardware Unit to CDD_FSI_TX_IDLE STATE.

4.5.3.4. States

There are 2 states in which each CDD FSI Transmitter HW Unit can be:

  1. CDD_FSI_TX_UNINIT: This is the state before the Fsi Transmitter is initialized.

  2. CDD_FSI_TX_IDLE: This is the state before starting a transmission. The transmitter becomes idle only after it gets initialized.

4.5.3.5. Assumptions

None

4.5.3.6. Limitations

  1. TXCLK which is derived from PLL Clock should never be configured to be faster than SYSCLK/2.

  2. Data Frame Configuration of Transmitter Module should be in sync with the receiver. (frame type, data width ).

  3. In FSI, as soon as the DMA TX trigger is started, whatever data is available in the internal FSI buffer is transferred immediately before the DMA actually transfers from external buffer to FSI internal buffer. As a workaround, first iteration we are manually copying onto internal buffer before FSI DMA event is enabled

  4. In FSI, the DMA transfer happens only with the manual trigger mode of DMA. The event trigger mode is not supported

4.5.4. Hardware Features

CDD FSI Tx features:

4.5.4.1. IP Supported Features

  • Automated ping frame generation

  • Externally triggered ping frames

  • Externally triggered data frames

  • Software-configurable frame lengths

  • Data buffer underrun and overrun detection

  • DMA support

  • Double Data Rate(DDR)

4.5.4.2. CDD FSI TX Supported Features

  • Automated ping frame generation

  • Software-configurable frame lengths

  • Data buffer underrun and overrun detection

  • DMA support

  • One shot and continuous mode.

4.5.4.3. CDD FSI TX Not Supported Features

  • Externally triggered ping frames

  • Externally triggered data frames

  • Double Data Rate(DDR)

4.5.4.4. Configurable Hardware Units

  1. User configurable parameter to define how many Tx Hardware Units (Instances) to use out of a maximum of 4

  2. User configurable parameter to specify which Hardware Unit to use

  3. User configurable parameter to specify Prescale value to select clock frequency at which the Hardware Unit will operate internally.

  4. User configurable frame size which defines number of words to be copied into Tx internal Buffer and transmitted.

4.5.4.5. Configurable Development Error

  1. User configurable error check to report development errors.

4.5.4.6. Configurable Frame Length

The number of words to be sent in each frame is user configurable. The argument TxDataLength passed into the API Cdd_FsiTx_BufferLoad will copy the required number of words from source buffer to internal Tx Buffer. The TxDataLength can be any value from the enum Cdd_FsiTx_DataLengthType which has a range of 1-16.

  1. CDD_FSI_TX_DATA_1_WORD_LENGTH - 1 WORD will be copied from source buffer to Internal Tx buffer for Transmission.

  2. CDD_FSI_TX_DATA_2_WORD_LENGTH - 2 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  3. CDD_FSI_TX_DATA_3_WORD_LENGTH - 3 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  4. CDD_FSI_TX_DATA_4_WORD_LENGTH - 4 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  5. CDD_FSI_TX_DATA_5_WORD_LENGTH - 5 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  6. CDD_FSI_TX_DATA_6_WORD_LENGTH - 6 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  7. CDD_FSI_TX_DATA_7_WORD_LENGTH - 7 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  8. CDD_FSI_TX_DATA_8_WORD_LENGTH - 8 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  9. CDD_FSI_TX_DATA_9_WORD_LENGTH - 9 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  10. CDD_FSI_TX_DATA_10_WORD_LENGTH - 10 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  11. CDD_FSI_TX_DATA_11_WORD_LENGTH -11 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  12. CDD_FSI_TX_DATA_12_WORD_LENGTH - 12 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  13. CDD_FSI_TX_DATA_13_WORD_LENGTH - 13 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  14. CDD_FSI_TX_DATA_14_WORD_LENGTH - 14 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  15. CDD_FSI_TX_DATA_15_WORD_LENGTH - 15 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

  16. CDD_FSI_TX_DATA_16_WORD_LENGTH - 16 WORDS will be copied from source buffer to Internal Tx buffer for Transmission.

4.5.4.7. Configurable User Data

The User Data is an 8 bit value which is fully user-configurable data field. There are no restrictions on how this field is used. This phase is only available in data frames.

  1. The userData argument in Cdd_FsiTx_BufferLoad API will configure the field in frame in DMA transmission Mode.

  2. The userData argument in Cdd_FsiTx_Transmit API will configure the field in frame in Interrupt/Polling transmission Mode.

4.5.4.8. Configurable Timeouts

  1. User Configurable Ping Timeout value(value at which the Ping Timer timeout and it will trigger a Ping Frame transmission to check the physical connection between Tx and Rx ).

4.5.4.9. Configurable Transmission Modes

The FSI Transmitter can transmit data in three different Modes.

  1. Interrupt Mode.

  2. Polling Mode.

  3. DMA Mode.

4.5.4.9.1. Interrupt Mode

Each FSI module contains multiple interrupt sources which can be assigned to two different interrupt vectors:INT1 and INT2. Each interrupt source has an associated status flag. In Interrupt Mode, the macro CddFsiTxMainApi in Cdd_FsiTx_Cfg.h will be OFF. The transmitter can generate the following interrupts:

  1. Frame Done (FRAME_DONE) : This event indicates that FSI has completed transmitting a frame. To enable this Interrupt Event, the macro CddFsiTxFrameDoneInterrupt in Cdd_FsiTx_Cfg.h should be ON.

  2. Buffer Underrun (BUF_UNDERRUN) : This event indicates that the transmit buffer has experienced underrun. Buffer underrun occurs when the transmitter tries to read data from a location which has not yet be written to by the CPU, or DMA. The macro CddFsiTxBufferUnderRunInterrupt* in Cdd_FsiTx_Cfg.h should be ON and CddFsiTxDMAEnable should be OFF.

  3. Buffer Overrun (BUF_OVERRUN) : The buffer overrun interrupt is generated when the buffer has experienced overrun. Buffer overrun may occur if a piece of data is overwritten before it has been transmitted. The macro CddFsiTxBufferOverRunInterrupt in Cdd_FsiTx_Cfg.h should be ON and CddFsiTxDMAEnable should be OFF.

  4. Ping Frame Triggered (PING_TRIGGERED) : The ping frame triggered interrupt is generated when the ping frame has been triggered. This bit will be set when the ping counter has timed out.The macro CddFsiTxFrameDoneInterrupt in Cdd_FsiTx_Cfg.h should be ON.

4.5.4.9.2. Polling Mode

In Polling Mode the once the FSI Transmitter transmits the frame, the transmission status is continuously polled using CddFsiTxMainApi API. In Polling Mode the states of different macros inside Cdd_FsiTx_Cfg.h are listed below:

  1. CDD_FSI_TX_MAIN_FUNCTION_API -STD ON.

  2. CDD_FSI_TX_DMA_ENABLE -STD OFF

  3. CDD_FSI_TX_BUFFER_OVERRUN_INTERRUPT -STD OFF.

  4. CDD_FSI_TX_BUFFER_UNDERRUN_INTERRUPT-STD OFF

  5. CDD_FSI_TX_PING_TIMEOUT_INTERRUPT -STD OFF.

  6. CDD_FSI_TX_FRAME_DONE_INTERRUPT -STD OFF

  7. The macro related with each Interrupt event should be OFF if Main Function API macro is ON.

4.5.4.9.3. DMA Mode

The FSI transmitter can send data which is continuously fed with the DMA. In order to transmit continuous data with the DMA, some configurations need to be made on the transmitter:

  1. Two DMA channels have to be triggered by the same FSI transmitter and DMA trigger.

  2. One Channel to fill the data in transmit buffer and the other will be used to copy the userdata and frametag.

In DMA Mode the states of different macros inside Cdd_FsiTx_Cfg.h are listed below:

  1. CDD_FSI_TX_MAIN_FUNCTION_API -STD OFF

  2. CDD_FSI_TX_DMA_ENABLE -STD ON

  3. CDD_FSI_TX_BUFFER_OVERRUN_INTERRUPT -STD OFF

  4. CDD_FSI_TX_BUFFER_UNDERRUN_INTERRUPT -STD OFF

  5. CDD_FSI_TX_PING_TIMEOUT_INTERRUPT -STD OFF

  6. CDD_FSI_TX_FRAME_DONE_INTERRUPT -STD OFF

For the FSI Transmitter to be functional in DMA mode, some configurations to be done in DMA Plugin as well. The DMA Instance corresponding to each Tx unit should be configured in chaining Mode. For each handle, two dma channels have to be configured. In Fsi, DMA Mode transfer is possible in only the Manual Trigger Mode of DMA.

4.5.5. Source files

Description of static files is provided below:

📦AM263Px
┣ 📂build
┣ 📂mcal
┃ ┣ 📂FsiTx
┃ ┃ ┣ 📂include
┃ ┃ ┃ ┗ 📜Cdd_FsiTx.h : Contains the API’s of the CDD FSI TX driver to be used by upper layers
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┗ 📜Cdd_FsiTx.c : Contains the implementation of the API’s for CDD FSI TX driver
┃ ┃ ┣ 📂V0
┃ ┃ ┃ ┣ 📜Cdd_FsiTx_Irq.h : Contains ISR function declaration
┃ ┃ ┃ ┣ 📜Cdd_FsiTx_Irq.c : Contains ISR function definitions
┃ ┃ ┃ ┣ 📜Cdd_FsiTx_Platform.h : Contains device specific function definition, data types and definitions
┃ ┃ ┃ ┣ 📜Cdd_FsiTx_Platform.c : Contains device specific function definition, data types and definitions
┃ ┃ ┃ ┣ 📜Cdd_FsiTx_Priv.h : Contains Internal functions declaration of CDD FSI TX driver
┃ ┃ ┃ ┣ 📜Cdd_FsiTx_Priv.c : Contains Internal functions definition of CDD FSI TX driver
┃ ┃ ┃ ┣ 📜Cdd_FsiTx_Reg.h : Contains CDD FSI TX Register definition
┃ ┃ ┃ ┗ 📜Cdd_FsiTx_Types.h : Contains the cdd data types and internal macro definitions .
┃ ┃ ┗ 📜Makefile
┣ 📂mcal_config
┣ 📂mcal_docs
┗ 📜README.txt

Description of generated files is provided below:

Plugin Files

Description

CddFsiTx_Cfg.h

CContains the Precompile switches, Symbolic names of hardware units and channels Configured maximum number hardware units

CddFsiTx_PBcfg.c

Contains all channels Post-Build Configuration parameters

CddFsiTx_Cfg.c

Contains all channels Pre-Compile Configuration parameters

The below diagram shows the files structure for the FSI driver.

CDD FSI TX header file include structure

Fig. 4.34 CDD FSI TX header file include structure

4.5.6. Module requirements

Will be updated in future release:

4.5.6.1. Memory Mapping

Memory Mapping Sections

CDD_FSITX_CODE

CDD_FSITX_CODE_ISR

CDD_FSITX_VAR_NO_INIT

CDD_FSITX_VAR

CDD_FSITX_CONST

CDD_FSITX_PBCFG

CDD_FSITX_START_SEC_VAR_INIT_UNSPECIFIED(.bss)

x

CDD_FSITX_STOP_SEC_VAR_INIT_UNSPECIFIED

x

CDD_FSITX_START_SEC_CONFIG_DATA (.const)

x

CDD_FSITX_STOP_SEC_CONFIG_DATA

x

CDD_FSITX_START_SEC_CODE(.text)

x

CDD_FSITX_STOP_SEC_CODE

x

CDD_FSITX_START_SEC_VAR_INIT_32(.bss)

x

CDD_FSITX_STOP_SEC_VAR_INIT_32

x

CDD_FSITX_START_SEC_VAR_NO_INIT_UNSPECIFIED(.data)

x

CDD_FSITX_STOP_SEC_VAR_NO_INIT_UNSPECIFIED

x

CDD_FSITX_START_SEC_ISR_CODE

x

CDD_FSITX_STOP_SEC_ISR_CODE

x

4.5.6.2. Scheduling

4.5.6.2.1. SchM

Beside the OS, the BSW Scheduler provides functions that module CDD FSI TX calls at beginning and end of critical sections.

4.5.6.2.2. Critical Sections

There is only one kind of critical sections in this driver. Within these sections the transmission of data from Tx Buffer to the Rx Buffer will take place.This is handled internally in the CDD FSI TX driver by invoking SchM_Enter_Cdd_FsiTx_FSI_TX_EXCLUSIVE_AREA_0() / SchM_Exit_Cdd_FsiTx_FSI_TX_EXCLUSIVE_AREA_0().

4.5.6.3. Error handling

4.5.6.3.1. Development Error Reporting

The module CDD FSI TX depends on the DET (by default) in order to report development errors. The DET error is reported with Module ID. The reported service IDs identify the services which are described below. The errors reported to DET module are described in the following table:

4.5.6.4. Error codes

4.5.6.4.1. Development Errors

Type of Error

Related Error code

Value (Hex)

Error code indicating the CDD FSI TX is uninitialized

CDD_FSI_TX_E_UNINIT

0x01

Error code indicating an invalid event

CDD_FSI_TX_E_INVALID_EVENT

0x02

Error code indicating invalid parameter pointer

CDD_FSI_TX_E_PARAM_POINTER

0x03

Error code indicating Service called with invalid length

CDD_FSI_TX_E_PARAM_LENGTH

0x04

Error code indicating invalid Number of CDD FSI TX HwUnit

CDD_FSI_TX_E_INVALID_HWUNIT

0x05

4.5.6.4.2. DEM Errors

The errors reported to DEM are described in the following table:

Error Code

Description

Assigned by DEM

CDD_FSI_TX_E_BUFFER_UNDERRUN

This error is raised when the Transmit Buffer undergoes to an underrun

Assigned by DEM

CDD_FSI_TX_E_BUFFER_OVERRUN

This error is raised when the Transmit Buffer undergoes to an overrun

4.5.7. Used resources

4.5.7.1. Interrupt Handling

For interrupt notification, ISR’s are provided in CDD FSI TX driver.There are two ISRs for each CDD FSI TX hardware unit. Depending on hardware unit configured, it will call the notify function. The interrupt service routines shall be mapped to the interrupt sources of the respective cross bar interrupt. The supported ISRs are part of the CddFsiTx_Irq.h file. Following are the ISRs for each CDD FSI TX hardware units:

Hardware Unit

ISR

CDD_FSI_TX_HW_UNIT_0

CddFsiTx_FSIINT1_IrqUnit0()
CddFsiTx_FSIINT2_IrqUnit0()

CDD_FSI_TX_HW_UNIT_1

CddFsiTx_FSIINT1_IrqUnit1()
CddFsiTx_FSIINT2_IrqUnit1()

CDD_FSI_TX_HW_UNIT_2

CddFsiTx_FSIINT1_IrqUnit2()
CddFsiTx_FSIINT2_IrqUnit2()

CDD_FSI_TX_HW_UNIT_3

CddFsiTx_FSIINT1_IrqUnit3()
CddFsiTx_FSIINT2_IrqUnit3()

DMA Mode ISR

CDD_EDMA_lld_transferCompletionMasterIsrFxn()

1.CddFsiTxBufferOverRunInterrupt parameter enables/disables the bufferOverrun interrupt event.

  • This event indicates that the transmit buffer has experienced overrun.

  • Buffer underrun occurs when the transmitter tries to read data from a location which has not yet be written to by the CPU, or DMA.

2.CddFsiTxBufferUnderRunInterrupt parameter enables/disables the bufferUnderRun interrupt event .

  • This event indicates that the transmit buffer has experienced underrun.

  • Buffer overrun may occur if a piece of data is overwritten before it has been transmitted.

3.CddFsiTxFrameDoneInterrupt parameter enables/disables the Frame Done interrupt event .

  • This event indicates that FSI has completed transmitting a frame.

4.CddFsiTxPingTimeOutInterrupt parameter enables/disables the Ping Timeout interrupt event .

  • The ping frame triggered interrupt is generated when the ping frame has been triggered.

  • This bit will be set when the ping counter has timed out.

4.5.8. Integration description

4.5.8.1. The CDD FSI TX Driver dependent modules

4.5.8.1.1. MCU

The CDD FSI TX modules expects the MCU module to be powered on. The CDD_FSI_TX module depends on MCU module for PLL Clock initialization and crossbar interrupt mapping of CDD FSI TX interrupts depending on the Hardware unit being configured. Suppose the Hardware Unit 1 is configured for CDD FSI TX module:

CDD FSI TX Hardware container

Fig. 4.35 CDD FSI TX Hardware container

Since CDD FSI TXCLK is driven by PLL, it is configured using CONTROLSS register and the the MCU module container McuClockSettingConfiguration should be configured as shown in below figure:

Mcu_Clock_Configuration container

Fig. 4.36 Mcu_Clock_Configuration container

Similarly, the crossbar interrupts also needs to be mapped in MCU module according to HW unit and interrupts being required.

The CDD FSI TX interrupts needs to be mapped to the corresponding cross bar interrupt required. For each CDD FSI TX instance there will be two interrupt vectors. INT1 and INT2. For each interrupt vector separate Crossbar pins should be selected in mcu configuration.

CDD FSI TX Interrupt configuration

Fig. 4.37 CDD FSI TX Interrupt configuration

4.5.8.1.2. DMA

The CDD FSI TX Modules requires DMA module to be configured, when CDD FSI TX transmission is configured in DMA mode.

1.CDD FSI TX Module Configuration:

  • The CDD FSI TX module parameter CddFsiTxDMAEnable should be configured for TRUE.

  • The CDD FSI TX HW Unit parameter CddFsiTxTransmissionMethod should be configured with CDD_FSI_TX_DMA_MODE.

  • The DMA supports CDD FSI TX in interrupt mode only.

  • The transmission mode in configurator should be CDD_FSI_TX_DMA_MODE and interrupt should be enabled inside the code.

2.DMA module Configuration:

  • Set up two DMA channels to be triggered by the same CDD FSI transmitter and DMA trigger.

  • Configure one channel to fill the transmit buffer.

  • Configure the other channel to set the frame tag and user data fields.

  • Configure the DMA handleId and other parameters for each CDD FSI TX instance inside DMA configurator.

  • The DMA Configuration reference has given inside CDD FSI TX configurator to select the handleId for each TX Instance.

CDD FSI TX module DMA channel ID selection

Fig. 4.38 CDD FSI TX module DMA channel ID selection

4.5.8.1.3. DET

This implementation depends on the DET in order to report development errors. The detection of development errors is configurable (ON / OFF).

4.5.8.1.4. DEM

By default, production code related errors are reported to the DEM using the service DEM_ReportErrorStatus().

Note

Dem Event is enable only if $(Module_Name)DemEventParameterRefs is enabled.

4.5.8.1.5. Callback Functions

The CDD FSI TX driver does not provide any call back functions.

4.5.8.1.6. Callback Notification

Notifications: Cdd_FsiTx_BufferNotifyType: This Cdd_FsiTx_BufferNotifyType which is defined in CddFsiTx_Types.h file. This is called to notify the HwUnit about the completion of the transmission and availability of Tx Buffer to transmit another frame.

4.5.8.2. Multi-core and Resource allocator

Not Supported

4.5.9. Configuration

4.5.9.1. Configuration Variants

The CDD FSI TX can be configured as Post-Build or Pre-Compile variant, using EB tresos tool.

Variants

Generated Files

PostBuild

CddFsiTx_PBcfg.c , CddFsiTx_Cfg.h

Pre-Compile

CddFsiTx_Cfg.c , CddFsiTx_Cfg.h

Note

  1. The DDR (Double Data Rate) is not supported.So CddFsiRxMultiLaneEnable Parameter will be OFF.

4.5.9.2. Parameter Description

Parameter

Description

Default Value

Range

Unit

CddFsiTxNotification

Callback function for Transmission

NA

NA

FUNCTION

CddFsiTxOverRunNotification

Callback function for Tx Buffer OverRun

NA

NA

FUNCTION

CddFsiTxUnderRunNotification

Callback function for Tx Buffer UnderRun

NA

NA

FUNCTION

CddFsiTxHwUnitId

Numeric ID of the HW Unit. This symbolic name allows accessing Fsi Hw Unit data.

Enumeration literals are defined vendor specific.

Number of instances can vary depending on SOC variant.Corresponding error checks are added in template files

CDD_FSI_TX_HWUNIT_0

CDD_FSI_TX_HWUNIT_0

CDD_FSI_TX_HWUNIT_1

CDD_FSI_TX_HWUNIT_2

CDD_FSI_TX_HWUNIT_3

ENUMERATION

CddFsiTxPrescale

Selects the Prescale value

CDD_FSI_TX_CLK_DIV_2

CDD_FSI_TX_CLK_DIV_0

CDD_FSI_TX_CLK_DIV_1

CDD_FSI_TX_CLK_DIV_2

CDD_FSI_TX_CLK_DIV_3

CDD_FSI_TX_CLK_DIV_4

CDD_FSI_TX_CLK_DIV_5

CDD_FSI_TX_CLK_DIV_10

CDD_FSI_TX_CLK_DIV_20

ENUMERATION

CddFsiTxPingTimerTimeout

Timeout value for CddFsiTx Ping Timer

20000

0 - 4294967295

INTEGER

CddFsiTxTriggerSrc

Type of source event that starts a transmission

CDD_FSI_TX_TRIGG_SRC_SW

CDD_FSI_TX_TRIGG_SRC_SW

CDD_FSI_TX_TRIGG_SRC_SW

ENUMERATION

CddFsiTxTransmissionMethod

Selects the method of frame transmission

CDD_FSI_TX_INTERRUPT_MODE

CDD_FSI_TX_INTERRUPT_MODE

ENUMERATION

CddFsiTxExtHwTrigSrc

Configure the external trigger source for data frame and data frame

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG0

CDD_FSI_TX_TRIGGER_FSI_RX_PING_FRAME_TAG_MATCH

CDD_FSI_TX_TRIGGER_FSI_RX_ERROR_FRAME_TAG_MATCH

CDD_FSI_TX_TRIGGER_FSI_RX_DATA_FRAME_TAG_MATCH

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG0

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG1

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG2

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG3

CDD_FSI_TX_TRIGGER_EPWM0_SOCB

CDD_FSI_TX_TRIGGER_EPWM1_SOCB

CDD_FSI_TX_TRIGGER_EPWM2_SOCB

CDD_FSI_TX_TRIGGER_EPWM3_SOCB

CDD_FSI_TX_TRIGGER_EPWM4_SOCB

CDD_FSI_TX_TRIGGER_EPWM5_SOCB

CDD_FSI_TX_TRIGGER_EPWM6_SOCB

CDD_FSI_TX_TRIGGER_EPWM7_SOCB

CDD_FSI_TX_TRIGGER_EPWM8_SOCB

CDD_FSI_TX_TRIGGER_EPWM9_SOCB

CDD_FSI_TX_TRIGGER_EPWM10_SOCB

CDD_FSI_TX_TRIGGER_EPWM11_SOCB

CDD_FSI_TX_TRIGGER_EPWM12_SOCB

CDD_FSI_TX_TRIGGER_EPWM13_SOCB

CDD_FSI_TX_TRIGGER_EPWM14_SOCB

CDD_FSI_TX_TRIGGER_EPWM15_SOCB

CDD_FSI_TX_TRIGGER_EPWM16_SOCB

CDD_FSI_TX_TRIGGER_EPWM17_SOCB

CDD_FSI_TX_TRIGGER_EPWM18_SOCB

CDD_FSI_TX_TRIGGER_EPWM19_SOCB

CDD_FSI_TX_TRIGGER_EPWM20_SOCB

CDD_FSI_TX_TRIGGER_EPWM21_SOCB

CDD_FSI_TX_TRIGGER_EPWM22_SOCB

CDD_FSI_TX_TRIGGER_EPWM23_SOCB

CDD_FSI_TX_TRIGGER_ICSM_PORT0_16

CDD_FSI_TX_TRIGGER_ICSM_PORT0_17

CDD_FSI_TX_TRIGGER_ICSM_PORT0_18

CDD_FSI_TX_TRIGGER_ICSM_PORT0_19

CDD_FSI_TX_TRIGGER_ICSM_PORT1_16

CDD_FSI_TX_TRIGGER_ICSM_PORT1_17

CDD_FSI_TX_TRIGGER_ICSM_PORT1_18

CDD_FSI_TX_TRIGGER_ICSM_PORT1_19

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT0

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT1

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT2

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT3

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT4

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT5

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT6

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT7

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT8

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT9

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT10

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT11

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT12

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT13

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT14

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT15

ENUMERATION

CddFsiTxExtPingTrigSrc

Configure the external trigger source for ping frame and data frame

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG0

CDD_FSI_TX_TRIGGER_FSI_RX_PING_FRAME_TAG_MATCH

CDD_FSI_TX_TRIGGER_FSI_RX_ERROR_FRAME_TAG_MATCH

CDD_FSI_TX_TRIGGER_FSI_RX_DATA_FRAME_TAG_MATCH

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG0

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG1

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG2

CDD_FSI_TX_TRIGGER_FSI_RX_TRIG3

CDD_FSI_TX_TRIGGER_EPWM0_SOCB

CDD_FSI_TX_TRIGGER_EPWM1_SOCB

CDD_FSI_TX_TRIGGER_EPWM2_SOCB

CDD_FSI_TX_TRIGGER_EPWM3_SOCB

CDD_FSI_TX_TRIGGER_EPWM4_SOCB

CDD_FSI_TX_TRIGGER_EPWM5_SOCB

CDD_FSI_TX_TRIGGER_EPWM6_SOCB

CDD_FSI_TX_TRIGGER_EPWM7_SOCB

CDD_FSI_TX_TRIGGER_EPWM8_SOCB

CDD_FSI_TX_TRIGGER_EPWM9_SOCB

CDD_FSI_TX_TRIGGER_EPWM10_SOCB

CDD_FSI_TX_TRIGGER_EPWM11_SOCB

CDD_FSI_TX_TRIGGER_EPWM12_SOCB

CDD_FSI_TX_TRIGGER_EPWM13_SOCB

CDD_FSI_TX_TRIGGER_EPWM14_SOCB

CDD_FSI_TX_TRIGGER_EPWM15_SOCB

CDD_FSI_TX_TRIGGER_EPWM16_SOCB

CDD_FSI_TX_TRIGGER_EPWM17_SOCB

CDD_FSI_TX_TRIGGER_EPWM18_SOCB

CDD_FSI_TX_TRIGGER_EPWM19_SOCB

CDD_FSI_TX_TRIGGER_EPWM20_SOCB

CDD_FSI_TX_TRIGGER_EPWM21_SOCB

CDD_FSI_TX_TRIGGER_EPWM22_SOCB

CDD_FSI_TX_TRIGGER_EPWM23_SOCB

CDD_FSI_TX_TRIGGER_ICSM_PORT0_16

CDD_FSI_TX_TRIGGER_ICSM_PORT0_17

CDD_FSI_TX_TRIGGER_ICSM_PORT0_18

CDD_FSI_TX_TRIGGER_ICSM_PORT0_19

CDD_FSI_TX_TRIGGER_ICSM_PORT1_16

CDD_FSI_TX_TRIGGER_ICSM_PORT1_17

CDD_FSI_TX_TRIGGER_ICSM_PORT1_18

CDD_FSI_TX_TRIGGER_ICSM_PORT1_19

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT0

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT1

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT2

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT3

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT4

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT5

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT6

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT7

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT8

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT9

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT10

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT11

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT12

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT13

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT14

CDD_FSI_TX_TRIGGER_OUTPUTXBAR_OUT15

ENUMERATION

CddFsiTxDmaReference

Reference to the DMA Group Channel

ASPathDataOfSchema:/TI_AM263Px/Cdd_Dma/CddDmaDriverHandler

ASPathDataOfSchema:/TI_AM263Px/Cdd_Dma/CddDmaDriverHandler

REFERENCE

CddFsiTxDeInitApi

Adds / removes the service CddFsiTx_DeInit() from the code

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxTransmitApi

Enable/disable the service CddFsiTx_Transmit() from the code

FALSE

TRUE/FALSE

BOOLEAN

CddFsiTxDevErrorDetectApi

Switches the development error detection and notification on or off

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxPingApi

Enable/disable the service CddFsiTx_Ping() from the code

FALSE

TRUE/FALSE

BOOLEAN

CddFsiTxExtTriggerEnable

Enable/disable the service CddFsiTx_Ping() from the code

FALSE

TRUE/FALSE

BOOLEAN

CddFsiTxBuffLoadApi

Adds / removes the services CddFsiTx_BuffLoad() from the code

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxResetDriver

Adds / removes the service Cdd_FsiTx_ResetDriver() and from the code

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxTypeofInterruptFunction

Type of ISR function

CDD_FSI_TX_ISR_CAT1

CDD_FSI_TX_ISR_VOID

CDD_FSI_TX_ISR_CAT1

CDD_FSI_TX_ISR_CAT2

ENUMERATION

CddFsiTxInterruptVector

Type of ISR function

CDD_FSI_TX_INT1

CDD_FSI_TX_INT1

CDD_FSI_TX_INT2

ENUMERATION

CddFsiTxDeviceVariant

Select SOC variant .This parameter shall be used by driver to impose device specific constraints

AM263Px

AM263Px

ENUMERATION

CddFsiTxMaxHwUnitCount

Maximum hw count across all hwunits configured

1

1 to 4

INTEGER

CddFsiTxNotifyCapability

Determines, if the notification mechanism (the functions to enable and disable the notifications) is available at runtime

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxBufferOverRunInterrupt

Enable/disable the Interrupt service for Tx Buffer OverRun

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxBufferUnderRunInterrupt

Enable/disable the Interrupt service for Tx Buffer UnderRun

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxPingTimeOutInterrupt

Enable/disable the Interrupt service for Ping Timeout

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxFrameDoneInterrupt

Enable/disable the Interrupt service for Tx Frame Done

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxMainApi

Adds / removes the service CddFsiTx_Main() and from the code

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxGetVersionInfoApi

Adds / removes the service CddFsiTx_GetVersionInfo() from the code

TRUE

TRUE/FALSE

BOOLEAN

CddFsiTxDMAEnable

Enables DMA Access method for CddFsiTx Transmission

FALSE

TRUE/FALSE

BOOLEAN

CddFsiTxMultiLaneEnable

Enables MultiLane Transmission for CddFsiTx

FALSE

TRUE/FALSE

BOOLEAN

CddFsiTxMaxDmaChannelId

Number of actual DMA channels. This is of type published information and not editable

63

NA

INTEGER

CddFsiTxOsCounterRef

This parameter contains a reference to the OsCounter, which is used by the CddFsiTx driver

ASPathDataOfSchema:/AUTOSAR/EcucDefs/Os/OsCounter

ASPathDataOfSchema:/AUTOSAR/EcucDefs/Os/OsCounter

REFERENCE

CddFsiTxDefaultOSCounterId

Default Os Counter Id if node reference to OsCounter ref CddFsiTxOsCounterRef is not set

0

0 -16

INTEGER

4.5.9.3. Symbolic Names deviations

The Symbolic names are generated for following parameters:

  1. CddFsiTxHwUnitId : Symbolic name is generated as CddFsiTxConf_CddFsiTxHwUnit_<CddFsiTxHwUnitId>

4.5.9.4. Configuration rules and constraints to enable plausibility checks

Will be updated in future release:

4.5.10. Examples

Please refer Example section of Cdd_FsiRx

4.5.10.1. Test Report

Please refer AM26x CDD FSI Driver Test Case Report as part of CSP provided in the release package.

4.5.11. References

Technical Reference Manual