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.
-
enumerator
-
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.
-
enumerator
-
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¶
-
enumerator
-
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
-
enumerator
-
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¶
-
enumerator
-
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¶
-
enumerator
-
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¶
-
enumerator
-
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¶
-
enumerator
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.