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

P2D2 - An open hardware reference design for the P2 CPU

1131416181938

Comments

  • Cluso99Cluso99 Posts: 18,069
    edited 2019-04-26 23:39
    @jmg,
    Great ideas. So step up and make some boards yourself :smiley:
  • See if your eyes can pick something I missed or something that won't work properly.

    Hi Peter

    IIRC, there were some previous discussion (P2-Eval-related threads? I couldn't find them, ATM.) about possible advantages in having parallel-associated decoupling caps (100 nF//10 nF, 100 nF//1 nF, or even 10 nF//1 nF) as a means to filter-out the most part of noise at P2 VDD and VIO input pins.

    IMHO, VPLL is one of the best candidates where some relevant experiences could be attempted, in order to feed that node with a silent-like-a-tomb power rail.

    At least to my eyes, there appears to have some spare space where the above could be atempted, pending some rework at the C23/J1 area and their close neighbourhood.

    Hope it could help a bit.

    Henrique
  • jmgjmg Posts: 15,172
    edited 2019-04-27 05:58
    jmg wrote: »
    On the topic of connector options, another compatible connector to look into would be the RaspPi.
    There are nice KeDei LCD modules available that use 128MHz SPI and a subset of the 40 pins. They stuff just 10w (SPI) and 4w (i2c) way female headers.
    See images here
    https://www.ebay.com/itm/3-5-TFT-LCD-Touch-Screen-Display-128M-SPI-Case-For-Raspberry-Pi-3-B-Zero-W/323407226634
    and this one includes a case and small fan
    https://www.aliexpress.com/item/32918104361.html?productId=32918104361&productSubject=New-3-5-inch-128M-SPI-60Hz-TFT-LCD-Display-Touch-Screen-ABS-Case-Fan-Heat

    The proposal would be to match just that LCD Module subset pinout, as that looks practical on P2D2. 100% map of all pins is not practical, as P2D2 has 32 IO
    RaspPi pinout used
    Hmm... an oops that may make things easier.
    I assumed the LCD uses each end of the Pi connector, (i2c SPI1) but not finding any SCH's and `measuring the screen` as a sanity check, indicates the 2nd connector is mapped to pins 20..28 ie uses SPI0, NOT SPI1.

    If there are no physical connections to the LCD, at the P2-FLASH pin end, life gets simpler and the initial linear-order pin mapping is probably fine.

    If someone wanted to mate a P2D2 to a Pi, that would also be Pwr/Gnd OK, but a possible issue may be any activity on SPI1 during any Pi actions.
    (maybe 3v3 pins should be isolated for P2D2 to Pi ? - looks easy to add 0402 jumpers for that )

    Google finds this,
    http://terminal28.blogspot.com/2016/05/enabling-spi1-on-raspberry-pi-bzero23.html
    looks like SPI1 is recently enabled, and not used for anything else on-board ?
    The Touch LCD Module & other Pi HW mapping looks to be this, for pin-swapped P2D2 
    CLK0  <- P49
    0CS0  <- P50
    0CS1  <- P52
    MISO0 <- P47
    MOSI0 <- P45
    tSCL  <- P33 if uses i2c Touch
    tSDA  <- P32 if uses i2c Touch
    TX0   <- P34 (P2_RX)
    RX0   <- P36 (P2_TX)
    
    Older HC595 LCD board uses 2x4 2x2 headers, (new CPLD one is 2x5, 2x2) and there are docs on the older one, suggest a SPI Touch device.
    Silkscreen annotate : 
    L_CS T_CS IRQ  GND           5V 5V
    GND  CLK  MISO MOSI          NC NC
    
  • jmgjmg Posts: 15,172
    Don't forget that all these files are available through my various links or via the Tachyon Dropbox but here is a link to the current Gerbers.

    When this is converged on stable, can you post a PCAD export version of -R2, so I can load into KiCad ?
  • To me, hand soldering makes absolutely no sense when solder paste is readily available and all I use is a cheap toaster oven (and technique).

    I always wanted to follow that route. Please, can you give more details :

    Is that solder paste available in Digikey for ship anywhere? What is the product number? How much does it cost?
    What is the shelf life once opened? Does it need refrigerator?
    What is the failure PCB rate when using a toaster oven?
    How many PCBs does it take to master (learn) how to make 100% working PCBs (100% yield)?
    Is it worth the price if just one only makes one PCB every one or two months?

  • jmgjmg Posts: 15,172
    edited 2019-04-28 01:20
    Ramon wrote: »
    Is that solder paste available in Digikey for ship anywhere? What is the product number? How much does it cost?
    What is the shelf life once opened? Does it need refrigerator?
    https://www.digikey.com/products/en/soldering-desoldering-rework-products/solder/262?k=solder paste

    Ramon wrote: »
    What is the failure PCB rate when using a toaster oven?
    How many PCBs does it take to master (learn) how to make 100% working PCBs (100% yield)?
    Is it worth the price if just one only makes one PCB every one or two months?
    One issue with toaster ovens is lack of control of the temperature profile, so things like LEDs can be tricky.
    That probably makes lower temperature solders a better choice for prototypes.

    Using a solder paste screen can improve quality & yield, especially on TQFP/QFN/BGA type packages, and I think most PCB fabs can now do those at quite low cost.
    eg pcbway is now $15 for a 190 x 290 useful area stencil. - and jlcpcb.com is $6 for 190 x 290 stencil


    Has anyone tried the low temperature solder that shows up in that Digikey search above ?
    Bi57.6Sn42Ag0.4 (57.6/42/0.4) 281°F (138°C) Lead Free
  • jmg wrote: »
    One issue with toaster ovens is lack of control of the temperature profile, so things like LEDs can be tricky.
    Which is why you watch the solder paste flow. The trickiest components are flat flex connectors, the latches for which deform
    before the body - if you can remove the latch before soldering and replace afterwards that helps.
    That probably makes lower temperature solders a better choice for prototypes.
    I've found no need. What you do have to do is allow a longer soak period for large heavy components like inductors.

    Using a solder paste screen can improve quality & yield, especially on TQFP/QFN/BGA type packages, and I think most PCB fabs can now do those at quite low cost.
    Stencil is pretty essential, as is a stencil frame of some sort to tension and hold it absolutely still while squeegeeing.
    Old stainless steel stencils make brilliant squeegee tools.

    You can laser cut stencils from thin shiny card or even paper at a pinch. Many fabs will do them
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2019-04-28 02:43
    Ramon wrote: »
    I always wanted to follow that route. Please, can you give more details :

    Is that solder paste available in Digikey for ship anywhere? What is the product number? How much does it cost?
    What is the shelf life once opened? Does it need refrigerator?
    What is the failure PCB rate when using a toaster oven?
    How many PCBs does it take to master (learn) how to make 100% working PCBs (100% yield)?
    Is it worth the price if just one only makes one PCB every one or two months?

    Sure, taking a quick look at Digikey I see they have 10cc syringes of 63/37 leaded solder for $22. Even though they say you refrigerate this product in between use I have accidentally found that by wrapping aluminum foil on the nozzle instead of using the cap that it has kept on the bench at ambient for many many months, in fact a lot longer (don't ask). The only time it got wrecked was when the foil fell off. The paste I used for the P2D2 was this same tube. Strange, but true.

    Using a syringe is convenient but if you do a lot of pasting you can get a sore hand from pushing that plunger so I have my tube loaded into a hand gun instead. Just go around squeezing paste onto each pad and for the fine pitch ICs I simply squiggle a line of paste down along the pads about center. When you place the chip I even squish it a bit to ensure good contact and paste is everywhere but before the board goes into the over I trim the placement of the components if necessary using the tweezers. This is especially true with the chips and just requires nudging them centrally onto the pads even with paste shorting everything out. When everything is pasted, placed, and trimmed, you can load it into the oven.

    The toaster oven is one of those cheap top and bottom rod element versions and I disable the timer and turn the heat up to max. Just to be sure I leave an oven thermometer in there to check the temperature so I allow about 10 mins for preheat. Now the trick is not to put the board directly on the rack but instead I use the tray with a mat of folded foil which the pcb sits on and lately I have used a foil baking dish upended over the pcbs to prevent direct heat from the top element from browning any bits. I also have a second tray that I put on the bottom rack for the same reason but that probably isn't needed. Rather than placing the pcb(s) directly into the hot oven I have that foil mat sitting on the bench which I lay the pcbs onto to, and then place that mat onto the tray.

    There's a cheap digital clock/timer that I have preset to 4 minutes so as soon as the pcbs are in I start that timer. Once 4 mins are up I open the door and use the tray tool to pick up the tray and place it on a cooling rack. Because the pcbs are on a foil mat you will find that after 20 secs or so you can even pick up that mat by hand and take it off the tray (which stays hot). I have a big white ceramic tile with rubber feet stuck on that I use for smd assembly and soldering in general and so the tile is not affected by the heat or blobs of solder and the tile is easily cleaned and the white makes parts easy to spot.

    BTW, I normally buy reels of passives and cut about a hundred or so off and place into those little SMD clip together parts bins you can buy on eBay. Get a piece of paper and crease it down the center along the length and you can strip the passives from the tape over this paper and then when you tip it into the parts bin, the parts will slide down along the crease straight into the bin. There's also an magnetic smd pick tool I made that I can safely remove parts from these bins with that I place onto the backside of a business card where one little edge is bent up. I then use the tweezers straight from this card and simply pick up the parts that are up the right way rather than trying to flip them etc. Once I have placed that value I then slide the parts back into the bin using the card's crease as a guide channel.

    For the price of a tube of paste and an oven it is definitely worth it even if you only make a pcb very occasionally. It boosts your confidence, and does away with the dread that you might have had before about smd. In fact you end up dreading having to hand solder with the iron!!!

    All this is really really simple and I rarely have any "failures". There is the occasional bridge etc but a tube of gel flux onto these bridges and swipe with a hot flat iron tip is usually all that is necessary to remove it. Very rarely would I need to use anything more.

    I think I need to do a video but I will have to line up my wife to record it and zoom in etc.

    EDIT - here are some album links I have done of SMD assembly
    https://photos.app.goo.gl/F5eqaujJJeg1PHHw5
    https://photos.app.goo.gl/iPxhdTv6HdHjx3Sj7
    https://photos.app.goo.gl/hL3R9XhqwR6f4cJh6






  • Liked your ceramic tile tip for soldering, Peter. As I have a rather dark workbench surface if I ever drop any tiny SMD parts onto it they become lost almost right away. So I've tended to use white paper as a contrasting colour below my board while I assemble/solder and to help protect the bench surface from heat, scratches, solder blobs etc but it is not really ideal and dropped parts can get caught underneath. However I quite like the sound of your tile idea and may look around to get one for that purpose to see how it works out. A typical 30cmx30cm flat white tile would be okay I guess? Another bonus is you can lift the whole tile up to move things about and it remains stable, though perhaps the board may slip on it a little if it is glossy. I could probably add some thin frame around it to give it a small lip on the edge using some quad timber moulding etc. That would help retain SMD parts slipping off the tile.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2019-04-28 02:52
    I have big bulldog paper clips to clamp the pcb to the tile but I also have a metal plate (actually a book end) and magnetic clips so I can position a pcb optimally. The tile is a 30x30cm and seems like just the right size.
  • Cluso99Cluso99 Posts: 18,069
    edited 2019-04-28 04:03
    Like your tile tip. I use a corrian tile with bumpons underneath. Unfortunately mine is rather dark mottly green/grey. But I can move it about when I want.

    I use mylar stencils from oshstencils.com - work great even for building many pcbs (>50).

    I use a jar of solder paste (unleaded) as I found the tube too difficult to dispense - never seen/tried a gun. I also have leaded solder but don't use that now as I am spoilt with a real reflow oven - Torch 100C IIRC. Without the real oven I'd probably use leaded solder because of the lower melt temp.
    I keep the jar in the fridge in a sealed plastic bag. It's over 5 years old and going strong!!! I decant a little into a tiny jam jar, and again sealed in a plastic bag (with as much air removed as possible - don't know if it helps but that's what I do). I use this tiny jar to come up to room temp and dispense what I need for the board(s) I am going to solder and put back the remainder in the fridge. When this tiny jar loses it's maleability I trash the contents and get a new spoon or so from the main jar. The main jar has a plastic seal that pushes/closes down to the solder keeping the solder paste airtight and sealed.

    Before I bought my oven I soldered by hand with fine solder and with solder paste. The trick here is to make the solder pads longer by 0.5-1.0mm out from the pin. This makes it sooo much easier to hand solder. Peter told me about this trick but I no longer use it.

    For pasting, I tape down pcbs around 3 edges of my pcb. You can purchase right angle plastics from oshstencils to do this too. Then put your pcb into the space (should be quite tight fit) and flip your taped down stencil over the top. It should align pretty close, so just adjust as needed and then scrape/squeegie solder paste over your pcb. A credit card, or a mini card with barcode from some stores as loyalty cards work nicely.
  • Solvents in a fridge? Not worth the risk. Consider that a fridge is a large air-tight cylinder with a spark plug that operates whenever you start to open the door. Solvent build up plus fridge-light switch = explosion.
  • Cluso99Cluso99 Posts: 18,069
    Mark_T wrote: »
    Solvents in a fridge? Not worth the risk. Consider that a fridge is a large air-tight cylinder with a spark plug that operates whenever you start to open the door. Solvent build up plus fridge-light switch = explosion.

    Do you not realise these are in airtight containers? Where do you think manufacturers store these pastes?
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2019-04-29 02:49
    Latest schematic - all on one page.
    P2D2%20SCHEMATIC%20-%20190429.png
    3083 x 1877 - 474K
  • Here's the PCAD ASCII version of the P2D2
  • jmgjmg Posts: 15,172
    edited 2019-05-05 20:32
    Here's the PCAD ASCII version of the P2D2
    That loads OK into KiCAD. Below is progress on a P2D2Pi fork of this.

    and here is the PADS ASCII version (v3 & v5 ASCII), from an Altium import, to check if that can round-trip ok, back into Altium.
    ** Updated PADS ASCII to cleanup Fills, and DRC / connectivity errors = 0
    ** updated 2 : added RTC and i2c pullups to track P2D2, version with RaspPi LCD compatible 40 Pin headers, extra decoupling, more copper and many more thermal vias. 4 Layer ready.
    ** update 3 : NCP187 x 2 - improves with higher psrr, much lower noise LDO, better thermally (provisional change, lead times tbd)
    ** Update 0506 changed USB connector to same as P2-EV, & moved USB to PCB edge, shifted PP1 inboard.
  • roglohrogloh Posts: 5,775
    edited 2019-04-29 06:00
    One question Peter, if you already have the monitor micro soldered onboard a P2D2R2 but you didn't want to use it, can it simply be disabled by holding it's reset pin (C2CK?) input low? Will that be sufficient to make it fully passive and allow the P2 to boot up normally, or is it still needed in some way for the P2 to boot?
  • jmgjmg Posts: 15,172
    edited 2019-04-29 08:24
    Pin 4 of SC2 has no tag on SCH, but has a short trace that goes nowhere on PCB ?

    There also seem to be many overlapping and redundant PLANE areas, and those cause issues in both PADS and kiCAD.
    Flood priority order does not seem to convert well, so that means a lot more editing is needed. A simplify pass would make this more portable :)
  • @Peter perhaps I am wrong, but I can't see the I2C pull-ups on you latest schematic

    I also can't understand how the usb current limit works. The TPS22919 will only limit the in-rush current on the vbus pin because of its rising curve. But it is a continuous 1.5A switch .... how will it limit the vbus current to 500mA? Isn't the whole PCB (Vcc,Vdd,Va,Vb) powered through vbus in this way?
  • @dMajo - true, at present I am relying on pullups on either the monitor or the P2 but I will see if I can fit a 2 resistor array in there since I am also placing the RTC on the reverse of the board as an option.

    USB ports are already current limited which is why some will only source 500ma etc. I don't really want to limit the current too much, just protect against short-circuits or power-supply failures. There are other chips I could use but I always find that the micro USB lead itself is a very effective current "limiter" :) The USB spec was always crippled when it was decided that +5V would be supplied to devices that require +5V whereas a higher supply of at least 8V would have allowed for voltage drop and regulation but a much higher supply to a switcher would have much less voltage drop again due to the reduced current draw.

  • @Peter I have used many times the FM32L278 as an eeprom replacement with integrated RTC with P1.
    Now I think there is no need for integrated memory with RTC, but if you are implementing this try to wire the RTC output/interrupt to the P2 pin beside of course the I2C bus (I am sure you will prefer an I2C part against an SPI as this saves a CS, allows for concurrent P2 communication with flash/sd and makes RTC available to any master on the I2C bus, also on the motherboard outside the module).
    The RTC's output to P2 connection can allow to sleep completely the P2 and wake-up at RTC event and/or clock.
  • Cluso99Cluso99 Posts: 18,069
    FM32L278 is showing as obsolete. That’s a big problem these days - most ICs go obsolete so quickly :(
  • Cluso99 wrote: »
    FM32L278 is showing as obsolete. That’s a big problem these days - most ICs go obsolete so quickly :(

    Yea, unfortunately. It started when Cypress acquired Ramtron. But it is a great part and 75% of my P1 projects have this instead of the eeprom as I found/implemented a discrete copy/anti-tamper protection with it.

    BTW: I was not suggesting this part for P2. I was only saying that the RTC, if added should be I2C and should have its interrupt output wired to a dedicated P2 pin. In this way the signal can wake-up the P2 and it is also available outside the module as the I2C bus.

  • The RV-3028 is really small at 1.5x3mm and only draws 40na so I only need a tiny supercap to keep it running in standby. Besides, it also has 32-bit Unix time in addition to the "traditional" (ancient) BCD counters and the INT pin can be programmed not only with alarm functions but other timer functions as well.
    Just a couple of the RV-3028 features
    - Integrated crystal calibrated to 1ppm.
    - 43 bytes EEPROM
    - Event counter input with timestamp (works in standby so suitable for anti-tamper)
    - Timestamp on standby changeover
    - password protected timer and config.

  • The ESP32-WROOM footprint fits nicely but all these variants are confusing since some of them sound identical.
  • jmgjmg Posts: 15,172
    The RV-3028 is really small at 1.5x3mm and only draws 40na so I only need a tiny supercap to keep it running in standby. Besides, it also has 32-bit Unix time in addition to the "traditional" (ancient) BCD counters and the INT pin can be programmed not only with alarm functions but other timer functions as well.
    Just a couple of the RV-3028 features
    - Integrated crystal calibrated to 1ppm.
    - 43 bytes EEPROM
    - Event counter input with timestamp (works in standby so suitable for anti-tamper)
    - Timestamp on standby changeover
    - password protected timer and config.

    Yes, that is a nice part. Only aspect missing is TCXO, but you can't really have super low power, and correction at the same time.
  • This is the latest schematic which shows the I2C pullups but also the flip-side option for an RTC (but this is also included on the Mate pcb too).
    P2D2%20SCHEMATIC%20-%20190430.png
    2985 x 1843 - 479K
  • Cluso99 wrote: »
    Mark_T wrote: »
    Solvents in a fridge? Not worth the risk. Consider that a fridge is a large air-tight cylinder with a spark plug that operates whenever you start to open the door. Solvent build up plus fridge-light switch = explosion.

    Do you not realise these are in airtight containers? Where do you think manufacturers store these pastes?
    Containers leak, fail, people forget to tighten properly... In an industrial setting they will have to ventilate the storage
    facility and monitor for combustible gas build up I hope. Otherwise every so often the whole facility expodes and kills
    many people. Assuming good regulation of course!

    Its just not a risk I would take having seen what happens when it goes wrong.
  • Mark_T wrote: »
    Cluso99 wrote: »
    Mark_T wrote: »
    Solvents in a fridge? Not worth the risk. Consider that a fridge is a large air-tight cylinder with a spark plug that operates whenever you start to open the door. Solvent build up plus fridge-light switch = explosion.

    Do you not realise these are in airtight containers? Where do you think manufacturers store these pastes?
    Containers leak, fail, people forget to tighten properly... In an industrial setting they will have to ventilate the storage
    facility and monitor for combustible gas build up I hope. Otherwise every so often the whole facility expodes and kills
    many people. Assuming good regulation of course!

    Its just not a risk I would take having seen what happens when it goes wrong.

    Given the %LEL (Lower Explosive Limit) and %UEL (Upper Explosive Limit) of the solvents involved, and the hobbyist quantities being discussed in the original conversation on the thread, it's probably not something to worry about.
    In an industrial setting there wouldn't be a low cost spark-prone switch contact controlling the lights, but yes, there would be measures in place to ensure safety.

  • jmgjmg Posts: 15,172
    edited 2019-04-30 21:32
    Here's the PCAD ASCII version of the P2D2

    Do you have an Altium version with the added RTC ?
    In improving the thermal and vias, I found one mistake, the Si5351A MSOP10 package, is not 0.5mm, but looks to be 0.65mm ?
Sign In or Register to comment.