XBAR Module

The crossbar or X-BAR API is a set of functions to configure the three X-BARs on the device–the Input X-BAR, the Output X-BAR, and the ePWM X-BAR. The X-BARs route both signals from pins and internal signals from IP blocks to a degree beyond what is possible with GPIO muxing alone. Functions are provided by the API to configure the various muxes, enable and disable signals, and lock in the configurations selected.

group xbar_api

Defines

XBAR_EPWM_CFG_REG_BASE (EPWMXBAR_BASE + XBAR_O_TRIP4MUX0TO15CFG)
XBAR_EPWM_EN_REG_BASE (EPWMXBAR_BASE + XBAR_O_TRIP4MUXENABLE)
XBAR_CLB_CFG_REG_BASE (CLBXBAR_BASE + XBAR_O_AUXSIG0MUX0TO15CFG)
XBAR_CLB_EN_REG_BASE (CLBXBAR_BASE + XBAR_O_AUXSIG0MUXENABLE)
XBAR_INPUT_FLG_INPUT_M 0x00FFU
XBAR_INPUT_FLG_REG_M 0xFF00U
XBAR_INPUT_FLG_REG_1 0x0000U
XBAR_INPUT_FLG_REG_2 0x0100U
XBAR_INPUT_FLG_REG_3 0x0200U
XBAR_INPUT_FLG_REG_4 0x0300U
XBAR_GPIO_MAX_CNT 46U
XBAR_GPIO_AIO_MIN_CNT 224U
XBAR_GPIO_AIO_MAX_CNT 245U
XBAR_NON_GPIO_MIN_CNT 0xFFFDU
XBAR_NON_GPIO_MAX_CNT 0xFFFFU
XBAR_MUX00 0x00000001U

Mask for X-BAR mux 0.

XBAR_MUX01 0x00000002U

Mask for X-BAR mux 1.

XBAR_MUX02 0x00000004U

Mask for X-BAR mux 2.

XBAR_MUX03 0x00000008U

Mask for X-BAR mux 3.

XBAR_MUX04 0x00000010U

Mask for X-BAR mux 4.

XBAR_MUX05 0x00000020U

Mask for X-BAR mux 5.

XBAR_MUX06 0x00000040U

Mask for X-BAR mux 6.

XBAR_MUX07 0x00000080U

Mask for X-BAR mux 7.

XBAR_MUX08 0x00000100U

Mask for X-BAR mux 8.

XBAR_MUX09 0x00000200U

Mask for X-BAR mux 9.

XBAR_MUX10 0x00000400U

Mask for X-BAR mux 10.

XBAR_MUX11 0x00000800U

Mask for X-BAR mux 11.

XBAR_MUX12 0x00001000U

Mask for X-BAR mux 12.

XBAR_MUX13 0x00002000U

Mask for X-BAR mux 13.

XBAR_MUX14 0x00004000U

Mask for X-BAR mux 14.

XBAR_MUX15 0x00008000U

Mask for X-BAR mux 15.

XBAR_MUX16 0x00010000U

Mask for X-BAR mux 16.

XBAR_MUX17 0x00020000U

Mask for X-BAR mux 17.

XBAR_MUX18 0x00040000U

Mask for X-BAR mux 18.

XBAR_MUX19 0x00080000U

Mask for X-BAR mux 19.

XBAR_MUX20 0x00100000U

Mask for X-BAR mux 20.

XBAR_MUX21 0x00200000U

Mask for X-BAR mux 21.

XBAR_MUX22 0x00400000U

Mask for X-BAR mux 22.

XBAR_MUX23 0x00800000U

Mask for X-BAR mux 23.

XBAR_MUX24 0x01000000U

Mask for X-BAR mux 24.

XBAR_MUX25 0x02000000U

Mask for X-BAR mux 25.

XBAR_MUX26 0x04000000U

Mask for X-BAR mux 26.

XBAR_MUX27 0x08000000U

Mask for X-BAR mux 27.

XBAR_MUX28 0x10000000U

Mask for X-BAR mux 28.

XBAR_MUX29 0x20000000U

Mask for X-BAR mux 29.

XBAR_MUX30 0x40000000U

Mask for X-BAR mux 30.

XBAR_MUX31 0x80000000U

Mask for X-BAR mux 31.

Enums

enum XBAR_OutputNum

The following values define the output parameter for XBAR_setOutputMuxConfig(), XBAR_enableOutputMux(), and XBAR_disableOutputMux().

Values:

enumerator XBAR_OUTPUT1 = 0

OUTPUT1 of the Output X-BAR.

enumerator XBAR_OUTPUT2 = 2

OUTPUT2 of the Output X-BAR.

enumerator XBAR_OUTPUT3 = 4

OUTPUT3 of the Output X-BAR.

enumerator XBAR_OUTPUT4 = 6

OUTPUT4 of the Output X-BAR.

enumerator XBAR_OUTPUT5 = 8

OUTPUT5 of the Output X-BAR.

enumerator XBAR_OUTPUT6 = 10

OUTPUT6 of the Output X-BAR.

enumerator XBAR_OUTPUT7 = 12

OUTPUT7 of the Output X-BAR.

enumerator XBAR_OUTPUT8 = 14

OUTPUT8 of the Output X-BAR.

enum XBAR_TripNum

The following values define the trip parameter for XBAR_setEPWMMuxConfig(), XBAR_enableEPWMMux(), and XBAR_disableEPWMMux().

Values:

enumerator XBAR_TRIP4 = 0

TRIP4 of the ePWM X-BAR.

enumerator XBAR_TRIP5 = 2

TRIP5 of the ePWM X-BAR.

enumerator XBAR_TRIP7 = 4

TRIP7 of the ePWM X-BAR.

enumerator XBAR_TRIP8 = 6

TRIP8 of the ePWM X-BAR.

enumerator XBAR_TRIP9 = 8

TRIP9 of the ePWM X-BAR.

enumerator XBAR_TRIP10 = 10

TRIP10 of the ePWM X-BAR.

enumerator XBAR_TRIP11 = 12

TRIP11 of the ePWM X-BAR.

enumerator XBAR_TRIP12 = 14

TRIP12 of the ePWM X-BAR.

enum XBAR_AuxSigNum

Values:

enumerator XBAR_AUXSIG0 = 0
enumerator XBAR_AUXSIG1 = 2
enumerator XBAR_AUXSIG2 = 4
enumerator XBAR_AUXSIG3 = 6
enumerator XBAR_AUXSIG4 = 8
enumerator XBAR_AUXSIG5 = 10
enumerator XBAR_AUXSIG6 = 12
enumerator XBAR_AUXSIG7 = 14
enum XBAR_InputNum

The following values define the input parameter for XBAR_setInputPin().

Values:

enumerator XBAR_INPUT1

ePWM[TZ1], ePWM[TRIP1], X-BARs, eCAPs

enumerator XBAR_INPUT2

ePWM[TZ2], ePWM[TRIP2], X-BARs, eCAPs

enumerator XBAR_INPUT3

ePWM[TZ3], ePWM[TRIP3], X-BARs, eCAPs

enumerator XBAR_INPUT4

ADC wrappers, X-BARs, XINT1, eCAPs.

enumerator XBAR_INPUT5

EXTSYNCIN1, X-BARs, XINT2, eCAPs.

enumerator XBAR_INPUT6

EXTSYNCIN2, ePWM[TRIP6], X-BARs, XINT3, eCAPs.

enumerator XBAR_INPUT7

X-BARs, eCAPs.

enumerator XBAR_INPUT8

X-BARs, eCAPs.

enumerator XBAR_INPUT9

X-BARs, eCAPs.

enumerator XBAR_INPUT10

X-BARs, eCAPs.

enumerator XBAR_INPUT11

X-BARs, eCAPs.

enumerator XBAR_INPUT12

X-BARs, eCAPs.

enumerator XBAR_INPUT13

XINT4, X-BARs, eCAPs.

enumerator XBAR_INPUT14

XINT5, X-BARs, eCAPs.

enumerator XBAR_INPUT15

eCAPs

enumerator XBAR_INPUT16

eCAPs

enum XBAR_OutputMuxConfig

The following values define the muxConfig parameter for XBAR_setOutputMuxConfig().

Values:

enumerator XBAR_OUT_MUX00_CMPSS1_CTRIPOUTH = 0x0000
enumerator XBAR_OUT_MUX00_CMPSS1_CTRIPOUTH_OR_L = 0x0001
enumerator XBAR_OUT_MUX00_ADCAEVT1 = 0x0002
enumerator XBAR_OUT_MUX00_ECAP1_OUT = 0x0003
enumerator XBAR_OUT_MUX01_CMPSS1_CTRIPOUTL = 0x0200
enumerator XBAR_OUT_MUX01_INPUTXBAR1 = 0x0201
enumerator XBAR_OUT_MUX01_CLB1_OUT4 = 0x0202
enumerator XBAR_OUT_MUX01_ADCCEVT1 = 0x0203
enumerator XBAR_OUT_MUX02_CMPSS2_CTRIPOUTH = 0x0400
enumerator XBAR_OUT_MUX02_CMPSS2_CTRIPOUTH_OR_L = 0x0401
enumerator XBAR_OUT_MUX02_ADCAEVT2 = 0x0402
enumerator XBAR_OUT_MUX02_ECAP2_OUT = 0x0403
enumerator XBAR_OUT_MUX03_CMPSS2_CTRIPOUTL = 0x0600
enumerator XBAR_OUT_MUX03_INPUTXBAR2 = 0x0601
enumerator XBAR_OUT_MUX03_CLB1_OUT5 = 0x0602
enumerator XBAR_OUT_MUX03_ADCCEVT2 = 0x0603
enumerator XBAR_OUT_MUX04_CMPSS3_CTRIPOUTH = 0x0800
enumerator XBAR_OUT_MUX04_CMPSS3_CTRIPOUTH_OR_L = 0x0801
enumerator XBAR_OUT_MUX04_ADCAEVT3 = 0x0802
enumerator XBAR_OUT_MUX04_ECAP3_OUT = 0x0803
enumerator XBAR_OUT_MUX05_CMPSS3_CTRIPOUTL = 0x0A00
enumerator XBAR_OUT_MUX05_INPUTXBAR3 = 0x0A01
enumerator XBAR_OUT_MUX05_CLB2_OUT4 = 0x0A02
enumerator XBAR_OUT_MUX05_ADCCEVT3 = 0x0A03
enumerator XBAR_OUT_MUX06_CMPSS4_CTRIPOUTH = 0x0C00
enumerator XBAR_OUT_MUX06_CMPSS4_CTRIPOUTH_OR_L = 0x0C01
enumerator XBAR_OUT_MUX06_ADCAEVT4 = 0x0C02
enumerator XBAR_OUT_MUX07_CMPSS4_CTRIPOUTL = 0x0E00
enumerator XBAR_OUT_MUX07_INPUTXBAR4 = 0x0E01
enumerator XBAR_OUT_MUX07_CLB2_OUT5 = 0x0E02
enumerator XBAR_OUT_MUX07_ADCCEVT4 = 0x0E03
enumerator XBAR_OUT_MUX09_INPUTXBAR5 = 0x1201
enumerator XBAR_OUT_MUX11_INPUTXBAR6 = 0x1601
enumerator XBAR_OUT_MUX14_EXTSYNCOUT = 0x1C03
enumerator XBAR_OUT_MUX13_ADCSOCA = 0x1A01
enumerator XBAR_OUT_MUX15_ADCSOCB = 0x1E01
enumerator XBAR_OUT_MUX00_CLB1_OUT0 = 0x0000
enumerator XBAR_OUT_MUX01_CLB1_OUT1 = 0x0200
enumerator XBAR_OUT_MUX02_CLB1_OUT2 = 0x0400
enumerator XBAR_OUT_MUX03_CLB1_OUT3 = 0x0600
enumerator XBAR_OUT_MUX04_CLB1_OUT4 = 0x0800
enumerator XBAR_OUT_MUX05_CLB1_OUT5 = 0x0A00
enumerator XBAR_OUT_MUX06_CLB1_OUT6 = 0x0C00
enumerator XBAR_OUT_MUX07_CLB1_OUT7 = 0x0E00
enumerator XBAR_OUT_MUX08_CLB2_OUT0 = 0x1000
enumerator XBAR_OUT_MUX09_CLB2_OUT1 = 0x1200
enumerator XBAR_OUT_MUX10_CLB2_OUT2 = 0x1400
enumerator XBAR_OUT_MUX11_CLB2_OUT3 = 0x1600
enumerator XBAR_OUT_MUX12_CLB2_OUT4 = 0x1800
enumerator XBAR_OUT_MUX13_CLB2_OUT5 = 0x1A00
enumerator XBAR_OUT_MUX14_CLB2_OUT6 = 0x1C00
enumerator XBAR_OUT_MUX15_CLB2_OUT7 = 0x1E00
enum XBAR_EPWMMuxConfig

The following values define the muxConfig parameter for XBAR_setEPWMMuxConfig().

Values:

enumerator XBAR_EPWM_MUX00_CMPSS1_CTRIPH = 0x0000
enumerator XBAR_EPWM_MUX00_CMPSS1_CTRIPH_OR_L = 0x0001
enumerator XBAR_EPWM_MUX00_ADCAEVT1 = 0x0002
enumerator XBAR_EPWM_MUX00_ECAP1_OUT = 0x0003
enumerator XBAR_EPWM_MUX01_CMPSS1_CTRIPL = 0x0200
enumerator XBAR_EPWM_MUX01_INPUTXBAR1 = 0x0201
enumerator XBAR_EPWM_MUX01_CLB1_OUT4 = 0x0202
enumerator XBAR_EPWM_MUX01_ADCCEVT1 = 0x0203
enumerator XBAR_EPWM_MUX02_CMPSS2_CTRIPH = 0x0400
enumerator XBAR_EPWM_MUX02_CMPSS2_CTRIPH_OR_L = 0x0401
enumerator XBAR_EPWM_MUX02_ADCAEVT2 = 0x0402
enumerator XBAR_EPWM_MUX02_ECAP2_OUT = 0x0403
enumerator XBAR_EPWM_MUX03_CMPSS2_CTRIPL = 0x0600
enumerator XBAR_EPWM_MUX03_INPUTXBAR2 = 0x0601
enumerator XBAR_EPWM_MUX03_CLB1_OUT5 = 0x0602
enumerator XBAR_EPWM_MUX03_ADCCEVT2 = 0x0603
enumerator XBAR_EPWM_MUX04_CMPSS3_CTRIPH = 0x0800
enumerator XBAR_EPWM_MUX04_CMPSS3_CTRIPH_OR_L = 0x0801
enumerator XBAR_EPWM_MUX04_ADCAEVT3 = 0x0802
enumerator XBAR_EPWM_MUX04_ECAP3_OUT = 0x0803
enumerator XBAR_EPWM_MUX05_CMPSS3_CTRIPL = 0x0A00
enumerator XBAR_EPWM_MUX05_INPUTXBAR3 = 0x0A01
enumerator XBAR_EPWM_MUX05_CLB2_OUT4 = 0x0A02
enumerator XBAR_EPWM_MUX05_ADCCEVT3 = 0x0A03
enumerator XBAR_EPWM_MUX06_CMPSS4_CTRIPH = 0x0C00
enumerator XBAR_EPWM_MUX06_CMPSS4_CTRIPH_OR_L = 0x0C01
enumerator XBAR_EPWM_MUX06_ADCAEVT4 = 0x0C02
enumerator XBAR_EPWM_MUX07_CMPSS4_CTRIPL = 0x0E00
enumerator XBAR_EPWM_MUX07_INPUTXBAR4 = 0x0E01
enumerator XBAR_EPWM_MUX07_CLB2_OUT5 = 0x0E02
enumerator XBAR_EPWM_MUX07_ADCCEVT4 = 0x0E03
enumerator XBAR_EPWM_MUX09_INPUTXBAR5 = 0x1201
enumerator XBAR_EPWM_MUX11_INPUTXBAR6 = 0x1601
enumerator XBAR_EPWM_MUX13_ADCSOCA = 0x1A01
enumerator XBAR_EPWM_MUX14_EXTSYNCOUT = 0x1C03
enumerator XBAR_EPWM_MUX15_ADCSOCB = 0x1E01
enumerator XBAR_EPWM_MUX17_INPUTXBAR7 = 0x2201
enumerator XBAR_EPWM_MUX19_INPUTXBAR8 = 0x2601
enumerator XBAR_EPWM_MUX21_INPUTXBAR9 = 0x2A01
enumerator XBAR_EPWM_MUX23_INPUTXBAR10 = 0x2E01
enumerator XBAR_EPWM_MUX25_INPUTXBAR11 = 0x3201
enumerator XBAR_EPWM_MUX27_INPUTXBAR12 = 0x3601
enumerator XBAR_EPWM_MUX29_INPUTXBAR13 = 0x3A01
enumerator XBAR_EPWM_MUX31_INPUTXBAR14 = 0x3E01
enum XBAR_CLBMuxConfig

Values:

enumerator XBAR_CLB_MUX00_CMPSS1_CTRIPH = 0x0000
enumerator XBAR_CLB_MUX00_CMPSS1_CTRIPH_OR_L = 0x0001
enumerator XBAR_CLB_MUX00_ADCAEVT1 = 0x0002
enumerator XBAR_CLB_MUX00_ECAP1_OUT = 0x0003
enumerator XBAR_CLB_MUX01_CMPSS1_CTRIPL = 0x0200
enumerator XBAR_CLB_MUX01_INPUTXBAR1 = 0x0201
enumerator XBAR_CLB_MUX01_CLB1_OUT4 = 0x0202
enumerator XBAR_CLB_MUX01_ADCCEVT1 = 0x0203
enumerator XBAR_CLB_MUX02_CMPSS2_CTRIPH = 0x0400
enumerator XBAR_CLB_MUX02_CMPSS2_CTRIPH_OR_L = 0x0401
enumerator XBAR_CLB_MUX02_ADCAEVT2 = 0x0402
enumerator XBAR_CLB_MUX02_ECAP2_OUT = 0x0403
enumerator XBAR_CLB_MUX03_CMPSS2_CTRIPL = 0x0600
enumerator XBAR_CLB_MUX03_INPUTXBAR2 = 0x0601
enumerator XBAR_CLB_MUX03_CLB1_OUT5 = 0x0602
enumerator XBAR_CLB_MUX03_ADCCEVT2 = 0x0603
enumerator XBAR_CLB_MUX04_CMPSS3_CTRIPH = 0x0800
enumerator XBAR_CLB_MUX04_CMPSS3_CTRIPH_OR_L = 0x0801
enumerator XBAR_CLB_MUX04_ADCAEVT3 = 0x0802
enumerator XBAR_CLB_MUX04_ECAP3_OUT = 0x0803
enumerator XBAR_CLB_MUX05_CMPSS3_CTRIPL = 0x0A00
enumerator XBAR_CLB_MUX05_INPUTXBAR3 = 0x0A01
enumerator XBAR_CLB_MUX05_CLB2_OUT4 = 0x0A02
enumerator XBAR_CLB_MUX05_ADCCEVT3 = 0x0A03
enumerator XBAR_CLB_MUX06_CMPSS4_CTRIPH = 0x0C00
enumerator XBAR_CLB_MUX06_CMPSS4_CTRIPH_OR_L = 0x0C01
enumerator XBAR_CLB_MUX06_ADCAEVT4 = 0x0C02
enumerator XBAR_CLB_MUX07_CMPSS4_CTRIPL = 0x0E00
enumerator XBAR_CLB_MUX07_INPUTXBAR4 = 0x0E01
enumerator XBAR_CLB_MUX07_CLB2_OUT5 = 0x0E02
enumerator XBAR_CLB_MUX07_ADCCEVT4 = 0x0E03
enumerator XBAR_CLB_MUX09_INPUTXBAR5 = 0x1201
enumerator XBAR_CLB_MUX11_INPUTXBAR6 = 0x1601
enumerator XBAR_CLB_MUX13_ADCSOCA = 0x1A01
enumerator XBAR_CLB_MUX14_EXTSYNCOUT = 0x1C03
enumerator XBAR_CLB_MUX15_ADCSOCB = 0x1E01
enumerator XBAR_CLB_MUX17_INPUTXBAR7 = 0x2201
enumerator XBAR_CLB_MUX19_INPUTXBAR8 = 0x2601
enumerator XBAR_CLB_MUX21_INPUTXBAR9 = 0x2A01
enumerator XBAR_CLB_MUX23_INPUTXBAR10 = 0x2E01
enumerator XBAR_CLB_MUX25_INPUTXBAR11 = 0x3201
enumerator XBAR_CLB_MUX27_INPUTXBAR12 = 0x3601
enumerator XBAR_CLB_MUX29_INPUTXBAR13 = 0x3A01
enumerator XBAR_CLB_MUX31_INPUTXBAR14 = 0x3E01
enum XBAR_InputFlag

The following values define the inputFlag parameter for XBAR_getInputFlagStatus() and XBAR_clearInputFlag().

Values:

enumerator XBAR_INPUT_FLG_CMPSS1_CTRIPL = 0x0000
enumerator XBAR_INPUT_FLG_CMPSS1_CTRIPH = 0x0001
enumerator XBAR_INPUT_FLG_CMPSS2_CTRIPL = 0x0002
enumerator XBAR_INPUT_FLG_CMPSS2_CTRIPH = 0x0003
enumerator XBAR_INPUT_FLG_CMPSS3_CTRIPL = 0x0004
enumerator XBAR_INPUT_FLG_CMPSS3_CTRIPH = 0x0005
enumerator XBAR_INPUT_FLG_CMPSS4_CTRIPL = 0x0006
enumerator XBAR_INPUT_FLG_CMPSS4_CTRIPH = 0x0007
enumerator XBAR_INPUT_FLG_CMPSS1_CTRIPOUTL = 0x0010
enumerator XBAR_INPUT_FLG_CMPSS1_CTRIPOUTH = 0x0011
enumerator XBAR_INPUT_FLG_CMPSS2_CTRIPOUTL = 0x0012
enumerator XBAR_INPUT_FLG_CMPSS2_CTRIPOUTH = 0x0013
enumerator XBAR_INPUT_FLG_CMPSS3_CTRIPOUTL = 0x0014
enumerator XBAR_INPUT_FLG_CMPSS3_CTRIPOUTH = 0x0015
enumerator XBAR_INPUT_FLG_CMPSS4_CTRIPOUTL = 0x0016
enumerator XBAR_INPUT_FLG_CMPSS4_CTRIPOUTH = 0x0017
enumerator XBAR_INPUT_FLG_INPUT1 = 0x0100
enumerator XBAR_INPUT_FLG_INPUT2 = 0x0101
enumerator XBAR_INPUT_FLG_INPUT3 = 0x0102
enumerator XBAR_INPUT_FLG_INPUT4 = 0x0103
enumerator XBAR_INPUT_FLG_INPUT5 = 0x0104
enumerator XBAR_INPUT_FLG_INPUT6 = 0x0105
enumerator XBAR_INPUT_FLG_ADCSOCA = 0x0106
enumerator XBAR_INPUT_FLG_ADCSOCB = 0x0107
enumerator XBAR_INPUT_FLG_INPUT7 = 0x0108
enumerator XBAR_INPUT_FLG_INPUT8 = 0x0109
enumerator XBAR_INPUT_FLG_INPUT9 = 0x010A
enumerator XBAR_INPUT_FLG_INPUT10 = 0x010B
enumerator XBAR_INPUT_FLG_INPUT11 = 0x010C
enumerator XBAR_INPUT_FLG_INPUT12 = 0x010D
enumerator XBAR_INPUT_FLG_INPUT13 = 0x010E
enumerator XBAR_INPUT_FLG_INPUT14 = 0x010F
enumerator XBAR_INPUT_FLG_ECAP1_OUT = 0x0110
enumerator XBAR_INPUT_FLG_ECAP2_OUT = 0x0111
enumerator XBAR_INPUT_FLG_ECAP3_OUT = 0x0112
enumerator XBAR_INPUT_FLG_EXTSYNCOUT = 0x0116
enumerator XBAR_INPUT_FLG_ADCAEVT1 = 0x0117
enumerator XBAR_INPUT_FLG_ADCAEVT2 = 0x0118
enumerator XBAR_INPUT_FLG_ADCAEVT3 = 0x0119
enumerator XBAR_INPUT_FLG_ADCAEVT4 = 0x011A
enumerator XBAR_INPUT_FLG_ADCCEVT1 = 0x011F
enumerator XBAR_INPUT_FLG_ADCCEVT2 = 0x0200
enumerator XBAR_INPUT_FLG_ADCCEVT3 = 0x0201
enumerator XBAR_INPUT_FLG_ADCCEVT4 = 0x0202
enumerator XBAR_INPUT_FLG_CLB1_OUT4 = 0x0310
enumerator XBAR_INPUT_FLG_CLB1_OUT5 = 0x0311
enumerator XBAR_INPUT_FLG_CLB2_OUT4 = 0x0312
enumerator XBAR_INPUT_FLG_CLB2_OUT5 = 0x0313

Functions

void XBAR_enableOutputMux(uint32_t base, XBAR_OutputNum output, uint32_t muxes)

Enables the Output X-BAR mux values to be passed to the output signal.

This function enables the mux values to be passed to the X-BAR output signal. The

output parameter is a value XBAR_OUTPUTy where y is the output number between 1 and 8 inclusive.
Parameters
  • base: specifies the X-BAR Enable register base address.

  • output: is the X-BAR output being configured.

  • muxes: is a bit field of the muxes to be enabled.

The base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.

The muxes parameter is a bit field of the muxes being enabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be OR’d together to enable several muxes on an output at the same time. For example, passing this function ( XBAR_MUX04 | XBAR_MUX10 ) would enable muxes 4 and 10.

Return

None.

void XBAR_disableOutputMux(uint32_t base, XBAR_OutputNum output, uint32_t muxes)

Disables the Output X-BAR mux values from being passed to the output.

This function disables the mux values from being passed to the X-BAR output signal. The

output parameter is a value XBAR_OUTPUTy where y is the output number between 1 and 8 inclusive.
Parameters
  • base: specifies the X-BAR Enable Register base address.

  • output: is the X-BAR output being configured.

  • muxes: is a bit field of the muxes to be disabled.

The base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.

The muxes parameter is a bit field of the muxes being disabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be OR’d together to disable several muxes on an output at the same time. For example, passing this function ( XBAR_MUX04 | XBAR_MUX10 ) would disable muxes 4 and 10.

Return

None.

void XBAR_setOutputLatchMode(uint32_t base, XBAR_OutputNum output, bool enable)

Enables or disables the output latch to drive the selected output.

The

base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.
Parameters
  • base: specifies the X-BAR base address.

  • output: is the X-BAR output being configured.

  • enable: is a flag that determines whether or not the latch is selected to drive the X-BAR output.

This function sets the Output X-BAR output signal latch mode. If the enable parameter is true, the output specified by output will be driven by the output latch.

Return

None.

bool XBAR_getOutputLatchStatus(uint32_t base, XBAR_OutputNum output)

Returns the status of the output latch

The

base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.
Parameters
  • base: specifies the X-BAR base address.

  • output: is the X-BAR output being checked.

Return

Returns true if the output corresponding to output was triggered. If not, it will return false.

void XBAR_clearOutputLatch(uint32_t base, XBAR_OutputNum output)

Clears the output latch for the specified output.

The

base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.
Parameters
  • base: specifies the X-BAR base address.

  • output: is the X-BAR output being configured.

This function clears the Output X-BAR output latch. The output to be configured is specified by the output parameter.

Return

None.

void XBAR_forceOutputLatch(uint32_t base, XBAR_OutputNum output)

Forces the output latch for the specified output.

The

base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.
Parameters
  • base: specifies the X-BAR base address.

  • output: is the X-BAR output being configured.

This function forces the Output X-BAR output latch. The output to be configured is specified by the output parameter.

Return

None.

void XBAR_invertOutputSignal(uint32_t base, XBAR_OutputNum output, bool invert)

Configures the polarity of an Output X-BAR output.

The

base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.
Parameters
  • base: specifies the X-BAR base address.

  • output: is the X-BAR output being configured.

  • invert: is a flag that determines whether the output is active-high or active-low.

This function inverts the Output X-BAR signal if the invert parameter is true. If invert is false, the signal will be passed as is. The output parameter is a value XBAR_OUTPUTy where y is the output number between 1 and 8 inclusive.

Return

None.

void XBAR_enableEPWMMux(XBAR_TripNum trip, uint32_t muxes)

Enables the ePWM X-BAR mux values to be passed to an ePWM module.

This function enables the mux values to be passed to the X-BAR trip signal. The

trip parameter is a value XBAR_TRIPy where y is the number of the trip signal on the ePWM.
Parameters
  • trip: is the X-BAR output being configured.

  • muxes: is a bit field of the muxes to be enabled.

The muxes parameter is a bit field of the muxes being enabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to enable several muxes on an output at the same time.

Return

None.

void XBAR_disableEPWMMux(XBAR_TripNum trip, uint32_t muxes)

Disables the ePWM X-BAR mux values to be passed to an ePWM module.

This function disables the mux values to be passed to the X-BAR trip signal. The

trip parameter is a value XBAR_TRIPy where y is the number of the trip signal on the ePWM.
Parameters
  • trip: is the X-BAR output being configured.

  • muxes: is a bit field of the muxes to be disabled.

The muxes parameter is a bit field of the muxes being disabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to disable several muxes on an output at the same time.

Return

None.

void XBAR_invertEPWMSignal(XBAR_TripNum trip, bool invert)

Configures the polarity of an ePWM X-BAR output.

This function inverts the ePWM X-BAR trip signal if the

invert parameter is true. If invert is false, the signal will be passed as is. The trip parameter is a value XBAR_TRIPy where y is the number of the trip signal on the ePWM X-BAR that is being configured.
Parameters
  • trip: is the X-BAR output being configured.

  • invert: is a flag that determines whether the output is active-high or active-low.

Return

None.

void XBAR_setInputPin(uint32_t base, XBAR_InputNum input, uint16_t pin)

Sets the GPIO / non-GPIO pin for an Input X-BAR input.

The

base parameter can take base addresses INPUTXBAR_BASE or CLBINPUTXBAR_BASE.
Parameters
  • base: specifies the X-BAR base address.

  • input: is the X-BAR input being configured.

  • pin: is the identifying number of the pin.

This function configures which GPIO is assigned to an Input X-BAR input. The input parameter is a value in the form of a define XBAR_INPUTy where y is a the input number for the Input X-BAR.

The pin is specified by its numerical value. For example, GPIO34 is specified by passing 34 as pin.

For the other non - GPIO values: 0xFFFD: ‘1’ will be driven to the destination 0xFFFE: ‘1’ will be driven to the destination 0xFFFF: ‘0’ will be driven to the destination NOTE: Pin value greater than the available number of GPIO pins on a device (except 0xFFFF) will cause the destination to be driven ‘1’.

Return

None.

void XBAR_lockInput(uint32_t base, XBAR_InputNum input)

Locks an input to the Input X-BAR.

This function locks the specific input on the Input X-BAR.

Parameters
  • base: specifies the X-BAR base address.

  • input: is an input to the Input X-BAR.

The base parameter can take base addresses INPUTXBAR_BASE or CLBINPUTXBAR_BASE .

Return

None.

void XBAR_lockOutput(uint32_t base)

Locks the Output X-BAR.

The

base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.
Parameters
  • base: specifies the X-BAR base address. This function locks the Output X-BAR.

Return

None.

void XBAR_lockEPWM(void)

Locks the ePWM X-BAR.

This function locks the ePWM X-BAR.

Return

None.

void XBAR_enableCLBMux(XBAR_AuxSigNum auxSignal, uint32_t muxes)

Enables the CLB X-BAR mux values to be passed to an CLB module.

This function enables the mux values to be passed to the X-BAR auxSignal signal. The

auxSignal parameter is a value XBAR_AUXSIGy where y is the number of the signal on the CLB.
Parameters
  • auxSignal: is the X-BAR output being configured.

  • muxes: is a bit field of the muxes to be enabled.

The muxes parameter is a bit field of the muxes being enabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to enable several muxes on an output at the same time.

Return

None.

void XBAR_disableCLBMux(XBAR_AuxSigNum auxSignal, uint32_t muxes)

Disables the CLB X-BAR mux values to be passed to an CLB module.

This function disables the mux values to be passed to the X-BAR auxSignal signal. The

auxSignal parameter is a value XBAR_AUXSIGy where y is the number of the signal on the CLB.
Parameters
  • auxSignal: is the X-BAR output being configured.

  • muxes: is a bit field of the muxes to be disabled.

The muxes parameter is a bit field of the muxes being disabled where bit 0 represents mux 0, bit 1 represents mux 1 and so on. Defines are provided in the form of XBAR_MUXnn that can be logically OR’d together to disable several muxes on an output at the same time.

Return

None.

void XBAR_invertCLBSignal(XBAR_AuxSigNum auxSignal, bool invert)

Configures the polarity of an CLB X-BAR output.

This function inverts the CLB X-BAR auxSignal signal if the

invert parameter is true. If invert is false, the signal will be passed as is. The auxSignal parameter is a value XBAR_AUXSIGy where y is the number of the signal on the CLB X-BAR that is being configured.
Parameters
  • auxSignal: is the X-BAR output being configured.

  • invert: is a flag that determines whether the output is active-high or active-low.

Return

None.

void XBAR_setOutputMuxConfig(uint32_t base, XBAR_OutputNum output, XBAR_OutputMuxConfig muxConfig)

Configures the Output X-BAR mux that determines the signals passed to an output.

This function configures an Output X-BAR mux. This determines which signal(s) should be passed through the X-BAR to a GPIO. The

output parameter is a value XBAR_OUTPUTy where y is a the output number between 1 and 8 inclusive.
Parameters
  • base: specifies the X-BAR Config Register base address.

  • output: is the X-BAR output being configured.

  • muxConfig: is mux configuration that specifies the signal.

The base parameter can take base addresses OUTPUTXBAR_BASE or CLBOUTPUTXBAR_BASE.

The muxConfig parameter for OUTPUT XBAR is the mux configuration value that specifies which signal will be passed from the mux. The values have the format of XBAR_OUT_MUXnn_xx where the ‘xx’ is the signal and nn is the mux number.

The muxConfig parameter for the CLB OUTPUT XBAR have the similar format as XBAR_OUT_MUXnn_xx where the ‘xx’ is the signal and nn is the mux number.

This function may be called for each mux of an output and their values will be logically OR’d before being passed to the output signal. This means that this function may be called, for example, with the argument XBAR_OUT_MUX00_ECAP1_OUT and then with the argument XBAR_OUT_MUX01_INPUTXBAR1, resulting in the values of MUX00 and MUX01 being logically OR’d if both are enabled. Calling the function twice for the same mux on the output will result in the configuration in the second call overwriting the first.

Return

None.

void XBAR_setEPWMMuxConfig(XBAR_TripNum trip, XBAR_EPWMMuxConfig muxConfig)

Configures the ePWM X-BAR mux that determines the signals passed to an ePWM module.

This function configures an ePWM X-BAR mux. This determines which signal(s) should be passed through the X-BAR to an ePWM module. The

trip parameter is a value XBAR_TRIPy where y is a the number of the trip signal on the ePWM.
Parameters
  • trip: is the X-BAR output being configured.

  • muxConfig: is mux configuration that specifies the signal.

The muxConfig parameter is the mux configuration value that specifies which signal will be passed from the mux. The values have the format of XBAR_EPWM_MUXnn_xx where the ‘xx’ is the signal and nn is the mux number (0 through 31). The possible values are found in xbar.h

This function may be called for each mux of an output and their values will be logically OR’d before being passed to the trip signal. This means that this function may be called, for example, with the argument XBAR_EPWM_MUX00_ECAP1_OUT and then with the argument XBAR_EPWM_MUX01_INPUTXBAR1, resulting in the values of MUX00 and MUX03 being logically OR’d if both are enabled. Calling the function twice for the same mux on the output will result in the configuration in the second call overwriting the first.

Return

None.

bool XBAR_getInputFlagStatus(XBAR_InputFlag inputFlag)

Returns the status of the input latch.

Return

Returns true if the X-BAR input corresponding to the inputFlag has been triggered. If not, it will return false.

Parameters
  • inputFlag: is the X-BAR input latch being checked. Values are in the format of /b XBAR_INPUT_FLG_XXXX where “XXXX” is name of the signal.

void XBAR_clearInputFlag(XBAR_InputFlag inputFlag)

Clears the input latch for the specified input latch.

This function clears the Input X-BAR input latch. The input latch to be cleared is specified by the

inputFlag parameter.
Parameters
  • inputFlag: is the X-BAR input latch being cleared.

Return

None.

void XBAR_setCLBMuxConfig(XBAR_AuxSigNum auxSignal, XBAR_CLBMuxConfig muxConfig)

Configures the CLB X-BAR mux that determines the signals passed to a CLB module.

This function configures an CLB X-BAR mux. This determines which signal(s) should be passed through the X-BAR to an CLB module. The

auxSignal parameter is a value XBAR_AUXSIGy where y is a the number of the signal on the CLB.
Parameters
  • auxSignal: is the X-BAR output being configured.

  • muxConfig: is mux configuration that specifies the signal.

The muxConfig parameter is the mux configuration value that specifies which signal will be passed from the mux. The values have the format of XBAR_CLB_MUXnn_xx where the ‘xx’ is the signal and nn is the mux number (0 through 31). The possible values are found in xbar.h

This function may be called for each mux of an output and their values will be logically OR’d before being passed to the signal. This means that this function may be called, for example, with the argument XBAR_CLB_MUX00_ECAP1_OUT and then with the argument XBAR_CLB_MUX03_INPUTXBAR2, resulting in the values of MUX00 and MUX03 being logically OR’d if both are enabled. Calling the function twice for the same mux on the output will result in the configuration in the second call overwriting the first.

Return

None.

The functions used to configure the ePWM and the Output X-BAR are identifiable as their names will either contain the word EPWM or Output. Both of these X-BARs have multiple output signals that have 32 associated muxes. The select signal of these muxes is configured using the XBAR_setEPWMMuxConfig() and XBAR_setOutputMuxConfig() functions. Each of these mux signals can be enabled and disabled before they are logically OR’d together to arrive at the output signal using XBAR_enableOutputMux() and XBAR_disableOutputMux() and XBAR_enableEPWMMux() and XBAR_disableEPWMMux().

The functions XBAR_getInputFlagStatus() and XBAR_clearInputFlag(), despite their names, are not related to the Input X-BAR. They provide a way to get and clear the status of the signals that are inputs to the ePWM and Output X-BARs. Since these two X-BARs share nearly all of their inputs, they share this set of flags.

The Input X-BAR takes a signal of a GPIO and routes it to an IP block destination. This pin can be selected for each input using the XBAR_setInputPin() function. Note that the descriptions for the values of the XBAR_InputNum enumerated type provide a list of the possible destinations for each input.

The code for this module is contained in driverlib/xbar.c, with driverlib/xbar.h containing the API declarations for use by applications.