Tutorials - Elettronica


Dot matrix LCD : the CGRAM

ROM or RAM ?

The conversion from the datum to 8 bits at a series of 40 points is performed by the CG, that is, as said, in ROM.
Usually the table of characters generator meets certain standards and set of characters stored are set by the manufacturer of the chip being developed for commercial products and agreed with customers for OEM parts, the possible combinations are very large. The data sheet of the LCD module reports these tables, which may differ from one version to 'other controller, comprising, for example, characters for European languages ​​or for Chinese or Japanese symbols and various general purpose.

Recall that a ROM is a read-only memory, the contents of which is fixed to 'act of the construction of the chip (masking) and can not be changed, nor erasable.

This determines that, in the set of characters in it by the manufacturer, it would not be displayable any other symbol, since it is not possible to directly control the individual points of the matrix.

Since it may happen that for a certain application is necessary to dispose of characters other than those masked in the ROM, the designers of Hitachi have implemented a function of character generator in RAM.

Recall that a RAM is a memory that can be written as desired, ie the content of which is updateable by 'user at any time.

Therefore, the controller makes accessible some memory locations, called CGRAM (Character Generator RAM), in which the user can load the matrices of points defined by him.


From the functional point of view, the CGROM and CGRAM are equivalent: the data sent to the display serves as an address of a table from which are extracted the 40 bits in the array.

If we return to the block diagram seen above, we observe that the data can be sent to either the CGRAM that the CGROM, the outputs of which refer to the same parallel / serial converter and from there sent to the display.

Therefore the content of CGRAM will be similar to that of the CGROM, or understand the matrices of points from 40 bits necessary to display a specific symbol.


In any case, you must get a clear some limitations:
  • Characters created in CGRAM are in a 'static memory area of the RAM type, or writable and readable and editable, this allows the' user to enter the desired symbol.
    But the contents of the RAM is lost in the moment in which fails the supply voltage
    This means that, each time the module, it is necessary to rewrite the 'area of CGRAM that affects.
  • CGRAM characters are usually very limited in number, typically up to 8 characters in the 5x7 matrix. This depends on the complexity and cost of 'implementation of an' area in the RAM chip. To have a set more extended during use, it is necessary to write new matrices each time before using them. Normally this is not a problem, because the display on the LCD panel is a non-critical process and a dynamic management of CGRAM arrives to allow interesting graphic effects, such as indicator bars or in motion.


All the following controller have a 64-bytes CGRAM,he can set 8 characters in the format 5x8 or 4 in size 5x11:
  • HD44780
  • ST7066
  • NT3881
  • NJU6408B, NJU6468, NJU6470
  • SED1278
  • SPLC780D
  • KS0066, KS0070B
  • LC7985NA/ND

Controller KS0073, S6A0074, S6A0075 , S6A0078, S6A0079 and ST7036 have equal CGRAM, which makes them compatible with the previous ones, but they also have a Segment Icon RAM (SEGRAM) from 16 x 5 to 16 x 8 bits (96 possible icons).

Other controllers, as NJU6623, NJU6624A, NJU6428, NT7606, MSM6562B, UPD16681, ML9040/41/42, SED1200F,  KS0078, KS0093, NJU6450, HD66730, SPLC501C, KS0713, ecc, even if the structure of 'interface and the principle of operation are similar to those so far sight, should certainly refer to the data sheets in order to understand the differences. Also because some have significant differences, such as the 'absence of an internal character generator (and therefore the characters are externally prepared as part of the graphic), or are dedicated to single line display with 1 or OEM applications with particular configurations of characters, or , also, the same abbreviation base there are various versions with different characteristics. Some of these components are not common on the market and then it can happen to never have occasion to use them.


Copyright afg. Tutti i diritti riservati.
Aggiornato il 05/12/12.