Shop OBEX P1 Docs P2 Docs Learn Events
Question to parallel 5V LCD Display and TV-connection — Parallax Forums

Question to parallel 5V LCD Display and TV-connection

chbrandlchbrandl Posts: 13
edited 2007-08-12 22:24 in Propeller 1
Hello,
I wanted to attach a 5V parallel LCD Display to the propeller chip, and a TV connector and have some problems.

1) The 5V display should be attached to·12 port pins (8 for data and 4 for control purposes). How can I do this ?

2) I build the TV (FBAS) interface (like described in the demo board schematics), with 4 resistors (1.1k, 560, 270,560 Ohm) but I do not get a valid TV-video signal (PAL). I use a 40 Pin DIP ·Propeller chip for that purpose.
On the demo board (starterkit) the TV-interface works but not on my own design.

Is there any design difference between the demo board propeller to the 40 Pin DIP propeller ?

The software was adapted to work with my design, and the only difference is the higher clock speed (20 MHz), but PLL=4x

Best regards
Christopher

Comments

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2007-08-10 09:53
    "the only difference is the higher clock speed (20 MHz), but PLL=4x"

    The obvious solution would be to change the only difference, especially considering that page 25 of the datasheet says that 8MHz is the maximum crystal frequency where you can use the PLL.


    *Peter*
  • GavinGavin Posts: 134
    edited 2007-08-10 13:40
    Depends on the LCD type you want to hook up to.
    Two basic types Analog or Digital.
    Yours sounds like a 8 bits digital, 256 colours.
    Probably going to need to write your own driver in asm.
    VGA and TV are analog so can take a 1V video input, Analog LCD hacks like Franz's can be based of the VGA demos.
    You will need a 8 bit 3V to 5V buffer for the data plus more buffers for the clocks.
    You may get lucky with directly connecting them if they are TTL level inputs.
    Digital means you don't need those resistors, but timing will be different.
    Do you have the data sheet for the LCD?

    Things can get confusing as there are chips that take analog inputs like RGB/VGA and drive the digital LCD.
    The Row and Column chips on LCDs are all digital input anyway.
    With only 8 bits of data it sounds like a low res and/or old LCD display.

    Wonder if Chip's AN002 will cover this?

    Wonder if the Prop could do HDMI?
    http://en.wikipedia.org/wiki/HDMI

    Gavin
  • deSilvadeSilva Posts: 2,967
    edited 2007-08-10 19:50
    I understand CHBRANDL has two different questions:
    (1) Connect a 2x16 or 2x20 standard LCD display. This can be done in the most straightforward way! Marcel Majoor e.g. has a very good driver I use myself, there is a good instruction inside how to connect the display. BTW You should use the 4-bit mode, not the 8-bit mode; there is no advantage in the latter.

    (2) Your TV- interface should work. But maybe it will be a little bit tricky to configure the TV-driver. it is different when you use the higher four bits rather than the lower four bits in an 8-bit group.
    And BTW: You do not need the fourth resistor, unless you want to broadcast audio from another COG
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2007-08-12 12:30
    I happen to have a propeller product that interfaces to a character lcd module and also has VGA and TV outputs. I choose to connect lcds in 8-bit mode if I have pins available. Besides, the pins can often do double duty for keypad scanning etc. The reason for selecting 8-bit mode is simply reliability. 4-bit mode needs to be synchronized during initialization and in an industrial environment it is not uncommon for systems to be blasted with electrical noise which could effectively disrupt nibble synchronization. There are no nibble select lines and no easy way to know if it is out of synch, although the operator probably is wondering why the lcd now displays Japanese and junk.

    Sure, I've used 4-bit mode with no problems mostly. You can also save a line by not bothering with R/W and just tie it low. Simple software timing is all that is required and is totally predictable and always works.

    BTW, the VCO part of the PLL runs at 16 times the crystal frequency THEN divides the frequency down (PLLDIV). DON'T IGNORE THIS. The maximum VCO frequency is 160Mhz but 128Mhz is spec'd for reliability. This means if you want the PLL then the maximum cystal frequency is 8Mhz. Using 20Mhz cystals and PLL mode will land you in hot water and you can try and swim it if you want.

    *Peter*
  • chbrandlchbrandl Posts: 13
    edited 2007-08-12 18:11
    Thank to all answers,

    1) the TV connections only works with a 5 MHz quarz correct, all other quartzes (8, 16, 20 Mhz) occurs an error.

    2) the 5 V LCD Displays makes troubles, I·destroy a propeller chip, perhaps the propeller is not 5V tolerant. I think I will try it with a driver TTL or I use an PIC to drive it.



    Best regards

    Christopher
  • HarleyHarley Posts: 997
    edited 2007-08-12 18:23
    Christopher,

    Re: your comment of "...perhaps the propeller is not 5V tolerant. I think I will try it with a driver TTL or I use an PIC to drive it."

    Please read/re-read the last thread in blue at the top of the Propeller forum titled
    HOW TO SAFELY INTERFACE A 5V SIGNAL TO THE PROPELLER? yeah.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Harley Shanko
    h.a.s. designn

  • deSilvadeSilva Posts: 2,967
    edited 2007-08-12 18:24
    chbrandl said...
    perhaps the propeller is not 5V tolerant.
    No, it certainly is not: No 3.3 V device is! You should never ever connect un-shunted 5V to an Prop- Input! People seem to think : "Oh, that is just high-impedance." No, it is not smile.gif
    said...
    I think I will try it with a driver TTL or I use an PIC to drive it.
    This is really not neccessary smile.gif
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2007-08-12 22:24
    Chris,

    If you tie the R/W line low and perform a simple 40us (max) delay after each character you will never need to read from the lcd module at all. IF you never read from the lcd you will not have a problem with interfacing to 5V logic as the Propeller will never have 5V on it's lines. Since the only thing of any use on the lcd that can be read is the Busy Flag and yet the documentation clearly states what the maximum busy time will be, why bother with reading it? Especially considering the simplicity of hardware interfacing possible by not using the R/W line. Even when using the maximum busy time between characters it takes just over 1ms to fill a 16x2 display.

    *Peter*


    P.S. Spin executes 80,000 or so tokens per second. That works out to 12.5us per token so my code doesn't bother with a delay loop.
    pub Write(data,adr)
      outa[noparse][[/noparse]RS] := adr
      outa[noparse][[/noparse]db0..db7] := data
      outa[noparse][[/noparse]EN]~~                  'set enable high
      outa[noparse][[/noparse]EN]~                    'release
      outa[noparse][[/noparse]EN]~                     'dummy operation for delay
    
    

    Post Edited (Peter Jakacki) : 8/12/2007 10:32:18 PM GMT
Sign In or Register to comment.