Color/Grayscale LCD Fundamentals

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I'm trying to understand how color and grayscale  LCD controllers work..
bear with me..

Looking at a couple of LCD panels, they have row and column drivers, with 1
bit per pixel, usually organized as R-G-B, R-G-B, etc.  This implies
"hardware" support for 3 bits-per-pixel.  However, controllers discuss 8,
12, or 16 bits per pixel.  I assume this is done by PWM techniques across
multiple frames, but given the scan rate of most panels, even this seems
impossible.  If I have a panel with a max scan rate of 120Hz and I connect
it to a SHARP ARM/controller with 65536 color levels, the best I could get
with my "technique" (without flicker) would be 2 color levels, which still
doesn't work out..

So.. my question is this: how does an LCD controller get 4096 or 65536
colors from a LCD display?  Similarly, how does an LCD controller get 4 or
16 levels of gray from a LCD display?  I'm reading through data sheets but
somehow I'm just missing something very fundamental..


Re: Color/Grayscale LCD Fundamentals
Quoted text here. Click to load it

Well, basically you've figured it right: they use PWM (in STN and DSTN
models at least, TFT is another world). With a 60Hz refresh rate and 16 gray
scale levels you would get around 2Hz of traditional refresh rate. However
it doesn't mean that the LCD pixels are turned on and off twice in a second.
They still turned on and off at 60Hz and that's what you experience as
flicker. On the other hand STN and DSTN displays are pretty slow so they
smoth out these fast transitions and that reduces flicker even further.

Andras Tantos

Re: Color/Grayscale LCD Fundamentals
Hi Ian,

Quoted text here. Click to load it

For passive-matrix panels, you are basically correct - multiple color
levels are synthesized by "PWM". It's more technically referred to as
FRM - Frame Rate Modulation. Dedicated LCD controllers have a kind of
lookup table in them that determines how often a pixel value of a
specific intensity will be turned on. There is a counter inside the
controller, which is incremented every vertical sync pulse, which is
used [effectively] to lookup inside a 2D table that cross-references
the color intensity against the current "frame sequence number" and
yields a single bit which indicates whether this bit should be on or
off for this particular frame.

For example, imagine a simple 8-frame sequence to handle 2 bits of
color information.
For color value b00 (off), the output for frames 1-8 would be
For color value b01, the output might be 00100100.
For color value b10, the output might be 01101010.
For color value b11, the output would be 11111111.

This technique is quite well documented in the datasheets for Epson's
SED135x series parts (now renamed S1Dsomething). They also list their
actual FRM tables, which as I recall are 64 sequences long.

For active-matrix panels, the controller supplies <some number> of
bits of color information which are DAC'd directly onto the drive
transistor for the subpixel.

Re: Color/Grayscale LCD Fundamentals

Quoted text here. Click to load it

Howabout animated graphics on passive-matrix panels?  It would seem that the
more things were in motion, the fewer effective levels of color you would be
able to display.. or does the eye continue to average it out into something

Re: Color/Grayscale LCD Fundamentals
Quoted text here. Click to load it

It depends on the frame rate of the animation vs. the frame rate of
the controller. But the short answer to your question is that yes,
animation screws with the FRM process, and this is just one more
reason why passive panels don't work as well as active for animation,
movies, etc.

Re: Color/Grayscale LCD Fundamentals
Are you sure it's not expecting *analog* RGB?

Quoted text here. Click to load it

Re: Color/Grayscale LCD Fundamentals
Quoted text here. Click to load it

Passive panels with analog inputs are rare or nonexistent.

Re: Color/Grayscale LCD Fundamentals
I've never seen an analog passive panel.  Using a DAC to set intensity
is something that is done on TFT panels however.  All implementations
using more than 8 colors on STN (that I've seen) are done by the FRM
technique described above.  STN pixels are piggishly slow, with
response times measured in the high 10s and low 100s of milliseconds.
This is why frame rate modulation work so well, but STN panels are
terrible at displaying moving graphics.  One big issue that TFT fixed
was response time, now the pixel intensity could be programmed with an
analog DAC, allowing very fast reacting pixels.


Quoted text here. Click to load it

Site Timeline