LCD

From ArmadeusWiki
Revision as of 10:38, 29 March 2008 by Salocin68 (Talk | contribs)

Jump to: navigation, search

On this page, you will find all the informations needed to use Liquid Crystal Display (LCD) with your Armadeus board.

Hardware interface

LCDs can be divided into 2 main categories:

  • "intelligent" LCD with a built-in controller
  • LCD without controller

LCDs with integrated controller

  • your LCD has a built-in controller with a parallel interface -> usage of i.MXL LCD pins as GPIOs and emulation of a PC parallel port to reuse existing software
  • your LCD has a built-in controller with a serial interface (not tested yet):
    • RS232 -> connect this serial interface to the 2nd serial port of the i.MXL. Don't forget to check signal level compatibility before !
    • SPI -> connect it to SPI port n°?

LCDs without controller

These LCDs can be used with i.MXL internal LCD controller, ie direct connection between LCD & i.MXL pins. Tested LCDs are:

5v logic one:

  • Tianma STN Monochrome 320x240
  • Ampire/xxx STN Monochrome 240x128


Software API

Generally on Linux you would need a kernel part (=driver) and a user space part (=library) to control and use your LCD in a reusable way.

Built-in Controller Interface Driver Library Working?
HD44780 // 4 bits data GPIO_Driver + PPDEV LCD4Linux Yes
KS0108 // 8 bits data GPIO_Driver + PPDEV  ?? Not tested
None (use i.MXL one) RGB datas + control signals FrameBuffer SDL / Qt / ... Yes

LCDs with controller

Parallel interface

Driver: Use Linux Armadeus GPIO driver with it's PPDEV emulation User space: Use either LCD4linux or Lcdproc depending on your application

Text: - HD 44780 (tested with GpioDriver driver (+ppdev emulation) and LCD4Linux

Graphic: - KS0108 (Nico and Juju have one sample, not tested yet because LC4Linux don't support it) - ?

User space tools / library found to control // LCD

LCD4linux Cool but mainly to display system informations, not very customizable for user GUI

Lcdproc ?? (Not tested)

Other idea ??


FrenchFlag.png Cette page en français