Shop OBEX P1 Docs P2 Docs Learn Events
Prop TV Output timing and specs — Parallax Forums

Prop TV Output timing and specs

DogPDogP Posts: 168
edited 2007-08-17 21:25 in Propeller 1
Hey,

I've been working on making the Prop a display device for a project I'm working on, but after messing with it for a while, I'm not sure it'll work as well as I hoped. So I'm looking to change my focus to using an FPGA, but the thing that made the Prop especially useful was the ability to output to a TV. I know I can use the same circuit as the Prop for generating TV output (3 outputs w/ resistors), but I'm having a hard time finding documentation for the signals. Is there anywhere that explains where, why, and what bits are output from the Prop (maybe some pseudo-code for what's happening)? I've found some good examples of B/W, but documentation on color is pretty limited, and most use a seperate IC (usually the AD724) to generate the NTSC signal from RGB. I'm very interested in how the Prop does it since it does it so well and without any extra ICs.

Here are a few of the sites I've come across:

www.rickard.gunee.com/projects/video/sx/howto.php (Best one on color, but explains more about why instead of how to do it)
excamera.com/articles/15/ntsc.html (B/W implemented in an FPGA)
instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2002/carlo/index.html (uses extra hardware)
And I've tried looking through TV.spin, but that's kinda hard to read, and there's things like waitvid which are controlled internally.

I figured I'd try posting here since the Prop does exactly what I'm wanting, just the memory size and transfer requirements (and my wants) are a little above what I can do on the Prop. Thanks,

Pat

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2007-08-15 22:41
    Have you tried looking at the Propeller datasheet? It has several pages on the video generator including a brief description of TV output.
    That's probably the best you'll do until the second application note (on the video generator this time) gets done.
  • deSilvadeSilva Posts: 2,967
    edited 2007-08-15 23:45
    I will provide some intermediate information during the next days (1/4 already translated) Have a look at this sketch. A Propeller video driver does nothing but control exactly the timing of theses signals. In TV-mode there are just 8 voltage levels through the 3 pin output (1 k 470Ohm, 220 Ohm DAC), giving you 6 true gray levels. There is a little bit NTSC/PAL color magic, but not much. You have 4 different colours out of 16 each 4, 8, or 16 pixel field.

    The main constraint is memory! Everything depends on the software driver.

    Post Edited (deSilva) : 8/15/2007 11:51:54 PM GMT
    372 x 284 - 6K
  • AribaAriba Posts: 2,685
    edited 2007-08-16 01:04
    Chip Gracey said...

    In designing the Propeller's video circuit and TV object, almost all know-how came from this site:

    www.ntsc-tv.com

    The information there is very thorough and easy to understand. The only thing I had to look elsewhere for was how to modulate the broadcast signal. This site should be all you need.

    BTW, to generate the broadcast, you take the baseband and AM it so that the bottom of the sync pulse is maximum amplitude and the white level is minimum amplitude.

    found in this thread: http://forums.parallax.com/showthread.php?p=577138.
    There is also an early thread with information about the color modulation, but I don't find it...

    Cheers
    Andy
  • RinksCustomsRinksCustoms Posts: 531
    edited 2007-08-16 01:50
    The member that goes by the name BTX might be able to give a few pointers..

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    E3 = Thought

    http://folding.stanford.edu/·- Donating some CPU/GPU downtime just might lead to a cure for cancer! My team stats.
  • DogPDogP Posts: 168
    edited 2007-08-16 04:55
    Thanks for the info/links guys... yeah, I forgot about the Prop manual (not sure how), but I just took a quick look and it doesn't quite give me the info that I'm needing.

    deSilva: That looks exactly like what I'm looking for... basically, I'd like to know which bits need to be signaled at what time to create the desired output. The Parallax guys made it too easy for us by creating a driver to handle the timing and control of the outputs [noparse];)[/noparse] . And yeah, for my project I'm basically needing a large framebuffer to pump data through at high speeds, and the prop just doesn't quite have the resources for it. Possibly the Prop 2 will help when it arrives, but for the time being I wouldn't mind trying it out with the Spartan 3E eval board I've got (lots of speed, memory, and can be totally customized for my application).

    Please let me know when you've got the info available, and if anyone else has any info and/or links, I'd appreciate it. Thanks,

    Pat
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-08-16 05:11
    Mike was refering to the datasheet, not the manual, the datasheet is availible on the same downloads section but further down. The datasheet is a much more recent publish and contains more detailed information on the video generators.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • ericballericball Posts: 774
    edited 2007-08-17 16:16
    Basic NTSC video timing (non-interlaced):
    lines 1 - 3 equalizing pulses - 2.3uS @ -40IRE, 29.477uS @ 0IRE, 2.3uS @ -40IRE, 29.4777uS @ 0IRE
    lines 4 - 6 serration pulses - 27.077uS @ -40IRE, 4.7uS @ 0IRE, 27.077uS @ -40IRE, 4.7uS @ 0IRE
    lines 7 - 9 equalizing pulses - 2.3uS @ -40IRE, 29.477uS @ 0IRE, 2.3uS @ -40IRE, 29.4777uS @ 0IRE
    lines 10-21 blank - 4.7uS @ -40IRE, 0.6uS @ 0IRE, 9 cycles 3.579545MHz colorburst @+/- 20IRE, 55.740uS @ 0IRE
    lines 22-262 active video - 4.7uS @ -40IRE, 0.6uS @ 0IRE, 9 cycles 3.579545MHz colorburst @+/- 20IRE, 1.385uS @0IRE, 52.855uS active video, 1.5uS @ 0IRE
    rising colorburst on even lines, falling colorburst on odd lines

    Note: TVs are quite tolerant of timing variations except for colorburst.
  • deSilvadeSilva Posts: 2,967
    edited 2007-08-17 16:32
    ericball said...
    ...except for colorburst.
    You betcha smile.gif
  • DogPDogP Posts: 168
    edited 2007-08-17 19:30
    Thanks, that's definitely helpful... I was able to implement this: http://excamera.com/articles/15/ntsc.html in my FPGA board, so I'm getting B/W, and although I haven't looked at it really closely, I think I can add one more pin and control the colorburst with that. Do you think colorburst at ~3.571MHz will be close enough? I think that's as close as I can get w/ the 50MHz xtal, although I could add an external xtal if I need to.

    I also dropped by the Hydra forum and noticed this post: http://forums.parallax.com/forums/default.aspx?f=33&m=187877 ... so that may be helpful too.

    Thanks,
    Pat
  • ericballericball Posts: 774
    edited 2007-08-17 19:35
    DogP said...
    Do you think colorburst at ~3.571MHz will be close enough?
    The document I have says 3,579,545Hz +/- 10Hz, though you could always give it a try.· You might find that the colors·drift across the screen.
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-08-17 19:37
    From personal experience the colorburst must be almost spot on, only a percentage or two off and your receiver will fail to lock.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • DogPDogP Posts: 168
    edited 2007-08-17 21:25
    That's good to know... color isn't that important at the moment, but I'd rather not fight that if it's a battle that can't be won. I've got a bunch of parts to order soon, so I'll just add that xtal to the order. Thanks,

    Pat
Sign In or Register to comment.