Shop OBEX P1 Docs P2 Docs Learn Events
24bit LCD (is it possible) — Parallax Forums

24bit LCD (is it possible)

computer guycomputer guy Posts: 1,113
edited 2009-05-30 20:23 in Propeller 1
Hi Everyone,


Is it possible to drive the following display with a propeller. I am happy to dedicate an entire prop to it if need be.
www.sparkfun.com/commerce/product_info.php?products_id=8335


Thank you smile.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

Guitar Hero controller using the prop (WIP) --> HERE

Comments

  • kwinnkwinn Posts: 8,697
    edited 2009-05-28 14:18
    Yes, it is possible to drive the display with a propeller, but you will need external ram and some additional logic if you want to use it at full resolution (480x272x24). The other option is to use the 6 bit rgb output to address a color look up table, but that would only give you 64 of the 256K colors at a time.
  • MagIO2MagIO2 Posts: 2,243
    edited 2009-05-28 19:23
    Hi Guy!

    Hope you are not only a computer guy but a computer pro. Otherwise I'd rather give the advice to let it be.

    Let's do some calculations:
    480x272x24bit = 391680 Bytes. For a double buffer you need 783360 Bytes. If you want to display something useful you'd need some extra RAM to keep images there. So a starting point would be 2MB. The clock-rate is specified as being 9MHz. So you need to transfer 9Mx3 Bytes = 27MB per second. You have 24 I/Os for the RGB plus clock plus VSYNC plus HSYNC = 27 IOs. For adressing 1MB RAM you need 20 IOs for adress bus, you need 8 IOs for Data-Bus and CS, RW, OE signals = 31 IOs. So, it won't work without extra hardware and tricks.
  • kwinnkwinn Posts: 8,697
    edited 2009-05-28 22:25
    MagIO2 is correct in stating that it will not work without extra hardware and tricks. At minimum it would need at least a counter and data buffer to address the ram chips and permit the prop to write to the ram. A CPLD would be the better way to go.
  • computer guycomputer guy Posts: 1,113
    edited 2009-05-29 04:52
    So a propeller chip connected to a CPLD then to the display is the only way it can be done?

    If so, what CPLD would you suggest for the job and what exactly would I need to do it?


    Thank you smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE
  • MagIO2MagIO2 Posts: 2,243
    edited 2009-05-29 07:11
    A Propeller connected to a CPLD connected to RAM and the display is what you need.

    I guess the most common CPLDs are XILINX and ALTERA. You need the development environment for the choosen CPLD (which usually is for free) and the CPLD programming hardware. I've choosen a XILINX CPLD a while back for no special reason. The hardware you need to connect it to a parallel port is easy to build by yourself and inexpensive.

    What is more important is to get familiar with the Hardware Description Language (HDL). And in the beginning this won't be easy - good thing to twist your brain a bit ;o)
    Two tips:
    * First get the software. The software contains a simulator. So, you can start with programming without having the hardware. Check out in advance whether you like programming CPLDs or not.
    * For developing it is good to start with a oversized version of the CPLD. It's simply very hard and you need a lot of experience to calculate the needed size in advance (how many macrocells/ how many product terms do you need). If you're finished with the design you simply see what you need.

    I started with a PropRAM CPLD design recently. My goal is to have 2 adress registers in one CPLD. So the one can be used for sequential read to stream the content of RAM to the display, the other one could be used by the propeller to write.

    For the Sharp display I'd use 3 x 1MB RAM (or maybe 512k) chips. All attached to the same adress-bus (CPLD) and each one connected to one color channel of the display. Of course on the path to the propeller you need a multiplexer which switches the propeller data-bus to one of those 3 data busses (if the CPLD is big enough you can multiplex there of course).

    Post Edited (MagIO2) : 5/29/2009 7:17:50 AM GMT
  • heaterheater Posts: 3,370
    edited 2009-05-29 07:18
    And you may want to include enough RAM do double buffering. Prop writes to one RAM while the display is fed from another. Then swap them around.

    Whilst your at it, include enough RAM for use as general purpose RAM for XMM from C compilers or for emulators.

    What a great set up this could be.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • MagIO2MagIO2 Posts: 2,243
    edited 2009-05-29 07:27
    3 times 1MB is enough for double buffering and some extra RAM. But if you have to use 3 bytes to set one adress anyway, there is no reason not to have 24 bit adress-registers (16MB per channel ;o). So you have 16MB x 3 - 783360Bytes of RAM that you can use however you want.
    For additional XMM support it would be nice to have 3 adress-counters. 1 for sequential output of the frame-buffer, 1 for holding the XMM program-counter and one for random access to video RAM and other RAM.

    Indeed .. nice.
  • kwinnkwinn Posts: 8,697
    edited 2009-05-29 14:23
    As I said, it's possible. Not easy though, but it can be made simpler by creative programming. I know that a Z80 chip, 2K ram, 2K eprom, and 4 or 5 ls7400 chips were used to build an 80x24 terminal way back when. It was an excellent design and there were no problems with flickering or blanking while updating the screen even though it was not double buffered. It did take some very clever assembler programming and circuit design to do it, and I think something similar could be done for color graphics with the hardware we have available today.
  • MagIO2MagIO2 Posts: 2,243
    edited 2009-05-29 16:09
    Of course ... of course ... I never said that its impossible.·But that's exactly why I asked computer guy if he is experienced enough. If not, he should better start with an easier project.

    The prototype of the Atari ST has been build completely with standard TTL ICs.
  • computer guycomputer guy Posts: 1,113
    edited 2009-05-30 11:54
    WOW!!! This is all way to complicated for me.
    All I need is a full colour screen that is low power (<= 5v) and can draw complicated images and stuff easily.

    Its for a GUI for a project.


    Thank you all for your help smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Building Blocks To The Propeller Chip A web site designed to help people who are new to the propeller chip.

    Guitar Hero controller using the prop (WIP) --> HERE
  • kwinnkwinn Posts: 8,697
    edited 2009-05-30 15:12
    Your best bet for that would be to look at one of the displays used on a DVD player. There are objects for the prop to drive that.
  • MagIO2MagIO2 Posts: 2,243
    edited 2009-05-30 19:19
    kwinn, kwinn ... you should learn to give better advice ;o) . Of course a DVD display would work, but guy want's to draw complicated images and was talking about a display with a resolution of 480x272 pixels. Let's assume he needs a similar resolution, so you would have the RAM problem with each other solution.
  • TubularTubular Posts: 4,706
    edited 2009-05-30 20:23
    Hi CG,

    I agree with others that interfacing that display to the Prop involves a fair bit of work. It would be easier to interface it to an old SBC with TTL display output (ebay!). If you're really up for it, PM me as I can get you one with touch pre-assembled for AU$88 inc gst which would be a bit quicker and cheaper than Sparkfun (whose Touch is sold separately).

    A good cost effective option would be the 3" LCD from Tim at Www.Brilldea.Com It takes composite video in and judging from photos posted it comes up pretty well especially for the current US$45 price tag.

    The other option are the 4D displays which are also easy to draw stuff on and run from 5 volts. They are smart enough to load images and even video off their own uSD card.

    have fun
    tubular
Sign In or Register to comment.