Shop OBEX P1 Docs P2 Docs Learn Events
Hydroid x3 — Parallax Forums

Hydroid x3

The CaptainThe Captain Posts: 60
edited 2007-10-30 00:24 in Propeller 1
After several months of researching, reading, investigating and guessing, I've come up a pretty cool idea that I'm going to start to put together this Christmas.

I call it: HYDRIOD 3X
The name HYDROID means HYDRA on Steriods, and 3X means 3 Propellors

Each prop has a it's own dedicated function: Central Processing Unit (CPU), Graphics Processing Unit (GPU), Sound Processing Unit (SPU)

Function of the colors go as follows:
Red - Power
Black - Ground
Blue - Output
Yellow - Input
Green - Input / Output
Pink - Not Required In Design
Light Blue - No Connection

Now, this is just a preliminary drawing because a lot of the I/O, power, and ground lines are still not connected to their respected pins.
This is due in part because I computer programmer and am just now starting to learn some of the electronics background required to make this project see the light of day.
Plus this will give a chance to better learn Spin and PropASM due to writing the required drivers for various ICs.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I am become death, destroyer of worlds.

Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men.

Post Edited (The Captain) : 10/25/2007 1:33:35 AM GMT
925 x 671 - 48K

Comments

  • deSilvadeSilva Posts: 2,967
    edited 2007-10-24 23:39
    This is a nice variant!

    Idea: If you want to use more than one PCB it could simplify your work using the same type of PCB, but only populating the required part for each case (as I think you can organize the pin usage accordingly)

    Question: What protocol do you plan to use for the inter-chip communication?

    Question: How do you want to oad the chips? 3 EEPROMs? 3 USBs?


    Recommendation: Please never again upload a BMP!!!!
  • Mark SwannMark Swann Posts: 124
    edited 2007-10-24 23:44
    deSilva said...

    Recommendation: Please never again upload a BMP!!!!
    Why?
  • The CaptainThe Captain Posts: 60
    edited 2007-10-25 00:00
    For programming I plan to use a slider switch to select between the 3 Propellers. -- See middle right-hand side.

    I plan to use 3 separate Eeproms, each in DIP form, allowing one to upgrade to a larger capacity should the need arise.

    I'm thinking about adding an expansion slot, just like the Hydra for riser cards. -- Physics Processing Unit anyone?

    Inter-chip communication will be Half-Duplex Serial, or SPI, haven't decided yet.

    I changed it to PNG compression.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I am become death, destroyer of worlds.

    Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men.

    Post Edited (The Captain) : 10/25/2007 1:33:28 AM GMT
  • deSilvadeSilva Posts: 2,967
    edited 2007-10-25 00:54
    The Captain said...
    Inter-chip communication will be Half-Duplex Serial, or SPI, haven't decided yet.
    I was unclear in my question. The "physical layer" is of little concern... I should like to know what high level data you want to transmit...
  • The CaptainThe Captain Posts: 60
    edited 2007-10-25 01:30
    It will basically issue commands is the most simplified form:

    Play this sound
    Draw this sprite, Draw that texture

    But to be honest, I really have thought of or devised a scheme on how, and what to send to each processor yet.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I am become death, destroyer of worlds.

    Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-10-25 01:53
    I seriously suspect that multi-prop designs are going to become something of regular topic around here more and more as some of us will be trapped inside for the winter months. I for one would like to see some more serious discussion on methods of prop-to-prop communication for projects like this. Using serial (limit the number of required lines) or 8/16 bit bus transfer, things like lookup tables, master/slave, and device ID will need to be considered. Question is, where to start, and can the end project have objects which would make existing code compatible or are we starting all over on a new platform so-to-speak?

    Oldbitcollector

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • hinvhinv Posts: 1,253
    edited 2007-10-25 02:14
    What is that big ezVGA chip in the middle?
    I thought you were just using propeller processors, but that thing obviously has more than 44 pins.


    Doug
  • Ym2413aYm2413a Posts: 630
    edited 2007-10-25 03:31
    Very neat! [noparse]:)[/noparse]
    http://www.multilabs.net/ezVGA_SM.html
  • Ken PetersonKen Peterson Posts: 806
    edited 2007-10-25 04:04
    Interesting concept. I'm working on a project where I thought I might try using an extra Propeller as a dedicated graphics processor. Not sure yet where I'll end up going with it, however. It's not a general purpose product that I'm working on...more specific. Automotive product, actually.

    For inter-chip communication, I thought I'd come up with a set of graphics primitives that I can describe through a UART or SPI interface. Communication in my case would be only one-way, unless I decide to implement the touch screen in the graphics Prop.

    By the way...I wonder if anyone else (Baggers?) has thought of using the Prop as a dedicated graphics processor.

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


    The more I know, the more I know I don't know.· Is this what they call Wisdom?
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-10-25 04:21
    I'm becoming quickly curious what happens when you connect prop I/O pins-to-prop I/O pins...
    (Could someone post their experience with this? I think HYDROID's creator would appreciate it as well.)

    I've got a couple of Brian's SpinStudio setups over here and will be doing some experimentation
    along these lines very soon. One way communication should be just fine for assigning a prop to
    do video or audio for that matter. As for ezVGA, looking at the screenshots on their website makes
    me think that all of it is doable with "just another propeller"

    Wish more problems could be solved by just throwing another propeller at it. [noparse]:)[/noparse] [noparse]:)[/noparse] [noparse]:)[/noparse]

    Oldbitcollector

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • mparkmpark Posts: 1,305
    edited 2007-10-25 04:29
    Y'all have been paying attention to the PropGFX, right? Dedicated Propeller graphics coprocessor?
    http://forums.parallax.com/showthread.php?p=684710
  • BaggersBaggers Posts: 3,019
    edited 2007-10-25 08:41
    The Captain, you seem to have forgotten storage, a mega important issue if you ask me, you'll have all that programming ability, and nothing to fill it with. Are you going to add an SD cart?

    Thanks for the plug mpark [noparse]:)[/noparse]

    Oldbit, i think your right about it being doable on "just another propeller" but I think he was thinking it's ability to do a different colour per pixel on vga.

    Baggers.
  • hinvhinv Posts: 1,253
    edited 2007-10-25 12:05
    The Captain,
    Looking at your design, I would dump the ezVGA chip in favor of using the propeller. You said that you allready had a prop dedicated for a graphics processor, I would just use that. Reasons:
    1) Complexity, The ezVGA chip requires 5V, which means another regulator, and all those resisters to get from the prop to the ezVGA chip
    2) Power, ezVGA SUCKS 1.35 WATTS! Not good for running off of battery power, if that was your intention
    3) Performance, The ezVGA chip should be called ezQVGA because it only does 320x240. The prop by itself will do 1600x1200. VGA is 640x480.
    4) Ease of development, Tt has been done many of times on the prop, and a long time ago. look at the schematic on the demo board http://www.parallax.com/dl/docs/prod/prop/PropDemoDschem.pdf
    and forums.parallax.com/forums/default.aspx?f=25&m=225797 as stated above
    5) Cost. How much does that ezQVGA chip cost anyway. I could only find the module, not the chip, and it was around $64
    6) Performance. I would guess you will waste a bit of propeller power and latency just interfacing your 16bit interface to the ezQVGA chip. Direct VGA only needs 8 I/Os.
    7) Complexity, If you take out the ezQVGA chip, you would chop what looks like half of the hardware out of the schematic above.

    Hope this helps.

    Doug
  • hinvhinv Posts: 1,253
    edited 2007-10-27 21:09
    Sorry Captian, I didn't mean to kill the thread.
    I forgot to mention that I did like your design except for the video part.
    What did you use to draw it?
    Were you planning to load all of the programs over the network port?

    Take Care,
    Doug
  • The CaptainThe Captain Posts: 60
    edited 2007-10-27 23:44
    It's not dead, it's just that between school and work which push about 90+ hours a week combined, I usually get only limited amounts of time to work on it.

    Each Propeller will have its on DIP Eeprom; what size, don't know yet.

    I used MS Paint. freaked.gif

    My first concept drawings had 8-bit R-2R ladders for RGB which left me with 2 pins. :/

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I am become death, destroyer of worlds.

    Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men.

    Post Edited (The Captain) : 10/28/2007 1:50:34 AM GMT
  • Spork FrogSpork Frog Posts: 212
    edited 2007-10-28 01:41
    TIP: Learn SPIN and ASM first. You quickly learn that you can do more with one prop than you think.

    I also don't see the point in the ezVGA, a Prop can generate VGA on its own easily.
  • deSilvadeSilva Posts: 2,967
    edited 2007-10-28 07:57
    Spork Frog said...
    I also don't see the point in the ezVGA, a Prop can generate VGA on its own easily.
    Study the Hires Drivers..
    The main problem for Video is fast accessable Video-MEMORY. 512kByte mimimum, , for animation twice that much, best address switchable, 4 MByte comfortable...
  • Damien AllenDamien Allen Posts: 103
    edited 2007-10-28 10:56
    Personally for at least two of the props I would add an expansion connector, then you could use both Andre's upcoming SD cartridge and the already available HX512 memory cart. If you were feeling brave I would like to see usb joypads utilised now that some excellent forum member has created a crude usb stack (I think it's hippy btw sorry if i'm wrong). I'm not sure the feasibility of that idea maybe it might be a bit too complex. Using the FTDI chips also may be possible.
  • BradCBradC Posts: 2,601
    edited 2007-10-28 11:39
    Forget the USB joypad idea for now. The USB stack is a device stack not a host stack. There is a hell of a lot of work before we get even basic, crippled host functionality working.

    The PS2 controllers look funky though, and pretty easy to interface to.
  • The CaptainThe Captain Posts: 60
    edited 2007-10-29 00:48
    deSilva said...
    Spork Frog said...
    I also don't see the point in the ezVGA, a Prop can generate VGA on its own easily.
    Study the Hires Drivers..
    The main problem for Video is fast accessable Video-MEMORY. 512kByte mimimum, , for animation twice that much, best address switchable, 4 MByte comfortable...

    I have found several asynch ram modules with access times as low as 10ns while I was doing research. The problem is the amount of pins required to use the device.

    For example an 8-Mbit (512K x 16) module requires 40 pins and a 4-Mbit (512K x 8) module requires 30 pins.

    You can do a serial eeprom module but I don't think thats fast enough for Video memory.

    What about 4D microVGA 256 Color Core at 720x500 pixels, looks interesting.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    I am become death, destroyer of worlds.

    Power tends to corrupt, and absolute power corrupts absolutely. Great men are almost always bad men.

    Post Edited (The Captain) : 10/29/2007 2:11:21 AM GMT
  • deSilvadeSilva Posts: 2,967
    edited 2007-10-29 07:21
    RAM chips. You need not address each single byte all the time. This will work with 12 lines:

    (1) Streaming video: use a presettable counter for the address lines:
    - increment
    - decrement
    - set it serially
    (2) Writing .. well, do the same... The RAM should best be dual ported...

    Some of those ideas are in Andr
  • hinvhinv Posts: 1,253
    edited 2007-10-29 13:26
    I detect a bit of scope creep. What kind of video do you want it to output?
    Your original design called for a ezVGA chip that should have been called a ezQVGA because it would only output 320x240. With 256colors, the total frame buffer you would need is 76800 bytes.
    If you want double buffered, double that size, but it all easily fits within Andre's 512k Hydra RAM expansion card. There are other ways to do it as well that have already been discussed in the forum.
    I liked this one http://forums.parallax.com/forums/attach.aspx?a=10636 as it uses a propeller instead of the cpld that I really don't understand. Does anyone know if it is as fast?

    Hope this helps,
    Doug
  • deSilvadeSilva Posts: 2,967
    edited 2007-10-29 17:34
    This is fine though a little bit more that 12 lines, which would be my limit...
    The reason I suggested a -may be even auto! - incrementing solution was that it is noticeable faster.
  • AleAle Posts: 2,363
    edited 2007-10-29 21:23
    I was playing with a similar idea recently (while I build my catamaran :-D). And came to the conclusion that one propeller alone.. can with some help be a nice graphics processor. I was thinking to make the video mem, double buffered, so 1 framne is one buffer and the other one the next. So the propeller and some counter alternate to access both RAM banks, thus avoiding collition... and dual ported rams smile.gif. Sadly it needs a lot of '157s... but maybe something can be done. If we had a 64 pin propeller... everything would be easier...

    just a thought.

    Ale
  • deSilvadeSilva Posts: 2,967
    edited 2007-10-29 22:14
    You generally use a CPLD for interfacing
  • hinvhinv Posts: 1,253
    edited 2007-10-30 00:24
    Yeah deSilva,
    After I wrote that, it bothered me that I recommended an option that might be the best because I was not familiar with it. So, I looked into the HX512, and Paul Baker, who designed the propeller memory controller option in the link I supplied, said that the HX512 was a better option because all of the operations by the CPLD could be taken care of in 1 cycle. I still don't really understand CPLD's all that well other than they are programmable glue logic to handle the address lines and the autoincrement of the addresss lines and other operations. What I would really want to know if I was going to incorporate it into one of my designs is what is the max speed in MB/Sec for the HX512. Anyone played with it to the max? Anybody maxed it out on a 128MHz Prop?
    This whole situation will be made much easier when the Prop2 comes out. With it's 64 I/O's interfacing more memory wouldn't be that hard, no glue logic required. Also with 256KB on board hub ram, it may not even be necessary for most projects.

    For now though, and after reading the OLED prop96 thread, I would be using all m44 versions of the chip if you are good with an electric skillet for bga type soldering. being able to hit 128MHz is definitely cool!

    Just my 10 bits worth,
    Doug
Sign In or Register to comment.