The Propeller Modular Computer

AwesomeCronkAwesomeCronk Posts: 586
edited 2019-03-24 - 21:14:54 in Customer Projects
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.
That's not an explosion! That's an unscheduled rapid disassembly!

Comments

  • AwesomeCronkAwesomeCronk Posts: 586
    edited 2019-03-24 - 21:09:42
    Here is the CPU Card setup:
    EDIT: and the Main Board.

    I will post updated versions of this same folder as my project matures.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • I am moving on to version 2.1, with the removal of the human interface board and the implementation of all the needed components onto the main board. I have sent an email to FTDI sales department looking for a good USB-serial chip. With this, I hope to have USB keyboard/mouse and maybe, mayyybe USB flash drives. I will likely just use SD cards, though.

    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.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • Adding things to the main board, I have inserted a symbol in the schematic for VGA and for SD card. I need help of our more experienced forum members mapping the connections on these. Attached is a .pdf version of the main board schematic, for those of you without KiCAD.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • The Propeller Project Board has both the VGA and uSD connectors. Just put them on the pins you want.
    Infernal Machine
  • Wuerfel_21Wuerfel_21 Posts: 265
    edited 2019-03-29 - 15:25:57
    VGA has to be on an 8-pin group (i.e either 0-7, 8-15, 16-23 or 24-31), ideally in the right order. Same for TV, but it needs a 4 pin group and the order must be right.

    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)
  • ◁ propeller-wiki ▷ ◁ FastSpin ▷ ◁ DK-E ▷ ◁ :-D ▷ ◁ Stay OmmmmmmPtimistic! ▷ ◁ No Source – No Go! ▷ ◁ Help Spin at RosettaCode.org ▷ ◁ Why Asimov's Laws of Robotics Don't Work ▷ ◁ DNA is a four letter word. ▷
  • Here we go. As mentioned, this is also my first board, so that may be useful. Note that the auto-reset circuit never really worked quite right, so maybe don't copy that.
  • yeti wrote: »

    Thanks yeti. I was just digging out the Demo Board Schematics.
    Infernal Machine
  • @AwesomeCronk ,

    You should read this thread for the best resistor combinations for VGA:

    https://forums.parallax.com/discussion/135385/better-vga-dac-resistors/p1


    Infernal Machine
  • @Wuerfel_21
    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.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • It was made with the free version of EAGLE. (It's actually a centimeter or so bigger than what the stated limits of the free version are, lol). However, since EAGLE has since moved to a disgusting subscription payment model, I will likely use KiCAD for new projects.
  • KiCAD myself. Have you found any good footprints for a Parallax sold VGA subminiature connector?
    That's not an explosion! That's an unscheduled rapid disassembly!
  • KiCAD myself. Have you found any good footprints for a Parallax sold VGA subminiature connector?

    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.
    Larry

    If the grass is greener on the other side...it's time to water your lawn.
  • I have decided to add an XBee to the Motherboard, so that the computer can act as a controller for all of my XBee projects. Maybe even a remote control interface for the computer! :tongue:
    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.
    518 x 303 - 7K
    That's not an explosion! That's an unscheduled rapid disassembly!
  • I have plotted the SD Card and VGA, based on Wuerfel_21's schematic and the default pin settings from Kwabena Agyeman's SD Card Profiler. Attached is the current version of the main board, 2.4.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • You might want to change R8, R11, and R14 to 130R. It's a little more correct. based on Phil's findings.
    https://forums.parallax.com/discussion/135385/better-vga-dac-resistors/p1
    Infernal Machine
  • Yep, 130 ohm is correct, I just used 120 because I couldn't find 130 Ohm resistor networks
  • Also: you may want to remove that jumper(unless that is something else?) that allows routing 5V to the SD card slot. Not a good idea IMO.

    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
  • Cluso99Cluso99 Posts: 14,910
    edited 2019-04-30 - 21:43:20
    What values are R3,4,5 as they may upset the other connections?
    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.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Wuerfel_21Wuerfel_21 Posts: 265
    edited 2019-04-30 - 22:36:36
    Cluso99 wrote: »
    If you are adding VGA you may consider the composite video as an alternate option???
    Also a good idea. A lot of the software that's out there only works with either. Also the displays themselves are literally free off the curbs/from the attic or cheap at second-hand/charity shops :smile:
  • AwesomeCronkAwesomeCronk Posts: 586
    edited 2019-04-30 - 22:44:19
    Ok, thank you all for the input! I’ll tell you what, let me do my homework, then sort through this.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • AwesomeCronkAwesomeCronk Posts: 586
    edited 2019-05-01 - 01:29:56
    Yay! Homework's done for tonight!

    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?
    Cluso99 wrote: »
    What values are R3,4,5 as they may upset the other connections?
    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.

    How shall I go though with these "bulk capacitors"?
    For a pullup resistor, do I just connect that pin to power through a 10k?
    That's not an explosion! That's an unscheduled rapid disassembly!
  • Making massive reorganizations to the schematic, compacting the finished portions and making more space for whatever components I wish to add. Will post a pdf of it in a few days, as I likely will have homework again tomorrow.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • Yay! Homework's done for tonight!

    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?
    Cluso99 wrote: »
    What values are R3,4,5 as they may upset the other connections?
    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.

    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.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • AwesomeCronkAwesomeCronk Posts: 586
    edited 2019-05-05 - 13:02:05
    OK, glad I could help.

    EDIT: Weird. I posted this in response to another comment, one that is no longer there.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • AwesomeCronkAwesomeCronk Posts: 586
    edited 2019-05-05 - 13:26:54
    Among my changes, I have added another Prop to handle USB comms. I may have to expand the schematic sheet, though. Question on this, is it wise to tie together the resets to the two ICs, so that resetting the main chip rests the USB chip as well? (on that note, should the CPU tower also share a reset?)

    In addition, there is going to be room for an ESP32 board, likely one of these rigs.
    That's not an explosion! That's an unscheduled rapid disassembly!
  • I have a question. If I tie the RES lines together on the two Props, thet will reset the one when programming the other. Will this cause any problems, or do I need to separate the RES lines?
    That's not an explosion! That's an unscheduled rapid disassembly!
  • yetiyeti Posts: 513
    edited 2019-05-05 - 20:07:50
    If I tie the RES lines together on the two Props, thet will reset the one when programming the other. Will this cause any problems,
    Probably not, see below.
    or do I need to separate the RES lines?
    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.
    :-)
    ◁ propeller-wiki ▷ ◁ FastSpin ▷ ◁ DK-E ▷ ◁ :-D ▷ ◁ Stay OmmmmmmPtimistic! ▷ ◁ No Source – No Go! ▷ ◁ Help Spin at RosettaCode.org ▷ ◁ Why Asimov's Laws of Robotics Don't Work ▷ ◁ DNA is a four letter word. ▷
  • Thanks, yeti! I think I will separate the tower and connect it to an I/O pin on the master Prop.
    That's not an explosion! That's an unscheduled rapid disassembly!
Sign In or Register to comment.