Lower-cost LED lighting by design
To achieve a high-quality PWM dimming strategy for a large RGB LED array – smooth, flicker free and with crisp, linear colour transitions – can consume valuable development time, microcontroller CPU cycles, and code space. Brightness and colour control implemented as dedicated hardware in a new generation of microcontrollers now provides a faster route to beautifully controlled lighting.
RGB LED control is needed in a wide range of lighting and backlighting applications, and may be used to generate controllable white light or to produce colour changes for special effects or decoration. When used for backlighting LCD panels, RGB LED arrays can be adjusted to produce white light in a variety of colour temperatures if required, for example to provide ideal characteristics for PC, TV or cinema modes.
For best results, designers need to be able to ensure uniform colour and brightness across the illuminated area of the lamp or LCD panel, and to ensure that any transitions between colours or between illumination levels are achieved smoothly and without flicker or unwanted bright spot or spurious colours.
Conventional PWM Dimming
A common method of controlling an array of RGB LEDs is to apply PWM dimming to each red, green and blue channel, which adjusts the relative luminous flux from each emitter to produce the desired colour. The PWM signals are typically generated by a microcontroller, and used to control drivers for each of the red, green and blue channels.
Writing code for such a dimming controller, which is capable of producing the required changes and avoiding spurious effects, presents many complex challenges. The dimming rate for each channel needs to be controlled in such a way as to appear smooth to the user, and should ideally be free from any visible dimming steps. When transitioning from one colour to another the change needs to be accomplished without producing other unwanted colours during the transition. A poor PWM dimming signal can also produce unwanted flickering, which may be visibly apparent or may be perceived by the viewer although not directly visible due to natural saccadic movement of the human eye. Both visible and invisible flickering can trigger effects such as headache, fatigue or other neurological responses in some people.
The designer of an LED lighting application may decide to develop proprietary code for RGB dimming control. Alternatively, suitable sample code from the microcontroller manufacturer or a third party may be used or modified if available. By maintaining distribution partnerships with leading innovators of microcontrollers and LED drivers, and having established the multinational Arrow Lighting Team to support customers creating new solid-state lighting products, Arrow is able to help select the most suitable components and software to achieve the most economical solution meeting the application requirements. Customers’ engineers can also take advantage of the cloud-based Arrow Lighting Designer tool to select the best LEDs, optics, power components and thermal-management solutions, and simulate, modify, and optimise their designs for production.
Moving Brightness and Colour Control into Hardware
A new approach to dimming and general control of LED lighting is now open to designers working with Infineon’s latest XMC1200 and XMC1300 industrial microcontrollers, which have special features for LED-lighting and HMI-control applications. These devices integrate a dedicated Brightness and Colour Control Unit (BCCU), which helps shorten time to market and reduce bill of materials costs.
The BCCU is a peripheral function implemented in hardware that can be controlled with minimal user code, thereby also simplifying software and saving valuable processor cycles for application-level instructions. Three dimming engines and nine output channels provide enough resources to control the dimming level and colour of multi-channel LED lamps. Figure 1 shows one dimming engine being used to control an RGB LED array. The BCCU controls the dimming level using Pulse-Density Modulation (PDM). It can send the PDM dimming signals to an LED driver IC such as the BCR420/BCR421, or can control the LEDs via the microcontroller’s integrated CCU4 and CCU8 capture/compare units in driverless designs hence saving external components.
Figure 1. The BCCU implements a comprehensive LED dimming solution in microcontroller hardware.
The dimming engine controls the rate at which the dimming signal is adjusted from the current level to the target level. The rate of adjustment follows an exponential characteristic as the dimming level changes from 0% to 100%. This allows the human eye to adapt comfortably and is known to be perceived as a smooth and natural progression. The dimming engine also implements a dither feature, which eliminates discernible steps in the dimming curve at low levels.
Each BCCU output channel contains a 12-bit sigma-delta modulator that generates the PDM signal from the signals generated by the dimming engine and an integrated linear colour-control function, or linear walker (Figure 2). The modulator has an adjustable bit rate, which can be optimized for a given application to reduce or eliminate both visible flicker and invisible intrasaccadic flicker. A built-in flicker watchdog is also included to help ensure smooth dimming adjustments even at very low brightness levels.
Figure 2. The dimming engine defines the exponential dimming curve executed via each BCCU output channel.
The linear walker provided in each output channel ensures consistent transitions during colour changes. As the intensity of each individual LED is adjusted to produce the next desired colour, this function ensures that the red, green and blue LED driving currents reach their respective targets at the same time. This eliminates unwanted transitional colours and effects; the linear characteristic ensures a straight transition in the orthogonal colour space (Figure 3).
Figure 3. The linear walker functions ensures a straight transition, with R, G and B channels reaching their target values simultaneously to avoid unwanted effects.
To allow control of high-power LED drivers, each BCCU channel also implements a packing function enabling the controller to meet the minimum hold-time requirements of the driver’s DIM/Enable input. High-power drivers can have relatively slow DIM/Enable inputs that require a longer minimum stable signal duration, which restricts the maximum allowable frequency if PWM dimming is used. The BCCU, however, uses PDM dimming with high bit rates, which helps eliminate flicker and allows greater precision and smoother dimming. In some cases, a high bit rate may prevent the dimming signal meeting the minimum hold-time requirement of the driver. To avoid this, the packing function reorganizes the raw dimming waveform of the BCCU to group ON bits and OFF bits together in order to meet the minimum ON time and OFF time requirements of the driver, as shown in Figure 4. The desired dimming level is maintained since packing does not alter the relative number of ON bits and OFF bits.
Figure 4. The packer helps meet the typically longer hold-time requirements at the DIM/Enable input of higher-power LED drivers.
Making the Most of I/Os
Another challenge that designers can face, particularly when implementing backlit touch panels, is that the microcontroller may not provide enough I/O pins to control the LED backlight array and the touch panel. The XMC1200 microcontrollers overcome this limitation by implementing an additional dedicated hardware peripheral called the LED and Touch-Sense control unit (LEDTS), which allows LED outputs and touch-pad inputs to share pins. The LEDTS implements column control, line control, touch-sense control and interrupt control, and is capable of driving up to 56 LEDs in a matrix while also sensing eight capacitive touch pads. These functions, implemented in hardware, effectively allow developers to control a large LED array using a limited number of pins without extensive software development.
Putting the BCCU to Work
To assist design starts taking advantage of these dedicated LED-control features of the XMC1200 or XMC1300 microcontrollers, the LED Lighting Application Kit is available comprising a microcontroller board, XMC1200 Boot Kit, a colour-LED card and a white-LED card. The LED cards also feature an ambient light sensor enabling automatic brightness adjustment, a DALI lighting-control interface with isolation, and a 433MHz RF receiver for wireless remote applications. The colour-LED card also has a DMX512 interface. Either board can be connected to the XMC1200 microcontroller development board via the 2×30-pin expansion connector provided.
The latest version of Infineon’s Digital Application Virtual Engineer (DAVE) development platform includes support for the BCCU and LEDTS. Using the UIEditor utility, for example, engineers can enable the BCCU dimming engine and configure settings such as initial dimming level, dither enable or disable, dimming curve selection, and brightness level and transition time (Figure 5a). Similarly, the DAVE UIEditor allows the user to configure settings such as output gating, flicker watchdog enable/disable, trigger selection and walk time settings for each output channel (Figure 5b). The output channel intensity and packer configuration are assigned under a separate tab.
Figure 5a. using DAVE to configure the BCCU dimming engine.
Figure 5b. Using DAVE to configure BCCU channel settings.
The LED Lighting Application Kit contains examples that show how to set up the BCCU for colour or white LED control, and demonstrates suitable settings for a streetlight application using the BCCU to control high-power white LEDs.
As the LED becomes the technology of choice for lighting applications ranging from the pocket and desktop to office, industrial and street lighting, product developers need a faster way to implement high-quality lighting controls that provide stepless, flicker-free dimming and also allow smooth, linear colour transitions by RGB LED arrays.
Infineon’s Brightness and Colour Control Unit (BCCU), implemented in hardware in XMC1200 and XMC1300 microcontrollers, saves the development time and memory footprint of traditional software-based control, provides comprehensive and user-adjustable dimming controls, is compatible with drivers spanning a wide power range, and is configured within the familiar DAVE graphical microcontroller development environment. When used with the XMC1x00 capture/compare peripherals, the BCCU also enables driverless LED lighting designs.
In order to fully demonstrate the flicker free dimming and colour changing capabilities of the XMC1200 Cortex M0 family, Arrow has manufactured an XMC1200 Colour Lighting Demo Kit. This effective kit shows the XMC1200 M0 BCCU peripheral driving 3 RGB LED strings, each with 4 LEDs. This demonstration can be arranged via Arrow’s Lighting experts and Field Application Engineers.