SixBladeProp - A new 6 propeller pcb
Cluso99
Posts: 18,069
Here is the block diagram of my new SixBladeProp (TM) board. I hope to have it available in the next few weeks.
It·can have up to six (6) Propeller circuits which I am calling "Blades".
Blade #1:
A typical Prop Proto Board circuit - PropPlug connector, VGA or TV (shared pins) connectors, PS2 Keyboard connector, PS2 Mouse connector, I2C EEPROM (24C256 or 24C512 or 24C1024). This prop also boots all other Blades (propellers).
Blade #2 and Blade #5:
These are identical. They each can have 1 or 2 128Kx8 or 512Kx8 Static Rams connected. The second static ram may be replaced with an SD or microSD connector or SPI Flash of 8Mbits-64Mbits.
Blade #2 serial may be directly connected with Blade #3 (in parallel with Blade #1).
Blade #5 serial may be directly connected with Blade #4 (in parallel with Blade #1).
These Blades are designed to run large programs, such as microcomputer emulations (see the PropAltair thread),·large LMM programs, large C programs, etc.
Blade #3 and Blade #6:
These are identical and are designed for I/O peripheral use. Each has a 40 pin (30 bit) I/O connector.
Blade #4:
This has·VGA or TV (shared pins) connectors. Also, a 128Kx8 or 512Kx8 Static Ram may be connected. A latch is used to hold the upper 6 or 8 address lines. The lower 11 address lines are connected directly to the propeller. This ram is designed to aid program or video memory, or both.
General:
A comon clock (oscillator) is used so that all the propellers (cogs) may remain "in syc" for high speed serial transfers over·2 wire interfaces.
Almost all·components will be thru' hole, making it easy for·hobbyists to assemble. An SMT version may be made later if sufficient demand exists.
Postedit: Answers to questions below:
One question:
Is the pair of 2x20 Pins for the I/O the best connector or do you want a single 2x32 Pins (60 I/Os) or something else like Spin Studio sockets or Diligents connectors or a mix or something again ???
Postedit 4 Feb 2009:
The actual specifications and size have changed since this original proposal. See the full descriptions, schematics and pictures of the pcb which are·contained in·the following posts.·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Prop Tools under Development or Completed (Index)
· Emulators (Micros eg Altair, and Terminals eg VT100) - index
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz
Post Edited (Cluso99) : 2/4/2009 10:19:40 AM GMT
It·can have up to six (6) Propeller circuits which I am calling "Blades".
Blade #1:
A typical Prop Proto Board circuit - PropPlug connector, VGA or TV (shared pins) connectors, PS2 Keyboard connector, PS2 Mouse connector, I2C EEPROM (24C256 or 24C512 or 24C1024). This prop also boots all other Blades (propellers).
Blade #2 and Blade #5:
These are identical. They each can have 1 or 2 128Kx8 or 512Kx8 Static Rams connected. The second static ram may be replaced with an SD or microSD connector or SPI Flash of 8Mbits-64Mbits.
Blade #2 serial may be directly connected with Blade #3 (in parallel with Blade #1).
Blade #5 serial may be directly connected with Blade #4 (in parallel with Blade #1).
These Blades are designed to run large programs, such as microcomputer emulations (see the PropAltair thread),·large LMM programs, large C programs, etc.
Blade #3 and Blade #6:
These are identical and are designed for I/O peripheral use. Each has a 40 pin (30 bit) I/O connector.
Blade #4:
This has·VGA or TV (shared pins) connectors. Also, a 128Kx8 or 512Kx8 Static Ram may be connected. A latch is used to hold the upper 6 or 8 address lines. The lower 11 address lines are connected directly to the propeller. This ram is designed to aid program or video memory, or both.
General:
A comon clock (oscillator) is used so that all the propellers (cogs) may remain "in syc" for high speed serial transfers over·2 wire interfaces.
Almost all·components will be thru' hole, making it easy for·hobbyists to assemble. An SMT version may be made later if sufficient demand exists.
Postedit: Answers to questions below:
- All 6 props are on the one pcb - load only as many as you need. I anticipate the size to be 5x6". At one stage I thought about stacking a small generalised pcb.
- The 20MHz is easily obtained, so a PLLx4 would be used. I am looking for a cheap 5MHz because it makes existing software easier - and less emi.
- There is no ability to add an SD/microSD to Blade #1. There is however 1 LED (not shown).
- Blade #1 boots all other Blades (#2...#6) after it boots (from its' eeprom or download). Remember, it can have a 128KB eeprom (24C1024). I am writing pasm code to access the eeprom above 32KB (which has been done by others anyway). There is no way to program the Propeller chips ROM.
- Since there seems to be a lot of interest I will sell the bare pcb, plus some parts if required.
- I am hoping to be able to place the SD socket over the·microSD socket - then you fit either one.
One question:
Is the pair of 2x20 Pins for the I/O the best connector or do you want a single 2x32 Pins (60 I/Os) or something else like Spin Studio sockets or Diligents connectors or a mix or something again ???
Postedit 4 Feb 2009:
The actual specifications and size have changed since this original proposal. See the full descriptions, schematics and pictures of the pcb which are·contained in·the following posts.·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Prop Tools under Development or Completed (Index)
· Emulators (Micros eg Altair, and Terminals eg VT100) - index
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz
Post Edited (Cluso99) : 2/4/2009 10:19:40 AM GMT
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Heater, you got 8080 in one cog. Could you fit Z80 if you had 48 cogs?!
In the interests of trying to have Blade 1 'look' like a familiar prop system, is there any way to add an SD interface to this one as well?
What is the advantage of running the clock at 20 MHz (and pll4x I presume) ?
I have no idea how to harness that much of a controller, but it would be an amazing device to work with. With some good ADC/DAC interfaces hanging off Blades 3,6 this would make an extremely powerful laboratory data acquisition and control system.
If they are available, I would take two such boards.
Cheers!
Paul Rowntree
Ray
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Prop Tools under Development or Completed (Index)
· Emulators (Micros eg Altair, and Terminals eg VT100) - index
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz
Number crunching?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.fd.com.my
www.mercedes.com.my
EDIT
In the future How expandable would this be. do you think it would be possible to have 10 or even 100 connected together.
Please carry on with your design. It answers all of my questions. The supercomputer thread Chip was involved in is implemented nicely here.
Also, the board can be populated with one Prop chip or six Prop chips, which is extremely flexible.
I would vote for a 5mhz master clock for EMI considerations and stability.
This is a very conservative design - which makes it a successful design.
Please go for it, and don't get too immersed in forum wish lists. Changes can be made later, as this is a truly Open Source design.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH - Electronics: Engineer - Programming: Professional
On a related idea : can a prop burn its own program out to the eeprom, for execution after reset?
I would think that it would be easier to make an adapter from the wider 2x20 format to the SpinStudio interfaces than the other way around. 8 bits per interface is a bit small (although Brian is considering multi-connector daughter boards)
Post Edited (TreeLab) : 1/27/2009 5:19:54 PM GMT
The rule of thumb is one 0.1 mf bypass capacitor for every logic group. Logic group is defined conservatively as one IC. A 10 mf tantulum cap is sufficient for the board.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH - Electronics: Engineer - Programming: Professional
There will be an object to program the other cogs data into high eeprom (above 32KB), and also to read it to program the other props after reset.
There is no reason why multiple boards could not be used to make a super super prop design.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Prop Tools under Development or Completed (Index)
· Emulators (Micros eg Altair, and Terminals eg VT100) - index
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz
Can we please insure that the RAM is accessible with the minimum number of PASM instructions? No superfluous shifting of bits into the right port positions.
Dr_A, I should think a number of z80's could fit in there. I don't need to get MP/M running just run many copies of CP/M. Multiuser Prop system! 1976 would be so jealous.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
You cannot have a 20MHz clock and still use the PLL. 160MHz is tops of the spec for it.
The PLL always runs at 16x and then divides down to get 8x 4x 2x.
I think it is a great idea. Do you plan on using Beau's high speed serial protocol to connect them together?
http://forums.parallax.com/forums/default.aspx?f=25&m=233212&p=1&ord=a
I would appreciate it if you could supply a finished block diagram and board schematic. The actual printed circuit I can handle separately.
I realize that this is a lot of work and you have limited time.
Anything we can do to help? I think that this is an open source joint forum effort.
Maybe we could just leave you alone to concentrate on finishing the block diagram and and schematic.
Thanks again.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH - Electronics: Engineer - Programming: Professional
Post Edited (Quantum) : 1/28/2009 4:19:03 AM GMT
That's a mega design...
Why not wait until the propeller two? Seems like your trying to get more power out of it that it can actually do.
Add complexity makes it all so much hard to maintain and easier to fail...
But, wow. Goodluck.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Nyamekye,
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Aka: CosmicBob
The rule of thumb is one 0.1 mf bypass capacitor for every logic group. Logic group is defined conservatively as one IC.
A 10 mf tantulum cap is sufficient for the entire board.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH - Electronics: Engineer - Programming: Professional
Six Prop chips might be fun but it makes the software a little bit awkward, don't you think? Don't get me wrong, I like the idea of toying with this many Props all strung together but I reckon it will be a lotta lotta hard work and in the end it's still kinda kludgy.
When it comes down to real-time control and soft peripherals the current Prop shines but with it's memory limitations it makes it a little difficult as you know to run larger applications. This is the reason why I have used an ARM chip teamed up with the Propeller in my earlier iCONSOLE design. The ARM chip is very cost effective (cheaper than a Prop) for running a large application and there are variants that allow you to address large amounts of memory. Even the LPC2148 that I use has 512KB of Flash but I also have the LPC2478 which features an External Memory Controller with full support for SDRAM. This is not to toot the horn for ARM chips but simply to mention that I reckon this would be far more cost effective and practical rather than trying to use Prop chips imPROPerly. We have seen how PIC and AVR chips are stretched beyond their capabilities as simple 8-bit microcontrollers and made to handle ethernet for instance when there are better solutions at a similar price.
I have a design in which I used 4 Props with one co-coordinating the other three but that was a specialized application.
Now, when son of Prop comes out it will a totally different story, I can't wait but in the meantime I am having a lot of fun with the current Prop which I suspect will still be the most popular for general jobs and projects.
*Peter*
(part-time stirrer)
Has anybody beat Beau's 4wire serial connection at 14.5MegaBaud? I believe it uses only one cog for transmit and 1 for receive also.
One thing that I would like to see in the design is the code needed to be able to 'auto-setup' the board. Aka, you feed a PC program/loader 6 groups of 6 programs (for each blade), and it automatically does the whole loading process and memory allocation. The other two cogs of each blade are given as transmit and receive, and to transmit you simply give an address (0-5 for the different blades) and feed it a packet of data. Add some hard and fast rules about what memory you can work with in your program (where you can read/write) and you'll have a very solid software design. Although such a setup would not push the capabilities of the board to the limit, it would allow very effective use of the design with little preparation or extensive data sheet type work. Of course, the option would still be available to take complete control and monitor every bit, but I'll leave that for others.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Prop Tools under Development or Completed (Index)
· Emulators (Micros eg Altair, and Terminals eg VT100) - index
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz