Segger Logo Embedded Software Solutions
Software productsHardware productsDownloadsPricesCustomersOur PartnersSitemapForumAbout us
emWin: LCD667xx driver

Supported hardware

Controllers

This driver has been tested with the following LCD controllers

  • Himax HX8301, HX8312
  • Hitachi HD66766, HD66772, HD66789
  • Ilitec ILI09320, ILI9161, ILI9220
  • Samsung S6D0110A, S6D0117, S6D0129
  • Sharp LR38825, LCY-A06003
  • Sitronix ST7712
  • Renesas R61509, R63401
  • Solomon SSD1289
  • Toshiba JBT6K71
  • MagnaChip D54E4PA7551
  • Novatek NT39122
  • Sitronix ST7712

Bits per pixel

Supported color depth is 16 bpp.

Interfaces

The driver supports 8-bit parallel (simple bus) and 3 pin SPI interface. Default mode is 8-bit parallel.

Display data RAM organization

The picture above shows the relation between the display memory and the SEG and COM lines of the LCD.

Additional RAM requirements of the driver

This LCD driver can be used with and without a display data cache, containing a complete copy of the contents of the LCD data RAM. The amount of memory used by the cache is: LCD_XSIZE x LCD_YSIZE x 2 bytes. Using a cache is only recommended if a lot of drawing operations uses the XOR drawing mode. A cache would avoid reading the display data in this case. Normally the use of a cache is not recommended. The driver can be used with a write buffer used for drawing multiple pixels of the same color. If multiple pixels of the same color should be drawn the driver first fills the buffer and then executes only one time the macro LCD_WRITEM_A1 to transfer the data to the display controller. The default buffer size is 500 bytes.

Additional driver functions

None.

Hardware configuration

This driver accesses the hardware with a simple bus interface or with a 3 pin SPI interface. The following table lists the macros which must be defined for hardware access:

Macro Explanation
LCD_INIT_CONTROLLER Initialization sequence for the LCD controller.
LCD_NUM_DUMMY_READS Number of required dummy reads if a read operation should be executed. The default value is 2. If using a serial interface the display controllers HD66766 and HD66772 need 5 dummy reads.
LCD_SERIAL_ID If using the serial interface this macro defines the ID signal of the device ID code. It should be 0 (default) or 1.
LCD_USE_SERIAL_3PIN Should be set to 1 if the serial interface is used. Default is 0.
LCD_USE_PARALLEL_16 Should be set to 1 if the 16 bit parallel interface is used. Default is 0.
LCD_WRITE_BUFFER_SIZE Using a write buffer increases the performance of the driver. If multiple pixels should be written with the same color the driver first fills the buffer and then writes the contents of the buffer with one execution of the macro LCD_WRITEM_A1 instead of multiple executions. The default buffer size is 500 bytes.
LCD_READM_A1 Read multiple bytes from display controller with RS-line high.
LCD_WRITEM_A1 Write multiple bytes to display controller with RS-line high.
LCD_WRITEM_A0 Write multiple bytes to display controller with RS-line low.

The driver initializes the ’Driver Output Mode’ and ’Entry Mode’ register itself. The user does not need to initialize this registers in the LCD_INIT_CONTROLLER macro.

Additional configuration switches

None.

Special requirements

None.

Copyright SEGGER Microcontroller GmbH & Co.KG. All rights reserved.
For more information, please visit our web site www.segger.com or contact us at info@segger.com
Last update: December 7, 2007