Wednesday 29 January 2020

microcontroller - Help with this protocol - LCTC


I have a 640x200 monochrome display from a HP 200LX palmtop computer. On its PCB I can see two types of ICs: HD66204TFL and HD66205TFL from Hitachi.


Here is its schematic (it has 200 px not 240 as in schematic) from datasheet: enter image description here



Here is the protocol (from datasheet):


enter image description here


enter image description here


I figured it out that CL2 is the highest frequency clock. At every falling edge of this clock 4 pixels in a column are selected and they output according to D0-4. So it has 160 cycles for a full row.


CL1 falling edge selects a row so it must have 200 cycles for filling the display, one cycle (falling edge) at the end of every 160 cycles of CL2.


I can't figure out what FLM and M do. As far I understood they both mark a new frame. And it needs both signals ?


So my display needs a 4 bit data port and 4 clocks and DISPOFF connected to GND.


So far all I could find on the internet (similar displays but not this one):



  1. I read somewhere (don't know where) that this protocol is called LCD Timing Controller.


  2. http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=49684

  3. http://mikestirling.co.uk/2009/02/mono-stn-display-on-an-avr32-ap7000/

  4. http://www.mikrocontroller.net/topic/92704#new


And could this display be controlled by Arduino? I don't have one (yet) so for my experimets I will use PC parallel port (the 8 bit DATA port) on Ubuntu (I've successfully used it before for I2C with Claudio Lanconelli's EasyI2C and software implementation written by me in Qt C++ for reading an I2C EEPROM and controlling a RF Modulator).


Any help is appreciated!



Answer



Note that (unlike the LCD that you used via I2C) this is a typical controller-less LCD: it expects (needs!) a constant stream of data to work properly. 640x200 bits = 16000 bytes. Do you have that amount of RAM to spare? If so, the next problem is whether you can drive the signals at sufficient speed. Probably doable, but not easy. Might require assembly or very careful C/C++. Analyze the datasheet to find out how fast you must drive the LCD.


The M signal inverts the polarity of the drive to the LCD, to avoid a DC aspect in drive signal, which would destroy the LCD.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...