id 421c:designing with segmented lcd displays travis weisberger embedded systems engineer version:...
TRANSCRIPT
ID 421C: Designing with Segmented LCD Displays
Travis Weisberger
Embedded Systems Engineer
Version: 1.3
BNS Solutions
13 October 2010
2
BNS Solutions
A little something about BNS… Engineering consulting firm Located in Walpole, Massachusetts Renesas Platinum Alliance partner Work in numerous industries including
“Engineering and Technical Marketing Solutions as simple as possible, But Not Simpler™”
3
Bio
Travis Weisberger Northeastern University BS CE/EE With BNS Solutions since 2009 Started LCD with DPAC (Dynamically
Controlled Alarm Clock)– Graphic LCD which uses same methods
Jerry Issa University of Michigan BSE in CE Boston University MS CSE With BNS Solutions since 2007 First implemented LCD control in
home heating solutions
Agenda
Hardware What is a segmented LCD Types of LCDs Controlling the hardware
Software Remapping backplane Information blocks The “screen” approach for controlling a system
Questions Feedback
5
7
LCD (Liquid Crystal Display)
There is a viewing angle(usually 12 or 6 o’clock) Not light emitting, so require a backlight in low light
situations
Mostly concerned with twisted nematic (TN) displays Light is polarized and then either blocked or passed by the
liquid crystals, causing light and dark areas Applying voltage twists the liquid crystal to create visual
segments
8
Types of TN LCDs
Reflective - has reflector behind, used only in well lit environments, cannot be backlit
Transmisive - requires light to pass through, must be backlit Transflective – hybrid that can work backlit or in bright
environments
10
Multiplexing
If there are more segments than available pins, the segments will need to be multiplexed between multiple backplanes (or commons)
The disadvantage is increasing drive complexity and reduced contrast
11
Bias
When there are greater 1 backplane, the voltage must be biased to several levels The bias level is defined by the LCD itself
Bias is using several drive voltages which are multiples of each other
12
Designs for 2 Backplanes
Without a LCD driver
Several methods using:4 digital I/Os2 digital I/Os
Backplane waveform
13
4 I/Os
By using 4 I/O pins for the commons, the configuration is easy to implement
5V – output high 2.5V – one high/one
low 0V - both low for
0V.
14
2 I/Os
By using 2 I/O pins for the commons, the configuration is easy to implement but requires the tri-state to be used
5V – output high 2.5V – tri-state/
float 0V – output low
16
DC Drift
One problem with LCDs is with DC driftOccurs when a constant non-zero voltage potential
is held on a single segmentCauses the crystals in the segment to “drift” to a
half on-half off position, which gives a grey look (never clear, never black)
Changing potentials will solve this
Persistent application will cause permanent degradation
17
Hardware LCD Drivers
Some processors, such as the R8C/Lx family, contain integrated LCD drivers
Greatly simplifies management of large LCDs with many segment and backplane lines
19
Remapping the LCD
Logical remap of display segment to an array of com and segment pins
Map display segments to array for: Ease of reuse and portability Maintainability in the face of hardware changes Self documenting and readable code
Can further map characters to sets of lines in 7 or 14 segments to display
Examples in HEW
21
Segmental Building Blocks
Segments that make a character
Characters that make an information area
Multiple segments can be formed to create dynamic icons
22
Designing Software for LCD
Screens State machine Control state of system Controls what is on LCD Controls what key/button presses do
Easy to update and maintain Straight forward and easy to read
23
Screen Table
Everything is defined here Each screen controls and corresponds the state of the
system Each table entry has
Section for fixed icons Section for pointers for data to be displayed in data area Section for formatting Section for blinking icons Other sections for state depended items
Examples in HEW
24
Controlling Keyboard / Buttons
Can be one of several methods 1 large switch statement, each case being a screen with a
switch statement for all the buttons Function table where rows are screen and columns are buttons
Button case control what button press does (or does not do) in that screen
Examples in HEW