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.

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.

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.

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.

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.

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.

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.

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

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.

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:
Change ‘AR-ELEMENT’ name from Cdd_Xbar to Cdd.
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
Open EB Tresos configurator tool.
Go to Cdd Xbar Container tab and the specific Xbar which needs to be configured.
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.
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.
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.
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.
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.
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.
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