EEVblog Electronics Community Forum
Electronics => Projects, Designs, and Technical Stuff => Topic started by: sigmatechnica on September 03, 2014, 09:20:34 pm
-
Having acquired a load of quite nice controllerless 320*240 monochrome LCD displays i'm looking at possible ways to drive them
The units in question are hantronix HDM3224-1
http://www.hantronix.com/files/data/127848613432241.pdf (http://www.hantronix.com/files/data/127848613432241.pdf)
There appear to be three main options for making these and presumably pretty much all other controllerless LCDs of this type do useful stuff
a) Buy a controller chip such as the Epson SED1335 and suitable SRAM and build a controller, thus making it like any other LCD. there is an appnote on this on the hantronix site: http://www.hantronix.com/files/data/12784822273224app.pdf (http://www.hantronix.com/files/data/12784822273224app.pdf)
Pros:
High performance
Somewhat easy to drive with established code libraries
Cons:
Have to build the hardware
May not work as expected. Unclear if any programming of the controller chip its self is required
b) Build a 'poor mans' controller with some logic and ram chip, controlled with a standard MCU as done here: http://www.pcbheaven.com/exppages/Reverse-Engineering_an_LCD_Display/?p=0 (http://www.pcbheaven.com/exppages/Reverse-Engineering_an_LCD_Display/?p=0)
Pros:
Cheap
High performance
Cons:
Harder to build
More coding required
May end up being a project in its self
c) Acquire the fastest MCU possible with as much ram as possible and use it directly. This has been done here: http://www.cafelogic.com/articles-2/driving-a-controllerless-graphic-lcd-with-a-pic32/2/ (http://www.cafelogic.com/articles-2/driving-a-controllerless-graphic-lcd-with-a-pic32/2/) The resolution of the display was rather less than my one.
Pros:
Easy! example code exists
Cons:
May not even work with large LCDs
Poor performance
d) Do it in an FPGA. If I ever win the lottery and don't have to work full time... I'll learn how to do FPGAs :/
Comments and suggestions welcome!
-
How about option c part 2: Use a modern fast ARM like STM32F429 or 439 with onboard LCD controller?
-
How about option c part 2: Use a modern fast ARM like STM32F429 or 439 with onboard LCD controller?
The STM32F can only drive TFT LCDs, not passive LCDs. At least not without modifications.
I would use a PIC24FJ128DA206. It has 96Byte SRAM and an LCD controller optimized for small displays. It can do grayscales and has a lot of other nice features.
If you only want a black and white display, almost any large microcntroller with DMA can drive this type of displays without much cpu load. It can be tricky because the displays needs 4bits parallel. Since most DMAs can output only 8bit in parallel you must add some hardware (4bit mux) if you do not want to waste half of the memory.
Without DMA ist uses about half the CPU load (regardless of CPU frequency, because of limited pixel clock frequency).
-
It depends on what you want to display on them... generating the required signal is definitely not outside the capabilities of a simple MCU.
Here's a cool demo of 640x480 with 64 colours @ 60Hz from an ATmega88, meeting VGA timing requirements:
http://www.linusakesson.net/scene/craft/ (http://www.linusakesson.net/scene/craft/)
320x240 mono seems rather trivial in comparison... especially when you consider that these small LCDs usually don't have as tight timing requirements.
-
hmm some interesting points. I'm really only interested in control displays for my power supply and signal generator project at this point so monochrome is fine and I just need text and some boxes. I'l experiment with some PICS if i can find one with the necessary features that's compatible with my pickit2 and in sensible packages