Shop OBEX P1 Docs P2 Docs Learn Events
P2D2 - An open hardware reference design for the P2 CPU - Page 12 — Parallax Forums

P2D2 - An open hardware reference design for the P2 CPU

191012141538

Comments

  • For my P2D2 that is mounted onto a matrix board I have added the microSD connector on the back for easy access. I've also mounted the fan onto the back with double-sided pads so that it also spaces the fan off the pcb a little. Running at 340MHz the max temp I can read on this side is 32'C (90'F) and the fan is very quiet. I'm keeping all the pins from P32 onwards free to route to an edge pin header so that I can stack boards sideways and it is what I will probably do on my final dev pcb which will include a HDMI connector as well although the VGA signals will just go to a pin header. The final dev pcb will have simple things like audio jacks and USB A connectors as well as my WIZnet module although I may even allow that to be connected via a 6/8-pin header so that the module is part of a cable. The dev pcb will also have a micro USB connector for power and auxiliary USB.
    2883 x 2176 - 987K
  • JRetSapDoogJRetSapDoog Posts: 954
    edited 2018-10-31 00:08
    Sounds like you're moving right along. As for the P2D2 module itself, I presume that you haven't made any changes to the dual-row, 40-pin header pads on both long sides of the board. And if and when the P2D2 becomes commonly available, do you think it'll come in both populated and unpopulated versions in terms of those header areas? And if populated, would you say that the most likely configuration would be female headers (or whatever the correct term is) soldered to the top side of the board? Whatever the case, congratulations on the progress and thanks for keeping us in the know.
  • jmgjmg Posts: 15,140
    edited 2018-10-30 19:00
    jmg wrote: »
    For a regulator upgrade, in my trawling regulators, I did find some well priced, well spec'd regulators and from OnSemi

    Best 'low voltage, small regulator for P2, with PGood' looks to be NCV6324BMTAAWTBG
    (but there is also NCP6354, NCP6334B, NCP6324B, NCV6324B alternates here) - cheapest and newest data of those is NCx6324B ( OnSemi say 3000 $0.36 Data: May, 2017 − Rev. 5)

    Thanks for the link. I am taking a look at these parts since my revised P2D2 will have 2 switchers anyway and these parts can bring the cost down while still being compact with a power-good output. I still like the XCL parts though but it's good to have options.

    My main grumble with NCx6324B was the limited MAX vin, so here is another option, that can do USB, and battery packs - same 3x3 package as NCx6324B

    AP65355FN-7 Vin 4.5V~18V Vo 0.76V to 6V 3A PGood 650kHz 1.5% U-DFN3030-10 (3x3) DK $0.487/3k (Mouser $0.426/3k) Data May 2017
    Needs BS, has SS, 90mΩ 57mΩ FETS UVLO Threshold VIN Rising 3.6 3.85 4.1 V
  • jmgjmg Posts: 15,140
    jmg wrote: »
    For a regulator upgrade, in my trawling regulators, I did find some well priced, well spec'd regulators and from OnSemi

    Best 'low voltage, small regulator for P2, with PGood' looks to be NCV6324BMTAAWTBG
    (but there is also NCP6354, NCP6334B, NCP6324B, NCV6324B alternates here) - cheapest and newest data of those is NCx6324B ( OnSemi say 3000 $0.36 Data: May, 2017 − Rev. 5)

    Thanks for the link. I am taking a look at these parts since my revised P2D2 will have 2 switchers anyway and these parts can bring the cost down while still being compact with a power-good output. I still like the XCL parts though but it's good to have options.

    Looking at Integrated L modules, the TI TPS82130 17V 3A had appeal, but I see it currently has long lead times. Mouser seem to have large numbers on order.

    The next choice at 3A (4~18V) that is more readily stocked, (Digikey, Mouser) looks to be the MPM3632C
    (this fixes a low-rated EN of older ones)
  • Hi Peter,

    In light of recent interest in overclocking P2s, and heating etc, would it make sense if there was any room left on your new P2D2 board spin to see if there is room for 3 small holes for a TO92 package that could be optionally soldered onto your board to hold a potential one wire temp sensor like DS18B20, or maybe an common analog variant instead. My thinking was that if the holes were anywhere near the P2 package, the part could be folded over to touch the P2 and measure the temperature right at the chip. I know you said you had a PIC that might be able to measure it but perhaps that is not right at the chip. Having two sensors, the PIC one and another one might actually be beneficial in that it could let you measure the board temp and separately monitor the heating of the P2 chip itself rising above the board temp.

    Just an idea, based on what Tubular and Ozpropdev had done to their own P2D2 boards. Might be handy to have as an option on your board. I don't know what P2 pin makes sense to attach it too, if any, so that's an issue, maybe even use the PIC itself if there was a free pin left there. It would be nice if the sensor was somehow compatible with the flash/SD pins, but they are already overloaded so not sure what scope there is for that. Perhaps an analog sensor with a resistor might work if the P2 pin sensing it could be made high impedance, like TX perhaps (assuming no pull-ups mess that up).

    What are your thoughts? Maybe you were already considering something else for temp sensing or want to leave things as they are. Or maybe just leave it to interested users to each mod their own boards for this type of thing?

    Cheers,
    Roger.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-11-19 12:53
    The next P2D2 will have a little 3mm sq QFN20 has the supervisory micro in place of the PIC12F1572 that I was going to use. The little EFM8BB10F2I-A-QFN20 is only around 30c but includes a 24.5MHz oscillator, A/D, UART/I2C/SPI, and a voltage ref and temperature sensor too. It will monitor the 3.3 and 1.8V rails and hold the P2 in reset if these are out of tolerance as well as monitor the serial input for DTR edges, and commands. On top of that it provides a timing reference as well as a watchdog option etc. It will be a very busy bee indeed. FInal interface will share the boot pins with both Flash and SD CEs high and I2C on P58 and P59.


    To test this before committing the P2D2 revision I happen to have some of those chips from another project except in a 16-pin SOIC pack which proved to be quite handy. All I had to do was solder up one side to the P2D2, no wiring, but everything connected. I just use 2 I/O for ground and power and I can also program the chip from the P2 as well. The chip can be programmed via its serial bootloader or the C2 two wire interface which I have had running in Tachyon on P1 before.

    BTW, I also happen to have used MCP9803 I2C temperature sensors in MSOP8 packs and I may even add this as an option too, right under the P2 on the reverse side, but maybe in the SOT23-5 pack.
    1409 x 955 - 198K
  • roglohrogloh Posts: 5,119
    edited 2018-11-19 13:07
    Interesting choice and even 8051 based (blast from my past), though I am a bit worried now because does that mean we lose some further P2 pins for this micro? Your other PIC choice seemed nice as it didn't steal any other pins. My carrier board using your P2D2 has used all P2 pins excepting the 2 serial IO pins and the 4 Flash/SD SPI pins. Is this supervisor chip going to be optional or is it required?

    Update: just re-read your post. Looks like you repurpose the flash pins P58 P59 for I2C to talk to this part after boot. I guess this should be okay.
  • evanhevanh Posts: 15,091
    If you're still tweaking the revised board I'd be interested in a TO92 sized hole exposing the middle of the thermal pad. I'd use it to solder in a thermocouple though.

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-11-19 13:10
    I'm only using extra pins to test the chip itself on the current P2D2 but it will connect to all 6 boot pins, reset, 1.8V, and possibly monitor XIN as well. Communications with it will be on P58/59. But given that it is the power supply supervisor as well as the DTR edge detector and given that it is so cheap and can be programmed by the P2 itself, I can't see any reason why it shouldn't be standard. All we do is load up P2 with code that programs and includes the binary for the micro and this will be done when they are assembled but anyone can do the same just as easily (very easy).

    There is a large 3mm hole in the center.
  • Is there any risk that I2C devices using P58/P59 will mess up SD/Flash boot, or later access after boot of either device?
  • I like the idea of using these pins as I2C if that is possible, by the way.
  • Since I have 16 I/O on this micro I can not only monitor the other boot lines to make sure they are not accessing Flash/SD but I could decide to reassign the I2C to suit. The other thing is that any activity from the Flash/SD is at too high a frequency for I2C to recognize or respond to and when both devices are disabled then I2C can go and play.
  • I received some P2 chips earlier today. Thanks Parallax!
    Here's one placed onto my early pre-P2 P2D2 test board but not soldered. I intend to push my revised P2D2 design through before mounting these devices onto the new version.
    1650 x 945 - 307K
  • Great! Before mounting all those P2 chips on your new P2D2 boards, will you be able to post an image of the new board design with dimensions etc?
  • Cluso99Cluso99 Posts: 18,066
    edited 2018-11-19 14:23
    Those P2s look great on the P2D2. Love the big "P2" printing.

    What are you calling the next pcb Peter?
    P2D2R2
    R2P2
    :smile:
  • C3P2?

    Not sure what to do with BB8...
  • kwinnkwinn Posts: 8,697
    David Betz wrote: »
    C3P2?

    Not sure what to do with BB8...

    LOL, I think the Star Wars series has more to do with the interest in robotics than anything else that has happened.
  • jmgjmg Posts: 15,140
    edited 2018-11-19 18:36
    I received some P2 chips earlier today. Thanks Parallax!
    Here's one placed onto my early pre-P2 P2D2 test board but not soldered. I intend to push my revised P2D2 design through before mounting these devices onto the new version.
    Good idea.

    To test this before committing the P2D2 revision I happen to have some of those chips from another project except in a 16-pin SOIC pack which proved to be quite handy. All I had to do was solder up one side to the P2D2, no wiring, but everything connected. I just use 2 I/O for ground and power and I can also program the chip from the P2 as well.
    Very nifty indeed. I'd not noticed you can connect only one side before. It does not seem to mind no immediate power decoupling ?
    BTW, I also happen to have used MCP9803 I2C temperature sensors in MSOP8 packs and I may even add this as an option too, right under the P2 on the reverse side, but maybe in the SOT23-5 pack.
    That would be good, the EFM8 has a temperature sensor, but it is not initially calibrated. For the early testing, temperature looks a good idea.
  • jmgjmg Posts: 15,140
    edited 2018-11-19 19:28
    The next P2D2 will have a little 3mm sq QFN20 has the supervisory micro in place of the PIC12F1572 that I was going to use. The little EFM8BB10F2I-A-QFN20 is only around 30c but includes a 24.5MHz oscillator, A/D, UART/I2C/SPI, and a voltage ref and temperature sensor too. It will monitor the 3.3 and 1.8V rails and hold the P2 in reset if these are out of tolerance as well as monitor the serial input for DTR edges, and commands. On top of that it provides a timing reference as well as a watchdog option etc. It will be a very busy bee indeed. FInal interface will share the boot pins with both Flash and SD CEs high and I2C on P58 and P59.

    To test this before committing the P2D2 revision I happen to have some of those chips from another project except in a 16-pin SOIC pack which proved to be quite handy. All I had to do was solder up one side to the P2D2, no wiring, but everything connected. I just use 2 I/O for ground and power and I can also program the chip from the P2 as well. The chip can be programmed via its serial bootloader or the C2 two wire interface which I have had running in Tachyon on P1 before.
    I'm liking this change a lot :)

    'as well as monitor the serial input for DTR edges, and commands.' - does that mean you will be able to use the EFM8 bootloader, for firmware updates ?
    .... But given that it is the power supply supervisor as well as the DTR edge detector and given that it is so cheap and can be programmed by the P2 itself, I can't see any reason why it shouldn't be standard..
    Standard sounds a good idea. What code-size part ? - for the first ones, perhaps 8k is only a few cents more than 2k, and gives headroom while the firmware settles ?

  • I just love the way you've surgically attached that micro to the P2D2

    I've found those 0.05" pitch holes useful for cro probes, also when testing multiple pins you don't have to think about odd & even, you just probe next hole along the line

    Those silabs chips look neat. Down the track perhaps even their universal bee chip might appeal (with USB on board).
  • Cluso99Cluso99 Posts: 18,066
    Ribbon cable should solder to the 0.05" pitch nicely too.
    Shame we cannot buy female 0.05 plugs cheaply. Male pins are available but a little pricey.
    I can crimp 0.1" female plugs easily and have various housings.
  • jmgjmg Posts: 15,140
    Tubular wrote: »
    Those silabs chips look neat. Down the track perhaps even their universal bee chip might appeal (with USB on board).
    I was just looking at that.... :)

    The EFM8UB3 also comes in QFN20, but the USB pins drop into the debug pins on BB1 and the debug pins moves, so there is a slight pin swap needed.
    The Programming and Boot are identical, and you get 40K of flash, CLU, and 48MHz (vs 8k/-/25MHz) - for a slight nudge in price to just under $1

    It should be possible to run most BB1 code with little change on UB3 ?
  • 0.05" aren't too bad, they get used for 10 pin jtag on other micros, for instance. Certainly cheap on aliexpress or 4ucon

    Have a look at minitek 127 for the full range
  • @Peter Jakacki

    they are after all "printed" material

    LOL

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-11-22 06:20
    Before I finalise the hardware for my new P2D2 I have been testing some changes including the use of a small Silabs micro to handle brown-out, power-good, DTR edges, serial commands, temperature monitoring etc. But I have spent way too much time just trying to get the "Simplicity Studio" (haha) tools to install correctly and all I really want is assembly code. I have the older Silabs IDE which I could use but it doesn't know about the newer parts so the otherwise useful crossbar configurator is of no use there. The studio software is available for Windows, Mac, and Linux but it won't install correctly (a common issue it seems) and wants all these third-party SDKs and takes well over 1GB already.

    Then I had a brainstorm, or rather a doh moment. Why am I bothering with these silly tools, I can use TAQOZ on the P2 to assemble 8051 code and also add enhancements for the crossbar and other "macros" besides. I already have the 2-wire C2 programming and debugging running on the P2 so now I will add the assembler and bingo, instant and dependable development, no need for any PC at all. Especially so since I can even use VGA and PS/2 keyboards along with FAT32 files. A simple text editor is in order here, one that can be enhanced as the need arises. Press enter, assemble and burn.

    So give me a day or so and I should have it up and running and that way I can ensure that the busy bee is suitable and then finish routing the new P2D2.

    P2D2H changes:
    * Extra 0.2" strip on the microSD end which allows reset switch, larger LEDs on either side plus a single 4 to 7 way pin strip for a Prop Plug or eBay plug.
    * Wider footprint for larger Flash parts.
    * Busy Bee supervisory chip (Temperature, Brown-out, power-good, voltage and timing reference, DTR reset, supervisory commands, etc)
    * 0603 pads for PLL current measurement resistor or link
    * 0603 pads for 1.8V current measurement resistor or link
    * 4mm center hole under P2
    * deglitch cap on P59 (might not be needed with new silicon)
    * Reset pullup - Busy Bee controlled reset
    * P61..P58 series termination for high-speed SD/Flash
    * XCL220 switching reg option for 3.3V - or LDO
    * Combo oscillator/crystal footprint for 2520 and 5030 (remove dedicated crystal footprint)
    * Option to allow Busy Bee to supply 24.5MHz clock


    I don't see any need to change the switchmode regulator since it works very well, even with overclocking beyond 300MHz. I know there are ones that handle higher voltage inputs but I know that many of my systems already switch down to 5V so I am happy to work with that. The dev board on the other hand could take much higher voltages because it too will have a 5V regulator.

    While the new pcb does allow for extra internal layers I don't think I will bother since I am quite satisfied with the thermal capabilities of the current P2D2 but I might get some of those heatsink pcbs made up since they can be made with much heavier copper. The heatsink PCB has cutouts for the microSD and simply surface mounts to the back of the P2D2.

    BTW, the little EFM8BB10F device only costs around 34 cents or so.
  • jmgjmg Posts: 15,140
    Then I had a brainstorm, or rather a doh moment. Why am I bothering with these silly tools, I can use TAQOZ on the P2 to assemble 8051 code and also add enhancements for the crossbar and other "macros" besides. I already have the 2-wire C2 programming and debugging running on the P2 so now I will add the assembler and bingo, instant and dependable development, no need for any PC at all. Especially so since I can even use VGA and PS/2 keyboards along with FAT32 files. A simple text editor is in order here, one that can be enhanced as the need arises. Press enter, assemble and burn.
    I can send you a link for an 8051 Assembler/Editor/Simulator if you are interested ?
    This creates OMF51 files you can use in either SiLabs IDE, for symbolic Debug.

    Before I finalise the hardware for my new P2D2 I have been testing some changes including the use of a small Silabs micro to handle brown-out, power-good, DTR edges, serial commands, temperature monitoring etc. But I have spent way too much time just trying to get the "Simplicity Studio" (haha) tools to install correctly and all I really want is assembly code..
    It's not small, but I had no real problems installing SS here ? What OS are you using ?

    I have the older Silabs IDE which I could use but it doesn't know about the newer parts so the otherwise useful crossbar configurator is of no use there..

    The release notes for the older IDE are here, currently latest is IDE Version 5.30 - December 19, 2017
    https://www.silabs.com/documents/public/release-notes/mcu_WebReadme.txt
    These indicate the EFM8 mcus (right up to the newest EFM8UB3) are supported in the older IDE, (Pgm & Debug ?) and for the EFM8BB1, you can always select C8051F850, if you do not want to install SS.
    The older IDE is a 40MB download, takes a few moments here...

    I think the examples directories in older IDE do not include the EFM8 series, those come with SS, but the C8051F850 examples are included.
  • All sounding very good Peter, looking forward to seeing more of the new rev P2D2 soon...

    Am still busy routing my own board that would use it. Only 148 unrouted nets to go!
  • cgraceycgracey Posts: 14,131
    edited 2018-11-22 07:22
    Yeah, I hope that in the long run, a lot of us can use the P2 as a lifeboat (or private yacht), to get away from the bloated, infected messes that PC's have become. I think we'll always need PC's to keep up with evolving communication-type needs, but they are overblown for a lot of what we need a machine for.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-11-22 07:40
    jmg wrote: »
    Then I had a brainstorm, or rather a doh moment. Why am I bothering with these silly tools, I can use TAQOZ on the P2 to assemble 8051 code and also add enhancements for the crossbar and other "macros" besides. I already have the 2-wire C2 programming and debugging running on the P2 so now I will add the assembler and bingo, instant and dependable development, no need for any PC at all. Especially so since I can even use VGA and PS/2 keyboards along with FAT32 files. A simple text editor is in order here, one that can be enhanced as the need arises. Press enter, assemble and burn.
    I can send you a link for an 8051 Assembler/Editor/Simulator if you are interested ?
    This creates OMF51 files you can use in either SiLabs IDE, for symbolic Debug.

    Before I finalise the hardware for my new P2D2 I have been testing some changes including the use of a small Silabs micro to handle brown-out, power-good, DTR edges, serial commands, temperature monitoring etc. But I have spent way too much time just trying to get the "Simplicity Studio" (haha) tools to install correctly and all I really want is assembly code..
    It's not small, but I had no real problems installing SS here ? What OS are you using ?

    I have the older Silabs IDE which I could use but it doesn't know about the newer parts so the otherwise useful crossbar configurator is of no use there..

    The release notes for the older IDE are here, currently latest is IDE Version 5.30 - December 19, 2017
    https://www.silabs.com/documents/public/release-notes/mcu_WebReadme.txt
    These indicate the EFM8 mcus (right up to the newest EFM8UB3) are supported in the older IDE, (Pgm & Debug ?) and for the EFM8BB1, you can always select C8051F850, if you do not want to install SS.
    The older IDE is a 40MB download, takes a few moments here...

    I think the examples directories in older IDE do not include the EFM8 series, those come with SS, but the C8051F850 examples are included.

    Silab note:
    All C8051Fxxx families are supported by the 8-bit Studio. If your 8051 device does not appear in the list below, you can also use Simplicity Studio Software Suite.


    Hmmm, of course the device does not appear but by "also" they mean you have to. I have lots of different 8051 assemblers that I can use even on Linux (LM19), or through Wine, or Windows on VirtualBox. But I like the idea of dev tools on the P2 and I don't have to worry about getting that hex file across etc. Power to the P2 people!.

    Anyway, the 8051 dev tool for the P2 is underway and now it is just a matter of days. Instant compile, instant burn, instant result.
  • jmgjmg Posts: 15,140
    .... But I like the idea of dev tools on the P2 and I don't have to worry about getting that hex file across etc. Power to the P2 people!.

    Anyway, the 8051 dev tool for the P2 is underway and now it is just a matter of days. Instant compile, instant burn, instant result.

    Be interesting to see P2 used as a Cross development platform even before final release silicon !

    Silab note:
    All C8051Fxxx families are supported by the 8-bit Studio. If your 8051 device does not appear in the list below, you can also use Simplicity Studio Software Suite.
    Hmmm, of course the device does not appear but by "also" they mean you have to.
    I plugged a few items in, & checked what IDE 5.30 allows 'connect' to, and it seems the note they have like this
    "Version 5.20
    Added support for EFM8 UB3 devices.
    Note: Debug support only using a USB debug adapter. For information on accessing the Direct Debug Header refer to the USB Debug Adapter User's Guide.
    "
    is shorthand for saying that the older IDE cannot talk to the newer SDK J-Link bridge, so you need to use a Toolstock/UDA bridge, to talk to a EFM8 device.
    Then, you should be able to download/debug code fine.
    Do you have any Toolstick or UDA ?
Sign In or Register to comment.