...the world's most energy friendly microcontrollers EFM32 LCD Driver AN0057 - Application Note Introduction The EFM32 microcontrollers include a self contained, ultra low power LCD driver with internal bias voltage circuit and boost converter to minimize external components. The LCD driver also supports autonomous animation and blinking in deep sleep without software intervention. This application note provides a description of how passive segment LCD displays work and how they can be interfaced with the EFM32. This application note includes: • This PDF document • Source files (zip) • Example C-code • IDE workspaces with example projects ...the world's most energy friendly microcontrollers 1 Introduction to LCD Segment Displays Segmented LCD displays are a common way to display information. The extreme low-power LCD driver in the EFM32 enables a lot of applications to utilize an LCD display even in energy critical systems. This document will both discuss how certain types of LCD displays work, how they are driven and how to minimize energy consumption doing so. 1.1 Passive LCD Displays This document will only discuss passive segment LCD displays (Liquid Crystal Display). These displays are usually constructed by sandwiching the liquid crystal between two glass plates. By using the voltage dependent, polarizing properties of the liquid crystal material, light transmission through the LCD glass can be controlled. The display is usually built up by segments that can either block light or let it pass through depending on the voltage applied over the liquid crystal within that segment. By having a reflective coating on one side of the glass, ambient light can either be reflected back to the user or blocked by the polarizer closest to the reflective layer. This blocking of light occurs because the liquid crystal in one state will change the polarization of the light to allow it to pass both polarizers. In the other state it will not affect the polarization, and the light is then blocked because the two polarizers are orthogonally oriented with respect to each other. This document will further use the notion that a segment is "on" when it is blocking light and "off" when light can pass through. Some displays invert this notion by letting light pass through the "on" segments, and having the "off" segments block light. Figure 1.1 (p. 3) illustrates how light polarization is affected when the light passes through the polarizers and liquid crystal with and without a voltage applied over the liquid crystal. 2013-09-16 - an0057_Rev1.03 2 www.silabs.com ...the world's most energy friendly microcontrollers Figure 1.1. One LCD segment with and without voltage applied. Nonpolarized light Segm ent Off Polarizer AC Liquid Crystal Electrodes 90° Polarizer Reflective Layer Nonpolarized light Segm ent On Polarizer AC Liquid Crystal Electrodes 90° Polarizer Reflective Layer When the voltage is applied, the liquid crystal does not change the polarization direction of the light, this causes it to be blocked by the second polarizer which is oriented at an orthogonal angle to the first polarizer. If no voltage is applied, the liquid crystal will change the polarization of the light so that it can pass through both polarizers. 1.2 Driving a Display Segment Segment LCD displays do not have any internal driving circuitry, all the display pins are directly connected to each side of the corresponding segment. The simplest LCD imaginable consist of only one segment with two electrical connections, one for each side of the segment. The segment is turned on or off by applying a voltage across it. The electric field, or voltage, between the top and bottom of the liquid crystal between the glass plates directly affects the polarization properties, see Figure 1.1 (p. 3) . Just applying a constant voltage across the segment to turn it on would work, but not for a long time. The problem is that after a short time the LCD segment will be affected by the DC-current passing through it, mainly through electrolysis effects on the liquid crystal and electrodes. The solution is to drive the segment with a waveform that has an average 0 DC value. As long as the voltage is switched fast enough (30-100 Hz) it will mainly be the RMS-value of the voltage that affects the amount of polarization. The simplest way of driving a "one segment" LCD with the correct zero DC bias would be to apply two identical and optionally phase shifted, square waveforms. By shifting the phase of one signal with respect 2013-09-16 - an0057_Rev1.03 3 www.silabs.com ...the world's most energy friendly microcontrollers to the other by 180 degrees, the apparent RMS-voltage across the segment goes from 0 to two times the voltage of the two waveforms. See Figure 1.2 (p. 4) . Figure 1.2. Static driving of two LCD segments, one On and one Off. Fram e Start Fram e End Segm ent 0 COM0 VLCD On Segm ent 1 Off VSS SEG0 VLCD VSS SEG1 VLCD VSS VLCD Resulting VRMS COM0- SEG0 0V - VLCD VLCD Resulting VRMS COM0- SEG1 0V - VLCD The reason for using two square waveforms, offset from 0 V is that this is simpler to achieve on a microcontroller with a single power supply. Negative voltages are rarely available, so connecting one side of the LCD segments to ground is not an option. 1.2.1 Driving Many Segments; Static Driving An LCD display most often has more than one segment. Usually the segments are connected with one side common to many of the other segments, this is called the "common"-electrode. The other side of the segment has its own pin connection, the "segment"-electrode. See Figure 1.3 (p. 5) 2013-09-16 - an0057_Rev1.03 4 www.silabs.com ...the world's most energy friendly microcontrollers Figure 1.3. Common backplane with two segments, one On and one Off. Segm ent electrode 1 Segm ent electrode 0 Off Liquid Crystal On Com m on backplane With a statically driven LCD display, there is only one common electrode and each segment has its own segment electrode. Both the common electrode and segments are driven with a square wave form. Segments that are "on" are driven with a phase shifted waveform to make the RMS voltage across these segment non-zero. See Figure 1.2 (p. 4) . 1.2.2 Driving Many Segments; Multiplexed Driving With the static driving approach with one segment line for each segment, large displays with many segments would need a large number of the microcontroller pins just to drive the display. By multiplexing several common and segment lines, fewer pins can be used to drive more segments. The total number of segments that can be driven is the product of the number of common lines and segment lines. Usually the maximum contrast goes down, while the current consumption goes up with higher number of common lines. It is the amplitude of the apparent RMS voltage across a segment that determines if it is on or off. A segment with a low RMS voltage amplitude applied, seems to be off even if the voltage is non-zero. The relationship between apparent RMS voltage across the segment, and the visual properties is nonlinear. This non-linear property is utilized when multiplexing several segments on the same driving pins. A segment does not need to see zero RMS voltage to be perceived as completely off by the user. Each common line and segment line is driven with waveforms consisting of more than two voltage levels as in the static driving case. The number of voltage levels are known as "bias"-levels. By carefully selecting the waveform of each segment line and common line, it is possible to make some segments "see" a low RMS-voltage, while others "see" a high RMS voltage, even if the segments share either their common or segment electrode with other segments. See Figure 1.4 (p. 6) . 2013-09-16 - an0057_Rev1.03 5 www.silabs.com ...the world's most energy friendly microcontrollers Figure 1.4. Multiplexed driving of four LCD segments. Fram e Start Fram e End VLCD COM0 1/ 2VLCD Segm ent 0 Segm ent 1 On Off Off On VSS VLCD COM1 1/ 2VLCD Segm ent 2 VSS VLCD Segm ent 3 SEG0 1/ 2VLCD VSS VLCD SEG1 1/ 2VLCD VSS VLCD 1/ 2VLCD 0V - 1/ 2VLCD - VLCD Resulting VRMS SEG0- COM0 VLCD 1/ 2VLCD 0V - 1/ 2VLCD - VLCD Resulting VRMS SEG0- COM1 In the figure above there are two segment lines and two common lines. The bias is 1/2, which means there are 3 different voltage levels possible. The combination of the waveform on COM0 and SEG0 makes the segment between SEG0 and COM0 turn on, while the segment between SEG0 and COM1 is off. Notice the difference in RMS voltage across the two segments. For a multiplexed display, the difference in RMS voltage between segments that are on and off will be smaller than for a statically driven display. This means that the visual quality and appearance such as contrast and viewing angles must be more carefully calibrated for a multiplexed display. The contrast can be calibrated in software by adjusting the bias-voltage levels within the LCD driver. Viewing angles and appearance of the display in different lighting conditions should be considered when selecting the actual LCD display. 2013-09-16 - an0057_Rev1.03 6 www.silabs.com ...the world's most energy friendly microcontrollers 2 EFM32 LCD Driver This chapter explains some of the features and possibilities of the EFM32 built in LCD driving peripheral. For a full set of features and limitations, please see the reference manual for the family of devices you are using. 2.1 Multiplexing The EFM32 LCD driver can multiplex up to 8 common lines, of which 4 are dedicated common lines and 4 are part of the segment lines (not available on all parts). The multiplexing waveforms and bias voltage levels are automatically handled within the LCD driver peripheral. The software only needs to set segments on or off and adjust contrast if necessary. If multiplexing is not needed, static driving of the display is also possible. A statically driven display can have higher contrast than multiplexed displays. A static display with only one common line is usually lower power than multiplexed displays and in most cases current consumption go up with higher number of common lines. 2.2 Waveform and Bias Selection When selecting multiplex-mode and number of bias-levels according to how many common lines the LCD display has, the waveforms are selected automatically by the EFM32 LCD peripheral. A normal waveform mode and a low power waveform mode is selectable, the difference is that the low power mode achieve the zero DC bias during several frames, in other words, the DC bias across LCD segments is not zero within one frame. This is ok for most LCD displays and applications, this mode is almost always recommended. See Figure 2.1 (p. 7) for an illustration of the difference between low power and normal mode, notice that the normal mode contains more waveform changes within one frame. If flickering or contrast problems occur, the normal mode can be selected. A walk through of the different waveforms up to quad-plexed mode can be found in the reference manual. Figure 2.1. Normal and low power waveform, only common signal shown. Norm al Waveform VLC0 (VLCD) VLC1 (2/ 3VLCD) VLC2 (1/ 3VLCD) VLC3 (VSS) Fram e Start Fram e End Low Power Waveform VLC0 (VLCD) VLC1 (2/ 3VLCD) VLC2 (1/ 3VLCD) VLC3 (VSS) Fram e Start 2013-09-16 - an0057_Rev1.03 Fram e End 7 www.silabs.com ...the world's most energy friendly microcontrollers Selecting the correct bias is necessary to provide the waveform generator with enough voltage levels to produce the necessary waveform for the chosen number of common lines. In general 5- to 8-plexed modes need 1/4 bias (5 voltage levels), 3- to 4-plexed modes need 1/3 bias (4 voltage levels), while 2plexed need 1/2 bias (3 voltage levels) and static mode only need 2 voltage levels (named static mode in reference manual. The following table illustrates the need for more bias levels when increasing the number of multiplexed common lines. The difference between Von and Voff is essentially a measurement of the possible contrast. Notice that for the static driven display, the contrast is essentially infinite. Take a look at Figure 2.2 (p. 9) for an illustration of the non linear properties of the liquid crystal and why the difference between Von and Voff is a measure of contrast. Table 2.1. LCD drive modes, bias setting and contrast characteristics. LCD drive mode configuration LCD bias setting Contrast = Von(RMS)/Voff(RMS) Static Static Infinite 1:2 multiplex 1/2 2.24 1:2 multiplex 1/3 2.24 1:2 multiplex 1/4 1.85 1:4 multiplex 1/2 1.53 1:4 multiplex 1/3 1.73 1:4 multiplex 1/4 1.65 1:6 multiplex 1/2 1.34 1:6 multiplex 1/3 1.53 1:6 multiplex 1/4 1.53 1:8 multiplex 1/2 1.25 1:8 multiplex 1/3 1.41 1:8 multiplex 1/4 1.45 Notice that for some of the multiplex configurations, the contrast actually goes down with higher number of bias levels. In general higher number of bias levels also means higher energy consumption, so for a given number of multiplexed common lines, the lowest possible number of bias levels should be chosen. The contrast might be acceptable even with a lower number of bias levels. 2.3 Contrast Adjusting the contrast of the LCD is only relevant to multiplexed displays because the "off" segments in multiplexed mode still has a non-zero RMS voltage value across them. The idea of contrast adjustment is to get the RMS voltage of "off"-segments below a certain threshold so these segments are perceived as off, but still have high enough voltage across the "on"-segments for them to be perceived as on. The contrast properties varies between different LCD displays, and also changes with temperature and voltage, which makes contrast adjustments necessary. See Figure 2.2 (p. 9) for an illustration of the non-linear nature of the liquid crystal material with respect to applied voltage and transmission of light without changing the polarization. 2013-09-16 - an0057_Rev1.03 8 www.silabs.com ...the world's most energy friendly microcontrollers Figure 2.2. Relative transmission of light through the LCD for changes in the applied RMS voltage. 100% 90% Relative Transm ission 10% Segm ent off Segm ent grey Segm ent on VRMS [V] 2.3.1 Internal Voltage Boost Some LCD displays require higher voltage waveforms to work. The EFM32 LCD peripheral includes a built in boost converter to generate voltage higher than the supply voltage of the EFM32. This boost generator can generate voltages up to 3.0 V to 3.6 V from supply voltages down to the minimum EFM32 Vdd voltage. The usual sign that the boost converter is needed is that the LCD contrast goes down and the "on"segments start to appear dim even with the contrast adjusted to its highest level. This can also happen because of reduced temperature of the LCD glass. When this happens, the LCD boost converter can be turned on by software, it is not necessary to have the boost converter enabled all the time, it can enabled on the fly when needed. Remember that the boost converter significantly adds to the current consumption (several microamps typically). Please see the reference manual for more information on the necessary external components for the boost converter and how to enable and adjust its output voltage. 2.3.2 Contrast Compensation As mentioned earlier the LCD contrast is affected by both the EFM32 supply voltage and the temperature of the LCD glass. If the application is operated over a wide range of supply voltages and temperatures, the contrast, and optionally the boost converter, should be automatically adjusted according to predetermined thresholds. The correct contrast adjustment varies between different displays and viewing angles. Exactly at which voltages and temperatures the boost converter is needed is also dependent on the LCD display itself. Some information can often be found in the LCD glass documentation. 2.4 Animation and Blinking The EFM32 LCD driver includes special features to enable animation and blinking of specific segments without any software intervention. 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 segment 0 to 7 multiplexed with LCD_COM0. The animation is implemented as two programmable 8 bits 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. Please see the reference manual for more information on the animation feature and its interface. The animation registers and shift operation can be seen in Figure 2.3 (p. 10) . 2013-09-16 - an0057_Rev1.03 9 www.silabs.com ...the world's most energy friendly microcontrollers Figure 2.3. Animation Function with barrel shift and logic operations Barrel shift right/ left AREGA7 AREGA6 Seg7 AREGB7 AREGA0 Seg6 AREGB6 Seg0 AREGB0 ALOGSEL Barrel shift right/ left The included software example demonstrates how to enable and configure the blinking and animation features. 2.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 with the kits and which is used in the software example with this application note does not use this interrupt. Please see the reference manual for more information. 2.6 Minimize Energy Consumption The LCD driver is in itself a very low power peripheral that can operate in deep sleep mode (EM2) from the low frequency oscillator. When connecting an LCD display to the EFM32, the energy consumption will increase because of the capacitive load the LCD display represents. To minimize the energy consumption it is necessary to optimize 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. The refresh rate is configured by setting the frame counter top and prescale values. The LCD boost converter should not be used unless absolutely needed. The contrast should be adjusted first to counteract falling supply voltage or lower temperatures. Remember that the boost converter significantly adds to the current consumption (several microamps typically). 2013-09-16 - an0057_Rev1.03 10 www.silabs.com ...the world's most energy friendly microcontrollers 3 Software Examples This application note includes a software examples that demonstrate use of the LCD peripheral. The example is a simple "Hello World" example that exemplifies how to use the LCD display with display drivers for the EFM32 starter kits and development kits. It also implements more advanced features such as animation and the voltage boost feature. 3.1 Hello World This example uses the BSP (Board Support Package) drivers to enable and write a message on the LCD display. It configures the LCD peripheral correctly for low current consumption without flickering on the different EFM32 starter kits. In addition it enables the animation feature of the EFM32 LCD driver to animate a rotating circle in deep sleep. Note that the rotating circle is only half a circle on some kits because not all of the circle segments are connected to the animation enabled segment and common lines. 3.2 Porting the LCD Driver to other Displays This section contains a description of the necessary steps needed to port the BSP LCD driver to other LCD displays with different segment and common line mapping. It will only describe how to port either 4-plexed or 8-plexed displays, since these are the only types of displays present on Energy Micro kits. It should however be fairly easy to port the driver to other multiplexed configurations after understanding the basics of how to port the display driver. A segment LCD most often consist of up to three types of "information displaying modules": • 1: Individual symbol segments that can be turned on/off, it can be anything from a low battery symbol to Celcius/Farhenheit temperature indication. The EFM32 kit LCD glass contains several symbols, most of them are located in the top left corner, including the animation ring, battery symbol, energy mode rings and the gecko. • 2: 7 Segment numbers, each digit is built up of 7 segments that can be turned on or off to make up the numbers from 0 to 9. The EFM32 kit LCD glass contains 4 of these in the top right corner. Figure 3.1. 7 segment digit with typical naming of segments. • 3: 14 Segment alphanumeric letters, sometimes referred to as "star burst" or "union jack" display. Each letter or digit is built up of 14 segments that can be turned on or off to make up either any number from 0 to 9 or any letter from a to z, even capital letters are supported. The EFM32 kit LCD glass contains 7 of these in the lower part of the display. Note that the driver only supports mapping for 14-segment star burst letters, some LCD's contain 15 or 16 segment letters, to support these, the mapping of letters to segments must also be changed in addition to the segment to pin mapping. 2013-09-16 - an0057_Rev1.03 11 www.silabs.com ...the world's most energy friendly microcontrollers Figure 3.2. 14 segment alphanumeric letter with typical naming of segments. Figure 3.3. EFM32 kit LCD glass segments. Figure 3.3 (p. 12) illustrates how the Energy Micro kit LCD glass is built up. Notice the three types of segment constellations, symbols, 7-segment digits and 14-segment alphanumerics. The three types of constellations are handled separately in the board support package LCD driver in the example projects. 3.2.1 Understanding the LCD Segment Map All the mapping information on which segment and common line is connected to which LCD segment is contained in the segmentlcdconfig.h file which varies between the different starter kits and development kits. It is contained in the "config" folder within each kit software example folder. To understand how the segmentlcdconfig.h is built up, it helps to also look at the LCD display mapping figure which is located in the kit schematic document and at the same time have the segmentlcdconfig.h file open. For better understanding of this section, the reader of this document should open it and have it open while reading the rest of this document. As an example, consider the first alphanumeric letter in the "EFM_DISPLAY_DEF"-define in segmentlcdconfig.h for the STK3700. ".com[0]" and ".bit[0]" refers to the common and segment line of the first segment ( denoted A in the 14-segment letter in Figure 3.2 (p. 12) ). ".com[1]" and ".bit[1]" refers to the second segment (denoted B in the 14-segment letter in Figure 3.2 (p. 12) ). Note that in the case of the STK3700, the common line sequence is reversed and so is the numbering of the alphanumeric letters compared to the code. This causes the first alphanumeric letter in the segmentlcdconfig.h file to actually be the 7 alphanumeric letter in the LCD figure. Further the ".com[0] = 1" mapping is actually mapping to common line 6 in the LCD glass figure (Figure 3.4 (p. 14) ). Since the pin numbering of the LCD glass in the schematic begins at 1, the ".bit[0] = 13" mapping in segmentlcdconfig.h actually refers to PIN 14 in the LCD figure in the schematic. All of this information should make it clear that the ".com[0] = 1" and ".bit[0] = 13" results in mapping the segment named 7A to the first segment in the first alphanumeric letter in segmentlcdconfig.h. 2013-09-16 - an0057_Rev1.03 12 www.silabs.com ...the world's most energy friendly microcontrollers 3.2.2 Porting the LCD Segment Map This section is an actual step by step description of the porting. Start with selecting a kit with the same number of multiplexed common lines as your display. Either select the g8xx starter kit for 4-plexed displays, or the STK3300/STK3700 for 8-plexed displays. Open the segmentlcdconfig.h file for the selected kit. Start with the easiest part, the individual symbol segments, if any. These have their individual segment and common line defines at the start of header file. Change a couple of them and check if it is correct by turning on only those segments. Watch the LCD glass and check if your mapping was correct. This should indicate if you have connected the common lines/segment lines in the order you expect (it might be inverted or completely the wrong order because of errors in lcd documentation or PCB schematic/layout). Next on the list is the 7-segment digits if any. These are a bit easier than the 14-segment alphanumerics because they contain fewer segments per digit. Remember that ".com[0]" and ".bit[0]" refers the common and segment line of the first segment (segment A) in the digit, ".com[1]" and ".bit[1]" is segment B and so on. These are most often named A-G in alphabetic order, clockwise around the 7-segment digit, starting at the top, see Figure 3.1 (p. 11) . If your display contains star burst letters (14-segment letters) these can be ported in the same way as the 7-segment digits. The numbering is also here usually clockwise, starting from the top, note that the actual letters chosen by the LCD glass manufacturer to represent which segments can vary quite a bit. In any case the LCD glass of the efm32 kits combined with the segmentlcdconfig.h supplied for this LCD glass should make it possible to figure out the correct numbering of the segments. See Figure 3.4 (p. 14) for the mapping and naming of all the segments in the 8-plexed efm32 LCD glass. 2013-09-16 - an0057_Rev1.03 13 www.silabs.com ...the world's most energy friendly microcontrollers Figure 3.4. EFM32 LCD segment to pin assignment. 2013-09-16 - an0057_Rev1.03 14 www.silabs.com ...the world's most energy friendly microcontrollers 4 Revision History 4.1 Revision 1.03 2013-09-03 New cover layout 4.2 Revision 1.02 2013-05-08 Added software projects for ARM-GCC and Atollic TrueStudio. 4.3 Revision 1.01 2013-02-07 Fixed linker error for DK3550 project. 4.4 Revision 1.00 2013-02-06 Initial revision. 2013-09-16 - an0057_Rev1.03 15 www.silabs.com ...the world's most energy friendly microcontrollers A Disclaimer and Trademarks A.1 Disclaimer Silicon Laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Laboratories products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Laboratories shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products must not be used within any Life Support System without the specific written consent of Silicon Laboratories. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Laboratories products are generally not intended for military applications. Silicon Laboratories products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. A.2 Trademark Information Silicon Laboratories Inc., Silicon Laboratories, the Silicon Labs logo, Energy Micro, EFM, EFM32, EFR, logo and combinations thereof, and others are the registered trademarks or trademarks of Silicon Laboratories Inc. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. 2013-09-16 - an0057_Rev1.03 16 www.silabs.com ...the world's most energy friendly microcontrollers B Contact Information Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 Please visit the Silicon Labs Technical Support web page: http://www.silabs.com/support/pages/contacttechnicalsupport.aspx and register to submit a technical support request. 2013-09-16 - an0057_Rev1.03 17 www.silabs.com ...the world's most energy friendly microcontrollers Table of Contents 1. Introduction to LCD Segment Displays .......................................................................................................... 2 1.1. Passive LCD Displays ..................................................................................................................... 2 1.2. Driving a Display Segment ............................................................................................................... 3 2. EFM32 LCD Driver .................................................................................................................................... 7 2.1. Multiplexing ................................................................................................................................... 7 2.2. Waveform and Bias Selection ........................................................................................................... 7 2.3. Contrast ........................................................................................................................................ 8 2.4. Animation and Blinking .................................................................................................................... 9 2.5. LCD Interrupts .............................................................................................................................. 10 2.6. Minimize Energy Consumption ......................................................................................................... 10 3. Software Examples .................................................................................................................................. 11 3.1. Hello World .................................................................................................................................. 11 3.2. Porting the LCD Driver to other Displays ........................................................................................... 11 4. Revision History ...................................................................................................................................... 15 4.1. Revision 1.03 ............................................................................................................................... 15 4.2. Revision 1.02 ............................................................................................................................... 15 4.3. Revision 1.01 ............................................................................................................................... 15 4.4. Revision 1.00 ............................................................................................................................... 15 A. Disclaimer and Trademarks ....................................................................................................................... 16 A.1. Disclaimer ................................................................................................................................... 16 A.2. Trademark Information ................................................................................................................... 16 B. Contact Information ................................................................................................................................. 17 B.1. ................................................................................................................................................. 17 2013-09-16 - an0057_Rev1.03 18 www.silabs.com ...the world's most energy friendly microcontrollers List of Figures 1.1. 1.2. 1.3. 1.4. 2.1. 2.2. 2.3. 3.1. 3.2. 3.3. 3.4. One LCD segment with and without voltage applied. ..................................................................................... 3 Static driving of two LCD segments, one On and one Off. .............................................................................. 4 Common backplane with two segments, one On and one Off. ......................................................................... 5 Multiplexed driving of four LCD segments. ................................................................................................... 6 Normal and low power waveform, only common signal shown. ........................................................................ 7 Relative transmission of light through the LCD for changes in the applied RMS voltage. ........................................ 9 Animation Function with barrel shift and logic operations .............................................................................. 10 7 segment digit with typical naming of segments. ........................................................................................ 11 14 segment alphanumeric letter with typical naming of segments. ................................................................... 12 EFM32 kit LCD glass segments. .............................................................................................................. 12 EFM32 LCD segment to pin assignment. ................................................................................................... 14 2013-09-16 - an0057_Rev1.03 19 www.silabs.com ...the world's most energy friendly microcontrollers List of Tables 2.1. LCD drive modes, bias setting and contrast characteristics. ............................................................................ 8 2013-09-16 - an0057_Rev1.03 20 www.silabs.com