Download.php?id=506745Nokia 6100 LCD Display Driver
James P. have been countless millions of Nokia cell phones sold world-wide and this economy of scale has made it possible for the hobbyist and experimenter to procure the LCD graphic display from these phones at a reasonable price.Sparkfun Electronics (www.sparkfun.com) sells a model 6100 for $19.95 (US).
Ive seen sources for this display on EBay for $7.99 (US) plus $10.00 shipping (from Hong Kong, so shipping is a bit slow).The Swedish web shop Jelu (www.jelu.se) has this display for about $20.00 (US) also (see photograph below).
Olimex uses these displays on their more sophisticated development boards, so this tutorial will be geared to the Olimex SAM7-EX256 board shown on the front cover.
Nokia 6100 LCD Display
(from Jelu web site)
The important specifications for this display are as follows:
132 x 132 pixels 12-bit color rendition (4 bits red, 4-bits green, 4-bits blue) 3.3 volts 9-bit SPI serial interface (clock/data signals)
The major irritant in using this display is identifying the graphics controller; there are two possibilities (Epson S1D15G00 or Philips PCF8833).The LCD display sold by the German Web Shop Jelu has a Leadis LDS176 controller but it is 100% compatible with the Philips PCF8833).
So how do you tell which controller you have? Some message boards have suggested that the LCD display be disassembled and the controller chip measured with a digital caliper well thats getting a bit extreme.
Heres what I know.The Olimex boards have both display controllers possible; if the LCD has a GE-12 sticker on it, its a Philips PCF8833.If it has a GE-8 sticker, its an Epson controller.
The older Sparkfun 6100 displays were Epson, their web site indicates that the newer ones are an Epson clone.
Sparkfun software examples sometimes refer to the Philips controller so the whole issue has become a bit murky.The trading companies in Honk Kong have no idea what is inside the displays they are selling.A Nokia 6100 display that I purchased from Hong Kong a couple of weeks ago had the Philips controller.
I was not happy with any of the driver software examples I had inspected; they all seemed to be mash-ups collections of code snippets for both types of controllers mixed together.None of these examples matched exactly the Philips PCF8833 or the Epson S1D15G00 user manuals, which can be downloaded from these links.
Philips/NXP Epson So I set out to write a driver based solely on the LCD controller manufacturers manual.This is not to say that I didnt have my own mysteries.I had to invert the entire display and reverse the RGB order to get the colors to work out properly for the Philips controller
.The Epson S1D15G00 user manual is a poor English translation and nearly incomprehensible.
Digital-to-analog Converter Box User Manual
Preface About the User Manual This manual is designed to help you familiarize yourself with the operation of the Digital-to-Analog Converter Box. (dsconverter.com)
Nokia 6100 Lcd Display Driver
with a digital caliper – well ... Both snippets have a “wait until TXEMPTY” to guarantee that a new command/data stream is ... This has the effect of creating a drawing box. (digital-tv-converter.net)
How Do I Get The Best Audio And Video From My
user manual. Digital Stream Digital to Analog Converter Box (Model DTX9900, SKU 15-149) ... Digital Converter Box FAQs I want the picture to be full screen. (elektroda.pl)
To keep this tutorial simple, I will not address the issues of scrolling or partial displays (to conserve power) since these are rarely-used features.
I used the Olimex SAM7-EX256 evaluation board as the execution platform.This is an ARM7 board with many peripherals that is an excellent way to learn about the ARM architecture at a reasonable price ($120 from Sparkfun).I also used the YAGARTO/Eclipse platform as the cross-development environment which is explained in great detail in my tutorial Using Open Source Tools for AT91SAM7 Cross Development which can be downloaded from the following connection issues are also not the subject of this tutorial; you can download the Olimex schematic for the SAM7-EX256 board to see their design for a hardware interface to the Nokia 6100 LCD display.
LCD Display Orientation
The Nokia 6100 display has 132 x 132 pixels; each one with 12-bit color (4 bits RED, 4 bits GREEN and 4 bits BLUE).Practically speaking, you cannot see the first and last row and columns.
The normal orientation is as follows: Columns
X (0,131) (131,131) (131,0) (0,0) X Y
Default Orientation of Nokia 6100 LCD Display
That, of course, is upside-down on the Olimex SAM7-EX256 board if the silk-screen lettering is used as the up/down reference.So I set the mirror x and mirror y command to rotate the display 180 degrees, as shown below.This will be the orientation used in this tutorial (it is so easy to change back, if you desire).
Rows (0,131) (131,131)(131,0) (0,0) X Y
Tutorial Orientation of Nokia 6100 LCD Display
Communication with the Display
The Nokia 6100 uses a two-wire serial SPI interface (clock and data).The ARM7 microcontroller SPI peripheral generates the clock and data signals and the display acts solely as a slave device.Olimex elected to not implement the MISO0 signal that would allow the ARM microcontroller to read from the LCD display (you could read some identification codes, status, temperature data, etc).Therefore, the display is strictly write-only!
We send 9 bits to the display serially, the ninth bit indicates if a command byte or a data byte is being transmitted.Note in the timing diagram below from the Philips manual, the ninth bit (command or data) is clocked out first and is LOW to indicate a command byte or HIGH to indicate a data byte.
SPI serial interface sends commands and data bytes
How fast can this SPI interface be run? Since the PCF8833 data sheet specifies that the serial clock SCLK period be no less than 150 nsec, dividing the boards master clock (48054841 Hz) by 8 gives a period of 166 nsec.Thus we can safely run the SPI interface at 6 MHz.
I have run the SPI interface at 16 MHz and it still worked, but that is tempting fate.
The SAM7-EX256 board uses an ARM7 microprocessor; so command
Tags: digital stream dtx9950 remote codes,digital stream converter box codes,digital stream dtv converter codes,digital stream dtx9900 manual,dtx9950 remote program codes,