Field of the Invention
[0001] This invention relates to a controller for a display and in particular to a LCD controller
that requires a reduced amount of memory.
Background of the Invention
[0002] A LCD has a matrix of picture elements or pixels. Each pixel can be switched to an
opaque state or a clear state by application of corresponding voltage levels, and
by selectively applying the voltage levels to each of the pixels, information is presented
on the display.
[0003] It has been found that by varying the frequency at which a pixel is switched between
the opaque and clear states, a pixel can appear to have selectable shades of "grey"
between the opaque and clear states.
[0004] In a N-level grey scale display N denotes the number of different shades or levels
from the opaque to the clear states. Conventionally, information indicating the grey
level for each pixel is stored in a memory known as a pixel buffer which is located
in the LCD controller. In a binary based system, the pixel buffer must store log
2 N bits per pixel for a display to have N grey levels. For example, when 4 grey levels
are required, the pixel buffer needs to store 2 binary digits or bits per pixel, and
when 16 grey levels are required, the pixel buffer stores 4 bits per pixel. Consequently,
the larger the number of grey levels the larger the amount of memory required for
a pixel buffer.
[0005] European patent application EP0766222 teaches a display controller having a memory
for storing a display frame of bit plane data, which switches the pixels on a display.
However, the size of the memory which is required must accommodate at least the number
of pixels to fill one frame on the display, and when displays having different numbers
of pixels are used with the controller, the memory may need to be changed to match
the display.
[0006] PCT patent application WO9209064 also teaches a display memory which stores at least
two frames of switching data which switches the pixels on a display. Here again, the
size of the memory is greater than a single frame of the display.
[0007] PCT patent application WO9637877 teaches the use of a direct memory access (DMA)
controller in the display controller. The DMA provides high speed transfer of pixel
intensity data into a display memory in the display controller. Consequently, although
the transfer is data is fast, the speed of transfer does not reduce memory requirements
in the display controller, as the pixel intensity data is simply stored in a display
memory in the display controller.
Brief Summary of the Invention
[0008] The present invention therefore seeks to provide a LCD controller whose memory requirement
does not increase substantially in proportion to the number of grey levels to be displayed.
[0009] Accordingly, in one aspect the invention provides a display comprising:
a direct memory access controller adapted for receiving pixel intensity data from
an external memory, and for providing pixel intensity data and having a low data input
for receiving a low data signal, and a buffer full data input for receiving a buffer
full signal, the direct memory access controller for controlling transfer of pixel
intensity data from the external memory to the pixel intensity data output in accordance
with the low data and buffer full signals;
a frame controller adapted for receiving pixel intensity data, and having an input
adapted to receive a frame synchronising signal, and an output for providing switching
data, the frame controller for decoding pixel intensity data and providing switching
data, and
a display data buffer having an input coupled to the output of the frame controller,
a first output for providing the low data signal when switching data stored in the
buffer is less than a lower predetermined level, a second output for providing a buffer
full signal when switching data stored in the buffer is more than a higher predetermined
level, and a third output for providing the switching data stored therein for switching
pixels of a display.
[0010] In another aspect, the invention provides a method in a liquid crystal display (LCD)
controller comprising the steps of:
a) receiving pixel intensity data for at least one pixel on the display in accordance
with a low data signal;
b) Reducing receipt of the pixel intensity data for the at least one pixel on the
display in accordance with a buffer full signal;
c) receiving a frame synchronising signal;
d) generating switching data for the at least one pixel in accordance with the pixel
intensity data;
e) storing the switching data in a display data buffer in accordance with the frame
synchronizing signal; and
f) providing the switching data stored in the display data buffer for switching pixels
of the display;
g) generating the low data signal when switching data stored in the buffer is less
than a lower predetermined level; and
h) generating the buffer full signal when switching data stored in the buffer is more
than a higher predetermined level.
Brief Description of the Drawings
[0011] An embodiment of the invention will now be more fully described, by way of example,
with reference to the drawings, of which:
FIG. 1 shows a block diagram of a LCD controller; and
FIG. 2 shows a simplified block diagram of the LCD controller in FIG. 1.
Detailed Description of the Drawings
[0012] In FIG. 1, a liquid crystal display (LCD) controller 10 receives information from
a central processing unit (CPU) 12 which includes information for display on a display
25, and information on how the information for display is to be displayed. The information
for display indicates which picture elements (pixels) on the display 25 of the display
module 23 are to be turned ON and which are to be turned OFF, and when this information
is provided to a display, the information is displayed in "black" and "white" only.
When the information on how the information for display is to be displayed includes
pixel intensity data that indicate the selected frequency at which each pixel is to
be switched ON and OFF, the particular pixels can be displayed having selected "grey"
levels or tones.
[0013] The LCD controller 10 is coupled to the CPU 12 and a memory 16 via an address bus
18 and a data bus 21. A memory controller 14 is coupled between the memory 16 and
the CPU 12 to control access by the CPU 12 to the memory 16. The LCD controller 10
is also coupled to a display module 23 having the display 25 with a matrix of pixels
thereon.
[0014] The LCD controller 10 includes control registers 31 that are coupled to the address
bus 18 and the data bus 21, and to provide an output to a direct memory access (DMA)
controller 33. The control registers 31 receive, store, and provide control information
to and from the CPU 12, and the control information determines the operation of the
LCD controller 10.
[0015] The DMA controller 33 is also coupled to the address bus 18 and the data bus 21,
and is coupled to provide an output to a screen panning circuit 35. The DMA controller
33 controls the transfer of data from the memory 16 to the LCD controller 10. The
DMA controller 33 also has an input that is coupled to receive control information
from the control registers 31 that determines the operation of the DMA controller
33. The DMA controller 33 also has an input for receiving a low data signal and an
input for receiving a buffer full signal. Upon receipt of the low data signal the
DMA controller 33 will transfer more data from the memory 16 to the LCD controller
10, and upon receiving the buffer full signal the DMA controller 33 stops transferring
data from the memory to the LCD controller 10.
[0016] The screen panning circuit 35 shifts the information displayed on the display 25
horizontally by a number of pixels, where the number of pixels is programmed in the
control registers 31. The screen panning circuit 35 has an output which is coupled
to a frame rate controller 37.
[0017] The frame rate controller 37 receives a frame synchronising signal (32 in FIG. 2)
and information including pixel intensity data from the memory 16, and controls the
switching or ON/OFF frequency of the pixels on the display 25 so that the pixels will
be displayed in accordance with the pixel intensity data.
[0018] The frame rate controller 37 provides an output to a cursor logic circuit 39 which
provides an output to a pixels buffer 41. The cursor logic circuit 39 adds the cursor
to the information displayed on the display 25 and is implemented by overlay or logic
operation of the pixels with a predefined cursor bitmap.
[0019] The pixels buffer 41 is a first-in-first-out (FIFO) structure that holds information
being displayed on the display 25. The information provided from the output of the
pixels buffer 41 is only the ON/OFF switching information for each of the pixels on
the display 25. The number of storage locations for storing bits in the pixel buffer
41 can equal the number of pixels on the display 25. Typically, the number of storage
locations in the pixel buffer 41 is less than the number of pixels on the display
25, and several transfers of pixel intensity data are made from the memory 16 to the
frame rate controller 37 under the control of the DMA controller 31 to provide switching
data for all the pixels on the display 25. A trade off is made based upon the amount
of data traffic caused by the frequency of data transfer and the size of the pixel
buffer 41.
[0020] The pixels buffer 41 has an output that provides the low data signal and an output
that provides the buffer full signal, to the DMA controller 33. The pixels buffer
provides the low data signal when the switching data in the pixels buffer 41 is less
than a predetermined level. For example, when the predetermined level is 2 data words
for a pixels buffer having a 4 data word capacity, the pixels buffer will generate
the low data signal when 2 or less data words remain in the pixels buffer. When there
are 4 data words in the pixels buffer, the pixels buffer will stop transferring data
from the memory 16 to the frame rate controller 37.
[0021] The output of the pixels buffer 41 is provided to a LCD interface 42 that packs the
display data so that it matches control signals, data bus width and polarity of the
display module 23. The LCD interface 42 converts the output of the pixels buffer 41
into a form suitable for switching pixels on the display 25, and provides the converted
information to the display module 23.
[0022] In FIG. 2 the simplified block diagram will be used to describe the operation of
the LCD controller 10 for a 4 level grey scale display. In a 4 level grey scale display
pixels 45 on the display (25 in FIG. 1) can have one of four intensity levels. 4 complete
screens of pixels, each referred to as a frame 50, 50A, 50B and 50C, are displayed
sequentially in accordance with a frame synchronising signal.
[0023] The number of frames of the four frames 50, 50A, 50B and 50C in which the pixels
45 are switched ON determines the intensity of those pixels on the display (25 in
FIG. 1). A pixel has the highest intensity when it is switched ON in all the four
frames 50, 50A, 50B and 50C. When a pixel is switched ON in every second frame of
the four frames 50, 50A, 50B and 50C, it has a lower intensity. A pixel has an even
lower intensity when it is switched ON in every third frame of the four frames 50,
50A, 50B and 50C. A pixel has the lowest intensity when it is switched OFF in all
of the four frames 50, 50A, 50B and 50C.
[0024] Two binary digits or bits are required to select each of the 4 intensity levels for
each of the pixels 45. Hence, for a row 47 of four pixels 45, 8 bits are required,
and these are stored as display intensity data 60 in the memory 16. The eight bits
constitute 4 pairs of 2 bits, where each pair is for each of the 4 pixels 45 in the
top row 47 of the display (25 in FIG. 1).
[0025] The pixels buffer 41 stores one bit 42 for each pixel 45, hence, the pixel buffer
41 stores 4 bits for the 4 pixels 45 in the top row 47 of the display (25 in FIG.
1). Each bit 42 in the pixels buffer 41 represents the switching status of corresponding
pixels 45 in the top row 47 of the display (25 in FIG. 1). When a bit 42 in the pixels
buffer 41 is 1 (binary) the corresponding pixel on the display (25 in FIG. 1) is switched
ON, and when the bit 42 is 0(binary) that pixel is switched OFF.
[0026] Hence, the pixel buffer here described advantageously stores only one bit for each
pixel. Consequently, the total number of bits stored in the pixel buffer is equal
to the number of pixels on a display, and is independent of the number of grey levels
displayed.
[0027] The DMA controller 33 transfers the display intensity data 60 from the memory 16
to the frame rate controller 37 in accordance with the low data and buffer full signals
received from the pixels buffer 41. At a frame synchronising frequency, provided by
a frame synchronising signal 32, the frame rate controller 37 sequentially loads the
pixels buffer 41 four times with display data bits 42. This is indicated by the contents
of the pixels buffer 41, and the subsequent contents of the pixels buffer 41 as shown
in broken lines and labelled 41A, 41B, and 41C.
[0028] The frame 50 shows the pixels 45 in the top row 47 switched in accordance with the
contents of the pixel buffer 41. Corresponding frames 50A, 50B and 50C show the pixels
45 in the top row 47 switched in accordance with the subsequent contents of the pixels
buffer 41 as shown in broken lines and labelled 41A, 41B, and 41C.
[0029] In operation, when the frame rate controller 37 determines that the first 2 bits
of the display intensity data 60 are 11 (binary) indicating the highest intensity
level, it stores 1 (binary) in the first bit location in the pixel buffer 41 for each
of the 4 frames 50, 50A, 50B and 50C. Similarly, when the next 2 bits of the display
intensity data 60 are 10 (binary) indicating the lower intensity level, the frame
rate controller 37 stores 1 (binary) in the second bit location in the pixel buffer
41 for each alternate frame 50A and 50C of the four frames 50, 50A, 50B and 50C.
[0030] Further, when the third set of 2 bits of the display intensity data 60 are 01 (binary)
indicating the even lower intensity level, the frame rate controller 37 stores a 1
(binary) in the third bit location in the pixel buffer 41 in one frame 50 of the four
frames 50, 50A, 50B and 50C. In addition, when the last set of 2 bits of the display
intensity data 60 are 00(binary) indicating the lowest intensity level, the frame
rate controller 37 does not set the fourth bit in the pixel buffer 41 in any of the
four frames 50, 50A, 50B and 50C.
[0031] Hence, the described LCD controller advantageously utilises a fixed and limited amount
of memory to provide "grey" levels on a display. This is accomplished by storing only
one switching data bit for each of the pixels on the display.
[0032] The present invention, as described, therefore provides a display controller whose
memory requirements are relatively constant and substantially independent of the number
of grey levels to be displayed.
1. A display controller (10) comprising:
a direct memory access controller (33) adapted for receiving pixel intensity data
from an external memory (16), and for providing pixel intensity data and having a
low data input for receiving a low data signal, and a buffer full data input for receiving
a buffer full signal, the direct memory access controller (33) for controlling transfer
of pixel intensity data from the external memory (16) to the pixel intensity data
output in accordance with the low data and buffer full signals;
a frame controller (37) adapted for receiving pixel intensity data, and having an
input adapted to receive a frame synchronising signal, and an output for providing
switching data, the frame controller (37) for decoding pixel intensity data and providing
switching data, and
a display data buffer (41) having an input coupled to the output of the frame controller
(37), a first output for providing the low data signal when switching data stored
in the buffer is less than a lower predetermined level, a second output for providing
a buffer full signal when switching data stored in the buffer is more than a higher
predetermined level, and a third output for providing the switching data stored therein
for switching pixels of a display (23).
2. A display controller (10) in accordance with claim 1 wherein the predetermined number
of pixel display intensities is given by 2N when the pixel intensity data comprises N bits.
3. A display controller in accordance with claim 1 wherein of the frequency of the frame
synchronising signals is proportional to the number of pixel display intensities.
4. A display controller (10) in accordance with claim 1 further comprising control registers
(31) coupled to the DMA controller (33) for receiving control information that control
operation of the display controller (10) and for providing at least some of the control
information to the DMA controller (33) to control the transfer of pixel intensity
data to the frame controller (37).
5. A method in a liquid crystal display (LCD) controller comprising the steps of:
a) receiving pixel intensity data for at least one pixel on the display in accordance
with a low data signal;
b) Reducing receipt of the pixel intensity data for the at least one pixel on the
display in accordance with a buffer full signal;
c) receiving a frame synchronising signal;
d) generating switching data for the at least one pixel in accordance with the pixel
intensity data;
e) storing the switching data in a display data buffer in accordance with the frame
synchronizing signal; and
f) providing the switching data stored in the display data buffer for switching pixels
of the display;
g) generating the low data signal when switching data stored in the buffer is less
than a lower predetermined level; and
h) generating the buffer full signal when switching data stored in the buffer is more
than a higher predetermined level.
1. Anzeigensteuergerät (10), umfassend:
ein Direktspeicherzugriffssteuergerät (33), das zum Empfangen von Pixelintensitätsdaten
von einem externen Speicher (16) und zur Bereitstellung von Pixelintensitätsdaten
geeignet ist, und das einen Wenigdateneingang zum Empfangen eines Wenigdatensignals
und einen Puffervolldateneingang zum Empfangen eines Puffervollsignals aufweist, wobei
das Direktspeicherzugriffssteuergerät (33) zur Steuerung der Übertragung von Pixelintensitätsdaten
von dem externen Speicher (16) zu der Pixelintensitätsdatenausgabe gemäß den Wenigdaten-
und Puffervollsignalen geeignet ist;
ein Rahmensteuergerät (37), das zum Empfangen von Pixelintensitätsdaten geeignet ist,
und einen Eingang, der zum Empfangen eines Rahmensynchronisierungssignals geeignet
ist, und einen Ausgang zur Bereitstellung von Schaltdaten aufweist, wobei das Rahmensteuergerät
(37) zur Decodierung von Pixelintensitätsdaten und zur Bereitstellung von Schaltdaten
geeignet ist, und
einen Anzeigedatenpuffer (41), der einen Eingang, der an den Ausgang des Rahmensteuergeräts
(37) gekoppelt ist, einen ersten Ausgang zur Bereitstellung des Wenigdatensignals,
wenn die in dem Puffer gespeicherten Schaltdaten unter einem vorherbestimmten Niveau
liegen, einen zweiten Ausgang zur Bereitstellung eines Puffervollsignals, wenn die
in dem Puffer gespeicherten Schaltdaten über einem vorherbestimmten Niveau liegen,
und einen dritten Ausgang zur Bereitstellung der darin gespeicherten Schaltdaten zum
Schalten von Pixels einer Anzeige (23) aufweist.
2. Anzeigensteuergerät (10) nach Anspruch 1, bei dem die vorherbestimmte Anzahl von Pixelanzeigeintensitäten
durch 2N gegeben ist, wenn die Pixelintensitätsdaten N Bits umfassen.
3. Anzeigensteuergerät (10) nach Anspruch 1, bei dem die Frequenz des Rahmensynchronisierungssignals
proportional zur Anzahl der Pixelanzeigeintensitäten ist.
4. Anzeigensteuergerät (10) nach Anspruch 1, das weiterhin Steuerregister (31) aufweist,
die mit dem DMA-Steuergerät (33) gekoppelt sind, um Steuerinformationen zu empfangen,
die den Betrieb des Anzeigensteuergeräts (10) steuern, und um dem DMA-Steuergerät
(33) zumindest einige der Steuerinformationen bereitzustellen, um die Übertragung
der Pixelintensitätsdaten zu dem Rahmensteuergerät (37) zu steuern.
5. Verfahren in einem Flüssigkristallanzeigen- (LCD-) steuergerät, umfassend die Schritte
des:
(a) Empfangens von Pixelintensitätsdaten für zumindest ein Pixel auf der Anzeige gemäß
einem Wenigdatensignal;
(b) Reduzierens des Empfangs der Pixelintensitätsdaten für das zumindest eine Pixel
auf der Anzeige gemäß einem Puffervollsignal;
(c) Empfangens eines Rahmensynchronisierungssignals;
(d) Generierens von Schaltdaten für das zumindest eine Pixel gemäß den Pixelintensitätsdaten;
(e) Speicherns der Schaltdaten in einem Anzeigedatenpuffer gemäß dem Rahmensynchronisierungssignal;
und
(f) Bereitstellens der in dem Anzeigedatenpuffer gespeicherten Schaltdaten zum Schalten
von Pixels der Anzeige;
(g) Generierens des Wenigdatensignals, wenn in dem Puffer gespeicherte Schaltdaten
unter einem vorherbestimmten Niveau liegen; und
(h) Generierens des Puffervollsignals, wenn in dem Puffer gespeicherte Schaltdaten
über einem vorherbestimmten Niveau liegen.
1. Dispositif (10) de commande de dispositif d'affichage, comprenant :
un dispositif (33) de commande d'accès direct en mémoire, destiné à recevoir des données
d'intensité de pixels de la part d'une mémoire externe (16) et à fournir des données
d'intensité de pixels, et ayant une entrée de données de niveau bas servant à recevoir
un signal de données de niveau bas et une entrée de données de tampon plein servant
à recevoir un signal de tampon plein, le dispositif (33) de commande d'accès direct
en mémoire servant à commander le transfert des données d'intensité de pixels, de
la mémoire externe (16) à la sortie de données d'intensité de pixels, en fonction
des signaux de données de niveau bas et de tampon plein ;
un dispositif (37) de commande d'image complète destiné à recevoir des données d'intensité
de pixels et ayant une entrée servant à recevoir un signal de synchronisation d'image
complète et une sortie servant à produire des données de commutation, le dispositif
(37) de commande d'image complète servant à décoder les données d'intensité de pixels
et à fournir des données de commutation, et
un tampon de données d'affichage (41) ayant une entrée couplée à la sortie du dispositif
(37) de commande d'image complète, une première sortie servant à fournir le signal
de données de niveau bas lorsque les données de commutation stockées dans le tampon
sont en deçà d'un niveau prédéterminé inférieur, une deuxième sortie servant à fournir
un signal de tampon plein lorsque les données de commutation stockées dans le tampon
sont au-delà d'un niveau prédéterminé supérieur, et une troisième sortie servant à
fournir les données de commutation qui y sont stockées pour faire commuter les pixels
d'un dispositif d'affichage (23).
2. Dispositif (10) de commande de dispositif d'affichage selon la revendication 1, où
le nombre prédéterminé d'intensités d'affichage de pixels est donné par 2N lorsque les données d'intensité de pixels comprennent N bits.
3. Dispositif (10) de commande de dispositif d'affichage selon la revendication 1, où
la fréquence des signaux de synchronisation d'image complète est proportionnelle au
nombre d'intensités d'affichage de pixels.
4. Dispositif (10) de commande de dispositif d'affichage selon la revendication 1, comprenant
en outre des registres de commande (31) couplés au dispositif (33) de commande de
DMA afin de recevoir des informations de commande qui commandent le fonctionnement
du dispositif (10) de commande d'affichage et de fournir au moins certaines des informations
de commande au dispositif (33) de commande de DMA afin de commander le transfert des
données d'intensité de pixels au dispositif (37) de commande d'image complète.
5. Procédé à utiliser dans un dispositif de commande pour dispositif d'affichage à cristal
liquide (LCD), comprenant les opérations suivantes :
a) recevoir des données d'intensité de pixels relatives à au moins un pixel présent
sur le dispositif d'affichage en fonction d'un signal de données de niveau bas ;
b) réduire la réception des données d'intensité de pixels relatives au ou aux pixels
se trouvant sur le dispositif d'affichage en fonction d'un signal de tampon plein
;
c) recevoir un signal de synchronisation d'image complète ;
d) produire des données de commutation relatives au ou aux pixels en fonction des
données d'intensité de pixels ;
e) stocker les données de commutation dans un tampon de données d'affichage en fonction
du signal de synchronisation d'image complète ; et
f) fournir les données de commutation stockées dans le tampon de données d'affichage
afin de faire commuter les pixels du dispositif d'affichage ;
g) produire le signal de données de niveau bas lorsque les données de commutation
stockées dans le tampon sont en deçà d'un niveau prédéterminé inférieur ; et
h) produire le signal de tampon plein lorsque les données de commutation stockées
dans le tampon sont au-delà d'un niveau prédéterminé supérieur.