LCD Board - User’s Guide
Copyright 2012 © Embedded Artists AB
LCD Board
Get Up-and-Running Quickly and
Start Developing Your Application On Day 1!
EA2-USG-1105 Rev A
LCD Board - User’s Guide
Page 2
Embedded Artists AB
Davidshallsgatan 16
211 45 Malmö
Sweden
info@EmbeddedArtists.com
http://www.EmbeddedArtists.com
Copyright 2011-2012 © Embedded Artists AB. All rights reserved.
No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or
translated into any language or computer language, in any form or by any means, electronic,
mechanical, magnetic, optical, chemical, manual or otherwise, without the prior written permission of
Embedded Artists AB.
Disclaimer
Embedded Artists AB makes no representation or warranties with respect to the contents hereof and
specifically disclaim any implied warranties or merchantability or fitness for any particular purpose.
Information in this publication is subject to change without notice and does not represent a
commitment on the part of Embedded Artists AB.
Feedback
We appreciate any feedback you may have for improvements on this document. Please send your
comments to support@EmbeddedArtists.com.
Trademarks
All brand and product names mentioned herein are trademarks, services marks, registered
trademarks, or registered service marks of their respective owners and should be treated as such.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 3
Table of Contents
1 Document Revision History
4
2 Introduction
5
2.1
Features
5
2.2
ESD Precaution
5
2.3
General Handling Care and Usage
5
2.4
Other Products from Embedded Artists
5
2.4.1
Design and Production Services
6
2.4.2
OEM / Education / QuickStart Boards and Developer’s Kits
6
3 Getting Started
7
3.1
Selecting Display Resolution
7
3.2
Mounting
7
3.3
Power Consumption
8
3.3.1
Power consumption of 4.3 inch LCD (EA-LCD-004)
8
3.3.2
Power consumption of 7.0 inch LCD (EA-LCD-006)
8
3.4
Usage - Evaluation
8
4 LCD Board Design
9
4.1
Block Diagram
9
4.2
Schematic Walkthrough
9
4.2.1
Page 2
9
4.2.2
Page 3
10
4.2.3
Page 4
10
4.2.4
Page 5
10
4.2.5
Page 6
10
4.3
Interface Connector Pinning
10
4.4
Software Driver
13
4.4.1
Note about 4.3 inch LCD (EA-LCD-004)
13
4.4.2
Note about 7.0 inch LCD (EA-LCD-006)
14
5 Further Information
Copyright 2012 © Embedded Artists AB
15
LCD Board - User’s Guide
Page 4
1 Document Revision History
Revision
Date
Description
A
2011-09-29
First released version.
B
2012-02-13
Added description about LCD controller settings for LPC processors.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 5
2 Introduction
Thank you for buying the LCD Board from Embedded Artists. The board makes it possible for you to
get started with graphical user interface development immediately. The board directly interfaces the
OEM Base Board (also from Embedded Artists) and can be mounted with forming a compact unit.
2.1
Features
The features of the LCD Board are:
Parallel RGB interface, 16-bit color depth (or 12-bit).
Resistive touch screen controller
I2C-e2prom with configuration parameters
Supply voltage sequence control for LCD via I2C-GPIO
Back light control, including dimming, via I2C-GPIO
50-pos (2x25) IDC interface connector
Powered via interface connector
2.2
Controller can read which LCD is connected and initialize the LCD controller and control
the LCD board accordingly.
3.3V and 5V required
Compact size: 165 x 150 mm
Simple mounting together with OEM Base Board
ESD Precaution
Please note that the LCD Board comes without any case/box and all
components are exposed for finger touches – and therefore extra attention must
be paid to ESD (electrostatic discharge) precaution.
Make it a habit always to first touch the metal surface of one of the USB
connectors on the OEM Base Board (which the LCD Board is mounted on)
for a few seconds with both hands before touching any other parts of the
boards. That way, you will have the same potential as the board and therefore
minimize the risk for ESD.
Note that Embedded Artists does not replace boards that have been damaged by ESD.
2.3
General Handling Care and Usage
Handle the LCD Board with care. The board is not mounted in a protective case/box and is not
designed for rough physical handling. Connectors can ware out after excessive use. The board is
designed for evaluation and prototyping use, and not for integration into consumer or industrial
end-products.
Do not exercise pressure on the display glass area or the flex cable connecting the display to the pcb.
That will damage the display.
Note that Embedded Artists does not replace boards where the LCD has been improperly
handled.
2.4
Other Products from Embedded Artists
Embedded Artists have a broad range of LPC1000/2000/3000/4000 based boards that are very low
cost and developed for prototyping / development as well as for OEM applications. Modifications for
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 6
OEM applications can be done easily, even for modest production volumes. Contact Embedded Artists
for further information about design and production services.
2.4.1
Design and Production Services
Embedded Artists provide design services for custom designs, either completely new or modification to
existing boards. Specific peripherals and I/O can be added easily to different designs, for example,
communication interfaces, specific analog or digital I/O, and power supplies. Embedded Artists has a
broad, and long, experience in designing industrial electronics in general and with NXP’s
LPC1000/2000/3000/4000 microcontroller families in specific. Our competence also includes wireless
and wired communication for embedded systems. For example IEEE802.11b/g (WLAN), Bluetooth™,
ZigBee™, ISM RF, Ethernet, CAN, RS485, and Fieldbuses.
2.4.2
OEM / Education / QuickStart Boards and Developer’s Kits
Visit Embedded Artists’ home page, www.EmbeddedArtists.com, for information about other OEM /
Education / QuickStart boards / Developer’s kits or contact your local distributor.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 7
3 Getting Started
This chapter describes important aspects of using the LCD Board.
3.1
Selecting Display Resolution
It is recommended to prototype with a display that has identical resolution as the intended endapplication. If the exact same resolution cannot be used during prototyping, select a resolution as close
to the end-application as possible. The reason for this is that different display resolutions give different
application program load (program execution time) and different load on the external memory bus,
where the frame buffer typically resides. When developing real-time systems, which many embedded
system are, it is advised to not alter fundamental things, like system load.
Note that size of the display is of no importance for the discussion above. It is the resolution that gives
a certain load on the application and external memory bus. Size can of course also be important when
evaluating the usability and interaction with the user.
The LCD Board comes in different versions. Currently two LCDs are supported and more are under
development:
4.3 inch TFT color LCD with 480x272 pixels resolution and resistive touch screen.
16- and 12-bit color depth is supported.
7.0 inch TFT color LCD with 800x480 pixels resolution and resistive touch screen.
16- and 12-bit color depth is supported.
Many LCDs support 18- and 24-bit color depth. The LCD Board, however, only support 16- and 12-bit
color depth because when increasing the color depth above 16-bits, the memory requirements and
external bus load will double. This is at least true for NXP’s LPC-family of processors with integrated
LCD controller. Instead of having 2 bytes per pixel (for 16- and 12-bit color depth) 4 bytes are needed
per pixel.
3.2
Mounting
Before start using the LCD Board it has to be mounted. The product and support page both contains a
link to a short video demonstrating how to mount the LCD Board together with the OEM Base Board.
Before continuing, watch the instruction video and then mount the LCD Board. A Phillips screw
driver #1 and a small adjustable spanner are needed to complete the mounting.
Note that it is not strictly needed to mount the LCD Board together with the OEM Base Board. It is just
practical. It is also possible to have the LCD Board beside the OEM Base Board. Figure 1 below
illustrates the two mounting options.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 8
Figure 1 – LCD Board Mounting Options
3.3
Power Consumption
Different LCD Boards have different power consumption. The subsections below list the different LCD
boards’ current consumption. The number given is the combined current consumption of the +3.3V and
+5.0V supplies. It is the current consumption that is needed from an external +5V supply (when
connected to the OEM Base board).
3.3.1
Power consumption of 4.3 inch LCD (EA-LCD-004)
When using the 4.3 inch LCD together with the LPC1788 Developer’s Kit (LPC1788 OEM board plus
OEM Base board) the current consumption on the +5V (external or USB powering) is about 480 mA.
Note that this is close to the limits of many USB Host ports. Therefore an external power supply might
be needed. A +5V, 2A external power supply is recommended since it then can be used for other LCD
boards also.
3.3.2
Power consumption of 7.0 inch LCD (EA-LCD-006)
When using the 7.0 inch LCD together with the LPC1788 Developer’s Kit (LPC1788 OEM board plus
OEM Base board) the current consumption on the +5V (external or USB powering) is about 1400 mA.
Note that this is way more than a USB Host port can supply. Therefore an external power supply is
needed. A +5V, 2A external power supply is recommended.
3.4
Usage - Evaluation
Note that the LCD Board has not been designed for integration into an end-product. It is for evaluation
and prototyping.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 9
4 LCD Board Design
This chapter describes the hardware design of the LCD Board. The schematic can be downloaded
from the support page after registering the product serial key (that comes with purchase of the LCD
Board). It can be good to have the schematic side by side when reading this chapter.
4.1
Block Diagram
The block diagram in Figure 2 below gives a quick overview of a design. It illustrates the major
components in the design.
Parallel RGB interface (16/12 bit)
+ I2C/SPI bus
50-pos (2x25) shrouded
IDC connector
I2C-E2PROM with
configuration data
I2C
Parallel RGB pixel data
4.3 inch (480x272
pixels) TFT LCD
I2C-GPIO (PCA9532)
SPI
Voltage
sequence control
Backlight
voltage generation
7.0 inch (800x480
pixels) TFT LCD
LCD_3.3V
LCD_5.0V
LCD_BL
20-40mA
More LCDs to be
supported…
Resistive touch screen controller
(TSC2046) with SPI interface
Figure 2 – The LCD Board Block Diagram
4.2
Schematic Walkthrough
4.2.1
Page 2
J1 is the interface connector to the board. It carries the parallel RGB pixel data as well as control
signals. SPI and I2C serial channels are also present.
The data signals are connected to that TFT5:6:5 and TFT4:4:4 modes of the LPC on-chip LCD
controllers are supported.
All high-speed signals have 100 ohm series resistors in order to minimize signal reflections on the
board.
There is a 40MHz oscillator that can generate a pixel clock to the LPC LCD controller. This shall
currently not be used since 40MHz will create a higher memory bus load than most designs can
handle. The frequency will be changed to 33.333MHz in later revisions of the boards. The oscillator is
normally only mounted on 7 inch LCD Board.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 10
There are also delay logic and an expansion connector that is normally not mounted. These are for
internal EA use during development and prototyping of new LCDs to be supported.
4.2.2
Page 3
The resistive touch screen controller, TSC2046 from Texas Instruments, is connected to the SPI bus.
See datasheet for details about its operation. There is ESD protection on the wires to the touch screen
since these are subject to possible electrostatic discharges from the user.
There is further an I2C port expander, PCA9532 from NXP, which control the supply voltages to the
LCD. Both 3.3V and 5.0V can be controlled. The port expander can also generate other control
signals, like “reset” and “display enable” signals. The contrast of the backlight voltage generator can
also be controlled from the port expander via pulse-width modulation (PWM) of the signal. A frequency
of about 1 kHz is recommended when modulating the signal. 0% modulation (= signal always low)
means 0% contrast. 100% modulation (= signal always high) means full backlight.
There is also an I2C-E2PROM that contains configuration information. For details see section 4.4 . The
controller that generates the LCD signals can read the configuration information and easily configures
the LCD controller according to the information found. The memory shall only be read, never written.
The WP (Write Protect) signal is controlled from the I2C port expander and shall always be high.
4.2.3
Page 4
There is support for the 3.5 inch TFT color LCD with QVGA (landscape, 320x240 pixels). Currently this
configuration is not sold.
4.2.4
Page 5
There is support for the 4.3 inch TFT color LCD with 480x272 pixels resolution. The LCD model
number is HSD043I9W1-A00-0299 from HannStar. The LCD supports 24-bit color depth but only 16
bits are connected. The MSB bits in each color are repeated on the “unconnected” LSB bits.
LCD_DV7, which is the red color MSB bit is connected to the three LSB bits of the red color.
LCD_DV15 (green MSB bit) is connected in the same way to the two LCD bits of the green color.
LCD_DV23 (blue MSB bit) is connected in the same way to the three LCD bits of the blue color.
The backlight voltage generator is based on LT1932 from Linear Technology. See datasheet for
details.
4.2.5
Page 6
There is support for the 7.0 inch TFT color LCD with 800x480 pixels resolution. The LCD model
number is AT070TN84 from Innolux. The LCD supports 18-bit color depth but only 16 bits are
connected. The MSB bits in each color are repeated on the “unconnected” LSB bits. LCD_DV7, which
is the red color MSB bit is connected to the LSB bit of the red color. LCD_DV23 (blue MSB bit) is
connected in the same way to the LCD bit of the blue color. The green color has all color bits
represented in TFT5:6:5 mode.
The display is driven in “DE” mode, which means that HSYNC and VSYNC are not needed. The LCD
can figure out the timing from the DEN (LCD_ENAB) signal.
The LCD has internal backlight generation that is powered by 5V. The contrast is directly controlled by
a logic PWM signal (100-300Hz frequency) from the I2C port expander.
4.3
Interface Connector Pinning
The table below lists the signals on the interface connector, J1. All signals are inputs (to the LCD
Board) except where noted.
The I2C interface is for the e2prom containing configuration information. It is also for communicating
with the i2c port expander (for voltage sequence control, back light control and some other control
signals). The SPI interface is for the resistive touch screen controller. It is also for future use for
example for LCD:s that have drivers that must be initialized via SPI.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 11
Interface
connector
(J1)
Usage
TFT5:6:5 mode
TFT4:4:4 mode
1
Ground (GND)
2
Ground (GND)
3
Currently not used.
4
Currently not used.
5
Currently not used.
6
Currently not used.
7
LCD_DV4 signal from LPC LCD controller.
RED1
RED0 (LSB)
8
LCD_DV5 signal from LPC LCD controller.
RED2
RED1
9
LCD_DV6 signal from LPC LCD controller.
RED3
RED2
10
LCD_DV7 signal from LPC LCD controller.
RED4 (MSB)
RED3 (MSB)
11
Ground (GND)
12
Ground (GND)
13
I2C-SCL signal
14
I2C-SDA signal (bidirectional pin)
15
LCD_DV10 signal from LPC LCD controller.
GREEN0 (LSB)
16
LCD_DV11 signal from LPC LCD controller.
GREEN1
17
LCD_DV12 signal from LPC LCD controller.
GREEN2
GREEN0 (LSB)
18
LCD_DV13 signal from LPC LCD controller.
GREEN3
GREEN1
19
LCD_DV14 signal from LPC LCD controller.
GREEN4
GREEN2
20
LCD_DV15 signal from LPC LCD controller.
GREEN5 (MSB)
GREEN3 (MSB)
21
Ground (GND)
22
Ground (GND)
23
Currently not used.
24
Reset input to the LCD Board.
25
LCD_DV18 signal from LPC LCD controller.
RED0 (LSB)
26
LCD_DV19 signal from LPC LCD controller.
BLUE0 (LSB)
27
LCD_DV20 signal from LPC LCD controller.
BLUE1
BLUE0 (LSB)
28
LCD_DV21 signal from LPC LCD controller.
BLUE2
BLUE1
29
LCD_DV22 signal from LPC LCD controller.
BLUE3
BLUE2
30
LCD_DV23 signal from LPC LCD controller.
BLUE4 (MSB)
BLUE3 (MSB)
31
Ground (GND)
32
Ground (GND)
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 12
33
Currently not used.
34
Currently not used.
35
Vertical sync (VSYNC). Also called LCD_FP.
36
Pixel data enable signal (DEN). Also called
LCD_ENAB.
37
Horistontal sync (HSYNC). Also called
LCD_LP.
38
Pixel data clock.
39
Ground (GND)
40
External pixel clock to LCD controller (output
signal from the LCD board).
41
+3.3V supply to the LCD Board.
42
+5.0V supply to the LCD Board.
43
SPI interface, clock signal
44
SPI interface, mosi signal
45
SPI interface, miso signal (output from the
LCD Board)
46
SPI interface, ssel signal when
communication with on-board LCD
drivers/controllers.
47
General purpose input. Can be used when 4wire SPI interface is used. The 4th wire
signals control information of display data.
Used to communicate with LCD drivers. For
future expansion. Currently not used.
48
SPI interface, ssel signal when
communicating with resistive touch screen
controller (TSC2046).
49
Interrupt output signal from resistive touch
screen controller (TSC2046).
50
Currently not used.
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
4.4
Page 13
Software Driver
A general software driver has been created to in order to make it simple and non-complex to work with
different LCD:s. This section contains a very brief description of the structure. The code is the general
documentation in itself, simply because the software will likely be updated
The software driver package (a zip-file) is downloaded from Embedded Artists support page for the
LCD Board. The support site is available after registration of the product serial key that comes with
purchase of an LCD Board. The package shall be unzipped in the same directory as the sample
applications for the LPC1788 Developer's Kit. The default name of that directory is oem_lpc1788. The
sample application is called s_display_board.
There is a support library called Lib_Displays. The code in this library contains all low-level details.
The I2C-E2PROM contains configuration information. The I2C address of the memory is 0x56
(1.0.1.0.1.1.0.RW). An application can begin with detecting if an I2C-E2PROM is present on this
address. If so, an LCD Board is attached to the system and the LCD controller and graphical
application can be started.
Some of the parameters are just to copy directly into the LCD controller of the LPC processors. Other
information is stored in readable command strings. The configuration information stored is:
Magic number to detect that information has been stored.
Name of LCD and manufacturer in readable strings.
LCD controller setup, including timing parameters. Can be directly copied to LCD controller
registers.
Init sequence command string. The string must be interpreted by the software driver.
Power down command string. The string must be interpreted by the software driver.
Parameters related to touch screen.
The general structure of an application utilizing the LCD Board can be found in main() in main.c of the
s_display_board sample application. A call to ea_lcdb_open(…) will read the configuration e2prom
and initialize the application. A call to ea_lcdb_getLcdParams(..) will get the retrieved parameters,
where the main parameters are width and height of the display.
There is also a function for power down of the LCD. Most LCD:s have strict requirements regarding
power-up and power-down when it comes to supply sequencing and control signals. It is important to
adhere to these requirements in order not to damage the display or reducing its performance or
lifetime.
4.4.1
Note about 4.3 inch LCD (EA-LCD-004)
The code listing below contains the LCD controller settings for the controller that is used on many LPC
processors. It also lists parameters about the touch screen and startup/power down behavior for the
general driver that Embedded Artists has created.
static const LCD_PARAM_T lcdParams =
{
40,
/* Horizontal back porch */
5,
/* Horizontal front porch */
2,
/* HSYNC pulse width */
480,
/* Pixels per line */
8,
/* Vertical back porch */
8,
/* Vertical front porch */
2,
/* VSYNC pulse width */
272,
/* Lines per panel */
0,
/* Invert output enable */
0,
/* Do not invert panel clock */
1,
/* Invert HSYNC */
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 14
1,
/* Invert VSYNC */
1,
/* AC bias frequency (not used) */
16,
/* Bits per pixel */
9000000,
/* Optimal clock rate (Hz) */
TFT,
/* LCD panel type */
0,
/* Single panel display */
};
static eaLcdbTouchParams_t touchParam =
{
0,
// don't swap
630, // x resistance
250, // y resistance
};
static char* initSeqStr = "v1,cd0,cc0,c30,d100,c31,d100,cd1,d10,o,cc100";
static char* pdSeqStr
= "v1,cd0,d1,cc0,q,c30";
static char* lcdName
= "HSD043I9W1-A00-0299";
static char* lcdMfg
= "Hannstar";
4.4.2
Note about 7.0 inch LCD (EA-LCD-006)
It is recommended to generate the highest possible internal pixel clock from the LPC LCD controller.
According to the datasheet a minimum clock frequency of 32.4MHz is needed, but 30MHz will work
just fine. Do not use the on-board 40MHz oscillator (on rev A of the LCD Board) to generate the pixel
clock. The clock frequency is too high for the LCD controllers on most LPC processors.
The code listing below contains the LCD controller settings for the controller that is used on many LPC
processors. It also lists parameters about the touch screen and startup/power down behavior for the
general driver that Embedded Artists has created.
static const LCD_PARAM_T lcdParams =
{
45,
/* Horizontal back porch */
17,
/* Horizontal front porch */
2,
/* HSYNC pulse width */
800,
/* Pixels per line */
22,
/* Vertical back porch */
22,
/* Vertical front porch */
2,
/* VSYNC pulse width */
480,
/* Lines per panel */
0,
/* Invert output enable */
0,
/* Do not invert panel clock */
1,
/* Invert HSYNC */
1,
/* Invert VSYNC */
1,
/* AC bias frequency (not used) */
16,
/* Bits per pixel */
36000000, /* Optimal clock rate (Hz) between 32.4-43.0 MHz according to DS */
TFT,
/* LCD panel type */
0,
/* Single panel display */
};
static eaLcdbTouchParams_t touchParam =
{
0,
// don't swap
775, // x resistance
350, // y resistance
};
static char* initSeqStr = "v1,cc0,c31,d50,o,d200,c51,cc100";
static char* pdSeqStr
= "v1,c50,d200,q,d50,c30";
static char* lcdName
= "AT070TN84-02";
static char* lcdMfg
= "Innolux";
Copyright 2012 © Embedded Artists AB
LCD Board - User’s Guide
Page 15
5 Further Information
The datasheet of the LCD can be downloaded on the support page (requires registering of product
serial key on Embedded Artists’ web site).
Always check for the latest information/version on the support page.
Copyright 2012 © Embedded Artists AB