Loading [MathJax]/extensions/tex2jax.js
XMC Peripheral Library for XMC1000 Family
All Data Structures Functions Variables Typedefs Enumerations Enumerator Modules Pages
Brightness and Color Control Unit(BCCU)

Data Structures

struct  XMC_BCCU_CH_CONFIG_t
 
struct  XMC_BCCU_DIM_CONFIG_t
 
struct  XMC_BCCU_GLOBAL_CONFIG_t
 
struct  XMC_BCCU_TRIG_CONFIG_t
 

Typedefs

typedef BCCU_CH_Type XMC_BCCU_CH_t
 
typedef BCCU_DE_Type XMC_BCCU_DIM_t
 
typedef BCCU_Type XMC_BCCU_t
 

Enumerations

enum  XMC_BCCU_BCLK_MODE_t
 
enum  XMC_BCCU_CH_ACTIVE_LEVEL_t
 
enum  XMC_BCCU_CH_DIMMING_ENGINE_BYPASS_t
 
enum  XMC_BCCU_CH_DIMMING_SOURCE_t
 
enum  XMC_BCCU_CH_FLICKER_WD_t
 
enum  XMC_BCCU_CH_GATING_FUNC_t
 
enum  XMC_BCCU_CH_TRAP_EDGE_t
 
enum  XMC_BCCU_CH_TRAP_IN_t
 
enum  XMC_BCCU_CH_TRIG_EDGE_t
 
enum  XMC_BCCU_CH_TRIGOUT_t
 
enum  XMC_BCCU_DIM_CURVE_t
 
enum  XMC_BCCU_EVENT_STATUS_t
 
enum  XMC_BCCU_EVENT_t
 
enum  XMC_BCCU_STATUS_t
 
enum  XMC_BCCU_SUSPEND_MODE_t
 
enum  XMC_BCCU_TRAP_LEVEL_t
 
enum  XMC_BCCU_TRAP_STATUS_t
 
enum  XMC_BCCU_TRAPEDGE_t
 
enum  XMC_BCCU_TRIGDELAY_t
 
enum  XMC_BCCU_TRIGMODE_t
 

Functions

void XMC_BCCU_AbortDimming (XMC_BCCU_t *const bccu, uint32_t dim_no)
 
void XMC_BCCU_AbortLinearWalk (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
void XMC_BCCU_CH_ConfigTrigger (XMC_BCCU_CH_t *const channel, XMC_BCCU_CH_TRIG_EDGE_t edge, uint32_t force_trig_en)
 
void XMC_BCCU_CH_DisableDimmingBypass (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_DisableFlickerWatchdog (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_DisableGating (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_DisablePacker (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_EnableDimmingBypass (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_EnableFlickerWatchdog (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_EnableGating (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_EnablePacker (XMC_BCCU_CH_t *const channel, uint32_t thresh, uint32_t off_comp, uint32_t on_comp)
 
void XMC_BCCU_CH_Init (XMC_BCCU_CH_t *const channel, const XMC_BCCU_CH_CONFIG_t *const config)
 
uint32_t XMC_BCCU_CH_ReadIntensity (XMC_BCCU_CH_t *const channel)
 
uint32_t XMC_BCCU_CH_ReadPackerOffCompare (XMC_BCCU_CH_t *const channel)
 
uint32_t XMC_BCCU_CH_ReadPackerOnCompare (XMC_BCCU_CH_t *const channel)
 
uint32_t XMC_BCCU_CH_ReadPackerThreshold (XMC_BCCU_CH_t *const channel)
 
void XMC_BCCU_CH_SelectDimEngine (XMC_BCCU_CH_t *const channel, XMC_BCCU_CH_DIMMING_SOURCE_t sel)
 
void XMC_BCCU_CH_SetLinearWalkPrescaler (XMC_BCCU_CH_t *const channel, uint32_t clk_div)
 
void XMC_BCCU_CH_SetPackerOffCompare (XMC_BCCU_CH_t *const channel, uint32_t level)
 
void XMC_BCCU_CH_SetPackerOffCounter (XMC_BCCU_CH_t *const channel, uint32_t cnt_val)
 
void XMC_BCCU_CH_SetPackerOnCompare (XMC_BCCU_CH_t *const channel, uint32_t level)
 
void XMC_BCCU_CH_SetPackerOnCounter (XMC_BCCU_CH_t *const channel, uint32_t cnt_val)
 
void XMC_BCCU_CH_SetPackerThreshold (XMC_BCCU_CH_t *const channel, uint32_t val)
 
void XMC_BCCU_CH_SetTargetIntensity (XMC_BCCU_CH_t *const channel, uint32_t ch_int)
 
void XMC_BCCU_ClearEventFlag (XMC_BCCU_t *const bccu, uint32_t flag_type)
 
void XMC_BCCU_ConcurrentAbortDimming (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentAbortLinearWalk (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentConfigTrigger (XMC_BCCU_t *const bccu, XMC_BCCU_TRIG_CONFIG_t *trig)
 
void XMC_BCCU_ConcurrentDisableChannels (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentDisableDimmingEngine (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentDisableTrap (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentEnableChannels (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentEnableDimmingEngine (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentEnableTrap (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentSetOutputPassiveLevel (XMC_BCCU_t *const bccu, uint32_t chan_mask, XMC_BCCU_CH_ACTIVE_LEVEL_t level)
 
void XMC_BCCU_ConcurrentStartDimming (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConcurrentStartLinearWalk (XMC_BCCU_t *const bccu, uint32_t mask)
 
void XMC_BCCU_ConfigGlobalTrigger (XMC_BCCU_t *const bccu, XMC_BCCU_TRIGMODE_t mode, XMC_BCCU_TRIGDELAY_t delay)
 
void XMC_BCCU_ConfigSuspendMode (XMC_BCCU_t *const bccu, XMC_BCCU_SUSPEND_MODE_t mode)
 
void XMC_BCCU_DIM_ConfigDimCurve (XMC_BCCU_DIM_t *const dim_engine, uint32_t dither_en, XMC_BCCU_DIM_CURVE_t sel)
 
XMC_BCCU_DIM_CURVE_t XMC_BCCU_DIM_GetDimCurve (XMC_BCCU_DIM_t *const dim_engine)
 
void XMC_BCCU_DIM_Init (XMC_BCCU_DIM_t *const dim_engine, const XMC_BCCU_DIM_CONFIG_t *const config)
 
uint32_t XMC_BCCU_DIM_ReadDimDivider (XMC_BCCU_DIM_t *const dim_engine)
 
uint32_t XMC_BCCU_DIM_ReadDimmingLevel (XMC_BCCU_DIM_t *const dim_engine)
 
void XMC_BCCU_DIM_SetDimDivider (XMC_BCCU_DIM_t *const dim_engine, uint32_t div)
 
void XMC_BCCU_DIM_SetTargetDimmingLevel (XMC_BCCU_DIM_t *const dim_engine, uint32_t level)
 
void XMC_BCCU_DisableChannel (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
void XMC_BCCU_DisableChannelTrigger (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
void XMC_BCCU_DisableDimmingEngine (XMC_BCCU_t *const bccu, uint32_t dim_no)
 
void XMC_BCCU_DisableInterrupt (XMC_BCCU_t *const bccu, uint32_t event)
 
void XMC_BCCU_DisableTrap (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
void XMC_BCCU_EnableChannel (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
void XMC_BCCU_EnableChannelTrigger (XMC_BCCU_t *const bccu, uint32_t chan_no, XMC_BCCU_CH_TRIGOUT_t trig_line)
 
void XMC_BCCU_EnableDimmingEngine (XMC_BCCU_t *const bccu, uint32_t dim_no)
 
void XMC_BCCU_EnableInterrupt (XMC_BCCU_t *const bccu, uint32_t event)
 
void XMC_BCCU_EnableTrap (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
uint32_t XMC_BCCU_GetChannelOutputLvlAtLastTrigger (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
void XMC_BCCU_GlobalInit (XMC_BCCU_t *const bccu, const XMC_BCCU_GLOBAL_CONFIG_t *const config)
 
uint32_t XMC_BCCU_IsDimmingFinished (XMC_BCCU_t *const bccu, uint32_t dim_no)
 
uint32_t XMC_BCCU_IsDitherEnable (XMC_BCCU_DIM_t *const dim_engine)
 
uint32_t XMC_BCCU_IsLinearWalkComplete (XMC_BCCU_t *const bccu, uint32_t chan_no)
 
uint32_t XMC_BCCU_ReadBitClock (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadDimClock (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadEventFlag (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadFastClock (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadFlickerWDThreshold (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadGlobalTrigger (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadLastTrigChanNr (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadSuspendMode (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadTrapEdge (XMC_BCCU_t *const bccu)
 
uint32_t XMC_BCCU_ReadTrapInput (XMC_BCCU_t *const bccu)
 
void XMC_BCCU_SelectBitClock (XMC_BCCU_t *const bccu, XMC_BCCU_BCLK_MODE_t div)
 
void XMC_BCCU_SelectTrapInput (XMC_BCCU_t *const bccu, XMC_BCCU_CH_TRAP_IN_t input)
 
void XMC_BCCU_SetDimClockPrescaler (XMC_BCCU_t *const bccu, uint32_t div)
 
void XMC_BCCU_SetEventFlag (XMC_BCCU_t *const bccu, uint32_t flag_type)
 
void XMC_BCCU_SetFastClockPrescaler (XMC_BCCU_t *const bccu, uint32_t div)
 
void XMC_BCCU_SetFlickerWDThreshold (XMC_BCCU_t *const bccu, uint32_t threshold_no)
 
void XMC_BCCU_SetGlobalDimmingLevel (XMC_BCCU_t *const bccu, uint32_t level)
 
void XMC_BCCU_SetOutputPassiveLevel (XMC_BCCU_t *const bccu, uint32_t chan_no, XMC_BCCU_CH_ACTIVE_LEVEL_t level)
 
void XMC_BCCU_SetTrapEdge (XMC_BCCU_t *const bccu, XMC_BCCU_CH_TRAP_EDGE_t edge)
 
void XMC_BCCU_StartDimming (XMC_BCCU_t *const bccu, uint32_t dim_no)
 
void XMC_BCCU_StartLinearWalk (XMC_BCCU_t *const bccu, uint32_t chan_no)
 

Detailed Description

The Brightness and Color Control Unit (BCCU) is a dimming control peripheral for LED lighting applications. The BCCU module can be used to control multiple LED channels. Every channel generates one-bit sigma-delta bit stream with a user adjustable 12-bit average value. The dimming engine changes the brightness gradually (exponential curve) to appear natural to the human eye. It supports color control by adjusting the relative intensity of selected channels using a linear walk scheme for smooth color changes. It also supports high-power multi-channel LED lamps by optionally packing the bitstream. The optional packer which decreases the average rate of output switching by enforcing a defined on-time. The BCCU module generates two trigger signals to the ADC (BCCU_TRIGOUT0 and BCCU_TRIGOU1) to start conversions in a synchronized manner. The module can also be used as a multi-channel digital-analog converter with low-pass filters on the outputs. The BCCU module supports 3 independent dimming engines, 9 independent channels, Trap functions and 2 ADC triggering modes.

The driver is divided into global control (BCCU), channel control (BCCU_CH) and dimming control (BCCU_DIM).

BCCU features:

  1. Configuration structure XMC_BCCU_GLOBAL_CONFIG_t and initialization function XMC_BCCU_GlobalInit()
  2. Allows configuring of clock settings (Fast clock, Bit clock and Dimming clock). XMC_BCCU_SetFastClockPrescaler(),
  3. XMC_BCCU_SelectBitClock(), XMC_BCCU_SetDimClockPrescaler().
  4. Allows configuring global trigger settings. XMC_BCCU_ConfigGlobalTrigger()
  5. Allows enabling multiple channels together. XMC_BCCU_ConcurrentEnableChannels()
  6. Allows enabling single channel. XMC_BCCU_EnableChannel()
  7. Allows configuring global dimming level. XMC_BCCU_SetGlobalDimmingLevel()
  8. Starts linear walk for multiple channels together. XMC_BCCU_ConcurrentStartLinearWalk().
  9. Starts linear walk for single channel. XMC_BCCU_StartLinearWalk().
  10. Starts dimming for multiple dimming engines together. XMC_BCCU_ConcurrentStartDimming().
  11. Starts dimming for single dimming engine. XMC_BCCU_StartDimming().

BCCU_CH features:

  1. Configuration structure (XMC_BCCU_CH_t and initialization function XMC_BCCU_CH_Init()
  2. Allows selecting dimming engine. XMC_BCCU_CH_SelectDimEngine().
  3. Allows setting target channel intensity. XMC_BCCU_CH_SetTargetIntensity().
  4. Allows knowing the status of linear walk completion. XMC_BCCU_IsLinearWalkComplete()
  5. Allows setting flicker watchdog. XMC_BCCU_CH_EnableFlickerWatchdog().
  6. Allows configuring packer settings. XMC_BCCU_CH_EnablePacker(), XMC_BCCU_CH_SetPackerThreshold(), XMC_BCCU_CH_SetPackerOffCompare(), XMC_BCCU_CH_SetPackerOffCounte(), XMC_BCCU_CH_SetPackerOnCounter()
  7. Allows selecting dimming bypass. XMC_BCCU_CH_DisableDimmingBypass()

BCCU_DIM features:

  1. Configuration structure (XMC_BCCU_DIM_t and initialization function XMC_BCCU_DIM_Init()
  2. Allows setting target dimming engine intensity. XMC_BCCU_DIM_SetTargetDimmingLevel(). XMC_BCCU_DIM_SetTargetDimmingLevel
  3. Allows knowing the status of dimming completion. XMC_BCCU_IsDimmingFinished()
  4. Allows configuring dimming divider. XMC_BCCU_DIM_SetDimDivider()
  5. Allows configuring dimming curve. XMC_BCCU_DIM_ConfigDimCurve()

Recommended programming sequence:

  1. Set output passive and active levels using XMC_BCCU_ConcurrentSetOutputPassiveLevel() or XMC_BCCU_SetOutputPassiveLevel()
  2. Initializes global features using XMC_BCCU_GlobalInit()
  3. Initializes channel features using XMC_BCCU_CH_Init()
  4. Initializes dimming engine using XMC_BCCU_DIM_Init()
  5. Enable channels using XMC_BCCU_ConcurrentEnableChannels() or XMC_BCCU_EnableChannel()
  6. Enable dimming engines using XMC_BCCU_ConcurrentEnableDimmingEngine() or XMC_BCCU_EnableDimmingEngine()
  7. Configure channel linear walk prescaler using XMC_BCCU_CH_SetLinearWalkPrescaler()
  8. Configure dimming divider using XMC_BCCU_DIM_SetDimDivider()
  9. Set target intensities of channels using XMC_BCCU_CH_SetTargetIntensity()
  10. Set target dim levels of dimming engines using XMC_BCCU_DIM_SetTargetDimmingLevel()
  11. Start linear walk of the channels using XMC_BCCU_ConcurrentStartLinearWalk() or XMC_BCCU_StartLinearWalk()
  12. Start dimming of the dimming engines using XMC_BCCU_ConcurrentStartDimming() or XMC_BCCU_StartDimming()
  13. Check the status of linear walk completion using XMC_BCCU_IsLinearWalkComplete()
  14. Check the status of dimming completion XMC_BCCU_IsDimmingFinished()

Typedef Documentation

◆ XMC_BCCU_CH_t

typedef BCCU_CH_Type XMC_BCCU_CH_t

Redefinition of BCCU module channel structure; pointer to bccu module channel Base address

◆ XMC_BCCU_DIM_t

typedef BCCU_DE_Type XMC_BCCU_DIM_t

Redefinition of BCCU module dimming engine structure; pointer to bccu module dimming engine base address

◆ XMC_BCCU_t

typedef BCCU_Type XMC_BCCU_t

Redefinition of BCCU module structure; pointer to bccu module base address

Enumeration Type Documentation

◆ XMC_BCCU_BCLK_MODE_t

Provides the options to select bit clock mode.

Enumerator
XMC_BCCU_BCLK_MODE_NORMAL 

Normal Mode: Bit clock runs at 1/4 of fast clock

XMC_BCCU_BCLK_MODE_FAST 

Fast Mode: Bit clock runs at same as fast clock

◆ XMC_BCCU_CH_ACTIVE_LEVEL_t

Provides the options to select passive level of the channel output

Enumerator
XMC_BCCU_CH_ACTIVE_LEVEL_HIGH 

Default passive level of the channel is low

XMC_BCCU_CH_ACTIVE_LEVEL_LOW 

Default passive level of the channel is high

◆ XMC_BCCU_CH_DIMMING_ENGINE_BYPASS_t

Provides the options to bypass dimming engine

Enumerator
XMC_BCCU_CH_DIMMING_ENGINE_BYPASS_DISABLE 

Disable: Brightness = Dimming Level * Intensity

XMC_BCCU_CH_DIMMING_ENGINE_BYPASS_ENABLE 

Enable: Brightness = Intensity

◆ XMC_BCCU_CH_DIMMING_SOURCE_t

Provides the options to select dimming source of the channel

Enumerator
XMC_BCCU_CH_DIMMING_SOURCE_GLOBAL 

Global Dimming Engine

XMC_BCCU_CH_DIMMING_SOURCE_DE0 

Dimming Engine 0

XMC_BCCU_CH_DIMMING_SOURCE_DE1 

Dimming Engine 1

XMC_BCCU_CH_DIMMING_SOURCE_DE2 

Dimming Engine 2

◆ XMC_BCCU_CH_FLICKER_WD_t

Provides the options to select flicker watchdog enable/disable

Enumerator
XMC_BCCU_CH_FLICKER_WD_DS 

Disable: No control over a sigma-delta modulator output

XMC_BCCU_CH_FLICKER_WD_EN 

Enable: Limit consecutive zeros at sigma-delta modulator output

◆ XMC_BCCU_CH_GATING_FUNC_t

Provides the options to select gating functionality enable/disable, and be used for peak-current control

Enumerator
XMC_BCCU_CH_GATING_FUNC_DISABLE 

Disable: No control over a BCCU module output

XMC_BCCU_CH_GATING_FUNC_ENABLE 

Enable: External gating signal which controls BCCU module output

◆ XMC_BCCU_CH_TRAP_EDGE_t

Provides the options to select edge for trap occurrence

Enumerator
XMC_BCCU_CH_TRAP_EDGE_RISING 

Trap on rising edge of the BCCU.TRAPL signal

XMC_BCCU_CH_TRAP_EDGE_FALLING 

Trap on falling edge of the BCCU.TRAPL signal

◆ XMC_BCCU_CH_TRAP_IN_t

Provides the options to select source of trap input

Enumerator
XMC_BCCU_CH_TRAP_INA 

Trap INA

XMC_BCCU_CH_TRAP_INB 

Trap INB

XMC_BCCU_CH_TRAP_INC 

Trap INC

XMC_BCCU_CH_TRAP_IND 

Trap IND

XMC_BCCU_CH_TRAP_INE 

Trap INE

XMC_BCCU_CH_TRAP_INF 

Trap INF

XMC_BCCU_CH_TRAP_ING 

Trap ING

XMC_BCCU_CH_TRAP_INH 

Trap INH

XMC_BCCU_CH_TRAP_INI 

Trap INI

XMC_BCCU_CH_TRAP_INJ 

Trap INJ

XMC_BCCU_CH_TRAP_INK 

Trap INK

XMC_BCCU_CH_TRAP_INL 

Trap INL

XMC_BCCU_CH_TRAP_INM 

Trap INM

XMC_BCCU_CH_TRAP_INN 

Trap INN

XMC_BCCU_CH_TRAP_INO 

Trap INO

XMC_BCCU_CH_TRAP_INP 

Trap INP

◆ XMC_BCCU_CH_TRIG_EDGE_t

Provides the options to select trigger edge

Enumerator
XMC_BCCU_CH_TRIG_EDGE_PASS_TO_ACT 

Trigger on output transition from passive to active

XMC_BCCU_CH_TRIG_EDGE_ACT_TO_PASS 

Trigger on output transition from active to passive

◆ XMC_BCCU_CH_TRIGOUT_t

Provides the options to select trigger output, and only be used in XMC_BCCU_TRIGMODE1

Enumerator
XMC_BCCU_CH_TRIGOUT0 

Trigger occurrence on BCCU_TRIGOUT0 signal

XMC_BCCU_CH_TRIGOUT1 

Trigger occurrence on BCCU_TRIGOUT1 signal

◆ XMC_BCCU_DIM_CURVE_t

Provides the options to select exponential dimming curve

Enumerator
XMC_BCCU_DIM_CURVE_COARSE 

Coarse curve: Slope of the linear pieces doubles every time, when it passes specific thresholds of 16, 32, 64, 128, 256, 512, 1024, 2048

XMC_BCCU_DIM_CURVE_FINE 

Fine Curve: More pieces and different line slopes

◆ XMC_BCCU_EVENT_STATUS_t

Provides the options to know the status of the event flags. The members can be combined using 'OR' operator for multiple selection.

Enumerator
XMC_BCCU_EVENT_STATUS_TRIGGER0 

Trigger 0 Event flag status

XMC_BCCU_EVENT_STATUS_TRIGGER1 

Trigger 1 Event flag status

XMC_BCCU_EVENT_STATUS_FIFOFULL 

FIFO Full Event flag status

XMC_BCCU_EVENT_STATUS_FIFOEMPTY 

FIFO Empty Event flag status

XMC_BCCU_EVENT_STATUS_TRAP 

Trap Event flag status (Without Trap Set)

XMC_BCCU_EVENT_STATUS_TRAP_STATE 

Trap state flag status

◆ XMC_BCCU_EVENT_t

Provides the options to enable/disable the events. The members can be combined using 'OR' operator for multiple selection.

Enumerator
XMC_BCCU_EVENT_TRIGGER0 

Trigger 0 event

XMC_BCCU_EVENT_TRIGGER1 

Trigger 1 event

XMC_BCCU_EVENT_FIFOFULL 

FIFO Full event

XMC_BCCU_EVENT_FIFOEMPTY 

FIFO Empty event

XMC_BCCU_EVENT_TRAP 

Trap event

◆ XMC_BCCU_STATUS_t

Defines the status of BCCU driver, to verify the related API calls. Use type XMC_BCCU_STATUS_t for this enum.

Enumerator
XMC_BCCU_STATUS_SUCCESS 

Operation completed successfully

XMC_BCCU_STATUS_ERROR 

Operation has some errors

◆ XMC_BCCU_SUSPEND_MODE_t

Provides the options to select suspend mode

Enumerator
XMC_BCCU_SUSPEND_MODE_IGNORE 

Request ignored, and module cannot get suspended

XMC_BCCU_SUSPEND_MODE_FREEZE 

All running channels gets stopped, and freeze into a last state (without safe stop)

XMC_BCCU_SUSPEND_MODE_SAFE_FREEZE 

All running channels gets stopped, and freeze into a last state (with safe stop)

◆ XMC_BCCU_TRAP_LEVEL_t

Provides the options to know the current level of trap

Enumerator
XMC_BCCU_TRAP_LEVEL_LOW 

BCCU.TRAPL is Low

XMC_BCCU_TRAP_LEVEL_HIGH 

BCCU.TRAPL is High

◆ XMC_BCCU_TRAP_STATUS_t

Provides the options to know the status of trap occurrence

Enumerator
XMC_BCCU_TRAP_STATUS_DEACTIVE 

BCCU module is not in a Trap State

XMC_BCCU_TRAP_STATUS_ACTIVE 

BCCU module is in a Trap State

◆ XMC_BCCU_TRAPEDGE_t

Provides the options to select trap edge

Enumerator
XMC_BCCU_TRAPEDGE_RISING 

Trap on rising edge of the BCCU.TRAPL signal

XMC_BCCU_TRAPEDGE_FALLING 

Trap on falling edge of the BCCU.TRAPL signal

◆ XMC_BCCU_TRIGDELAY_t

Provides the options to select trigger delay, and only be used if Bit clock in Normal mode

Enumerator
XMC_BCCU_TRIGDELAY_NO_DELAY 

BCCU trigger occurs on channel trigger(without delay)

XMC_BCCU_TRIGDELAY_QUARTER_BIT 

BCCU trigger occurs on 1/4 bit time delayed after channel trigger

XMC_BCCU_TRIGDELAY_HALF_BIT 

BCCU trigger occurs on 1/2 bit time delayed after channel trigger

◆ XMC_BCCU_TRIGMODE_t

Provides the options to select trigger mode.

Enumerator
XMC_BCCU_TRIGMODE0 

Mode0: Trigger on Any Channel using OR logic

XMC_BCCU_TRIGMODE1 

Mode1: Trigger on Active channel using round-robin

Function Documentation

◆ XMC_BCCU_AbortDimming()

void XMC_BCCU_AbortDimming ( XMC_BCCU_t *const  bccu,
uint32_t  dim_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
dim_noSpecific dimming engine number to stop dimming process Range: 0 to 2
Returns
None
Description:
When the dimming in progress, the outcome of executing the API is stopping the dimming (i.e. fading) immediately for specific dimming engine number dim_no by writing a register bit DESTRCON_DEyA.

Related APIs:
XMC_BCCU_StartDimming(), XMC_BCCU_ConcurrentAbortDimming()


◆ XMC_BCCU_AbortLinearWalk()

void XMC_BCCU_AbortLinearWalk ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noSpecific channel number to stop color change Range: 0 to 8
Returns
None
Description:
When the linear walk in progress, the outcome of executing the API is stopping the linear walk (i.e. color change) immediately for specific channels number using mask by writing a register CHSTRCON_CHyA.

Related APIs:
XMC_BCCU_StartLinearWalk(), XMC_BCCU_ConcurrentAbortLinearWalk()


◆ XMC_BCCU_CH_ConfigTrigger()

void XMC_BCCU_CH_ConfigTrigger ( XMC_BCCU_CH_t *const  channel,
XMC_BCCU_CH_TRIG_EDGE_t  edge,
uint32_t  force_trig_en 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
edgeOutput transition selection. Use type XMC_BCCU_CH_TRIG_EDGE_t.
Range: XMC_BCCU_CH_TRIG_EDGE_PASS_TO_ACT or XMC_BCCU_CH_TRIG_EDGE_ACT_TO_PASS
force_trig_enForcing a trigger at output. Range: 0 or 1
Generates a trigger if modulator output do not change for 256 bclk cycles
Returns
None
Description:
Configures global trigger settings: trigger edge, force trigger enable by writing a register CHCONFIG. And also configures force trigger enable, generates a trigger if modulator output do not change for 256 bclk cycles
Related APIs:
XMC_BCCU_ConfigGlobalTrigger(), XMC_BCCU_EnableChannelTrigger()


◆ XMC_BCCU_CH_DisableDimmingBypass()

void XMC_BCCU_CH_DisableDimmingBypass ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
None
Description:
Disables dimming engine bypass by clearing register bit CHCONFIG_DBP.

Related APIs:
XMC_BCCU_CH_EnableDimmingBypass()


◆ XMC_BCCU_CH_DisableFlickerWatchdog()

void XMC_BCCU_CH_DisableFlickerWatchdog ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
None
Description:
Disables flicker watchdog by writing register bit CHCONFIG_WEN. No limits the sigma-delta modulator output according to Watchdog threshold

Related APIs:
XMC_BCCU_SetFlickerWDThreshold(), XMC_BCCU_ReadFlickerWDThreshold(), XMC_BCCU_CH_Init(), XMC_BCCU_CH_EnableFlickerWatchdog()


◆ XMC_BCCU_CH_DisableGating()

void XMC_BCCU_CH_DisableGating ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
None
Description:
Disables gating feature by writing register bit CHCONFIG_GEN. The gating feature is used to enable/disable fast control schemes, such as peak-current control and this has been controlled by Analog Comparator module.

Related APIs:
XMC_BCCU_CH_EnableGating()


◆ XMC_BCCU_CH_DisablePacker()

void XMC_BCCU_CH_DisablePacker ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
None
Description:
Disables packer by clearing writing register bit CHCONFIG_PEN.

Related APIs:
XMC_BCCU_CH_EnablePacker()


◆ XMC_BCCU_CH_EnableDimmingBypass()

void XMC_BCCU_CH_EnableDimmingBypass ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
None
Description:
Enables dimming engine bypass by writing register bit CHCONFIG_DBP.

Related APIs:
XMC_BCCU_CH_SelectDimEngine(), XMC_BCCU_CH_DisableDimmingBypass()


◆ XMC_BCCU_CH_EnableFlickerWatchdog()

void XMC_BCCU_CH_EnableFlickerWatchdog ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
None
Description:
Enables flicker watchdog by writing register bit CHCONFIG_WEN. And limits the sigma-delta modulator output
according to Watchdog threshold

Related APIs:
XMC_BCCU_SetFlickerWDThreshold(), XMC_BCCU_ReadFlickerWDThreshold(), XMC_BCCU_CH_Init(), XMC_BCCU_CH_DisableFlickerWatchdog()


◆ XMC_BCCU_CH_EnableGating()

void XMC_BCCU_CH_EnableGating ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
None
Description:
Enables gating feature by writing register bit CHCONFIG_GEN. The gating feature is used to enable fast control schemes, such as peak-current control and this has been controlled by Analog Comparator module.

Related APIs:
XMC_BCCU_CH_DisableGating()


◆ XMC_BCCU_CH_EnablePacker()

void XMC_BCCU_CH_EnablePacker ( XMC_BCCU_CH_t *const  channel,
uint32_t  thresh,
uint32_t  off_comp,
uint32_t  on_comp 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
threshPacker threshold value of FIFO. It defines number of queue stages must be filled before output generator starts generating the pulses. Until that, only off-bits are generated at the output.
off_compPacker off-time compare level. When the off-time counter reaches this, the measured on off time counters are stored into FIFO
on_compPacker on-time compare level. When the on-time counter reaches this, the measured on & off time counters are stored into FIFO
Returns
None
Description:
Enables packer by writing register bit CHCONFIG_PEN. And also configures packer threshold, off and on compare levels by writing register PKCMP. The main purpose of the packer is to decrease the average rate of switching of the output signal, to decrease the load on external switching circuits and improve EMC behavior

Related APIs:
XMC_BCCU_CH_DisablePacker(), XMC_BCCU_CH_SetPackerThreshold(), XMC_BCCU_CH_SetPackerOffCompare(), XMC_BCCU_CH_SetPackerOnCompare


◆ XMC_BCCU_CH_Init()

void XMC_BCCU_CH_Init ( XMC_BCCU_CH_t *const  channel,
const XMC_BCCU_CH_CONFIG_t *const  config 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
configPointer to constant bccu channel configuration data structure. Use type XMC_BCCU_CH_CONFIG_t.
Returns
None
Description:
Configures dimming engine source, dimming bypass selection, channel trigger edge, flicker watchdog selection and force trigger selection by using dim_sel, dim_bypass, trig_edge, flick_wd_en, force_trig_en by writing into a CHCONFIG register. And also configures packer settings: threshold, off and on compare levels, initial values of off & on counters, by writing into a CHCONFIG, PKCMP and PKCNTR registers.

Related APIs:
XMC_BCCU_GlobalInit(), XMC_BCCU_DIM_Init()


◆ XMC_BCCU_CH_ReadIntensity()

uint32_t XMC_BCCU_CH_ReadIntensity ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
Current channel intensity. Range: 0 or 4095
Description:
Retrieves current channel intensity by reading the register INT.

Related APIs:
XMC_BCCU_CH_SetTargetIntensity()


◆ XMC_BCCU_CH_ReadPackerOffCompare()

uint32_t XMC_BCCU_CH_ReadPackerOffCompare ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
Packer off-time compare level. When the off-time counter reaches this, the measured on & off time counters are stored into FIFO
Description:
Retrieves packer off compare level by reading the register bit PKCMP_OFFCMP.

Related APIs:
XMC_BCCU_CH_SetPackerOffCompare()


◆ XMC_BCCU_CH_ReadPackerOnCompare()

uint32_t XMC_BCCU_CH_ReadPackerOnCompare ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
Packer on-time compare level. When the on-time counter reaches this,
the measured on & off time counters are stored into FIFO
Description:
Retrieves packer on compare level by reading the register bit PKCMP_ONCMP.

Related APIs:
XMC_BCCU_CH_SetPackerOnCompare()


◆ XMC_BCCU_CH_ReadPackerThreshold()

uint32_t XMC_BCCU_CH_ReadPackerThreshold ( XMC_BCCU_CH_t *const  channel)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
Returns
Packer threshold value of FIFO
Description:
Retrieves packer threshold value by reading the register bit CHCONFIG_PKTH.

Related APIs:
XMC_BCCU_CH_SetPackerThreshold()


◆ XMC_BCCU_CH_SelectDimEngine()

void XMC_BCCU_CH_SelectDimEngine ( XMC_BCCU_CH_t *const  channel,
XMC_BCCU_CH_DIMMING_SOURCE_t  sel 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
selSelects a dimming engine source of the channel. Use type XMC_BCCU_CH_DIMMING_SOURCE_t
Returns
None
Description:
Configures dimming engine source by writing register bit CHCONFIG_DSEL

Related APIs:
XMC_BCCU_CH_EnableDimmingBypass()


◆ XMC_BCCU_CH_SetLinearWalkPrescaler()

void XMC_BCCU_CH_SetLinearWalkPrescaler ( XMC_BCCU_CH_t *const  channel,
uint32_t  clk_div 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
clk_divPrescaler factor. Range: 0 to 1023
Returns
None
Description:
configure the linear walker clock prescaler factor by writing register bit CHCONFIG_LINPRES.

◆ XMC_BCCU_CH_SetPackerOffCompare()

void XMC_BCCU_CH_SetPackerOffCompare ( XMC_BCCU_CH_t *const  channel,
uint32_t  level 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
levelPacker off-time compare level. When the off-time counter reaches this, the measured on & off time counters are stored into FIFO
Returns
None
Description:
Configures packer off compare level by writing register bit PKCMP_OFFCMP

Related APIs:
XMC_BCCU_CH_SetPackerThreshold(), XMC_BCCU_CH_SetPackerOnCompare(), XMC_BCCU_CH_SetPackerOffCounter(), XMC_BCCU_CH_ReadPackerOffCompare()


◆ XMC_BCCU_CH_SetPackerOffCounter()

void XMC_BCCU_CH_SetPackerOffCounter ( XMC_BCCU_CH_t *const  channel,
uint32_t  cnt_val 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
cnt_valConfigures an initial packer off-time counter level, only if channel is disabled. Controls phase shift of the modulator output
Returns
None
Description:
Configures packer initial off counter value by writing register bit PKCNTR_OFFCNTVAL
Note: Shall only be called if channel disabled.

Related APIs:
XMC_BCCU_CH_SetPackerOnCounter(), XMC_BCCU_CH_SetPackerOffCompare()


◆ XMC_BCCU_CH_SetPackerOnCompare()

void XMC_BCCU_CH_SetPackerOnCompare ( XMC_BCCU_CH_t *const  channel,
uint32_t  level 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
levelPacker on-time compare level. When the on-time counter reaches this, the measured on & off time counters are stored into FIFO
Returns
None
Description:
Configures packer on compare level by writing register bit PKCMP_ONCMP

Related APIs:
XMC_BCCU_CH_SetPackerThreshold(), XMC_BCCU_CH_SetPackerOffCompare(), XMC_BCCU_CH_SetPackerOnCounter(), XMC_BCCU_CH_ReadPackerOnCompare()


◆ XMC_BCCU_CH_SetPackerOnCounter()

void XMC_BCCU_CH_SetPackerOnCounter ( XMC_BCCU_CH_t *const  channel,
uint32_t  cnt_val 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
cnt_valConfigures an initial packer on-time counter level, only if channel is disabled. Controls phase shift of the modulator output
Returns
None
Description:
Configures packer initial on counter value by writing register bit PKCNTR_ONCNTVAL
Note: Shall only be called if channel disabled.

Related APIs:
XMC_BCCU_CH_SetPackerOffCounter(), XMC_BCCU_CH_SetPackerOnCompare()


◆ XMC_BCCU_CH_SetPackerThreshold()

void XMC_BCCU_CH_SetPackerThreshold ( XMC_BCCU_CH_t *const  channel,
uint32_t  val 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
valPacker threshold value of FIFO
Returns
None
Description:
Configures packer threshold by writing register bit CHCONFIG_PKTH

Related APIs:
XMC_BCCU_CH_SetPackerOffCompare(), XMC_BCCU_CH_SetPackerOnCompare, XMC_BCCU_CH_ReadPackerThreshold()


◆ XMC_BCCU_CH_SetTargetIntensity()

void XMC_BCCU_CH_SetTargetIntensity ( XMC_BCCU_CH_t *const  channel,
uint32_t  ch_int 
)
Parameters
channelBase address of the bccu channel. Range: BCCU0_CH0, BCCU0_CH1..
ch_intTarget channel intensity. Range: 0 to 4095
Returns
None
Description:
Configures target channel intensity by writing register INTS, only be written if no shadow transfer of linear walk. Use XMC_BCCU_IsLinearWalkComplete() to know shadow transfer finished

Related APIs:
XMC_BCCU_IsLinearWalkComplete(), XMC_BCCU_StartLinearWalk(), XMC_BCCU_CH_ReadIntensity()


◆ XMC_BCCU_ClearEventFlag()

void XMC_BCCU_ClearEventFlag ( XMC_BCCU_t *const  bccu,
uint32_t  flag_type 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
flag_typeevent flag mask to clear multiple events at a time using ORed values of XMC_BCCU_EVENT_STATUS_t.
For example: If XMC_BCCU_EVENT_STATUS_TRIGGER0, XMC_BCCU_EVENT_STATUS_TRIGGER1, XMC_BCCU_EVENT_STATUS_FIFOEMPTY wants to clear at a same time, then event mask is = (XMC_BCCU_EVENT_STATUS_TRIGGER0 | XMC_BCCU_EVENT_STATUS_TRIGGER1 | XMC_BCCU_EVENT_STATUS_FIFOEMPTY)
Returns
None
Description:
Clears multiple interrupt event flags at a same time using ORed values of XMC_BCCU_EVENT_STATUS_t by writing a register EVFSR.

Related APIs:
XMC_BCCU_SetEventFlag()


◆ XMC_BCCU_ConcurrentAbortDimming()

void XMC_BCCU_ConcurrentAbortDimming ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskDimming engine mask to abort a dimming for multiple dimming engines at a same time.
For example: If dimming engine 0, channel 2 wants to abort a dimming at a same time, then dimming engine mask is 0101 = 0x03
-----------------------—
| DE2 | DE1 | DE0 |
-----------------------—
Returns
None
Description:
When the dimming in progress, the outcome of executing the API is stopping the dimming (i.e. fading) immediately for specific dimming engine number dim_no by writing a register DESTRCON.

Related APIs:
XMC_BCCU_AbortDimming(), XMC_BCCU_ConcurrentStartDimming()


◆ XMC_BCCU_ConcurrentAbortLinearWalk()

void XMC_BCCU_ConcurrentAbortLinearWalk ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskChannel mask to stop a linear walk for multiple channels at a same time.
For example: If channel 0, channel 7, channel 1 wants to abort a linear walk at a same time,
then channel mask is 01000 0011 = 0x83
---------------------------------------------------------------------------------------------------—
| Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 |
---------------------------------------------------------------------------------------------------—
Returns
None
Description:
When the linear walk in progress, the outcome of executing the API is stopping the linear walk (i.e. color change) immediately for multiple channels at a same time using mask by writing a register CHSTRCON.

Related APIs:
XMC_BCCU_AbortLinearWalk(), XMC_BCCU_ConcurrentStartLinearWalk()


◆ XMC_BCCU_ConcurrentConfigTrigger()

void XMC_BCCU_ConcurrentConfigTrigger ( XMC_BCCU_t *const  bccu,
XMC_BCCU_TRIG_CONFIG_t trig 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
trigPointer to a trigger configuration data structure. Use type XMC_BCCU_TRIG_CONFIG_t.
Returns
None
Description:
Configures global trigger settings: trigger mode, trigger delay, individual trigger lines and channel mask by writing a
registers GLOBCON and CHTRIG. Trigger mode decides when to generate a BCCU trigger, trigger delay postpones the channel
trigger by 1/4, or 1/2 bclk cycles

Related APIs:
XMC_BCCU_ConfigGlobalTrigger(), XMC_BCCU_ReadLastTrigChanNr(), XMC_BCCU_ReadGlobalTrigger(), XMC_BCCU_GlobalInit()


◆ XMC_BCCU_ConcurrentDisableChannels()

void XMC_BCCU_ConcurrentDisableChannels ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskChannel mask to disable multiple channels.
For example: If channel 0, channel 7, channel 1 wants to disable at a same time,
then channel mask is 01000 0011 = 0x83
---------------------------------------------------------------------------------------------------—
| Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 |
---------------------------------------------------------------------------------------------------—
Returns
None
Description:
Disables multiple channels at a same time using mask by writing a register CHEN.

Related APIs:
XMC_BCCU_ConcurrentEnableChannels(), XMC_BCCU_DisableChannel()


◆ XMC_BCCU_ConcurrentDisableDimmingEngine()

void XMC_BCCU_ConcurrentDisableDimmingEngine ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskDimming engine mask to disable multiple dimming engine at a same time.
For example: If dimming engine 0, channel 2 wants to disable a dimming at a same time, then dimming engine mask is 0101 = 0x03
-----------------------—
| DE2 | DE1 | DE0 |
-----------------------—
Returns
None
Description:
Disables multiple dimming engines at a same time using mask by writing a register DEEN.

Related APIs:
XMC_BCCU_DisableDimmingEngine(), XMC_BCCU_ConcurrentEnableDimmingEngine()


◆ XMC_BCCU_ConcurrentDisableTrap()

void XMC_BCCU_ConcurrentDisableTrap ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskChannel mask to disable multiple channels trap functionality. For example: If channel 0, channel 7, channel 1 wants to disable a trap functionality at a same time,
then channel mask is 01000 0011 = 0x83
---------------------------------------------------------------------------------------------------—
| Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 |
---------------------------------------------------------------------------------------------------—
Returns
None
Description:
Disables multiple channels trap functionality at the same time using mask by writing a register bit CHOCON_CHyTPE.

Related APIs:
XMC_BCCU_DisableTrap(), XMC_BCCU_ConcurrentEnableTrap()


◆ XMC_BCCU_ConcurrentEnableChannels()

void XMC_BCCU_ConcurrentEnableChannels ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskChannel mask to enable multiple channels.
For example: If channel 0, channel 7, channel 1 wants to enable at a same time,
then channel mask is 01000 0011 = 0x83
---------------------------------------------------------------------------------------------------—
| Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 |
---------------------------------------------------------------------------------------------------—
Returns
None
Description:
Enables multiple channels at a same time using mask by writing a register CHEN.

Related APIs:
XMC_BCCU_EnableChannel(), XMC_BCCU_ConcurrentDisableChannels()


◆ XMC_BCCU_ConcurrentEnableDimmingEngine()

void XMC_BCCU_ConcurrentEnableDimmingEngine ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskDimming engine mask to enable multiple dimming engine at a same time.
For example: If dimming engine 0, channel 2 wants to enable a dimming at a same time, then dimming engine mask is 0101 = 0x03
-----------------------—
| DE2 | DE1 | DE0 |
-----------------------—
Returns
None
Description:
Enables multiple dimming engines at a same time using mask by writing a register DEEN.

Related APIs:
XMC_BCCU_EnableDimmingEngine(), XMC_BCCU_ConcurrentDisableDimmingEngine()


◆ XMC_BCCU_ConcurrentEnableTrap()

void XMC_BCCU_ConcurrentEnableTrap ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskChannel mask to enable multiple channels trap functionality.
For example: If channel 0, channel 7, channel 1 wants to enable a trap functionality at a same time,
then channel mask is 01000 0011 = 0x83
---------------------------------------------------------------------------------------------------—
| Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 |
---------------------------------------------------------------------------------------------------—
Returns
None
Description:
Enables multiple channels trap functionality at the same time using mask by writing a register bit CHOCON_CHyTPE.

Related APIs:
XMC_BCCU_EnableTrap(), XMC_BCCU_ConcurrentDisableTrap(), XMC_BCCU_SelectTrapInput(), XMC_BCCU_SetTrapEdge()


◆ XMC_BCCU_ConcurrentSetOutputPassiveLevel()

void XMC_BCCU_ConcurrentSetOutputPassiveLevel ( XMC_BCCU_t *const  bccu,
uint32_t  chan_mask,
XMC_BCCU_CH_ACTIVE_LEVEL_t  level 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_maskChannel mask to enable multiple channels.
For example: If channel 0, channel 7, channel 1 wants to enable at a same time,
then channel mask is 01000 0011 = 0x83
---------------------------------------------------------------------------------------------------—
| Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 |
---------------------------------------------------------------------------------------------------—
levelPassive level selection. Use type XMC_BCCU_CH_ACTIVE_LEVEL_t.
Range: XMC_BCCU_CH_ACTIVE_LEVEL_HIGH or XMC_BCCU_CH_ACTIVE_LEVEL_LOW
Returns
None
Description:
Configures passive levels of multiple channels at a same time using mask by writing a register bit CHOCON_CHyOP.

Related APIs:
XMC_BCCU_SetOutputPassiveLevel()


◆ XMC_BCCU_ConcurrentStartDimming()

void XMC_BCCU_ConcurrentStartDimming ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskDimming engine mask to start a dimming for multiple dimming engines at a same time.
For example: If dimming engine 0, channel 2 wants to start a dimming at a same time, then dimming engine mask is 0101 = 0x03
-----------------------—
| DE2 | DE1 | DE0 |
-----------------------—
Returns
None
Description:
After dimming engine initialization, the outcome of executing the API starts changing the brightness towards to target for multiple dimming engines at a same time using mask by writing a register DESTRCON.

Related APIs:
XMC_BCCU_StartDimming(), XMC_BCCU_ConcurrentAbortDimming()


◆ XMC_BCCU_ConcurrentStartLinearWalk()

void XMC_BCCU_ConcurrentStartLinearWalk ( XMC_BCCU_t *const  bccu,
uint32_t  mask 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
maskChannel mask to start a linear walk for multiple channels at a same time.
For example: If channel 0, channel 7, channel 1 wants to start a linear walk at a same time,
then channel mask is 01000 0011 = 0x83
---------------------------------------------------------------------------------------------------—
| Chan8 | Chan7 | Chan6 | Chan5 | Chan4 | Chan3 | Chan2 | Chan1 | Chan0 |
---------------------------------------------------------------------------------------------------—
Returns
None
Description:
After channel initialization, the outcome of executing the API starts changing the color smoothly towards to target
for multiple channels at a same time using mask by writing a register CHSTRCON.

Related APIs:
XMC_BCCU_StartLinearWalk(), XMC_BCCU_ConcurrentAbortLinearWalk()


◆ XMC_BCCU_ConfigGlobalTrigger()

void XMC_BCCU_ConfigGlobalTrigger ( XMC_BCCU_t *const  bccu,
XMC_BCCU_TRIGMODE_t  mode,
XMC_BCCU_TRIGDELAY_t  delay 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
modeTrigger mode selection. Range: XMC_BCCU_TRIGMODE0, XMC_BCCU_TRIGMODE1.
  1. XMC_BCCU_TRIGMODE0 - Trigger on Any Channel
  2. XMC_BCCU_TRIGMODE1 - Trigger on Active channel
delayDelay to avoid sampling during switching noise. Use type XMC_BCCU_TRIGDELAY_t.
Range: XMC_BCCU_NO_DELAY, XMC_BCCU_QUARTER_BIT_DELAY, XMC_BCCU_HALF_BIT_DELAY.
Returns
None
Description:
Configures trigger mode and trigger delay by writing register bits GLOBCON.TM, GLOBCON.TRDEL. mode and delay parameters which decides when to trigger a conversion of vadc module for voltage measurement.

Related APIs:
XMC_BCCU_EnableChannelTrigger(), XMC_BCCU_ReadGlobalTrigger(), XMC_BCCU_ConcurrentConfigTrigger(), XMC_BCCU_GlobalInit(), XMC_BCCU_ReadLastTrigChanNr(), XMC_BCCU_GetChannelOutputLvlAtLastTrigger(), XMC_BCCU_CH_ConfigTrigger()


◆ XMC_BCCU_ConfigSuspendMode()

void XMC_BCCU_ConfigSuspendMode ( XMC_BCCU_t *const  bccu,
XMC_BCCU_SUSPEND_MODE_t  mode 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
modeSuspend mode selection. Use type XMC_BCCU_SUSPEND_MODE_t.
Range: XMC_BCCU_SUSPEND_MODE_IGNORE, XMC_BCCU_SUSPEND_MODE_FREEZE, XMC_BCCU_USPEND_MODE_SAFE_FREEZE.
Returns
None
Description:
Configures suspend mode by writing register bit GLOBCON_SUSCFG.

Related APIs:
XMC_BCCU_ReadSuspendMode()


◆ XMC_BCCU_DIM_ConfigDimCurve()

void XMC_BCCU_DIM_ConfigDimCurve ( XMC_BCCU_DIM_t *const  dim_engine,
uint32_t  dither_en,
XMC_BCCU_DIM_CURVE_t  sel 
)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
dither_enDither enable. Dithering added for every dimming step if dimming level < 128.
selType of exponential curve. Use type XMC_BCCU_DIM_CURVE_t. Note: If dither enabled, the configuration is being ignored
Returns
None
Description:
Configures dimming clock curve by writing register bit DE_DTT_CSEL.

Related APIs:
XMC_BCCU_DIM_Init()


◆ XMC_BCCU_DIM_GetDimCurve()

XMC_BCCU_DIM_CURVE_t XMC_BCCU_DIM_GetDimCurve ( XMC_BCCU_DIM_t *const  dim_engine)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
Returns
Type of exponential curve Range: XMC_BCCU_DIM_CURVE_COARSE or XMC_BCCU_DIM_CURVE_FINE
Description:
Retrieves exponential curve type by reading the register bit BCCU_DE_DTT_CSEL.

Related APIs:
XMC_BCCU_DIM_ConfigDimCurve(), XMC_BCCU_IsDitherEnable()


◆ XMC_BCCU_DIM_Init()

void XMC_BCCU_DIM_Init ( XMC_BCCU_DIM_t *const  dim_engine,
const XMC_BCCU_DIM_CONFIG_t *const  config 
)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
configPointer to constant dimming engine configuration data structure. Use type XMC_BCCU_DIM_CONFIG_t.
Returns
None
Description:
Configures dimming clock divider to adjust the fade rate, dither selection and exponential curve selection using dim_div, dither_en, cur_sel parameters and by writing into a DTT register.

Related APIs:
XMC_BCCU_GlobalInit(), XMC_BCCU_CH_Init()


◆ XMC_BCCU_DIM_ReadDimDivider()

uint32_t XMC_BCCU_DIM_ReadDimDivider ( XMC_BCCU_DIM_t *const  dim_engine)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
Returns
Dimming clock divider value. Range: 0 to 1023
Description:
Retrieves dimming clock divider value by reading the register BCCU_DE_DTT_DIMDIV.

Related APIs:
XMC_BCCU_DIM_SetDimDivider()


◆ XMC_BCCU_DIM_ReadDimmingLevel()

uint32_t XMC_BCCU_DIM_ReadDimmingLevel ( XMC_BCCU_DIM_t *const  dim_engine)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
Returns
Current dimming level. Range: 0 or 4095
Description:
Retrieves current dimming level by reading the register DE_DL_DLEV.

Related APIs:
XMC_BCCU_DIM_SetTargetDimmingLevel()


◆ XMC_BCCU_DIM_SetDimDivider()

void XMC_BCCU_DIM_SetDimDivider ( XMC_BCCU_DIM_t *const  dim_engine,
uint32_t  div 
)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
divDimming clock divider, used to adjust the fade rate. If 0, the dimming level as same as target dimming level on shadow transfer
Returns
None
Description:
Configures dimming clock divider by writing register bit DE_DTT_DIMDIV.

Related APIs:
XMC_BCCU_SetDimClockPrescaler(), XMC_BCCU_DIM_ReadDimDivider()


◆ XMC_BCCU_DIM_SetTargetDimmingLevel()

void XMC_BCCU_DIM_SetTargetDimmingLevel ( XMC_BCCU_DIM_t *const  dim_engine,
uint32_t  level 
)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
levelTarget dimming level. Range: 0 to 4095
Returns
None
Description:
Configures target dimming level by writing register DLS, only be written if no shadow transfer of dimming. Use XMC_BCCU_IsDimmingFinished() to know shadow transfer finished

Related APIs:
XMC_BCCU_StartDimming(), XMC_BCCU_IsDimmingFinished(), XMC_BCCU_SetGlobalDimmingLevel(),
XMC_BCCU_DIM_ReadDimmingLevel()


◆ XMC_BCCU_DisableChannel()

void XMC_BCCU_DisableChannel ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noSpecific channel number to disable. Range: 0 to 8
Returns
None
Description:
Disables a specific channel number using chan_no by writing a register CHEN.

Related APIs:
XMC_BCCU_ConcurrentDisableChannels(), XMC_BCCU_EnableChannel()


◆ XMC_BCCU_DisableChannelTrigger()

void XMC_BCCU_DisableChannelTrigger ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noChannel number to trigger a specific channel. Range: 0 to 8
Returns
None
Description:
Disables specific channel trigger using chan_no by writing a register bit CHOCON_CHyTPE.

Related APIs:
XMC_BCCU_EnableChannelTrigger()


◆ XMC_BCCU_DisableDimmingEngine()

void XMC_BCCU_DisableDimmingEngine ( XMC_BCCU_t *const  bccu,
uint32_t  dim_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
dim_noSpecific dimming engine number to disable. Range: 0 to 2
Returns
None
Description:
Disables a specific dimming engine number using dim_no by clearing a register bit DEEN_EDEy.

Related APIs:
XMC_BCCU_EnableDimmingEngine(), XMC_BCCU_ConcurrentDisableDimmingEngine()


◆ XMC_BCCU_DisableInterrupt()

void XMC_BCCU_DisableInterrupt ( XMC_BCCU_t *const  bccu,
uint32_t  event 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
eventEvent mask to disable multiple events at a time using ORed values of XMC_BCCU_EVENT_t.
For example: If XMC_BCCU_EVENT_TRIGGER0, XMC_BCCU_EVENT_TRIGGER1, XMC_BCCU_EVENT_FIFOEMPTY wants to disable
at a same time, then event mask is = (XMC_BCCU_EVENT_TRIGGER0 | XMC_BCCU_EVENT_TRIGGER1 | XMC_BCCU_EVENT_FIFOEMPTY)
Returns
None
Description:
Disables multiple interrupt events at a same time using ORed values of XMC_BCCU_EVENT_t by writing a register EVIER.

Related APIs:
XMC_BCCU_EnableInterrupt()


◆ XMC_BCCU_DisableTrap()

void XMC_BCCU_DisableTrap ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noChannel number to disable specific channel trap functionality. Range: 0 to 8
Returns
None
Description:
Disables specific channel trap functionality using chan_no by writing a register bit CHOCON_CHyTPE.

Related APIs:
XMC_BCCU_EnableTrap(), XMC_BCCU_ConcurrentDisableTrap()


◆ XMC_BCCU_EnableChannel()

void XMC_BCCU_EnableChannel ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noSpecific channel number to enable. Range: 0 to 8
Returns
None
Description:
Enables a specific channel number using chan_no by writing a register CHEN.

Related APIs:
XMC_BCCU_ConcurrentEnableChannels(), XMC_BCCU_DisableChannel()


◆ XMC_BCCU_EnableChannelTrigger()

void XMC_BCCU_EnableChannelTrigger ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no,
XMC_BCCU_CH_TRIGOUT_t  trig_line 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noChannel number to trigger a specific channel. Range: 0 to 8
trig_lineTrigger line number to trigger a vadc. Use type XMC_BCCU_CH_TRIGOUT_t.
Range: XMC_BCCU_CH_TRIGOUT0 or XMC_BCCU_CH_TRIGOUT1
Returns
None
Description:
Enables specific channel trigger using chan_no by writing a register bit CHOCON_CHyTPE.

Related APIs:
XMC_BCCU_ConfigGlobalTrigger(), XMC_BCCU_DisableChannelTrigger(), XMC_BCCU_CH_ConfigTrigger()


◆ XMC_BCCU_EnableDimmingEngine()

void XMC_BCCU_EnableDimmingEngine ( XMC_BCCU_t *const  bccu,
uint32_t  dim_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
dim_noSpecific dimming engine number to enable. Range: 0 to 2
Returns
None
Description:
Enables a specific dimming engine number using dim_no by writing a register bit DEEN_EDEy.

Related APIs:
XMC_BCCU_DisableDimmingEngine(), XMC_BCCU_ConcurrentEnableDimmingEngine()


◆ XMC_BCCU_EnableInterrupt()

void XMC_BCCU_EnableInterrupt ( XMC_BCCU_t *const  bccu,
uint32_t  event 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
eventEvent mask to enable multiple events at a time using ORed values of XMC_BCCU_EVENT_t.
For example: If XMC_BCCU_EVENT_TRIGGER0, XMC_BCCU_EVENT_TRIGGER1, XMC_BCCU_EVENT_FIFOEMPTY wants to enable at a same time,
then event mask is = (XMC_BCCU_EVENT_TRIGGER0 | XMC_BCCU_EVENT_TRIGGER1 | XMC_BCCU_EVENT_FIFOEMPTY)
Returns
None
Description:
Enables multiple interrupt events at a same time using ORed values of XMC_BCCU_EVENT_t by writing a register EVIER.

Related APIs:
XMC_BCCU_DisableInterrupt()


◆ XMC_BCCU_EnableTrap()

void XMC_BCCU_EnableTrap ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noChannel number to enable specific channel trap functionality. Range: 0 to 8
Returns
None
Description:
Enables specific channel trap functionality using chan_no by writing a register bit CHOCON_CHyTPE.

Related APIs:
XMC_BCCU_DisableTrap(), XMC_BCCU_ConcurrentEnableTrap(), XMC_BCCU_SelectTrapInput(), XMC_BCCU_SetTrapEdge()


◆ XMC_BCCU_GetChannelOutputLvlAtLastTrigger()

uint32_t XMC_BCCU_GetChannelOutputLvlAtLastTrigger ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noSpecific channel number to get an output level on last trigger. Range: 0 to 8
Returns
Trap channel output level. Range: 0 or 1
Description:
Retrieves output level of specific channel number when last trigger occurred by reading the register bit LTCHOL_LTOLy.

Related APIs:
XMC_BCCU_ReadLastTrigChanNr(), XMC_BCCU_ConfigGlobalTrigger(), XMC_BCCU_ConcurrentConfigTrigger(), XMC_BCCU_ReadGlobalTrigger(), XMC_BCCU_GlobalInit()


◆ XMC_BCCU_GlobalInit()

void XMC_BCCU_GlobalInit ( XMC_BCCU_t *const  bccu,
const XMC_BCCU_GLOBAL_CONFIG_t *const  config 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
configPointer to constant bccu global configuration data structure. Use type XMC_BCCU_GLOBAL_CONFIG_t.
Returns
None
Description:
Initializes three main clocks (fast clock, bit clock, dimmer clock) by using fclk_ps bclk_sel dclk_ps parameters and writing into a GLOBCLK register.
And also configures a trigger mode, trigger delay, maximum 0's allowed at modulator output by writing into a GLOBCON register.

Related APIs:
XMC_BCCU_CH_Init(), XMC_BCCU_DIM_Init()


◆ XMC_BCCU_IsDimmingFinished()

uint32_t XMC_BCCU_IsDimmingFinished ( XMC_BCCU_t *const  bccu,
uint32_t  dim_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
dim_noSpecific dimming engine number to know the dimming status. Range: 0 to 2
Returns
Dimming completion status. Range: 0-Completed or 1-start change towards the target
Description:
Retrieves dimming completion status for specific dimming engine number using dim_no by reading the register bit DESTRCON_DEyS.

Related APIs:
XMC_BCCU_DIM_SetTargetDimmingLevel(), XMC_BCCU_StartDimming()


◆ XMC_BCCU_IsDitherEnable()

uint32_t XMC_BCCU_IsDitherEnable ( XMC_BCCU_DIM_t *const  dim_engine)
Parameters
dim_engineBase address of the bccu dimming engine. Range: BCCU0_DE0, BCCU0_DE1, BCCU0_DE2
Returns
Dither enable status. Range: 1-Enabled or 0-Disabled
Description:
Retrieves dither enable status by reading the register bit BCCU_DE_DTT_DTEN.

Related APIs:
XMC_BCCU_DIM_ConfigDimCurve(), XMC_BCCU_DIM_GetDimCurve()


◆ XMC_BCCU_IsLinearWalkComplete()

uint32_t XMC_BCCU_IsLinearWalkComplete ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noChannel number to know the linear walk completion status. Range: 0 to 8
Returns
Linear walk completion status. Range: 0-Completed or 1-intensity start changing towards the target
Description:
Retrieves linear walk completion status for specific channel using chan_no by reading the register bit CHSTRCON_CHyS.

Related APIs:
XMC_BCCU_CH_SetTargetIntensity(), XMC_BCCU_StartLinearWalk()


◆ XMC_BCCU_ReadBitClock()

uint32_t XMC_BCCU_ReadBitClock ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Prescaler factor. Range: 0 or 1
0 - XMC_BCCU_BCLK_MODE_NORMAL
1 - XMC_BCCU_BCLK_MODE_FAST
Description:
Retrieves modulator output (bit-time) clock prescaler factor of a BCCU module by reading the register bit GLOBCLK_BCS. Use XMC_BCCU_BCLK_MODE_t type to validate a returned value.

Related APIs:
XMC_BCCU_SelectBitClock(), XMC_BCCU_ReadDimClock(), XMC_BCCU_ReadFastClock()


◆ XMC_BCCU_ReadDimClock()

uint32_t XMC_BCCU_ReadDimClock ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Prescaler factor. Range: 0 to 4095
Description:
Retrieves dimmer clock prescaler factor of a BCCU module by reading the register bit GLOBCLK_DCLK_PS. The dim clock is derived from the bccu clock by prescaler factor.
i.e. fdclk = fbccu_clk / prescaler factor.

Related APIs:
XMC_BCCU_SetDimClockPrescaler(), XMC_BCCU_ReadBitClock(), XMC_BCCU_ReadFastClock()


◆ XMC_BCCU_ReadEventFlag()

uint32_t XMC_BCCU_ReadEventFlag ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Interrupt events flags at a same time using ORed values of XMC_BCCU_EVENT_t.
Description:
Retrieves interrupt event flags at the same time using ORed values of XMC_BCCU_EVENT_t by reading the register
EVFR.

Related APIs:
XMC_BCCU_SetEventFlag()


◆ XMC_BCCU_ReadFastClock()

uint32_t XMC_BCCU_ReadFastClock ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Prescaler factor. Range: 0 to 4095
Description:
Retrieves fast clock prescaler factor of a BCCU module by reading the register bit GLOBCLK_FCLK_PS. The fast clock is derived from the bccu clock by prescaler factor i.e. fdclk = fbccu_clk / prescaler factor.

Related APIs:
XMC_BCCU_SetFastClockPrescaler(), XMC_BCCU_ReadBitClock(), XMC_BCCU_ReadDimClock()


◆ XMC_BCCU_ReadFlickerWDThreshold()

uint32_t XMC_BCCU_ReadFlickerWDThreshold ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Number of consecutive zeroes at modulator output. Range: 0 to 4095
Description:
Retrieves number of consecutive zeroes at modulator output (flicker watchdog number) by reading the register bit GLOBCON_WDMBN.

Related APIs:
XMC_BCCU_SetFlickerWDThreshold(), XMC_BCCU_CH_EnableFlickerWatchdog(), XMC_BCCU_CH_Init(), XMC_BCCU_CH_DisableFlickerWatchdog()


◆ XMC_BCCU_ReadGlobalTrigger()

uint32_t XMC_BCCU_ReadGlobalTrigger ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Source of Trigger mode. Range: 0 or 1
0 - Trigger mode 0 (Trigger on Any Channel)
1 - Trigger mode 1 (Trigger on Active Channel)

Description:
Retrieves global trigger mode of the BCCU module by reading the register bit GLOBCON_TM. Use XMC_BCCU_TRIGMODE_t type to validate a returned value.

Related APIs:
XMC_BCCU_ConfigGlobalTrigger(), XMC_BCCU_ConcurrentConfigTrigger(), XMC_BCCU_GlobalInit()


◆ XMC_BCCU_ReadLastTrigChanNr()

uint32_t XMC_BCCU_ReadLastTrigChanNr ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Last triggered channel number. Range: 0 to 8
0 - BCCU Channel 0
1 - BCCU Channel 1 and so on.
Description:
Retrieves last triggered channel number of a BCCU module by reading the register bit GLOBCON_LTRS.

Related APIs:
XMC_BCCU_GetChannelOutputLvlAtLastTrigger(), XMC_BCCU_ConfigGlobalTrigger(), XMC_BCCU_ConcurrentConfigTrigger(), XMC_BCCU_ReadGlobalTrigger(), XMC_BCCU_GlobalInit()


◆ XMC_BCCU_ReadSuspendMode()

uint32_t XMC_BCCU_ReadSuspendMode ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Trap edge selection. Range: 0, 1, 2
0 - XMC_BCCU_SUSPEND_MODE_IGNORE
1 - XMC_BCCU_SUSPEND_MODE_FREEZE.
2 - XMC_BCCU_USPEND_MODE_SAFE_FREEZE.
Description:
Retrieves the state of suspend mode by reading the register bit GLOBCON_TRAPIS. Use XMC_BCCU_SUSPEND_MODE_t type to validate a returned value.

Related APIs:
XMC_BCCU_ConfigSuspendMode()


◆ XMC_BCCU_ReadTrapEdge()

uint32_t XMC_BCCU_ReadTrapEdge ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Trap edge selection. Range: 0 or 1
0 - XMC_BCCU_CH_TRAP_EDGE_RISING
1 - XMC_BCCU_CH_TRAP_EDGE_FALLING.
Description:
Retrieves trap edge by reading the register bit GLOBCON_TRAPED. Use XMC_BCCU_CH_TRAP_EDGE_t type to validate a returned value.

Related APIs:
XMC_BCCU_SetTrapEdge()


◆ XMC_BCCU_ReadTrapInput()

uint32_t XMC_BCCU_ReadTrapInput ( XMC_BCCU_t *const  bccu)
Parameters
bccuBase address of the bccu module. Range: BCCU0
Returns
Source of trap input. Range: 0 to 15
0 - TRAPINA
1 - TRAPINB and so on.
Description:
Retrieves trap input of the channel by reading the register bit GLOBCON_TRAPIS. Use XMC_BCCU_CH_TRAP_IN_t type to validate a returned value.

Related APIs:
XMC_BCCU_SelectTrapInput()


◆ XMC_BCCU_SelectBitClock()

void XMC_BCCU_SelectBitClock ( XMC_BCCU_t *const  bccu,
XMC_BCCU_BCLK_MODE_t  div 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
divPrescaler factor. Use type XMC_BCCU_BCLK_MODE_t.
Range: XMC_BCCU_BCLK_MODE_NORMAL or XMC_BCCU_BCLK_MODE_FAST.
Returns
None
Description:
Configures modulator output (bit-time) clock prescaler factor of a BCCU module by writing register bit GLOBCLK_BCS.

Related APIs:
XMC_BCCU_SetFastClockPrescaler(), XMC_BCCU_SetDimClockPrescaler(), XMC_BCCU_ReadBitClock()


◆ XMC_BCCU_SelectTrapInput()

void XMC_BCCU_SelectTrapInput ( XMC_BCCU_t *const  bccu,
XMC_BCCU_CH_TRAP_IN_t  input 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
inputTrap input selection. Use type XMC_BCCU_TRIGDELAY_t. Range: XMC_BCCU_TRIGDELAY_NO_DELAY, XMC_BCCU_TRIGDELAY_QUARTER_BIT, XMC_BCCU_TRIGDELAY_HALF_BIT.
Returns
None
Description:
Selects input of trap functionality by writing register bit GLOBCON_TRAPIS. The trap functionality is used to switch off the connected power devices when trap input becomes active.

Related APIs:
XMC_BCCU_SetTrapEdge(), XMC_BCCU_ReadTrapInput(), XMC_BCCU_EnableTrap(), XMC_BCCU_ConcurrentEnableTrap()


◆ XMC_BCCU_SetDimClockPrescaler()

void XMC_BCCU_SetDimClockPrescaler ( XMC_BCCU_t *const  bccu,
uint32_t  div 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
divPrescaler factor. Range: 0 to 4095.
Returns
None
Description:
Configures dimmer clock prescaler factor of a BCCU module by writing register bit GLOBCLK_DCLK_PS.

Related APIs:
XMC_BCCU_DIM_SetDimDivider(), XMC_BCCU_SetFastClockPrescaler(), XMC_BCCU_SelectBitClock(), XMC_BCCU_ReadDimClock()


◆ XMC_BCCU_SetEventFlag()

void XMC_BCCU_SetEventFlag ( XMC_BCCU_t *const  bccu,
uint32_t  flag_type 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
flag_typeEvent flag mask to configure multiple events at a time using ORed values of XMC_BCCU_EVENT_STATUS_t.
For example: If XMC_BCCU_EVENT_STATUS_TRIGGER0, XMC_BCCU_EVENT_STATUS_TRIGGER1, XMC_BCCU_EVENT_STATUS_FIFOEMPTY wants to configure at a same time, then event mask is = (XMC_BCCU_EVENT_STATUS_TRIGGER0 | XMC_BCCU_EVENT_STATUS_TRIGGER1 | XMC_BCCU_EVENT_STATUS_FIFOEMPTY)
Returns
None
Description:
Configures multiple interrupt event flags at a same time using ORed values of XMC_BCCU_EVENT_STATUS_t by writing a register EVFSR.

Related APIs:
XMC_BCCU_ClearEventFlag(), XMC_BCCU_ReadEventFlag()


◆ XMC_BCCU_SetFastClockPrescaler()

void XMC_BCCU_SetFastClockPrescaler ( XMC_BCCU_t *const  bccu,
uint32_t  div 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
divPrescaler factor. Range: 0 to 4095.
Returns
None
Description:
Configures trigger functionality clock prescaler factor of a BCCU module by writing register bit GLOBCLK_FCLK_PS.

Related APIs:
XMC_BCCU_SetDimClockPrescaler(), XMC_BCCU_SelectBitClock(), XMC_BCCU_ReadFastClock()


◆ XMC_BCCU_SetFlickerWDThreshold()

void XMC_BCCU_SetFlickerWDThreshold ( XMC_BCCU_t *const  bccu,
uint32_t  threshold_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
threshold_noNumber of consecutive zeroes at modulator output. Range: 0 to 4095.
Returns
None
Description:
Configures number of consecutive zeroes allowed at modulator output (flicker watch-dog number) by writing register bit GLOBCON_WDMBN.

Related APIs:
XMC_BCCU_CH_EnableFlickerWatchdog(), XMC_BCCU_ReadFlickerWDThreshold(), XMC_BCCU_CH_Init(), XMC_BCCU_CH_DisableFlickerWatchdog()


◆ XMC_BCCU_SetGlobalDimmingLevel()

void XMC_BCCU_SetGlobalDimmingLevel ( XMC_BCCU_t *const  bccu,
uint32_t  level 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
levelDimming level of global dimming engine. Range: 0 to 4095
Returns
None
Description:
Configures a global dimming level by writing a register GLOBDIM. This is useful only if global dimming engine selected. Otherwise the configuration is ignored.

Related APIs:
XMC_BCCU_DIM_SetTargetDimmingLevel()


◆ XMC_BCCU_SetOutputPassiveLevel()

void XMC_BCCU_SetOutputPassiveLevel ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no,
XMC_BCCU_CH_ACTIVE_LEVEL_t  level 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noSpecific channel number to enable specific channel. Range: 0 to 8
levelPassive level selection. Use type XMC_BCCU_CH_ACTIVE_LEVEL_t.
Range: XMC_BCCU_CH_ACTIVE_LEVEL_HIGH or XMC_BCCU_CH_ACTIVE_LEVEL_LOW
Returns
None
Description:
Configures passive level of specific channel using chan_no by writing a register bit CHOCON_CHyOP.

Related APIs:
XMC_BCCU_ConcurrentSetOutputPassiveLevel()


◆ XMC_BCCU_SetTrapEdge()

void XMC_BCCU_SetTrapEdge ( XMC_BCCU_t *const  bccu,
XMC_BCCU_CH_TRAP_EDGE_t  edge 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
edgeTrap edge selection. Use type XMC_BCCU_CH_TRAP_EDGE_t.
Range: XMC_BCCU_CH_TRAP_EDGE_RISING, XMC_BCCU_CH_TRAP_EDGE_FALLING.
Returns
None
Description:
Selects active edge which detects trap on TRAPL signal by writing register bit GLOBCON_TRAPED.

Related APIs:
XMC_BCCU_SelectTrapInput(), XMC_BCCU_ReadTrapEdge(), XMC_BCCU_EnableTrap(), XMC_BCCU_ConcurrentEnableTrap()


◆ XMC_BCCU_StartDimming()

void XMC_BCCU_StartDimming ( XMC_BCCU_t *const  bccu,
uint32_t  dim_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
dim_noSpecific dimming engine number to start dimming process Range: 0 to 2
Returns
None
Description:
After dimming engine initialization, the outcome of executing the API starts changing the brightness towards to target by writing a register bit DESTRCON_DEyS.

Related APIs:
XMC_BCCU_AbortDimming(), XMC_BCCU_ConcurrentStartDimming()


◆ XMC_BCCU_StartLinearWalk()

void XMC_BCCU_StartLinearWalk ( XMC_BCCU_t *const  bccu,
uint32_t  chan_no 
)
Parameters
bccuBase address of the bccu module. Range: BCCU0
chan_noSpecific channel number to start color change Range: 0 to 8
Returns
None
Description:
After channel initialization, the outcome of executing the API starts changing the color smoothly towards to target by writing a register bit CHSTRCON_CHyS.

Related APIs:
XMC_BCCU_AbortLinearWalk(), XMC_BCCU_CH_SetTargetIntensity(), XMC_BCCU_IsLinearWalkComplete(), XMC_BCCU_ConcurrentStartLinearWalk()