The Virtually Infinite Propeller Modular Computer(VIPMC) Input Needed!
AwesomeCronk
Posts: 1,055
DISCLAIMER: This is my first PCB I have designed, except for a power distribution board, which I do not plan to have made for a while.
I have long toyed with the idea of a multi-prop computer, starting with a 6-prop PCB idea which never made it past the schematic file. I recently got ht in the head with a brick of thoughts and had the idea of a modular computer. So far, I have made a simple schematic of a main board, with a plug to house CPU cards(I also have a simple schematic for these.), a bank of I/O access, and a Quickstart header to use the Human Interface Board. The CPU cards are stacked upon each other in a vise-versa technique, with every other card rotated 180 degrees. The Idea is for a computer which has expandable CPU strength, with a linear startup identification system to count and identify however many cards are on the board. I hope to code this baby in Spin, maybe PASM for some high-speed comms, and I am liking the Idea of a 100Mhz overclocked setup(my thread Just How Fast Can A P1 Go? has given some great insight on overclocking). I will post(hopefully soon) the KiCAD files.
I have long toyed with the idea of a multi-prop computer, starting with a 6-prop PCB idea which never made it past the schematic file. I recently got ht in the head with a brick of thoughts and had the idea of a modular computer. So far, I have made a simple schematic of a main board, with a plug to house CPU cards(I also have a simple schematic for these.), a bank of I/O access, and a Quickstart header to use the Human Interface Board. The CPU cards are stacked upon each other in a vise-versa technique, with every other card rotated 180 degrees. The Idea is for a computer which has expandable CPU strength, with a linear startup identification system to count and identify however many cards are on the board. I hope to code this baby in Spin, maybe PASM for some high-speed comms, and I am liking the Idea of a 100Mhz overclocked setup(my thread Just How Fast Can A P1 Go? has given some great insight on overclocking). I will post(hopefully soon) the KiCAD files.
Comments
EDIT: and the Main Board.
I will post updated versions of this same folder as my project matures.
On the software end of things, I have made blank programs to hold down the ideas for communications and processes. The master goes a little like so:
Main
|_logic and data handling
|_cog communications
| |_serial program
|_interface
| |_input
| | |_mouse
| | |_keyboard
| | |_SD card read/write
| |_output
| |_vga
Of course, most of these are blank, and I may put the vga program under a monitor manager program. Currently I don’t have much in the line of process distribution between CPUs and I don’t have a CPU program started.
I'll also see if I can pull out the latest version of the schematic/layout for my board (incidentially, also the first PCB I made) (arrgh it's on my ol' laptop, gotta wait for those annoying windows updates)
Thanks yeti. I was just digging out the Demo Board Schematics.
You should read this thread for the best resistor combinations for VGA:
https://forums.parallax.com/discussion/135385/better-vga-dac-resistors/p1
Thank you! Your schematic was insightful. What pcb software was it made with?
@Publison
Thank you for the resistor info. I will read up as soon as I can.
https://www.mouser.com/ProductDetail/EDAC/634-015-274-992/?qs=yQ4lPMPRQIp9DtpWsllQQg==&gclid=Cj0KCQjwhPfkBRD0ARIsAAcYycHWANIvfysUFC4fU-qj1U_KToQQ8O5fx5AX_zVMuUB5BVoGmYkjCHoaApYAEALw_wcB
I'm using KiCad for my first pcb design and I was unsure about several footprints. Someone suggested I print out the layout to check it against the actual parts I had in stock. If you have the connector that should help.
I think I'll use this driver from the OBEX.
Anyway, I would like some help wiring the XBee in the schematic. I want to have DIP plugs to place the XBee directly onto the Motherboard, no adapter. I will likely buy a USB adapter card, to keep on the side for when the thing "...just needs a firmware update...".
Here is an image of what I have now. the wire going up is Gnd and the header on the bottom is the 15 I/O lines on the XBee. Here is my reference for pinout, last page.
https://forums.parallax.com/discussion/135385/better-vga-dac-resistors/p1
Also 2: If you want to use the VGA pins for something else, you need to frive the DAC through a buffer (or some diodes?) (either might change the required resistor values?), otherwise, they will affect each other through the DAC
No caps on the input/output of the regulators.
Consider adding the reset circuit on the pcb.
Consider a 10k pullup on reset.
SD card requires 3V3 and bypass plus bulk capacitors.
Consider adding 10k pullup on SCL of eeprom. Yes, not everyone uses it, but it’s meant to be there, and some software requires it. Fortunately the ROM boot doesn’t require it.
VGA... search the old threads for the discussion about values. I published a spreadsheet to calculate the values. FWIW hardly anyone actually bothers as the original values used on the old Protoboard work just fine.
If you are adding VGA you may consider the composite video as an alternate option???
Also, a keyboard connection (PS2) connection???
These tend to be used together.
R8, R11, and R14 updated to 130ohms.
Moved D1& R2 away from the decoupling caps, over to the rest of the indicator lights. At this point, R2, R3, R4, and R5 have undecided values, as I am still trying to calculate them from the LED data sheets. I think I'm gonna roll with green for Power, red & blue for MISO/MOSI, and yellow for Linear Data.
Changed from 24LC256 EEPROM to M24512(AT24LC512 on the schematic). Do I still need the pullup resistor?
How shall I go though with these "bulk capacitors"?
For a pullup resistor, do I just connect that pin to power through a 10k?
For the LEDs, I always use superbright or similar and so 3K3 - 10K will work depending on how bright you want the leds.
Regulators require input and output caps right at the pins. The values depend on the part used - and be careful of pinout as they vary even from the same manufacturer eg an "R" at the end of the part number. I always have a 0.1uF plus typically a 10uF on the output. We are starting to get into engineering here. Use a X7R rated ceramic, not a Z5U or other spec. If it'a a thru hole design, use a tantalum for the 10uF or whatever the regulator calls for.
On the SD right at the socket use a 0.1uF and 5-10uF. The 0.1uF is the bypass and the 10uF is the bulk because it supplies the surge current.
I2C spec requires a 4K7 to 10K pullup on both SCL and SDA pins. As I said, not everyone uses the SCL pullup but they should.
EDIT: Weird. I posted this in response to another comment, one that is no longer there.
In addition, there is going to be room for an ESP32 board, likely one of these rigs.
No.
The HIVE Retro Style Computer does exactly that with all its Propellers and even over lots of years and some revisions, this was not changed. So I think we safely can assume that resetting all Propellers together is ok.
:-)