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

P2D2 - An open hardware reference design for the P2 CPU

13468938

Comments

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-07-09 08:16
    I haven't sent the pcbs out yet as I just wanted to be sure that everything looked like it worked, which it does. So I will send these out in the morning.

    In the meantime I've updated the pcb and made some artwork improvements while also fixing up the overlay so that it isn't obliterated by solder mask openings. The Flash footprint has been increased enough to allow for the wider Flash parts too.

    Besides that, I've done a version that uses a small MSOP8 PIC12F1572 micro for the reset circuitry in place of the transistor circuitry. The reason for this is that it can always generate a clean reset from clean edges while rejecting noise, and also monitor the RXD line so that I can remotely reset the Prop via serial. Plus it also measures the 1.8V line and temperature. The micros TXD is also connected to TXD so that it could communicate conditions back if I need it to. The micro is programmed at low voltage via the serial header either from a PIC programmer or another Prop board. I already use this micro but there may be another small footprint one that I may end up using (jmg, where are you). The next run of pcbs will have a red soldermask.
  • jmgjmg Posts: 15,140
    Besides that, I've done a version that uses a small MSOP8 PIC12F1572 ... I already use this micro but there may be another small footprint one that I may end up using (jmg, where are you). ...
    If you want small and low-cost, but capable, then the N76E003 in QFN20 3mm is hard to beat...
    https://lcsc.com/product-detail/NUVOTON_N76E003AQ20_C90832.html
    or this SiLabs one I think you can already pgm
    https://lcsc.com/product-detail/SILICON-LABS_SILICON-LABS_EFM8BB21F16G-C-QFN20_EFM8BB21F16G-C-QFN20_C80713.html
    or another QFN option...
    https://lcsc.com/product-detail/Microprocessor-Microcontroller_Shenzhen-SinOne-Microelectronics-SC92F7322Q20U_C221390.html

    Or maybe STC15W104-35I-DFN8,
    or even for a similar price to that PIC, this CH554 ?
    https://lcsc.com/product-detail/USB_CH554E_C111293.html
    ( That includes a USB bootloader, for free..., but strangely the MSOP10 CH554 is more expensive than other packages, like SOP16N ? )


  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-07-10 08:33
    @jmg - Thanks, I had a look at those micros and how the footprint would fit but in the end I just used one I've used before, the PIC12F1572 :):(


    I may make a few other changes but the PIC also equips the RXD & TXD lines with pull-ups and by monitoring the RXD line it can also reset the P2 with a serial sequence or break condition. Of course with whatever edge it gets on the reset input it can generate a clean reset signal for the P2. The PIC is actually programmed via the serial header initially. Perhaps the temperature sensor could be used to hold the P2 in reset if it goes too high or it could communicate this status with the P2 via P0 (not the best choice, but easy to route).



    P2PIC.pngP2PICPCB.png
    558 x 414 - 34K
    601 x 434 - 34K
  • ErNaErNa Posts: 1,738
    Chip, when will you send your P to Europe? Will be welcomed
  • As the current pcb goes out this week I have updated my artwork for the next time I will order some pcbs, probably after I have checked everything with a real P2. There may be other changes but I needed to fix up the clearances between the solder mask and the silk screen anyway. There's an extra hole in R6 to allow the serial header to be strapped directly to 3.3V too. The final pcbs will probably be 1mm thick with white on red mask since the thinner pcbs are easier to cut for surface mounting.

    p2d2h.png
    1330 x 960 - 1M
  • Thanks for the update Peter.
  • roglohrogloh Posts: 5,119
    edited 2018-07-11 00:52
    There's an extra hole in R6 to allow the serial header to be strapped directly to 3.3V too.

    Very cool! :smile:

    One minor thing I was thinking is that if it is easily added in your latest layout and you had room for a small solder jumper nearby it might be good if pin 2 and pin 5 could optionally get soldered together in any cases where the extra reset PIC chip is not actually required to be populated. Then you could just use a prop plug if you have one, without needing the micro fitted. However I am sort of already assuming that the Prop2 is actually designed to be fully compatible with the prop plug's internal reset circuit yet I don't really know that for a fact.

    I guess you could always strap a small piece of fine wire onto the pads of the unpopulated micro to achieve it, but a dedicated solder jumper intended for that purpose could be handy there too. Maybe there is room to squeeze one in somewhere above the +V label?

    Cheers,
    Roger.
  • @rogloh - sure thing although I probably would have gotten around to such an option anyway :) PCB options cost nothing so I fit them in where I can.
    RESJUMPER.pngRESMON.png

    Using P61 as a coms line to the P2 should allow a way for the P2 to read the temperature or even get the monitor chip to hold the P2 in reset for a period and wakeup again in some applications etc.
    385 x 398 - 22K
    618 x 395 - 20K
  • Nice. :thumb:
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-07-11 05:54
    THERMAL TESTS

    I've done some thermal tests and pushing over 2.2W of heat into the pad through 20 resistors connected from the pad to the power ring I get up to 86'C measured in the center of the pad at 24'C ambient still air. I'm using a thermocouple on the top side that is covered with polymide tape and clamped with a nylon clamp.

    Adding any kind of fins or simple heatsink, even stacking another P2D2 under it drops this to around 70'C (stabilized). However by resting the board onto the lid of an aluminum enclosure it is only 35'C (over a longer period). Maybe up to 50'C if I leave it long enough but this only with a clamp and not a proper thermal bond.
  • roglohrogloh Posts: 5,119
    edited 2018-07-11 07:49
    Peter, so what sized square heatsink do you think could be attached underneath without shorting your P2D2 board? The P2 TQFP is 14x14 mm or thereabouts but the heatsink connecting square would need to be smaller to be able to clear your power pin vias. Was looking up some small heatsink specs to see the general performance but I don't really know the best size possible.

    Just looked at some cheap and small Fischer Aluminium BGA type heatsinks and they were in the 25-30 C/W range for 14x14mm depending on 6-10mm fin height with no airflow. The little 10x10mm ones were 30-32 C/W for similar heights. There will also be extra loss in the thermal adhesive as well. Those numbers don't sound like they would cool much more than your own 86C at all. There's obviously going to be a lot better performing ones available in other geometries or for higher prices.

    Good thing about your board is that it can always be reverse mounted to a carrier PCB to allow heatsinks to get fitted on the back side and hopefully that should give some extra clearance for any heatsinks as required. You could also tap off the 5V to drive a small fan if things get too hot, LOL. :smile:

    EDIT. just saw the exposed pad dimensions in Chip's package update post, and it looks like the 10x10mm square is the size that would fit. Be good to find a nice heatsink whose mating face starts at that size and grows outwards after clearing all the power pin vias.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-07-11 14:13
    The revision has the small vias all tented which should help a bit but using another pcb as a custom heatsink is cheaper and allows it to mate directly to the pad. Sure, we don't get fins but we do still get a large surface area that could even allow a normal heatsink to be attached.

    I will look at whether a black mask would help for this one and perhaps 2oz copper as well. So for less than 50 cents we can solder an extra layer onto the bottom of the pcb to handle high power or else just an insulated thermal mat to a metal casing. I originally made a mistake and was testing 4W of heat that climbed to around 120'C without heatsinking but I expect most applications will draw less than 1W and not need any heatsinking.

    Further measurements conducted without heatsink in still air, horizontal upright on ceramic tile and measuring center of top pad at 23'C ambient stabilized over several minutes. This works out to 30'C/W + ambient.

    500mW = 40'C
    1W = 53'C
    2W = 79'C
    2.2W = 88'C
  • You also need to consider the power dissipation of the voltage regulators. If you are assuming 1A at 1.8V, that is more than the MCP1700s can handle in either current or power.
  • jmgjmg Posts: 15,140
    rogloh wrote: »
    Peter, so what sized square heatsink do you think could be attached underneath without shorting your P2D2 board? The P2 TQFP is 14x14 mm or thereabouts but the heatsink connecting square would need to be smaller to be able to clear your power pin vias. Was looking up some small heatsink specs to see the general performance but I don't really know the best size possible. ...

    EDIT. just saw the exposed pad dimensions in Chip's package update post, and it looks like the 10x10mm square is the size that would fit. Be good to find a nice heatsink whose mating face starts at that size and grows outwards after clearing all the power pin vias.

    I gave links earlier to D-PAK SMD spreader heatinks.
    These solder onto strips either side of D-PAK, and elevate and spread the heat.

    We have also used 2oz copper to good effect, spreads the heat better across the PCB and lowers the 'hot spot' rise.

  • brucee wrote: »
    You also need to consider the power dissipation of the voltage regulators. If you are assuming 1A at 1.8V, that is more than the MCP1700s can handle in either current or power.

    It's the 1.8V supply that draws all this power and even though there is an option for a linear regulator it is highly unlikely we would use that option for this board except in lower power applications since the switcher is best suited for this. Since it is on the edge of the board it is well away from the P2 thermally and the regulator itself is 85 to 90% efficient. Remember that we are measuring the P2's hot spot, not the whole board. Heavier copper would help to spread the heat but heavy copper and fine lines are harder (more expensive) to achieve.

    BTW, The MCP1700 could be used for 3.3V supplies but more than likely we would be using one with a higher current rating and better load transient response such as the AZ1117CR etc.

    @jmg - thanks and while I try to allow for 2W operation I don't think I need to worry too much about it for this design although I have already done some tests in this regard and may do some more yet. If I send you a pcb maybe you would like to try those heatsinks you mentioned and help us out by reporting the results? I'm only helping out myself too.
  • roglohrogloh Posts: 5,119
    edited 2018-07-12 06:23
    So without extra heatsinking how hot could a P2 chip be expected to get on this board and still actually operate okay I wonder? Is there some junction temp limit of 125C for example or something else perhaps? Chip's recent update showing the TQFP100 exposed pad mechanicals unfortunately didn't give the junction to case thermal resistance, but I imagine that should already be known too.

    Hopefully with the existing heatsinking at around 30C/W and 2.2W max output it would be hard pressed to even hit the junction temperature limit unless the ambient temp is already something extreme or there is a lot of thermal loss in the junction to board path.
  • Yes, I think we would be hard pressed to hit such a high power level but even so, the pcb even as it is will still be ok although I wouldn't run it at such a level even I could for sustained periods. During testing though, anything goes.

    After looking at the price they charge for heatsinks I think my 50 cent matching heatsink pcb with 2oz copper ought to do the trick very nicely. Since the final pcb will be thin it will conduct the heat better through the layers and the same goes for the heatsink pcb too. I've been running my test board at 2.2W without heatsink in a glass jar in 21'C ambient and sure it hits 92'C just at the center, but really, this is still extreme.

    I dialed down my digital PSU to 1.5W and within seconds that temperature dropped to 80'C and it kept dropping down past 75'C within a minute. Maybe 1.5W is the more realistic extreme in practice. At 1W it dropped further to 60'C within a couple of minutes.

    Just to put this in perspective too, we have all used 7805T regulators that are capable of 1A, but how many of you have pushed that to the extreme of 1A while dropping 2V or more? Hot hot hot! (a lot of beginners have been caught trying to though). While many things are possible, they aren't always recommended or typical.
  • roglohrogloh Posts: 5,119
    edited 2018-07-12 09:13
    What exactly does this heatsink PCB look like? Can you also post a render of that too Peter? Is it just a small 10mm square on one layer with a whole lot of vias passing through to the other layer which is solid fill over the whole area? And do you just somehow thermally tape/glue the two boards together back to back or is there some other mounting method or interconnection required?

    Cheers,
    Roger.

    ps. the reason I ask is that I may have another space limited application for a P2D2 where any additional heatsink clearance would likely be an issue but another wide and thin board added on top of your reverse mounted board may not be a problem if it is only a few mm extra height.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-07-12 15:06
    @rogloh - I hadn't actually done the heatsink board but after 15 minutes I came up with a candidate for one. Essentially this would be a 0.8mm thick pcb with 2oz copper and the ground duplicated top and bottom. Only the top "pad" that is designed to mate with the P2D2 bottom is exposed, all the rest including the vias have soldermask. The SMD pads are duplicated in case this is still surface mounted plus the serial header pins don't need to be cut flush so they can fit in.

    I expect to solder paste the two boards together over the exposed pad but even thermal compound or a pad will work too but then you would have to glue them together with a suitable compound.

    BTW, if I stick with 1oz copper and use 0.6mm pcb I can get 10 of these for $2 (plus shipping) from JLCPCB. Well worth trying out I think.

    P2D2HS-T.png
    P2D2HS-B.png
    1645 x 945 - 202K
    1645 x 945 - 211K
  • Looks great @"Peter Jakacki" . Thanks for posting that picture - I think it would fit in perfectly for what I had in mind and should help spread out the heat and lower the overall temp compared to going standalone only. Including the side pads too is very good for accessing signals with a scope in-situ if this board faces upwards instead of just covering them over and they could also be used to mechanically link the top/bottom boards if needed for strength, or chopped down for surface mounting as you mentioned.

    Was initially wondering if it was a good idea to add extra pin numbers down each side on the silk layer of the heatsink board for helping identify the pins too if these numbers get covered up on the board below, although I now think it could detract from the nice clean look you have going on as this surface would be what people see if the P2D2 board is reverse mounted onto another "motherboard". You could even move the PCB ID numbers onto the other side so it doesn't detract further. Even an approved P2 logo of some variety would be nice there too if Parallax agreed and this becomes a popular "reference" type of board at some point. Very cool.

    Cheers!
  • jmgjmg Posts: 15,140
    Since the P2 power does not look as bad as first feared, this new Microchip part PAC1932 series would be useful ?

    This is low cost (82c at arrow) and has good precision and error numbers. QFN16 4mm x 4mm 0.65mm pitch
    Quoted LSBs are 1.5uV on Current (100mV), and 488uV on Voltage (32V)

    With the offsets and limits here, this PAC1932 would make a nice System Sense (Voltage,Current) element for a P2 Eval Board.
    It could read the currents over ~10mV droppers to not disturb the supply, and resolve Vdd,Vio to < 0.5mV, and report up to 1024sps.
    That would allow easy plotting of Idd under all the P2 test conditions.

    Is there room to squeeze in a 4mm x 4mm package ? :)
  • Could you be convinced to swap out the PIC for an ARM? My main reason for that request is the ubiquity/price of dev tools. On my quick searches, I've found things as simple as the ATSAMD10C which are ~$1 in Qty 1, or the KE04Z8 which is ~$1.50, but runs off up to 5V and has PWMs that could be used to drive a synchronous switching converter.
  • jmgjmg Posts: 15,140
    edited 2018-07-21 01:04
    Could you be convinced to swap out the PIC for an ARM? My main reason for that request is the ubiquity/price of dev tools. On my quick searches, I've found things as simple as the ATSAMD10C which are ~$1 in Qty 1, or the KE04Z8 which is ~$1.50, but runs off up to 5V and has PWMs that could be used to drive a synchronous switching converter.
    For the tasks Peter uses it for, $1~$1.50 is expensive. MCUs now start at around 25c for quite capable ones.

    That said, if you load more onto the MCU the picture changes. HS-USB link support is an obvious stepping-stone.

    I've been trying to find the 'smallest HS-USB' chip, and it has been an exercise in frustration. Closest so far is NUC505.
  • HS-USB is tough, because a lot of HS-USB capable MCUs take external USB PHYs. Note, though, that I was listing Qty 1 pricing on the MCUs. Personally, I just really hate the PIC ecosystem, and would rather use an ARM where possible. You could also step up to something like the TLE9861 (~$2.50) which has built-in MOSFET drivers (originally intended for an H-bridge), such that it could act as a 1.8v and 3.3v switching controller.
  • TLE9861 also takes up to 22V in operating, so no other regulators would be necessary for automotive applications.
  • jmgjmg Posts: 15,140
    HS-USB is tough, because a lot of HS-USB capable MCUs take external USB PHYs.
    Newer ones are better. I also looked at RDA5856 series, which appear to have HS-USB (with PHY) in smaller packages, but data is very sparse, & I think it needs external boot flash.
    The Nuvoton M48x series has HS-USB and small packages, but alas, they do not offer HS-USB in the smallest packages ?!
    NUC505DLA in TQFP48 is well documented, HS-USB, and $1.74/1k
    Personally, I just really hate the PIC ecosystem, and would rather use an ARM where possible.
    The bottom-end PICs are probably best avoided for new designs, unless you already have the ecosystem.
    The 8051 family is expanding strongly in Asia for low-end MCUs, with a lot of new offerings, so can displace PICs where ARM is over-kill.
    You could also step up to something like the TLE9861 (~$2.50) which has built-in MOSFET drivers (originally intended for an H-bridge), such that it could act as a 1.8v and 3.3v switching controller.

    Yes, Infineon have some nice parts, but that's quite complex/overkill, and the appeal of the MxL7704 SMPS part (~ $2.30) I suggested in another thread, is something simple to get going, but flexible enough to push the part to the corners, for characterization testing. (Icc/Vcc/MHz)
    Also, most low cost Motor-control MCU's, lack the fine PWM granularity for fast switching to allow compact inductors. That MxL7704 has inbuilt FETs and runs 1~2MHz

  • ErNaErNa Posts: 1,738
    edited 2018-07-21 10:51
    @rogloh - I hadn't actually done the heatsink board but after 15 minutes I came up with a candidate for one. Essentially this would be a 0.8mm thick pcb with 2oz copper and the ground duplicated top and bottom. Only the top "pad" that is designed to mate with the P2D2 bottom is exposed, all the rest including the vias have soldermask. The SMD pads are duplicated in case this is still surface mounted plus the serial header pins don't need to be cut flush so they can fit in.

    I expect to solder paste the two boards together over the exposed pad but even thermal compound or a pad will work too but then you would have to glue them together with a suitable compound.

    BTW, if I stick with 1oz copper and use 0.6mm pcb I can get 10 of these for $2 (plus shipping) from JLCPCB. Well worth trying out I think.
    What about milling slots to allow air flow, increase surface (if slots are small and board is thick and certainly exposing the copper directly without solder mask will reduce thermal resistance.

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-07-21 12:40
    Any itty-bitty micro that's cheap enough will do the job I need it to do, and it doesn't matter how "non-nice" the architecture is, it gets the job done. PIC tools are many and plentiful and I can program them easy from a Prop board with simple code. Since it doesn't need to do much I just write it all in assembly, While I don't dismiss using an ARM or any other chip and while I did toy with some small footprint versions, I ended up being practical about it. Same goes for regulation, same goes for heatsinking. Increased copper thickness adds to cost but is an option, but an option is not the same as a requirement. No need to be confused by the options and derail a design by trying to over-engineer it before it even takes form. Remember a similar thing happened to P2-hot because the design got derailed by hypotheticals and what-ifs and ended up only in FPGA. There is a balance between dreaming and doing, but once you have woken up it's best to get stuck into it and get it done. Once it's done, you can dream and do again.

    BTW, solder mask doesn't seem to affect the thermal resistance much but perhaps a black mask will help radiate the heat. Heavier copper will increase the spreading resistance so the P2 will run cooler. All my tests show that even a maxed out P2 chip will work fine without needing extreme solutions. But if somehow I was running the P2 maxed out from the beginning then I would not be leaving any room for improvements since the chip is already maxed out. Bad design!
  • jmgjmg Posts: 15,140
    edited 2018-07-22 01:24
    ErNa wrote: »
    What about milling slots to allow air flow, increase surface (if slots are small and board is thick and certainly exposing the copper directly without solder mask will reduce thermal resistance.
    That would depends on the operating conditions.
    Heatsinks for forced air cooling often do have slots to increase the metal-air transfer, but a passive cooled PCB would make better use of the conducting copper, than the very poor air-filled-slot.

    P2+Heatsinks would be interesting in a 'Overclocking P2' thread, which I am sure some will try :) - higher Vcc, and forced air cooling.

    There are many choices out there, just some images
    12x12 tape mount 48c/100
    TG-CJ-LI-12-12-10-PF_sml.JPG

    32x14mm, glued 55c/1k
    508500B00000_sml.jpg

    28x28m, glued 70c/1k
    658-25AB%20T1%20T2%20T4.jpg

    or a set of 3, for RaspPi ? $1.33 1+,
    MFG_FIT0542_sml.jpg
    Black with adhesive heat sink (large): 14 * 14 * 7mm
    Black with adhesive heat sink (small): 9 * 9 * 5mm
    Separate copper with adhesive heat sink: 12 * 12 * 1mm

    Pi heatsinks could be useful, as they have a wide user base, & thus good volumes, and this listing
    T1zbnqFItXXXXXXXXX_!!0-item_pic.jpg
    gives a volume price of 38c, 10+ for the set

    and some numbers from some pi tests in this video - active cooling


    and passive cooling...

    and he also does both.... as expected (more metal + more air) combined, is cooler

    and a couple more links - copper top-hats look cool, (~ $1) and could apply to both sides of P2 - tho the 12x13 mm claimed could need some material removed to clear vias on bottom-soldering use ?
    https://www.banggood.com/30-Pcs-Pure-Copper-Heatsink-Cooling-Fin-Kit-For-Raspberry-Pi-p-953187.html?cur_warehouse=CN
    https://www.amazon.com/Cosmos-Copper-Cooling-Heatsinks-cooler/dp/B00637X42A 0.5" Square

    and a dual-fan/heatsink follows the (more metal + more air) combined rule...
    https://www.amazon.com/Raspberry-iUniker-Heatsink-Copper-Compatible/dp/B075R4S9GH
    teensy fan ...
    https://www.amazon.com/Raspberry-Forged-Copper-Heatsink-Micro/dp/B00JT1P0I8
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-08-28 12:34
    I still have quite a few boards left over but I may also get another version done if I do another run, maybe just dressed up a bit more, we'll see.

    If anyone in the US or anywhere else wants some, let me know on this thread.


    I prefer to consolidate requests to minimize the postal costs and just plain messing about. So be prepared if possible to do a "Publison" (thanks mate) and post some out locally but if it is too awkward or nobody else locally wants them then I will just send you one or more as needed. No charge of course.

    When I sent a batch off to Publison I managed to put 24 boards in about 3 layers deep between plastic sheet and taped up and slipped it into a standard DL envelope and took my chances by sending it as an unregistered "document" since it seemed to comply with all the regulations. Seems it worked, they are after all "printed" material :)
Sign In or Register to comment.