
3.4 Animation and Blinking
The EFM32 LCD driver includes special features to enable animation and blinking of specific segments without any software interven-
tion. This is useful for displaying continuous animation to signal that a device is alive, without the need to wake up from deep sleep to
update the segments.
The animation feature is available on segments 0 to 7 (or segments 8 to 15) multiplexed with LCD_COM0. The animation is implemen-
ted as two programmable 8-bit registers that are shifted left or right every other Animation state for a total of 16 states. The animation
state changes with each frame counter event. See the reference manual for more information on the animation feature and its interface.
The animation registers and shift operation are shown in the following image.
Seg7
AREGB7
AREGA7
ALOGSEL
Seg6
AREGB6
AREGA6
Seg0
AREGB0
AREGA0
Barrel shift right/left
Barrel shift right/left
Figure 3.3. Animation Function with Barrel Shift and Logic Operations
The included software example demonstrates how to enable and configure the blinking and animation features.
3.5 LCD Interrupts
The LCD peripheral contains one interrupt source, the frame counter interrupt. It can be used to time and execute display updates,
animation changes or similar display effects. Since there are no limitations on when the LCD segment registers can be updated, there
is no need to use the frame counter interrupt to time segment updates. The driver supplied in the Gecko SDK Suite and which is used
in the software example with this application note does not use this interrupt. See the reference manual for more information.
3.6 Minimize Energy Consumption
The LCD driver is itself a very low power peripheral that can operate in deep sleep mode (EM2) from a low frequency oscillator. When
connecting a display to the EFM32, the capacitive load presented by the LCD results in increased energy consumption. This can be
minimized by optimizing a few parameters.
After the multiplex and bias settings are configured correctly, and low power waveform is selected, the display refresh rate should be
configured to the lowest possible value that does not cause flickering by setting the frame rate division and prescale values.
Charge pump mode should not be used unless absolutely necessary. Instead, contrast should first be adjusted to counteract lower sup-
ply voltage or temperatures. Remember that charge pump mode significantly increases current consumption.
In addition, the power consumption of the LCD panel itself can be lowered through the use of charge redistribution. When charge redis-
tribution is in use, all segments are briefly shorted together, allowing low segments to be partially charged by the energy in high seg-
ments instead of using additional energy from the power supply. With charge redistribution, the EFM32 LCD peripheral can reduce cur-
rent consumption by 10% to 24% in the low power waveform mode and by up to 40% in the normal waveform mode. The included
software example demonstrates charge redistribution and shows the reduction in current draw when it is enabled.
CHGRDST[1:0] in LCD_DISPCTRL sets the charge redistribution duty cycle, which should be 5% or less to prevent any reduction in
LCD pin RMS voltage. See the reference manual for for how to calculate and set charge redistribution duty cycle.
If charge redistribution is not used, a larger CMU prescaling value is recommended to minimize power consumed by the LCD block
itself. Note that disabling charge redistribution will always result in higher system power consumption. Charge redistribution is on by
default, but it can be disabled by setting CHGRDST to 0 in LCD_DISPCTRL register.
AN0057.1: EFM32 Series 1 LCD Driver
EFM32 LCD Driver
silabs.com | Building a more connected world. Rev. 1.05 | 10