Shop OBEX P1 Docs P2 Docs Learn Events
Is a P2 Edge "Multi" Board feasible? — Parallax Forums

Is a P2 Edge "Multi" Board feasible?

RossHRossH Posts: 5,336
edited 2023-02-28 00:40 in Propeller 2

This is something I would like to see - assuming it is feasible! It could either made by Parallax or by someone else with more skill designing hardware than I have. I would certainly buy one, and I'm sure I'm not alone!

This board would be something like the P2 Edge Mini Breakout - but with slots for multiple P2 Edge boards. I'd be hoping to see four slots!

Here is what I am thinking. First, as per the "Mini" breakout board:

  • Pins 40-63 would be dedicated to each P2 Edge.

  • Pins 38 & 39 would be switchable - either connected to the board, or dedicated to each P2 Edge.

  • Each P2 Edge would have one dedicated I/O breakout header for P56–P63, plus a Prop Plug header.

But the key thing is the configuration of the other I/O headers (i.e. for pin groups 0-7, 8,15, 16-23, 24-31, 32-39). What I would want to see is that these would be selectable per pin group - i.e. each group could either be tied together by the board and shared between all the P2 Edges, or dedicated to a single P2 Edge.

Ideally, I'd like to see each pin group able to be assigned to any of the P2 Edges, but it would be simpler to dedicate a pin group to a particular Edge - i.e. pin group 1 could be either shared by all Edges or assigned to Edge 1, pin group 2 could be either shared or assigned to Edge 2 (etc) and pin group 5 would always be shared. (EDIT: to accommodate things like the Hyper RAM/Flash board, at least one pair of pin groups would have to be switchable as a pair ).

The main purpose of this board is to make it trivially easy to create multi-Propeller 2 systems, but (unlike the old days when we had multi-Propeller 1 systems) with the potential of having an 8, 16 or 32 pin "bus" for fast inter-Propeller communications. Who wouldn't want to play around with four P2 chips on the one board - i.e. have 32 cogs - all co-operating? I certainly would!

You could do this using separate P2 Edge "Mini" boards and multiple pass-through jumper cables, but there should be an easier, cleaner and more reliable way.

Any thoughts? Has something like this already been suggested? Am I just dreaming? :smile:

Ross.

«1

Comments

  • jmgjmg Posts: 15,140

    @RossH said:
    But the key thing is the configuration of the other I/O headers (i.e. for pin groups 0-7, 8,15, 16-23, 24-31, 32-39). What I would want to see is that these would be selectable per pin group - i.e. each group could either be tied together by the board and shared between all the P2 Edges, or dedicated to a single P2 Edge.

    Ideally, I'd like to see each pin group able to be assigned to any of the P2 Edges, but it would be simpler to dedicate a pin group to a particular Edge - i.e. pin group 1 could be either shared by all Edges or assigned to Edge 1, pin group 2 could be either shared or assigned to Edge 2 (etc) and pin group 5 would always be shared. (EDIT: to accommodate things like the Hyper RAM/Flash board, at least one pair of pin groups would have to be switchable as a pair ).

    I'm unclear on what you meant by selectable and switchable ? - Do you imagine some active cross points on this board ?

    The carrier boards are usually simple 2 layer designs, with few/none active parts.
    With a simple PCB design, supply from JLCPCB et al, is low cost and the main question is how compact/dedicated do you need this ?
    It may be cheaper to design a panel of 'quad-variants', and pick the hard-routed one you need at the time.

    Shortest traces result from a side-stacked group of 4, but that also limits access to any headers.
    End on end-stacking gives a longer PCB and longer traces, with less ease of wide-parallel bus designs, but has more general access to headers.
    Maybe high speed serial links are enough ?

  • RossHRossH Posts: 5,336

    @jmg said:
    I'm unclear on what you meant by selectable and switchable ? - Do you imagine some active cross points on this board ?

    You're talking hardware to a software person! :)

    Let's look at just one pin group - say pin group 1 is pins 0 .. 7.

    What I want is the ability to either assign pin group 1 exclusively to any of Edges 1, 2, 3 or 4, or have the group connect in common to all the Edges.

    My acceptable alternative would be to have it so that pin group 1 could be assigned exclusively to Edge 1 only, or to all the Edges - i.e. pin group 1 could never be assigned exclusively to Edge 2, 3 or 4. However, note the proviso of having at least two pin groups able to be assigned as a pair - so perhaps pin groups 1 & 2 are individually assignable to Edges 1 or 2 respectively, but could also be assigned as a pair to Edge 1 only. Similarly, perhaps pin groups 3 & 4 could be assigned exclusively to Edges 3 & 4 respectively but could also be assigned as a pair to Edge 3).

    What this means in hardware is for others to figure out! But yes, having all the interconnecting tracks of equal length (when a pin group is connected to all multiple Edges) would probably be important. But not so critical when they are assigned exclusively.

    We used serial comms between the individual Propellers in the P1 multi-propeller systems because we lacked enough pins to do anything else. This is not really enough bandwidth for many applications, and now we have enough pins to have parallel comms between the individual Propellers in the P1 multi-propeller system.

    As for size - smaller than a breadbox! :)

    Ross.

  • jmgjmg Posts: 15,140
    edited 2023-02-28 02:50

    @RossH said:

    @jmg said:
    I'm unclear on what you meant by selectable and switchable ? - Do you imagine some active cross points on this board ?

    You're talking hardware to a software person! :)
    Let's look at just one pin group - say pin group 1 is pins 0 .. 7.
    What I want is the ability to either assign pin group 1 exclusively to any of Edges 1, 2, 3 or 4, or have the group connect in common to all the Edges.

    What you would need then is likely multiples (eg 4) of parts something like NXP 74CBTLV3861 or TI SN74CBTLV3861 as 10 channel examples (as you likely need CLK and handshake too) they also have x8 versions.
    These are called Bus switches or FET Bus switches - and they are just arrays of transmission gates that connect each side of the chip, using a single OEN pin. They have no drivers, so have sub-ns delays, and work in any direction (analog too).

    Or you can get nibble versions, and use more of them eg SN74CBTLV3126

    Similar parts like SN74CBTLV3383 are called 3.3-V, crosspoint/exchange, 10-channel FET bus switch, these have 20 transmissions gates, and an extra control pin, so they can do simple pass thru, or a paired cross-over.
    That may be more flexible ? (tho the single swap pin, means 5 pairs swap, or none swap)

    I could see that part supporting parallel clocked data, or 5 UART crossover channels where even-pins are TX and odd-pins are RX on all P2's.
    SW agreement would mean only one P2 was TX and the 5th link could be for config/commands, with UARTS able to send 32 bits, that's powerful and module clock skew tolerant.

    https://www.ti.com/switches-multiplexers/analog/products.html#p480=10;8&sort=p1130;asc

  • RossHRossH Posts: 5,336

    @jmg said:

    @RossH said:

    @jmg said:
    I'm unclear on what you meant by selectable and switchable ? - Do you imagine some active cross points on this board ?

    You're talking hardware to a software person! :)
    Let's look at just one pin group - say pin group 1 is pins 0 .. 7.
    What I want is the ability to either assign pin group 1 exclusively to any of Edges 1, 2, 3 or 4, or have the group connect in common to all the Edges.

    What you would need then is likely multiples (eg 4) of parts something like NXP 74CBTLV3861 or TI SN74CBTLV3861 as 10 channel examples (as you likely need CLK and handshake too) they also have x8 versions.
    These are called Bus switches or FET Bus switches - and they are just arrays of transmission gates that connect each side of the chip, using a single OEN pin. They have no drivers, so have sub-ns delays, and work in any direction (analog too).

    Maybe. But it doesn't need to be configurable "on the fly", so that seems excessive to do what you could do with a bunch of I/O headers and a few ribbon cables with multiple plugs.

    Here is a quick sketch (apologies for the quality - you can probably see why I don't design hardware!):

    I know jumper cables are not ideal - but they are cheap! And this is intended to be a hobbyist board for prototyping multi-prop solutions, not a board for deployment in commercial or industrial applications.

    Also, since the I/O headers are piggyback headers, if the jumper cables can also piggy back then you really only need a bunch of simpler 2-plug jumper cables, because you can plug them into each other.

    Ross.

  • Such a board will be horribly expensive, I'd say at least $400. For that money you could buy a full blown PC and a single P2 board and connect them with Ethernet. Please explain what you could do with a multi-P2 board that you can't do with the PC+P2 combination.

  • @RossH said:

    You could do this using separate P2 Edge "Mini" boards and multiple pass-through jumper cables, but there should be an easier, cleaner and more reliable way.

    If you end up going that route, at least for prototyping the idea, then check out the new P2 Edge Breakout board (#64029) which is due for release this week.

    It's similar to the Mini, but breaks out all the P2 headers, so you get access to all the I/Os.
    I'll post a photo here when I get to the office.

  • RossHRossH Posts: 5,336

    @ManAtWork said:
    Such a board will be horribly expensive, I'd say at least $400.

    Why?

    Please explain what you could do with a multi-P2 board that you can't do with the PC+P2 combination.

    I think I already did that.

  • RossHRossH Posts: 5,336

    @VonSzarvas said:

    @RossH said:

    You could do this using separate P2 Edge "Mini" boards and multiple pass-through jumper cables, but there should be an easier, cleaner and more reliable way.

    If you end up going that route, at least for prototyping the idea, then check out the new P2 Edge Breakout board (#64029) which is due for release this week.

    It's similar to the Mini, but breaks out all the P2 headers, so you get access to all the I/Os.
    I'll post a photo here when I get to the office.

    This one? https://www.parallax.com/product/p2-edge-module-breadboard/

    Yes, I looked at it, but I couldn't figure out how you could fit 3 additional - and potentially independent - P2 Edge slots onto the breadboard without wiring at least some of the pin groups together permanently. There just doesn't seem to be enough breadboard pins (AFAIK, there are only 60, and I would want up to 40 to dedicate to each P2 Edge, so up to 160). And you would also need at least another P2 "carrier" board for each P2 Edge. So I'm not sure you benefit much from using the breadboard.

    Still, might be a good place to start.

    Ross.

  • VonSzarvasVonSzarvas Posts: 3,272
    edited 2023-02-28 10:40

    @RossH

    That's the full breadboard breakout that you found/linked above.
    However, there is also a brand new breakout board coming in a few days, with part number #64029.
    It's similar to the mini #64109 breakout, but with all the IO's / headers available.

    Here's a quick photo:

  • RossHRossH Posts: 5,336

    @VonSzarvas said:
    @RossH

    That's the full breadboard breakout that you found/linked above.
    However, there is also a brand new breakout board coming in a few days, with part number #64029.
    It's similar to the mini #64109 breakout, but with all the IO's / headers available.

    Here's a quick photo:

    Ah! That looks promising. That, plus some jumper cables, might do what I want. Are Parallax going to offer a suitable jumper cable?

  • Jumpers- Parallax have the general F-F ribbon jumpers.
    https://www.parallax.com/product-category/accessories/wire-connection/

    Looks like proper IDC jumpers would be more efficient for your plans.... I thought Digikey (or one of the distros) offered a service whereby they make them up for you? Or order a roll of ribbon cable and some headers. If you have something you could use as a press to fit the headers nice and straight, you'd be good to go! Some people use a bench vice.

  • RossHRossH Posts: 5,336

    @VonSzarvas said:
    Jumpers- Parallax have the general F-F ribbon jumpers.
    https://www.parallax.com/product-category/accessories/wire-connection/

    Looks like proper IDC jumpers would be more efficient for your plans.... I thought Digikey (or one of the distros) offered a service whereby they make them up for you? Or order a roll of ribbon cable and some headers. If you have something you could use as a press to fit the headers nice and straight, you'd be good to go! Some people use a bench vice.

    Yeah, nah! I can barely see to type these days. If I can't order it, I can't do it :(

  • @RossH said:

    @VonSzarvas said:
    @RossH

    That's the full breadboard breakout that you found/linked above.
    However, there is also a brand new breakout board coming in a few days, with part number #64029.
    It's similar to the mini #64109 breakout, but with all the IO's / headers available.

    Here's a quick photo:

    Ah! That looks promising. That, plus some jumper cables, might do what I want. Are Parallax going to offer a suitable jumper cable?

    You could use lots of 5-pin jumper cables, such as:
    https://proto-pic.co.uk/product/jumper-wire-gco-0-1gc-2-54mm-5-pin-4gc-100mm

    Another possibility is a 34-pin IDC socket + two separated 10-way ribbon cables + 34-pin IDC socket combo with a twist to connect 16 pins between adjacent breakout boards.

  • jmgjmg Posts: 15,140

    @VonSzarvas said:
    However, there is also a brand new breakout board coming in a few days, with part number #64029.
    It's similar to the mini #64109 breakout, but with all the IO's / headers available.
    Here's a quick photo:

    Does that come with headers fitted ?
    for chaining 4 of these, I can see one set of headers on the rear side would help keep cables neater and shorter.

  • jmgjmg Posts: 15,140

    @RossH said:
    Maybe. But it doesn't need to be configurable "on the fly", so that seems excessive to do what you could do with a bunch of I/O headers and a few ribbon cables with multiple plugs.

    @VonSzarvas said:
    Looks like proper IDC jumpers would be more efficient for your plans.... I thought Digikey (or one of the distros) offered a service whereby they make them up for you? Or order a roll of ribbon cable and some headers. If you have something you could use as a press to fit the headers nice and straight, you'd be good to go! Some people use a bench vice.

    Yeah, nah! I can barely see to type these days. If I can't order it, I can't do it :(

    You will need specific best-length cables, so are best self made. It's not too fiddly, as the cable self aligns in the connector, and the 'ideal' 90 degrees you can do with a straight edge.
    If you can read this text, you can check a cable :)

    Also, since the I/O headers are piggyback headers, if the jumper cables can also piggy back then you really only need a bunch of simpler 2-plug jumper cables, because you can plug them into each other.

    I've seen PCB headers/sockets with top/bottom entry and long pins for stacking, but I've never seen IDC ribbon cables that can stack ?

  • RossHRossH Posts: 5,336
    edited 2023-02-28 23:08

    @jmg said:

    If you can read this text, you can check a cable

    True. I can look. But these cables would be unlikely to be offered "pre-made", so I very much doubt I will find what I need.

    I've seen PCB headers/sockets with top/bottom entry and long pins for stacking, but I've never seen IDC ribbon cables that can stack ?

    Time for another sketch!

    If I had five of these, I could at connect 2 Edges using the new breakout board. If I had 10, I could piggyback the cables to connect 3 ... etc.

    EDIT: instead of a special jumper cable, how about a tiny I/O "piggyback" board that plugged onto a single I/O header on the underside but had two I/O headers on the top? The top connectors would be permanently connected to each other, but a bank of 8 (See note) jumpers (or dip switches) could be used to connect the two upper connectors to the single connector on the underside or not. Then the cables themselves could be "off the shelf"

    Even I could design that! Five of those "piggyback" boards and Bob's your Father's Brother! :)

    Ross.

    Note: 8 and not 10 because only the 8 signal pins need to be switchable,

  • Hey Ross I'm happy to make up some 14 way IDC cables if you like. We still do IDC most months, have parallel face crimp tools etc.
    The 14 way suggestion is just because they seem more available, though I haven't searched that widely. You (or we if your eyes are really as bad as you say) could plug up the 2 unused holes. I checked the width of a 10 pin IDC socket at 0.68", so 14 pin would be 0.88", still within the 1.1" pitch required for them to not interfere with one another.

    We could also laser you a base to screw everything down

    Enjoying the sketches, I really had no idea what you were chasing before seeing that first sketch

  • RossHRossH Posts: 5,336

    @Tubular said:
    Hey Ross I'm happy to make up some 14 way IDC cables if you like. We still do IDC most months, have parallel face crimp tools etc.
    The 14 way suggestion is just because they seem more available, though I haven't searched that widely. You (or we if your eyes are really as bad as you say) could plug up the 2 unused holes. I checked the width of a 10 pin IDC socket at 0.68", so 14 pin would be 0.88", still within the 1.1" pitch required for them to not interfere with one another.

    We could also laser you a base to screw everything down

    Enjoying the sketches, I really had no idea what you were chasing before seeing that first sketch

    Thanks for the offer. I don't see a problem with using 14 pin cables for prototyping. Are we talking cables with five I/O connectors (all sockets, although I realize now that I drew them as plugs!) or three I/O connectors (two sockets and one plug)? Let me know approximately what the cost per cable would be.

    The base I can make myself if I find I need it - a piece of wood, some nails and a hammer. After all, it is called "breadboarding" for a reason! :)

    If you don't mind, I'll wait to see if anyone bites at the I/O piggy back board idea before confirming - that would make the whole thing (including the cables) much simpler, and also more reliable because it would eliminate the need to plug and unplug cables to change configurationss - it can all be done with the jumpers or dip switches.

    My eyes are bad enough that I can no longer read anything written on the Parallax PCBs (such as the pin numbers) even using a magnifying glass and a torch. But I can still read a screen ok, so I magnify the pictures in the manuals to know what goes where.

    Ross.

  • Ross, happy to make whatever style is needed.

    Ball park pricing on the connects is around AU$0.50 each (altronics wholesale, rockby etc), so I think we'd just donate these to the good cause given how much work you've done on the software side.

    One thing to check out is whether the male pins mate well enough with the female sockets. Typically the main pins are short and designed to be solder into a pcb, they're generally not 0.635mm square, though these do exist from 3M and elsewhere

  • RossHRossH Posts: 5,336
    edited 2023-03-01 09:42

    @Tubular said:
    Ross, happy to make whatever style is needed.

    Ball park pricing on the connects is around AU$0.50 each (altronics wholesale, rockby etc), so I think we'd just donate these to the good cause given how much work you've done on the software side.

    One thing to check out is whether the male pins mate well enough with the female sockets. Typically the main pins are short and designed to be solder into a pcb, they're generally not 0.635mm square, though these do exist from 3M and elsewhere

    Thanks. Let me do some experimenting. There's no hurry, since the board I would probably use (the new breeakout board) is not even available yet. Also, the cables I make might work, but if not then I'll happily accept your offer.

    Ross.

  • 2 X P1s on a single Edge module would be kinda cool :smile:

    Craig

  • RossHRossH Posts: 5,336

    Well, I've ordered some plain old ribbon cables with suitable sockets on each end to allow me to plug together two Propeller boards via their I/O headers. Two P2 boards (which I already have) connected via four such cables will be enough to test the concept of a dual P2 system with a 32 bit bus dedicated to inter-prop communications, so I will get started on that.

    Unfortunately, I couldn't find a suitable IDC connector (i.e. a plug rather than a socket) to add a "piggy back" option to these cables - if anyone knows of one, please let me know.

    Annoyingly, just after I put the order in, I thought of ordering the same cable with the "daisy-chain" option which would have had three sockets (this was available "off the shelf") and I could then have used some simple pins to plug two sockets together to piggy back as many Propellers as I wanted.

    You can see why I'm not a hardware engineer - in software you always get a chance to fix your stupid blunders in the next release! :)

    Ross.

  • They do exist - we use some 3M ones at work
    Here's a samtec one that I can find, using the -02 length option gives you a length that should mate with standard sockets
    https://www.mouser.com/datasheet/2/527/hcmd-2498159.pdf

    Samtec will also make you a cable to spec, if you like. They're not that cheap but they're quick at doing it, and well its an option
    https://www.samtec.com/cables/discrete/idc

  • RossHRossH Posts: 5,336

    @Tubular said:
    They do exist - we use some 3M ones at work
    Here's a samtec one that I can find, using the -02 length option gives you a length that should mate with standard sockets
    https://www.mouser.com/datasheet/2/527/hcmd-2498159.pdf

    Samtec will also make you a cable to spec, if you like. They're not that cheap but they're quick at doing it, and well its an option
    https://www.samtec.com/cables/discrete/idc

    Thanks. I couldn't figure out how to order cables with a socket at each end but a plug in the middle, so I just ordered ones with a socket at each end. But I realized afterwards that I could have ordered them with the socket in the middle and used them to do what I wanted.

    No worries - what I have ordered will keep me busy for a while :)

    Ross.

  • @VonSzarvas said:
    Here's a quick photo:

    Any idea when it will be available?

  • VonSzarvasVonSzarvas Posts: 3,272
    edited 2023-03-03 17:31

    :o Oh, it's not already in the store ? Darn... It can only be a matter of days. They are all built and ready to be exchanged for $ tokens !! Probably just an admin thing.

  • @VonSzarvas said:
    :o Oh, it's not already in the store ? Darn... It can only be a matter of days. They are all built and ready to be exchanged for $ tokens !! Probably just an admin thing.

    You can get on the Wait List to be informed when it is available...

    https://parallax.com/product/p2-edge-breakout-board/

    dgately

  • Sweet! Like the lower price too!

  • I picked one up. Get em' while they are in stock!

    https://www.parallax.com/product/p2-edge-breakout-board/

  • @ke4pjw said:
    I picked one up. Get em' while they are in stock!

    https://www.parallax.com/product/p2-edge-breakout-board/

    Only 18 of the new boards left, better hop to it...

Sign In or Register to comment.