Shop OBEX P1 Docs P2 Docs Learn Events
What do 8 video processors mean to you? — Parallax Forums

What do 8 video processors mean to you?

LoopyBytelooseLoopyByteloose Posts: 12,537
edited 2007-02-18 05:31 in Propeller 1
I really am not sure what the video processor boxes in the block diagram are about.

One would seem enough to me [noparse][[/noparse]assuming one video output], but what can you do with 8?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)

······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan
«1

Comments

  • Beau SchwabeBeau Schwabe Posts: 6,560
    edited 2006-02-21 15:47
    The reason that there are eight video processors is more by the design of keeping each cog symmetric in layout ( they all see the same thing as their neighbor)
    but it works out nicely that you can dedicate a specific cog to it's own video driver. However, you are not locked in to using the video driver (<-- or specialized PLL)
    strictly for video. You have complete control in software to shape the signal however you desire for any other application.

    With 8 video processors, you could have 8 separate video outputs, not just one.... Simultaneous video, TV, and VGA each with a different image to display or each
    with the same image to display.

    One clever application we have seen uses two cogs that are synced together in a way that they interlace the video scan lines. While one cog is rendering one scan
    line the other cog is displaying the other and vise-versa. What this does is allow more time for color rendering... the result is quite impressive.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • T&amp;E EngineerT&amp;E Engineer Posts: 1,396
    edited 2006-02-21 15:51
    Is this NTSC Composite video, S-Video, SVGA, or something else?
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-02-21 15:56
    It is anything you design it to be, the video units on the cog are not VPUs, they are glorified data serializers which are single bit fifos with extra functionalities, it is up to the cog's program to determine what that serial stream is.

    So far NTSC composite, VGA and broadcast (channel 3) drivers have been made, but more are possible.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10

    Post Edited (Paul Baker) : 2/21/2006 4:03:43 PM GMT
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2006-02-21 16:05
    So you could not only use these for video {though that is really the appeal of it all}.

    If I was a big blinking LED designer, I could slow down the timing and have these flash LEDs is a very complex sequence.
    Or, I might find a way to time these with the right capacitor to output a synthesized sine wave in three phases to control a brushless motor.

    Am I in the weeds again?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "When all think alike, no one is thinking very much.' - Walter Lippmann (1889-1974)

    ······································································ Warm regards,····· G. Herzog [noparse][[/noparse]·黃鶴 ]·in Taiwan
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-02-21 16:10
    In theory, but each cog has two independent timers which are better suited for waveform generation, if I remember correctly the broadcast driver uses a timer to generate the carrier frequency. The video gen and the two timers are the least detailed aspects in the documents we received, so I cannot be too specific because I don't fully understand them myself.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Beau SchwabeBeau Schwabe Posts: 6,560
    edited 2006-02-21 16:14
    Paul,

    Thanks, a "glorified data serializer" is probably a more accurate term than a "specialized PLL". There is one in there that plays a significant role
    for this section of the cog however.

    Kramer,

    In a simple answer, Yes. ...where I would be scratching my head a bit would be the decoding scheme you used on the other end for the LED's.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-02-21 16:22
    Ummm, what about FM ? I'm sorta very weak in the knees when it comes to analog circuits, but isn't it the same basic for TV as it is for FM ? Just pokin around with ideas...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Just tossing my two bits worth into the bit bucket
    KK
    ·
  • Piper984Piper984 Posts: 74
    edited 2006-02-21 16:26
    I would like to hear some more about the VGA output module that has been written for a Propeller cog. Can you share a little snip of some Spin code that would demonstrate the interface to the 'VGA cog' and that would output some text or graphics? Also, any other COGs being written for other graphic LCD's? Like the Sony ACX705AKM?
  • Jeff MartinJeff Martin Posts: 757
    edited 2006-02-21 16:32
    Yes, FM is possible.

    When Chip and I first started bringing this ability to a reality (actually I should say, when Chip did... I just watched and brainstormed over the possibilities) we immediately started thinking of applications like: A device monitoring something out in a field somewhere could be made to broadcast a short distance NTSC/PAL video signal and/or FM signal and a technician could simply walk out there in the viscinity with a hand-held TV or radio and receive live updates of what it is doing... no need for an attached display device (the thing could be buried underground for example)... but with the ability to broadcast, that leads to uses we can only start to imagine right now.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Jeff Martin

    · Sr. Software Engineer
    · Parallax, Inc.
  • Beau SchwabeBeau Schwabe Posts: 6,560
    edited 2006-02-21 16:40
    Kaos Kidd,
    FM is certainly possible, although you need to check with FCC regulations to find out what is allowable.

    As an example, you can configure the video driver by setting the 'auralcog' value to "1" and specifying
    the desired frequency in the 'broadcast' value.· Hanging a 6" or so piece of wire will allow you to
    transmit video about 10ft-20ft to a nearby TV.
    DAT
    tvparams                long    0               'status
                            long    1               'enable
                            long    %011_0000       'pins
                            long    %0000           'mode
                            long    0               'screen
                            long    0               'colors
                            long    x_tiles         'hc
                            long    y_tiles         'vc
                            long    10              'hx
                            long    1               'vx
                            long    0               'ho
                            long    0               'vo
                            'long    55_250_000      'broadcast Channel 2
                            long    61_250_000      'broadcast Channel 3
                            'long    67_250_000      'broadcast Channel 4
                            'long    77_250_000      'broadcast Channel 5
                            'long    83_250_000      'broadcast Channel 6
                            long    1               'auralcog
    
    







    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • GadgetmanGadgetman Posts: 2,436
    edited 2006-02-21 16:59
    Beau Schwabe (Parallax) said...

    One clever application we have seen uses two cogs that are synced together in a way that they interlace the video scan lines. While one cog is rendering one scan
    line the other cog is displaying the other and vise-versa. What this does is allow more time for color rendering... the result is quite impressive.

    Just wondering....

    In that application, would it be possible to mix the output of two COGs, and let one create a GREEN picture while the other creates a RED picture... Only... slightly offset here and there?

    Then we just need to find a few silly-looking glasses...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Don't visit my new website...
  • Beau SchwabeBeau Schwabe Posts: 6,560
    edited 2006-02-21 17:27
    This thought did enter my mind last week during the Propeller introduction as far as creating 3D games on a single screen.
    As someone else said in a very well put way,
    "I bet if you ask, 'can it do this?' or 'can it do that?', that the answer would boil down to, it can if you program it that way."
    ...So, the sky ( or outer space ) is the limit, this Chip is designed so that you can have complete control and most of all complete fun doing it!
    ·



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-02-21 17:57
    Piper984 said...
    I would like to hear some more about the VGA output module that has been written for a Propeller cog. Can you share a little snip of some Spin code that would demonstrate the interface to the 'VGA cog' and that would output some text or graphics? Also, any other COGs being written for other graphic LCD's? Like the Sony ACX705AKM?
    This will be my first project with the chip, I was originally designing a driver using the SX, but after working with the Propeller Ive scrapped the idea of using the SX which was going to be a major headache. Even with the Propeller, its not going to be easy, but for different reasons and this is because of memory constraints required for bitmapping the display (using 8 bits of color for each pixel requires 38,400 bytes and theres only 32,768 bytes in the hub memory), theres no room left for executing Spin code (I have an idea for a work-around, but Im not going to lay all my cards out on the table because Im planning on offering it as a product). Using a tile methodology would be an easier solution, but that limits the display's capabilites.

    Im pretty sure the video drivers are in assembly (including VGA), spin code is just too slow to deal with high bandwidth video.

    I'll consider releasing a tiled version of the driver for other users of Propeller since it could be incorporated with other programs (the VGA driver is also a tiled driver). But as I said, a bitmapped driver would consume everything the Propeller has· not making it very useful for Propeller developers.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10

    Post Edited (Paul Baker) : 2/21/2006 6:12:36 PM GMT
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-02-21 18:11
    FM...
    With porper coding... a remote controller...
    ... Ok... I'm ready... now I'm just waiting...
    MP3 player... with synced video output... USB connection for DL source...
    RAM... Thats' what else is needed...
    awesom... just awesom...
    more..more..more... [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Just tossing my two bits worth into the bit bucket
    KK
    ·
  • Piper984Piper984 Posts: 74
    edited 2006-02-21 20:36
    Hello Paul,

    When you say product, do you mean a controller board for the ACX705AKM? Or do you mean a precompiled 'COG' library that a developer using a Propeller chip could embedded? BTW: I'm interested in both! [noparse]:)[/noparse]
  • Piper984Piper984 Posts: 74
    edited 2006-02-21 20:52
    Hi again Paul, when you stated that the VGA module is written in assembly, that makes sense... But isn't there Spin syntax that would/could run in another COG that allows the programmer to send text output to the VGA output? Similiar to a serial LCD on a BS2, is what I'm thinking as far as the Spin syntax might look. Just wondering... Seems like a logical use of the COG approach... Use a high level language for business logic in one COG, and then use optimized device drivers loaded into other COGs.
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-02-21 20:53
    A "Tiled" driver?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Just tossing my two bits worth into the bit bucket
    KK
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-02-21 20:58
    Piper, the former, there is no such thing as a precompiled COG library, everything is open source by design. Though like I said, I may release a tile based object for the LCD that would be more suited for incorporation with other Propeller code, you just couldn't do graphics rendering with it (draw circles, lines, squares, etc).

    KaosKidd, a tiled driver is one that uses tiles to draw the image, for instance a character LCD, each character is a "tile", but is not limited to only characters. Since you only need one location in memory that shows the data to display the letter "E" you save memory, regardless of how many times it is displayed on the LCD.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-02-21 21:09
    Piper, I haven't cracked open the VGA driver, haven't even utilized it. It is one of the more difficult drivers to understand out of the ones we received, this is partly because the video generation hasn't been fully documented yet.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-02-21 21:42
    Thanks Paul...
    I wasn't sure... but now I am.. [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Just tossing my two bits worth into the bit bucket
    KK
    ·
  • Piper984Piper984 Posts: 74
    edited 2006-02-22 14:30
    OK Paul... Thanks for the data. I have used the ezLCD001 displays in a few BS2 based projects, and I have always wished I could control an LCD module directly just to reduce hardware cost a bit. Looks like this new chip might help me towards this goal, but we'll see!
  • Timothy D. SwieterTimothy D. Swieter Posts: 1,613
    edited 2006-05-05 01:48
    Paul - I would be interested in a driver board for the ACX705AKM Sony Display as well.· It appears to be a neat little display, I am just not willing to spend the money on an ezLCD, though I am tempted to at times.·

    Do you have a timeline for your development?
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-05-05 02:08
    Ive got so many things running now it's crazy. It's a mid-range project. The order of precedence at this point is: the 192 channel LED PWM board, the Propeller logic analyzer, Propeller interface to the Nokia knock off LCD, and finally the Sony LCD.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    1+1=10
  • BeanBean Posts: 8,129
    edited 2006-05-05 02:37
    Paul,
    · I have been working with the "Nokia knock off LCD" and sparkfun even posted my BS2 code. The BS2 code uses the 8 bit display mode.
    · I have code for the SX that uses the 12-bit mode. One problem with the display is that you cannot read anything back from the display memory.
    · When using 12-bit mode you must send 3 bytes which make up 2 pixels, there is no way to set only one pixel. Also updating the display is rather slow, even for the SX.
    · I too want to write propeller code for that display, but other projects have me tied up for now.

    Bean.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Cheap 4-digit LED display with driver IC·www.hc4led.com


    COMING SOON "SD DATA LOGGER" www.sddatalogger.com

    "I reject your reality, and substitute my own." Mythbusters
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-05-05 02:43
    Thanks Bean, ill check with them. It was my first intended project with the Propeller, but the assembly SPI routines hung me a bit, so thats when the LA entered the picture.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    1+1=10
  • Jim CJim C Posts: 76
    edited 2006-05-07 18:36
    After poking around the Propeller attached to the 2.5" LCD from Parallax, things are gradually coming into focus. The part I couldn't understand was how the drivers interacted with the hardward and the user code. When all the parts are working, and the code is up on the screen it is much clearer what is happening.

    So now I understand the importance of having a driver in getting different displays working. A few days ago, Paul Baker and Bean were discussing a small knock-off Nokia LCD and how they're thinking about drivers for such a beast. I, for one, would love to see the Graphics_Demo program (or similar) running on a really small LCD.


    Looking forward to them having enough time for it!

    Jim C
  • PHXPHX Posts: 17
    edited 2007-02-17 03:33
    Paul said...

    Ive got so many things running now it's crazy. It's a mid-range project. The order of precedence at this point is: the 192 channel LED PWM board, the Propeller logic analyzer, Propeller interface to the Nokia knock off LCD, and finally the Sony LCD.
    Hi Paul,
    Did you finalize, by chance, your work on the Nokio knock off LCD or the ACX705AKM Sony LCD ???
    Tks,
    Richard
  • Paul BakerPaul Baker Posts: 6,351
    edited 2007-02-17 04:18
    Sadly no, been busy with the datasheet, finally got the proper setup and good data.

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

    Parallax, Inc.
  • BTXBTX Posts: 674
    edited 2007-02-17 12:49
    Oh.. Paul, what is that of the 192 channel LED PWM board ??????????????? sounds very amazing !!
    Let me know what are you doing for.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Regards.

    Alberto.
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2007-02-17 12:56
    Are the video processors documented?
Sign In or Register to comment.