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

Supported hardware

Controllers

The following table list the supported controllers and their assigned numbers for LCD_CONTROLLER, as well as the level of support:

# LCD controller Add. info
6901 Epson SED1330
Epson SED1335
Epson S1D13700
RAIO 8835
1 BPP LCD controller with external memory.
Graphic mode, fully supported.
Access to the controller is slow, please refer to section "Add info about certain display controllers" for details.
6902 RAIO 8822, 8803 LCD controller with external memory.
Graphic mode, fully supported
6963 Toshiba T6963 1 BPP LCD controller with external memory.
Graphic mode, fully supported

It should be assumed that it will also work with any controller of similar organization.

Bits per pixel

Supported color depth is 1 bpp.

Interfaces

The driver supports 8-bit parallel (simple bus) interfaces.

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 may be used with or without a display data cache, containing a complete copy of the contents of the LCD data RAM. If a cache is not used, there are no additional RAM requirements.
It is recommended to use this driver with a data cache for faster LCD-access. The amount of memory used by the cache may be calculated as follows:

Size of RAM (in bytes) = (LCD_ XSIZE + 7) / 8 * LCD_ YSIZE

Additional driver functions

None.

Hardware configuration

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

Macro Description
LCD_INIT_CONTROLLER Initialization sequence for the LCD controller.
LCD_READ_A0 Read a byte from LCD controller with A-line low.
LCD_READ_A1 Read a byte from LCD controller with A-line high.
LCD_WRITE_A0 Write a byte to LCD controller with A-line low.
LCD_WRITE_A1 Write a byte to LCD controller with A-line high.

Additional configuration switches

The following table shows optional configuration switches available for this driver:

Macro Explanation
LCD_CACHE When set to 0, no display data cache is used, which slows down the speed of the driver. Default is 1 (cache activated).
LCD_SUPPORT_CACHECONTROL When set to 1, the cache control functions of LCD_L0_ControlCache() driver API are enabled.

Additional configuration switches for SED 1330, SED 1335

Macro Explanation
LCD_EXTENDED_WAIT If set to 1 (default value) the driver ensures that no distortion will be shown when the driver writes to the LCD controller.

LCD_EXTENDED_WAIT

There is only a short time window to write to the LCD controller if you want to make sure, no distortion is visible on the LCD display when the driver writes to the LCD controller. If the configuration macro is set to 1 (default value) it makes sure that no distortion will be visible. If you disable this behavior the driver performance will be accelerated. But when writing to the display small distortions will be visible. To disable the LCD_EXTENDED_WAIT macro add the following line to your LCDConf.h:
#define LCD_EXTENDED_WAIT 0

Additional info for SED 1330, SED 1335

These controllers are based on an old design. This design allows writing into display memory only in the horizontal & vertical non-display periods; otherwise the display will be momentarily distorted. Unfortunately, in order to make sure the driver only writes during the non-display periods, it has to wait for the beginning of the non-display period and can then only write one byte. This slows the process of writing into display memory down considerably, even on very fast CPUs. This is not a limitation of emWin or the driver, but a limitation of the controller. If you need higher speed, you can use the LCD_EXTENDED_WAIT macro described above (and live with the distortions) or select a different LCD controller (Which we recommend if you are in an early stage of your design).

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