4.15. CDD XBAR Module

4.15.1. Acronyms and Definitions

Abbreviation/Term

Explanation

AUTOSAR

Automotive Open System Architecture

CDD

Complex Device Driver

XBAR

Crossbar

MCAL

Micro Controller Abstraction Layer

CLB

Configurable Logic Block

ePWM

Enhanced Pulse Width Modulation

MINDB

Minimum Dead-band

ICL

Illegal Combo Logic

API

Application Programming Interface

DET

Default Error Tracer

HW

Hardware

SW

Software

AUXSIG

Auxiliary Input

4.15.2. Introduction

The CDD Xbar driver is a Complex Device Driver that provides services to connect device inputs, outputs, and internal resources in a variety of configurations.

CDD XBAR MCAL AUTOSAR

Fig. 4.68 Cdd Xbar MCAL AUTOSAR

This document details AUTOSAR Cdd Xbar module implementation

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Pre-Compile

Vendor ID

CDD_XBAR_VENDOR_ID (44)

Module ID

CDD_XBAR_MODULE_ID (255)

4.15.3. Functional Overview

The CDD Xbar driver is part of the Complex Device Driver layer(CDD). CDD Xbar is a logical connection circuitry that is used to route signals from a set of inputs to several outputs. Crossbars are named based on their outputs, according to where the Xbar takes signals.

CDD Xbar, for this device, supports six categories of Crossbars:

Crossbar Type

Description

Input X-Bar

Routes signals from a GPIO/AIO to many different IP blocks such as the ADC, eCAP, ePWM, and external interrupts

Output X-Bar

Routes signals from inside the device to a GPIO

CLB X-Bar

Routes signals to the CLB modules

ePWM X-Bar

Routes signals to the ePWM modules

MINDB X-Bar

Routes various EPWM signals and CLB outputs to the Minimum Dead-band sub-module of the ePWM

ICL X-Bar

Routes various EPWM signals and CLB outputs to the Illegal Combination Logic sub-module of the ePWM

4.15.4. Hardware Features

4.15.4.1. Hardware Features supported

Features Supported at a high level are:

  • Routing signals from a set of inputs or logic HIGH or logic LOW to several outputs or IP blocks.

  • Inversion of the output signal in case of Output Xbar, CLB Xbar, ePWM Xbar, MINDB Xbar and ICL Xbar.

  • Locking of the input-output configurations of all Xbars.

  • Routing a latched event as the output of an Output Xbar output line.

  • Inversion of the output signal before latching an event in an Output Xbar output line.

  • Forcing the latch of an Output Xbar output line.

  • Stretching the output of an Output Xbar output line to 16 SYSCLK or 32 SYSCLK.

4.15.4.1.1. Input Xbar

Input Xbar is used to route signals from a GPIO or AIO or logic HIGH or logic LOW to many different IP blocks such as the ADC, eCAP, ePWM, and external interrupts. The input of each Input Xbar instance (INPUTx) can be any GPIO or AIO, while the output of each instance connects to various IP blocks in the device. The logic level HIGH and logic level LOW are also available as inputs to the Input Xbar. The GPIO/AIO selected by the Input Xbar can be configured as either an input or an output. The Input Xbar simply connects the signal on the input buffer to the output of the selected Input Xbar instance. The Input Xbar contains sixteen output lines denoted as INPUTx where x = 1 to 64.

Input Xbar architecture

Fig. 4.69 Input Xbar architecture

The Input Xbar provides the following features:

  • Selection of an input : Any GPIO or AIO configured with the PORT configuration can be selected as input to the INPUTx. It also provides a feature to select LOGIC HIGH or LOGIC low as input to the INPUTx.

  • Locking of each Input Xbar instances : The input output configurations of the each Input Xbar instance (INPUTx) can be locked. Once locked, it can be cleared only through a system reset.

Note

For more details, refer the device’s TRM.

4.15.4.1.2. Output Xbar

The GPIO Output Xbar takes signals from inside the device and brings them out to a GPIO. The Xbar allows the selection of a single input or a logical-OR of many inputs. The Xbar contains sixteen outputs and each contains at least one position on the GPIO mux, denoted as OUTPUTXBARx. The final output is only recognized on the GPIO if the proper OUTPUTXBARx muxing options are selected using the PORT configurations.

Output Xbar architecture

Fig. 4.70 Output Xbar architecture

The Output Xbar provides the following features:

  • Selection of multiple inputs : Multiple inputs can be configured as input to an individual OUTPUTXBARx.

  • Output stretching : The output of the OUTPUTXBARx can be stretched to stretch length of 16 SYSCLK or 32 SYSCLK.

  • Latching of output : The ORed output of the OUTPUTXBARx can be latched and the latched event can be used to drive the final OUTPUTXBARx. It also provides a feature the force the latched event to ‘1’ and clear the latched event.

  • Inversion before latching : The ORed output of the OUTPUTXBARx can be inverted before latching.

  • Inversion at the final output stage : The output of the OUTPUTXBARx at the final output stage can be inverted.

  • Status of the ORed output : It can indicate the status of the ORed output of OUTPUTXBARx.

  • Locking of Output Xbar : The input output configurations of the entire Output Xbar can be locked. Once locked, it can be cleared only through a system reset.

Note

For more details regarding the inputs for each OUTPUTXBARx, refer the device’s TRM.

4.15.4.1.3. ePWM Xbar

The ePWM Xbar brings signals to the ePWM modules. Specifically, the ePWM Xbar is connected to the Digital Compare (DC) submodule of each ePWM module for actions such as tripzones and syncing. The ePWM Xbar has 16 outputs that are routed to each ePWM module. The output lines of ePWM Xbar are denoted as TRIPx where x = 1 to 16. The outputs of ePWM X-BAR from TRIP1 to TRIP 8 are connected to trips inputs 1-8 of each ePWM instance, while TRIP9-TRIP12 and TRIP14-TRIP15 are connected to trips 9-12 and trips 14-15 of each ePWM instance, respectively. Note that TRIP5 and TRIP8 are not connected to any ePWM trip source.

ePWM Xbar architecture

Fig. 4.71 ePWM Xbar architecture

The ePWM Xbar provides the following features:

  • Selection of multiple inputs : Multiple inputs can be configured as input to an individual TRIPx.

  • Inversion at the final output stage : The output of the TRIPx at the final output stage can be inverted.

  • Locking of ePWM Xbar : The input output configurations of the entire ePWM Xbar can be locked. Once locked, it can be cleared only through a system reset.

Note

  • For more details regarding the inputs for each TRIPx, refer the device’s TRM.

4.15.4.1.4. CLB Xbar

The CLB X-BAR brings signals to the CLB modules. The CLB X-BAR has eight outputs that are routed to each CLB module denoted as AUXSIGx where x = 1 to 8. There is one instance of CLB-Xbar per AUXSIG input.

CLB Xbar architecture

Fig. 4.72 CLB Xbar architecture

The CLB Xbar provides the following features:

  • Selection of multiple inputs : Multiple inputs can be configured as input to an individual AUXSIGx.

  • Inversion at the final output stage : The output of the AUXSIGx at the final output stage can be inverted.

  • Locking of CLB Xbar : The input output configurations of the entire CLB Xbar can be locked. Once locked, it can be cleared only through a system reset.

Note

  • For more details regarding the inputs for each AUXSIGx refer the device’s TRM.

4.15.4.1.5. MINDB and ICL Xbar

The Illegal Combo Logic (ICL) X-BAR and Minimum Dead-band (MINDB) X-BAR are used to route various EPWM signals and CLB outputs to the Minimum Dead-band and Illegal Combination Logic sub-module of the EPWM. The MINDB Xbar has 16 outputs denoted as MINDBXBARx where x = 1 to 16. The ICL Xbar has 16 outputs denoted as ICLXBARx where x = 1 to 16.

MINDB and ICL Xbar architecture

Fig. 4.73 MINDB and ICL Xbar

The MINDB and ICL Xbars provides the following features:

  • Selection of multiple inputs : Multiple inputs can be configured as input to an individual output lines.

  • Inversion at the final output stage : The output of the MINDBXBARx and ICLXBARx at the final output stage can be inverted.

  • Locking of MINDB and ICL Xbars : The input output configurations of the entire MINDB Xbar/ICL Xbar can be locked. Once locked, it can be cleared only through a system reset.

Note

  • For more details regarding the inputs for each MINDBXBARx / ICLXBARx, refer the device’s TRM.

4.15.4.1.6. Xbar Input Flags

With the exception of the CMPSS signals, the ePWM Xbar and the Output Xbar have all of the same input signals. Due to the inputs being similar between the ePWM Xbar, CLB Xbar, and Output Xbar, all Xbar modules leverage a single set of input flags to indicate which input signals have been triggered. This allows software to check the input flags when an event occurs. There is a bit allocated for each input signal in one of the XBARFLGx registers. The flag remains set until cleared through the appropriate XBARCLRx register.

Xbar Input Sources

Fig. 4.74 Xbar Input Sources

4.15.4.2. Not supported Features

  • The output stretching, output inversion before locking, selection of latched event as output of the Output Xbar is affected by the locking of the Output Xbar, i.e., once locked these configurations cannot be changed.

4.15.4.3. Non compliance

None

4.15.5. Source files

📦f29h85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┃ ┣ 📂BSW_Stubs
┃ ┣ 📂Adc
┃ ┣ 📂Can
┃ ┗ 📂Cdd_Xbar
┃ ┃ ┣ 📂include
┃ ┃ ┃ ┣ 📜Cdd_Xbar.h : Contains the API declarations of the Cdd Xbar driver to be used by upper layers.
┃ ┃ ┃ ┗ 📜Cdd_Xbar_Priv.h : Contains data structures and Internal function declarations.
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┣ 📜Cdd_Xbar.c : Contains the implementation of the API for Cdd Xbar driver.
┃ ┃ ┃ ┗ 📜Cdd_Xbar_Priv.c : Contains Functions that support the API for Cdd Xbar driver
┃ ┃ ┗ 📜CMakeLists.txt
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┣ 📂hw_include
┃ ┣ 📂Mcal_Lib
┃ ┣ 📂Mcu
┃ ┣ 📂Port
┃ ┣ 📂Spi
┃ ┗ 📂Wdg
┣ 📂examples
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json

Cdd Xbar Header File Structure

Fig. 4.75 Cdd Xbar Header File Structure

4.15.6. Module requirements

4.15.6.1. Memory Mapping

Will be added in later release

4.15.6.2. Scheduling

None

4.15.6.3. Error handling

4.15.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.15.6.4. Error codes

Type of Error

Related Error code

Value (Hex)

API called for reinitialization of already initialized crossbars.

CDD_XBAR_E_INIT_ALREADY

0x01

API called with invalid parameter.

CDD_XBAR_E_PARAM_VALUE

0x02

API called with invalid parameter pointer.

CDD_XBAR_E_PARAM_POINTER

0x03

API called with invalid operations on a locked crossbar.

CDD_XBAR_E_LOCK

0x04

API called with uninitialized driver.

CDD_XBAR_E_UNINIT

0x05

4.15.7. Used resources

4.15.7.1. Interrupt Handling

There are no Interrupts in Cdd Xbar

4.15.7.2. Instance support

CPU instances

supported

CPU 1

YES

CPU 2

NO

CPU 3

NO

4.15.7.3. Hardware-Software Mapping

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

Cdd Xbar HW/SW Mapping

Fig. 4.76 Cdd Xbar HW/SW Mapping

4.15.8. Integration description

4.15.8.1. Dependent modules

4.15.8.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 CDD_XBAR_DEV_ERROR_DETECT will activate or deactivate the detection of all development errors.

4.15.8.1.2. PORT

PORT Module is required to initialize Pin configurations for Input Xbar inputs(GPIOs, AIOs) and OUTPUTXBARx.

4.15.8.1.3. MCU

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

4.15.8.2. Multi-core and Resource allocator

Not Supported

4.15.9. Configuration

The Cdd Xbar Driver implementation supports single configuration variants, namely Pre-Compile config. The driver expects generated Cdd_Xbar_Cfg.h to be present as input file. The associated Cdd Xbar driver configuration generated source file is Cdd_Xbar_Cfg.c.

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

Note

Refer section Getting Started with EB Tresos of Chapter MCAL Configuration and EB Tresos for more information on how to load plugin and generate the configuration files.

4.15.9.1. Migration Guide to v2.0.0 from v1.0.0

To align with AUTOSAR CDD naming convention, we have named Module Name as Cdd and apiServicePrefix as Cdd_Xbar. This results in change in schema as described below.

To make v1.0.0 Xbar schema(generated .xdm file) compatible with v2.0.0 below changes are required:

  1. Change ‘AR-ELEMENT’ name from Cdd_Xbar to Cdd.

  2. Update MODULE-CONFIGURATION path from ‘ASPath:/TI_F29H85x/Cdd_Xbar’ to ‘ASPath:/TI_F29H85x/Cdd_Xbar/Cdd’.

Earlier schema:
<d:lst type="TOP-LEVEL-PACKAGES">
<d:ctr name="Cdd_Xbar" type="AR-PACKAGE">
<d:lst type="ELEMENTS">
<d:chc name="Cdd_Xbar" type="AR-ELEMENT" value="MODULE-CONFIGURATION">
<d:ctr type="MODULE-CONFIGURATION">
<a:a name="DEF" value="ASPath:/TI_F29H85x/Cdd_Xbar"/>

Modified new schema:
<d:lst type="TOP-LEVEL-PACKAGES">
<d:ctr name="Cdd_Xbar" type="AR-PACKAGE">
<d:lst type="ELEMENTS">
<d:chc name="Cdd" type="AR-ELEMENT" value="MODULE-CONFIGURATION">
<d:ctr type="MODULE-CONFIGURATION">
<a:a name="DEF" value="ASPath:/TI_F29H85x/Cdd_Xbar/Cdd"/>

4.15.9.2. CddXbarConfiguration

This container contains the configuration parameters and sub containers of the CDD XBar module.

4.15.9.2.1. CddXbarInputXbarConfig

Configuration for Input Crossbar

4.15.9.2.2. CddXbarInputXbarInstanceConfig

Configuration for Input Crossbar instance, one per output line available

4.15.9.2.2.1. CddXbarInputXbarInputSourceSelection

Item

Name

CddXbarInputXbarInputSourceSelection

Description

Selects GPIO/AIO or LOGIC HIGH or LOGIC LOW as input to the input xbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_GPIO_AIO

Range

CDD_XBAR_GPIO_AIO
CDD_XBAR_LOGIC_HIGH
CDD_XBAR_LOGIC_LOW

4.15.9.2.2.2. CddXbarInputXbarInput

Item

Name

CddXbarInputXbarInput

Description

Input number of input crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_INPUT1

Range

CDD_XBAR_INPUT1
CDD_XBAR_INPUT2
CDD_XBAR_INPUT3
CDD_XBAR_INPUT4
CDD_XBAR_INPUT5
CDD_XBAR_INPUT6
CDD_XBAR_INPUT7
CDD_XBAR_INPUT8
CDD_XBAR_INPUT9
CDD_XBAR_INPUT10
CDD_XBAR_INPUT11
CDD_XBAR_INPUT12
CDD_XBAR_INPUT13
CDD_XBAR_INPUT14
CDD_XBAR_INPUT15
CDD_XBAR_INPUT16
CDD_XBAR_INPUT17
CDD_XBAR_INPUT18
CDD_XBAR_INPUT19
CDD_XBAR_INPUT20
CDD_XBAR_INPUT21
CDD_XBAR_INPUT22
CDD_XBAR_INPUT23
CDD_XBAR_INPUT24
CDD_XBAR_INPUT25
CDD_XBAR_INPUT26
CDD_XBAR_INPUT27
CDD_XBAR_INPUT28
CDD_XBAR_INPUT29
CDD_XBAR_INPUT30
CDD_XBAR_INPUT31
CDD_XBAR_INPUT32
CDD_XBAR_INPUT33
CDD_XBAR_INPUT34
CDD_XBAR_INPUT35
CDD_XBAR_INPUT36
CDD_XBAR_INPUT37
CDD_XBAR_INPUT38
CDD_XBAR_INPUT39
CDD_XBAR_INPUT40
CDD_XBAR_INPUT41
CDD_XBAR_INPUT42
CDD_XBAR_INPUT43
CDD_XBAR_INPUT44
CDD_XBAR_INPUT45
CDD_XBAR_INPUT46
CDD_XBAR_INPUT47
CDD_XBAR_INPUT48
CDD_XBAR_INPUT49
CDD_XBAR_INPUT50
CDD_XBAR_INPUT51
CDD_XBAR_INPUT52
CDD_XBAR_INPUT53
CDD_XBAR_INPUT54
CDD_XBAR_INPUT55
CDD_XBAR_INPUT56
CDD_XBAR_INPUT57
CDD_XBAR_INPUT58
CDD_XBAR_INPUT59
CDD_XBAR_INPUT60
CDD_XBAR_INPUT61
CDD_XBAR_INPUT62
CDD_XBAR_INPUT63
CDD_XBAR_INPUT64

4.15.9.2.2.3. CddXbarInputXbarInputSelectConfigurationLock

Item

Name

CddXbarInputXbarInputSelectConfigurationLock

Description

Option to lock the current Input Group for any further configuration on Input Crossbar until System Reset. Once locked, cannot be unlocked without reset.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.2.4. CddXbarInputXbarInputSource

Item

Name

CddXbarInputXbarInputSource

Description

Reference to GPIO/AIO Pin, obtained from the configuration of PORT plugin.

Multiplicity-Configuration-Class

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.15.9.2.3. CddXbarOutputXbarConfig

Configuration for Output Crossbar

4.15.9.2.3.1. CddXbarOutputXbarConfigurationLock

Item

Name

CddXbarOutputXbarConfigurationLock

Description

Option to lock the Output crossbar instance for any further input and output inversion configuration until System Reset. Cannot be unlocked once locked unless reset.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.4. CddXbarOutputXbarInstanceConfig

Configuration for Output Crossbar Instance, one per output line available

4.15.9.2.4.1. CddXbarOutputXbarOutputLine

Item

Name

CddXbarOutputXbarOutputLine

Description

Number of Output Line instance to be set for Output Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_OUTPUT1

Range

CDD_XBAR_OUTPUT1
CDD_XBAR_OUTPUT2
CDD_XBAR_OUTPUT3
CDD_XBAR_OUTPUT4
CDD_XBAR_OUTPUT5
CDD_XBAR_OUTPUT6
CDD_XBAR_OUTPUT7
CDD_XBAR_OUTPUT8
CDD_XBAR_OUTPUT9
CDD_XBAR_OUTPUT10
CDD_XBAR_OUTPUT11
CDD_XBAR_OUTPUT12
CDD_XBAR_OUTPUT13
CDD_XBAR_OUTPUT14
CDD_XBAR_OUTPUT15
CDD_XBAR_OUTPUT16

4.15.9.2.4.2. CddXbarOutputXbarOutputPulseStretch

Item

Name

CddXbarOutputXbarOutputPulseStretch

Description

Output Line pulse stretch in Sys Clock ticks for Output Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_SYSTICKS_STRETCH_OFF

Range

CDD_XBAR_SYSTICKS_STRETCH_OFF
CDD_XBAR_SYSTICKS_16
CDD_XBAR_SYSTICKS_32

4.15.9.2.4.3. CddXbarOutputXbarOutputInversion

Item

Name

CddXbarOutputXbarOutputInversion

Description

Option to invert the output signal for the selected output line of the Output Crossbar instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.4.4. CddXbarOutputXbarOutputLatch

Item

Name

CddXbarOutputXbarOutputLatch

Description

Option to select latch as output of selected output line for Output Crossbar instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.5. CddXbarOutputXbarInput

Configuration for Output Crossbar Instance inputs

4.15.9.2.5.1. CddXbarOutputXbarInputGroup

Item

Name

CddXbarOutputXbarInputGroup

Description

Number of Input Group to be chosen for Output Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_INPUT_GROUP_0

Range

CDD_XBAR_INPUT_GROUP_0
CDD_XBAR_INPUT_GROUP_1
CDD_XBAR_INPUT_GROUP_2
CDD_XBAR_INPUT_GROUP_3
CDD_XBAR_INPUT_GROUP_4
CDD_XBAR_INPUT_GROUP_5
CDD_XBAR_INPUT_GROUP_6
CDD_XBAR_INPUT_GROUP_7
CDD_XBAR_INPUT_GROUP_8
CDD_XBAR_INPUT_GROUP_9

4.15.9.2.5.2. CddXbarOutputXbarInputLine

Item

Name

CddXbarOutputXbarInputLine

Description

Number of Input Line from the Group selected to be chosen for Output Crossbar.

Multiplicity-Configuration-Class

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_OUT_CMPSS1_CTRIPOUTH

Range

CDD_XBAR_OUT_CMPSS1_CTRIPOUTH

4.15.9.2.6. CddXbarOutputXbarOutputFlagConfig

Configuration for output crossbar output latch

4.15.9.2.6.1. CddXbarOutputXbarInversionBeforeLatch

Item

Name

CddXbarOutputXbarInversionBeforeLatch

Description

Option to invert the signal before latching for the selected output line for Output Crossbar instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.6.2. CddXbarOutputXbarOutputLatchInitSts

Item

Name

CddXbarOutputXbarOutputLatchInitSts

Description

Force or clear the output latch of individual output line for Output Crossbar during initialization

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_OUTPUTDEFAULT

Range

CDD_XBAR_OUTPUTDEFAULT
CDD_XBAR_OUTPUTCLEARFLAG
CDD_XBAR_OUTPUTFORCEFLAG

4.15.9.2.7. CddXbarEpwmXbarConfig

Configuration for EPWM Crossbar

4.15.9.2.7.1. CddXbarEpwmXbarConfigurationLock

Item

Name

CddXbarEpwmXbarConfigurationLock

Description

Option to lock the EPWM crossbar instance for any further configuration until System Reset. Cannot be unlocked once locked unless reset.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.8. CddXbarEpwmXbarInstanceConfig

Configuration for EPWM Crossbar Instance, one per output line available

4.15.9.2.8.1. CddXbarEpwmXbarOutputLine

Item

Name

CddXbarEpwmXbarOutputLine

Description

Number of Output Line instance to be set for EPWM Crossbar. TRIP1 is reserved.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_TRIP2

Range

CDD_XBAR_TRIP2
CDD_XBAR_TRIP3
CDD_XBAR_TRIP4
CDD_XBAR_TRIP5
CDD_XBAR_TRIP6
CDD_XBAR_TRIP7
CDD_XBAR_TRIP8
CDD_XBAR_TRIP9
CDD_XBAR_TRIP10
CDD_XBAR_TRIP11
CDD_XBAR_TRIP12
CDD_XBAR_TRIP13
CDD_XBAR_TRIP14
CDD_XBAR_TRIP15
CDD_XBAR_TRIP16

4.15.9.2.8.2. CddXbarEpwmXbarOutputInversion

Item

Name

CddXbarEpwmXbarOutputInversion

Description

Option to invert the output signal for the selected output line of the EPWM Crossbar instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.9. CddXbarEpwmXbarInput

Configuration for EPWM Crossbar Instance inputs

4.15.9.2.9.1. CddXbarEpwmXbarInputGroup

Item

Name

CddXbarEpwmXbarInputGroup

Description

Number of Input Group to be chosen for EPWM Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_INPUT_GROUP_0

Range

CDD_XBAR_INPUT_GROUP_0
CDD_XBAR_INPUT_GROUP_1
CDD_XBAR_INPUT_GROUP_2
CDD_XBAR_INPUT_GROUP_3
CDD_XBAR_INPUT_GROUP_4
CDD_XBAR_INPUT_GROUP_5
CDD_XBAR_INPUT_GROUP_6
CDD_XBAR_INPUT_GROUP_7
CDD_XBAR_INPUT_GROUP_8
CDD_XBAR_INPUT_GROUP_9

4.15.9.2.9.2. CddXbarEpwmXbarInputLine

Item

Name

CddXbarEpwmXbarInputLine

Description

Number of Input Line from the Group selected to be chosen for EPWM Crossbar.

Multiplicity-Configuration-Class

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_EPWM_CMPSS1_CTRIPH

Range

CDD_XBAR_EPWM_CMPSS1_CTRIPH

4.15.9.2.10. CddXbarClbXbarConfig

Configuration for CLB Crossbar

4.15.9.2.10.1. CddXbarClbXbarConfigurationLock

Item

Name

CddXbarClbXbarConfigurationLock

Description

Option to lock the CLB crossbar instance for any further configuration until System Reset. Cannot be unlocked once locked unless reset.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.11. CddXbarClbXbarInstanceConfig

Configuration for CLB Crossbar Instance, one per output line available

4.15.9.2.11.1. CddXbarClbXbarOutputLine

Item

Name

CddXbarClbXbarOutputLine

Description

Number of Output Line instance to be set for CLB Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_AUXSIG1

Range

CDD_XBAR_AUXSIG1
CDD_XBAR_AUXSIG2
CDD_XBAR_AUXSIG3
CDD_XBAR_AUXSIG4
CDD_XBAR_AUXSIG5
CDD_XBAR_AUXSIG6
CDD_XBAR_AUXSIG7
CDD_XBAR_AUXSIG8

4.15.9.2.11.2. CddXbarClbXbarOutputInversion

Item

Name

CddXbarClbXbarOutputInversion

Description

Option to invert the output signal for the selected output line of the CLB Crossbar instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.12. CddXbarClbXbarInput

Configuration for CLB Crossbar Instance inputs

4.15.9.2.12.1. CddXbarClbXbarInputGroup

Item

Name

CddXbarClbXbarInputGroup

Description

Number of Input Group to be chosen for CLB Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_INPUT_GROUP_0

Range

CDD_XBAR_INPUT_GROUP_0
CDD_XBAR_INPUT_GROUP_1
CDD_XBAR_INPUT_GROUP_2
CDD_XBAR_INPUT_GROUP_3
CDD_XBAR_INPUT_GROUP_4
CDD_XBAR_INPUT_GROUP_5
CDD_XBAR_INPUT_GROUP_6
CDD_XBAR_INPUT_GROUP_7

4.15.9.2.12.2. CddXbarClbXbarInputLine

Item

Name

CddXbarClbXbarInputLine

Description

Number of Input Line from the Group selected to be chosen for CLB Crossbar.

Multiplicity-Configuration-Class

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_CLB_CMPSS1_CTRIPH

Range

CDD_XBAR_CLB_CMPSS1_CTRIPH

4.15.9.2.13. CddXbarMindbXbarConfig

Configuration for MINDB Crossbar

4.15.9.2.13.1. CddXbarMindbXbarConfigurationLock

Item

Name

CddXbarMindbXbarConfigurationLock

Description

Option to lock the MINDB crossbar instance for any further configuration until System Reset. Cannot be unlocked once locked unless reset.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.14. CddXbarMindbXbarInstanceConfig

Configuration for MINDB Crossbar Instance, one per output line available

4.15.9.2.14.1. CddXbarMindbXbarOutputLine

Item

Name

CddXbarMindbXbarOutputLine

Description

Number of Output Line instance to be set for MINDB Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_MINDBXBAR1

Range

CDD_XBAR_MINDBXBAR1
CDD_XBAR_MINDBXBAR2
CDD_XBAR_MINDBXBAR3
CDD_XBAR_MINDBXBAR4
CDD_XBAR_MINDBXBAR5
CDD_XBAR_MINDBXBAR6
CDD_XBAR_MINDBXBAR7
CDD_XBAR_MINDBXBAR8
CDD_XBAR_MINDBXBAR9
CDD_XBAR_MINDBXBAR10
CDD_XBAR_MINDBXBAR11
CDD_XBAR_MINDBXBAR12
CDD_XBAR_MINDBXBAR13
CDD_XBAR_MINDBXBAR14
CDD_XBAR_MINDBXBAR15
CDD_XBAR_MINDBXBAR16

4.15.9.2.14.2. CddXbarMindbXbarOutputInversion

Item

Name

CddXbarMindbXbarOutputInversion

Description

Option to invert the output signal for the selected output line of the MINDB Crossbar instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.15. CddXbarMindbXbarInput

Configuration for MINDB Crossbar Instance inputs

4.15.9.2.15.1. CddXbarMindbXbarInputGroup

Item

Name

CddXbarMindbXbarInputGroup

Description

Number of Input Group to be chosen for MINDB Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_INPUT_GROUP_0

Range

CDD_XBAR_INPUT_GROUP_0
CDD_XBAR_INPUT_GROUP_1
CDD_XBAR_INPUT_GROUP_2

4.15.9.2.15.2. CddXbarMindbXbarInputLine

Item

Name

CddXbarMindbXbarInputLine

Description

Number of Input Line from the Group selected to be chosen for MINDB Crossbar.

Multiplicity-Configuration-Class

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_MINDB_EPWM1A_DB_NO_HR

Range

CDD_XBAR_MINDB_EPWM1A_DB_NO_HR

4.15.9.2.16. CddXbarIclXbarConfig

Configuration for ICL Crossbar

4.15.9.2.16.1. CddXbarIclXbarConfigurationLock

Item

Name

CddXbarIclXbarConfigurationLock

Description

Option to lock the ICL crossbar instance for any further configuration until System Reset. Cannot be unlocked once locked unless reset.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.17. CddXbarIclXbarInstanceConfig

Configuration for ICL Crossbar Instance, one per output line available

4.15.9.2.17.1. CddXbarIclXbarOutputLine

Item

Name

CddXbarIclXbarOutputLine

Description

Number of Output Line instance to be set for ICL Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_ICLXBAR1

Range

CDD_XBAR_ICLXBAR1
CDD_XBAR_ICLXBAR2
CDD_XBAR_ICLXBAR3
CDD_XBAR_ICLXBAR4
CDD_XBAR_ICLXBAR5
CDD_XBAR_ICLXBAR6
CDD_XBAR_ICLXBAR7
CDD_XBAR_ICLXBAR8
CDD_XBAR_ICLXBAR9
CDD_XBAR_ICLXBAR10
CDD_XBAR_ICLXBAR11
CDD_XBAR_ICLXBAR12
CDD_XBAR_ICLXBAR13
CDD_XBAR_ICLXBAR14
CDD_XBAR_ICLXBAR15
CDD_XBAR_ICLXBAR16

4.15.9.2.17.2. CddXbarIclXbarOutputInversion

Item

Name

CddXbarIclXbarOutputInversion

Description

Option to invert the output signal for the selected output line of the ICL Crossbar instance.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.2.18. CddXbarIclXbarInput

Configuration for ICL Crossbar Instance inputs

4.15.9.2.18.1. CddXbarIclXbarInputGroup

Item

Name

CddXbarIclXbarInputGroup

Description

Number of Input Group to be chosen for ICL Crossbar.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_INPUT_GROUP_0

Range

CDD_XBAR_INPUT_GROUP_0
CDD_XBAR_INPUT_GROUP_1
CDD_XBAR_INPUT_GROUP_2

4.15.9.2.18.2. CddXbarIclXbarInputLine

Item

Name

CddXbarIclXbarInputLine

Description

Number of Input Line from the Group selected to be chosen for ICL Crossbar.

Multiplicity-Configuration-Class

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

CDD_XBAR_ICL_EPWM1A_MINDB

Range

CDD_XBAR_ICL_EPWM1A_MINDB

4.15.9.3. CddXbarGeneral

Contains the general configuration parameters of the module.

4.15.9.3.1. CddXbarDevErrorDetect

Item

Name

CddXbarDevErrorDetect

Description

Switches the Development Error Detection and Reporting ON or OFF for this module.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.15.9.3.2. CddXbarAPIEnable

Item

Name

CddXbarAPIEnable

Description

Enables or Disables the APIs of this module.

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.15.9.3.3. CddXbarVersionInfoApi

Item

Name

CddXbarVersionInfoApi

Description

Switches the Cdd_Xbar_GetVersionInfo function ON or OFF.

Multiplicity-Configuration-Class

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.15.9.4. Steps To Configure Cdd Xbar Module

  1. Open EB Tresos configurator tool.

  2. Go to Cdd Xbar Container tab and the specific Xbar which needs to be configured.

  3. For Input Xbar, create a new container, select the Input Xbar source to be selected as input which is configured in the PORT configurator, INPUTx to be configured and select the lock configuration if required.

  4. For Output Xbar, create a new container, select the Output XBAR configurations as required. For configuring the inputs, open the created container and go to CddXbarOutputXbarInput and create containers for the input group that needs to be selected. Open the created container for a group, go to the CddXbarOutputXbarInputLine and select the inputs that needs to be configured.

  5. For ePWM Xbar, create a new container, select the ePWM XBAR configurations as required. For configuring the inputs, open the created container and go to CddXbarEpwmXbarInput and create containers for the input group that needs to be selected. Open the created container for a group, go to the CddXbarEpwmXbarInputLine and select the inputs that needs to be configured.

  6. For CLB Xbar, create a new container, select the CLB XBAR configurations as required. For configuring the inputs, open the created container and go to CddXbarClbXbarInput and create containers for the input group that needs to be selected. Open the created container for a group, go to the CddXbarClbXbarInputLine and select the inputs that needs to be configured.

  7. For MINDB Xbar, create a new container, select the MINDB XBAR configurations as required. For configuring the inputs, open the created container and go to CddXbarMindbXbarInput and create containers for the input group that needs to be selected. Open the created container for a group, go to the CddXbarMindbXbarInputLine and select the inputs that needs to be configured.

  8. For ICL Xbar, create a new container, select the ICL XBAR configurations as required. For configuring the inputs, open the created container and go to CddXbarIclXbarInput and create containers for the input group that needs to be selected. Open the created container for a group, go to the CddXbarIclXbarInputLine and select the inputs that needs to be configured.

  9. Save the configuration and generate the configuration.

4.15.10. Examples

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

4.15.10.1. Overview

  • Cdd_Xbar_GpioToGpio

    • EcuM_Init()

      • Initializes clock to 200 MHz using Mcu_Init().

      • Initializes the input pins for Input Xbar and the OUTPUTXBARx using Port_Init().

      • Initializes the Xbar configurations according to the configurations selected in the configurator.

    • Cdd_Xbar_GetVersionInfo will get the software version info details.

    • Cdd_Xbar_SelectInput will select/deselect the inputs for the specific Xbar.

    • Cdd_Xbar_LockStatus will return the lock status of the specific Xbar.

    • Cdd_Xbar_Lock will lock the specific Xbar.

4.15.10.2. Setup required to run example

  • 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.15.10.3. How to run examples

  • Open CCS and import Cdd Xbar Example

  • Build project and start debug project

4.15.10.4. Sample Log

Sample Application - STARTS !!!
CDD XBAR MCAL Version Info
---------------------
Vendor ID           : 44
Module ID           : 255
SW Major Version    : 2
SW Minor Version    : 0
SW Patch Version    : 1
-------------------------------------------- 
Checking lock status of INPUT XBAR1 
INPUT XBAR1 is locked 
-------------------------------------------- 
Checking lock status of INPUT XBAR2 
INPUT XBAR2 is not locked 
Selecting GPIO4 as input to INPUT XBAR2 
GPIO4 is selected as input to INPUT XBAR2 
-------------------------------------------- 
Checking lock status of OUTPUT XBAR 
Selecting INPUT XBAR2 as input to OUTPUT XBAR2 
INPUT XBAR2 is selected as input to OUTPUT XBAR2 
=================================================================================
PASS: GPIO0(INPUT XBAR1) and GPIO4(INPUT XBAR2) are routed to GPIO2(OUTPUT XBAR1) 

4.15.10.5. File Structure

📦f29h85x_mcal
┣ 📂build
┣ 📂docs
┣ 📂drivers
┣ 📂examples
┃ ┣ 📂AppUtils
┃ ┣ 📂Adc
┃ ┣ 📂Can
┃ ┣ 📂DeviceSupport
┃ ┣ 📂Dio
┃ ┣ 📂Gpt
┃ ┣ 📂Lin
┃ ┣ 📂Mcu
┃ ┣ 📂Port
┃ ┣ 📂Spi
┃ ┣ 📂Wdg
┃ ┣ 📂Cdd Xbar
┃ ┃ ┗ 📂 Cdd_Xbar_GpioToGpio
┃ ┃ ┃ ┣ 📂ccs
┃ ┃ ┃ ┃ ┗ 📜Cdd_Xbar_GpioToGpio.projectspec
┃ ┃ ┃ ┣ 📂Cdd_Xbar_GpioToGpio_Config
┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Dio.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Os.xdm
┃ ┃ ┃ ┃ ┃ ┣ 📜Port.xdm
┃ ┃ ┃ ┃ ┃ ┗ 📜Cdd_Xbar.xdm : Generated EB Tresos config file in .xdm format
┃ ┃ ┃ ┃ ┣ 📂include
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Dio_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.h
┃ ┃ ┃ ┃ ┃ ┣ 📜Port_Cfg.h
┃ ┃ ┃ ┃ ┃ ┗ 📜Cdd_Xbar_Cfg.h : Contains the generated pre-compiler configuration header
┃ ┃ ┃ ┃ ┣ 📂src
┃ ┃ ┃ ┃ ┃ ┣ 📜Dem_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Dio_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜EcuM_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Mcu_PBcfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Os_Cfg.c
┃ ┃ ┃ ┃ ┃ ┣ 📜Port_Cfg.c
┃ ┃ ┃ ┃ ┃ ┗ 📜Cdd_Xbar_Cfg.c : Contains the generated pre-compiler configuration source
┃ ┃ ┃ ┃ ┗ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜CMakeLists.txt
┃ ┃ ┃ ┣ 📜Cdd_Xbar_GpioToGpio.h : Contains data structures and Internal function declarations
┃ ┃ ┗ ┗ 📜Cdd_Xbar_GpioToGpio.c: Example application for Cdd Xbar
┃ ┗ 📜CMakeLists.txt
┣ 📂plugins
┣ 📜CMakeLists.txt
┗ 📜CMakePresets.json