Hydroid x3
The Captain
Posts: 60
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
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
Comments
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!!!!
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
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
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.
— Calvin, of 'Calvin and Hobbes.
I thought you were just using propeller processors, but that thing obviously has more than 44 pins.
Doug
http://www.multilabs.net/ezVGA_SM.html
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?
(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.
http://forums.parallax.com/showthread.php?p=684710
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.
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
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
Each Propeller will have its on DIP Eeprom; what size, don't know yet.
I used MS Paint.
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
I also don't see the point in the ezVGA, a Prop can generate VGA on its own easily.
The main problem for Video is fast accessable Video-MEMORY. 512kByte mimimum, , for animation twice that much, best address switchable, 4 MByte comfortable...
The PS2 controllers look funky though, and pretty easy to interface to.
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
(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
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
The reason I suggested a -may be even auto! - incrementing solution was that it is noticeable faster.
just a thought.
Ale
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