Selecting largest micro I've ever used, need tips - Page 1
Forum section: electronics / general

author: jnz
author_rank: Frequent Contributor
timestamp: December 18, 2021, 09:13:46 pm
content: I'm used to ARM m0 and m4. Typically in small packages and under 100Mhz core.Have a project coming up where I need some peripherals only the larger chips have.- If I'm looking at a three packages here:https://www.st.com/resource/en/datasheet/stm32h725rg.pdf1. TFBGA 100, 8x8mm typical BGA2. VFQFPN 68 with a large exposed pad3. WLCSP 115What pitfalls are there on BGA and WLCSP (leaning BGA)? Are there BGA gotchas that I should know?How about heat?I need routing options and space more than I need Mhz, I'd run a 500Mhz chip at 200-350ish. I'm used to working with QFNL with pads. I didn't see a great breakdown in the datasheet.It seems to me I would have enough room to put a via 45 degrees off each pad I need, still need to check with board house on min hole sizes. A 8x8mm 100pin BGA is .8mm center to center.Anything I might need to know about a Cortex m4 vs m7?Seems like faster but overall same thing.Also....I could use a "smaller" micro if QSPI memory in mapped mode was flawless and really just worked in all ways like internal memory. I need room for an OTA firmware image and none of the compatible chips have enough internal memory.Is QSPI invisible like it seems?Thanks guys,

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 18, 2021, 09:40:31 pm
content: As to package, I'd take the BGA any day. 0.8mm pitch is rather easy to work with.The QFN with 0.4mm pitch? No thanks. And the WLCSP with 0.35mm pitch? Good luck with that. Not even worth considering unless you need something very small and have the skills AND the cash for the PCB.The Cortex-M7 is much more powerful than the M4. You'll get details at ARM directly, no need for us to repeat here what the differences are. The only figure I can give you is that the M7 has a Coremark figure of ~5 Coremark/Mhz vs. ~3.4 for the M4. The official comparison table:https://developer.arm.com/-/media/Arm%20Developer%20Community/PDF/Cortex-A%20R%20M%20datasheets/Arm%20Cortex-M%20Comparison%20Table_v3.pdfAny MCU properly supporting QSPI will make the corresponding memory chip appear as memory-mapped. No problem with that. Now the performance will of course depend on the particular MCU and particular QSPI chip used. And, configuring QSP is usually not trivial either, so unless you have it all ready and validated through an exisiting library, that'll take time to figure out and implement properly.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: December 18, 2021, 09:57:26 pm
content: Quote from: jnz on December 18, 2021, 09:13:46 pmWhat exactly do you mean by this ? Are you talking RAM to hold a downloaded image, or enough onboard flash to hold a second image ?There are other options, e.g. a cheap external SPI flash to hold the downloaded image.

author: Psi
author_rank: Super Contributor
timestamp: December 18, 2021, 10:17:20 pm
content: Personally, If I wanted something quick to solder I would go with the BGA.But for someone new I think the QFN, if it has exposed pads, will be easier to get right and you can retry until you succeed.With the BGA/WLCSP you only get 1 shot at it before you need to clean everything off and either get a new chip or use loose balls/paste and a stencil to reball the chip.For the QFN there are 3 approaches you can use to solder it.1) Get a solder stencil and paste the PCB yourself. Then you can drop the chip on the board align and reflow. (This takes some practice to get good at it, so I don't recommend this unless you want to learn the process)2) Ideally done under a microscope.Apply flux and tin all the PCB pads with some solder. Don't put too much on the big center pad, it only needs a tiny bit.Try to get the amount of solder on all the small pads roughly the same. This is usually doable by just adding solder on the iron tip and running it over the fluxed pads at a constant speed.Now align the chip on the board and apply hot air. When the chip starts to sink into the solder push down on it with some tweezers so you can get it flat to the PCB. You will most likely get some solder balls pushing out the side, this is ok, it's extra solder that is not needed and since it has now pushed out the side you can easily remove it with the iron tip.Clean up any bridged pads with the iron and flux.You can stop at this point if you want, you're chip is probably soldered ok now, but sometimes it's a good idea to heat the chip back up with the hot air (not pushing down this time) and just let it move around and realign itself a little. You can also take it off and put it back on again with more flux since at this point the amount of solder on the chip and pads should be the correct amount.3) Ideally done under a microscope.Tin only the center pad. Now put the chip on the board and reflow with hot air and get the alignment correct so all the pads align on each side and the chip is flat on the PCB. Put a small-ish tip on the iron. Apply flux to each side of the chip. Apply solder to the iron and then run the iron tip down the side of the exposed pads on each side of the chip. You should get nice joints forming as you run the iron past each pad. Bridges are easy to clear with some flux and the iron tip again.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: December 18, 2021, 10:25:07 pm
content: Also for QFNs, check if the centre pad actually needs to be connected - in many cases it doesn't, and makes rework much easier if you don't need it.

author: Psi
author_rank: Super Contributor
timestamp: December 18, 2021, 10:32:05 pm
content: yeah, if you don't need the center pad connected you can just place IC on the board, apply flux and then run around it with the iron to solder the pads. It's like drag soldering a TQFP except that solder bridge are MUCH less common, usually none if you used enough flux.

author: jnz
author_rank: Frequent Contributor
timestamp: December 18, 2021, 10:51:19 pm
content: Quote from: mikeselectricstuff on December 18, 2021, 09:57:26 pmYes, for the most part with some caveats. The OTA system (MQTT packets) really really really wants to see dual bank (enough flash to hold both and be able to roll back, canary updates and etc). So, while I could use external memory to store and hold the new firmware, it's a little more custom code and I'm really more about not deviating anywhere I don't have to.The other thing is that I really need more than 128KB of RAM. So stepping up to the larger chips starts to look good all things considered.The cortex m4 I'm looking at would run me about $2 less than the m7 once I add $2 for QSPI storage. Plus the additional development time. As where, the m7 isn't that much more, I can price the difference in to the retail, and I get the extra ram with no additional work.I want to avoid more SPI and manual drivers. So QSPI with it's transparent memory-map feature is appealing.If it was my money, the m4 + QSPI... But since I get paid the same either way, I kinda don't care a ton and wouldn't mind the m7 as it makes most things easier. The gives me a little more room to grow. Still up in the air though.I needed to know about the BGA vs UFQFNL to see if the m7 had some surprised I wasn't prepared for. It sounds well within my skill to deal with the BGA, but agree, the WLCSP is out.

author: Psi
author_rank: Super Contributor
timestamp: December 18, 2021, 10:59:24 pm
content: Have you looked at breakout for that BGA, with that many pads you are going to either need lots of layers or burred/blind viasI've not done a BGA pcb in a while but that chip looks like it needs a 6 layer pcb. Maybe 8 if you have multiple power planes.Though i guess it will depend how many pads you don't actually need and can leave unconnected.

author: jnz
author_rank: Frequent Contributor
timestamp: December 19, 2021, 01:57:05 am
content: I’ve been planning on a 6 layer. Lots of io I won’t be using. I could get by with 40 of the 100.I think it’ll be ok. Definitely will have to check on the best way to put bypass caps on the other side.

author: jnz
author_rank: Frequent Contributor
timestamp: December 19, 2021, 02:07:22 am
content: Quote from: SiliconWizard on December 18, 2021, 09:40:31 pmI think on the configure you are getting that the commands each chip use use have to be set in the QSPI registers and then setting for bus width and the etc etc things like clocks and whatnot, Right?

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 19, 2021, 02:49:48 am
content: Quote from: jnz on December 19, 2021, 02:07:22 amThat's basically it, yes. But frankly this part, especially if you're not familiar with QSPI, is likely to take you significantly more time to write than just accessing a regular Flash chip through SPI. Now if you have a working example for the MCU and Flash chip you're going to use, that's another matter. But just wanted to warn you about this. Investigate this point before making a decision.

author: jnz
author_rank: Frequent Contributor
timestamp: December 19, 2021, 02:52:35 am
content: Quote from: SiliconWizard on December 19, 2021, 02:49:48 amGood advice, appreciate itI read this (great!) articlehttps://www.jblopen.com/qspi-nor-flash-part-3-the-quad-spi-protocol/and I get what you were leading to. There seem to be a lot of options in formats, addressing, and etc. I think I can handle it, but I’ll also make sure if I go this route that I select as common and well supported a chip as possible.That said… this is why buying the m7 is also attractive.

author: NorthGuy
author_rank: Super Contributor
timestamp: December 19, 2021, 04:31:22 am
content: Quote from: jnz on December 19, 2021, 01:57:05 amWith BGA, there's no problem to fan out 40 pins even on a 2-layer board.

author: jnz
author_rank: Frequent Contributor
timestamp: December 19, 2021, 05:08:58 am
content: Quote from: NorthGuy on December 19, 2021, 04:31:22 amIt’s a very very small board. So I’m going to struggle at 4, that’s why I’m already planning for 6 (4+2).

author: Psi
author_rank: Super Contributor
timestamp: December 19, 2021, 07:37:41 am
content: Sorry jnz, re-reading your first post it's clear you are more experienced than I assumed when I posted.For some reason I thought you were new to soldering big SMT ICs. I probably should not post late at night.

author: jnz
author_rank: Frequent Contributor
timestamp: December 19, 2021, 08:13:25 pm
content: Quote from: Psi on December 19, 2021, 07:37:41 amI would highly recommend not overestimating my knowledge or abilityI'll find a way to disappoint you, quickly!No sweat, it's a forum, half the things written are for future people anyhow.I've got fifteen years on SMT parts, just never needed a BGA!I'm still thinking I should go in and really look at recommended layout and thermal properties, because it seems the large exposed pad on the QFNP would just be far superior. Normally, I wouldn't care at all, but a 500Mhz chip even downclocked might actually run warm.Annoyingly STM has a .8mm BGA in their new parts, and .5mm in their old parts. So if I choose an older part, it might be more difficult. Next call is to my assembler to see what their board house can do.

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 19, 2021, 08:33:26 pm
content: BGA is no problem for this kind of chips regarding thermal dissipation. Don't fret about it. We routinely use BGAs with much more power dissipation than this one without any kind of heatsink needed.

author: Kjelt
author_rank: Super Contributor
timestamp: December 19, 2021, 08:38:37 pm
content: What about availability ?

author: hans
author_rank: Super Contributor
timestamp: December 19, 2021, 10:21:57 pm
content: Power consumption is typically fairly low for MCUs. The H725 consumes 145mA @ 550MHz, from 3V. So that's around 0.5W. The chip has an integrated SMPS to supply the core voltage, so if you run the chip from a lower input voltage, consider that the input current will increase.At 200MHz the power dissipation is around 150mW.Ch 7.9: the thermal resistance Junction-Ambient for VFQPFN68 is 26.1C/W, and TFBGA100 43.2C/W. It doesn't say how the PCB was designed, but I'm assuming it's either a 2 or 4 layer board with plenty of copper planes..So even with TFBGA100, the junction will only be 6.5C hotter than ambient @ 200MHz, and approx. 20C at 550MHz. TJ(Max) is 125C..So yes the QFN will be better able to handle the heat, but I don't think in a way where it will quickly make or break, unless you're planning to run the chip up and beyond it's specification (the documentation recommends 85C at "maximum dissipation").

author: Psi
author_rank: Super Contributor
timestamp: December 20, 2021, 01:24:01 am
content: Quote from: Kjelt on December 19, 2021, 08:38:37 pmhehe yeah. Pages and pages of zero stocked micros, its so sad.

author: jnz
author_rank: Frequent Contributor
timestamp: December 20, 2021, 06:59:11 pm
content: Quote from: Kjelt on December 19, 2021, 08:38:37 pmI'm not willing to discuss that. Just make me sad.Basically locking into a chip for a product that doesn't exist yet. And keeping an eye on alternatives in the same series. Willing to do board redesign and firmware tweaks whenever needed.

author: Kjelt
author_rank: Super Contributor
timestamp: December 21, 2021, 10:23:01 am
content: Fair enough.

author: Siwastaja
author_rank: Super Contributor
timestamp: December 21, 2021, 12:15:11 pm
content: Yeah, you have to dosomething. Picking a part, even if you can get just 5pcs for prototypes, and just starting to design lets you do most of the work. If you later need to respin the PCB and rewrite closest-to-hardware parts of the code for another chip, even if a different family or manufacturer, it's still only a tiny part of the work to be redone. Worrying to the point of not being able to do the work is the worst, and by only waiting for better times, no progress happens at all.

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 21, 2021, 06:50:05 pm
content: As we already discussed, when it comes to MCUs, write your code so that you "isolate" the low-level parts as much as possible - to ease porting it to other parts. That's the best you can do.There's nothing much you can do about availability at this point, unless you have a crystal ball.And yes, this is a pretty sad moment. And not just for the semiconductor shortage. No doubt about it.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: December 21, 2021, 07:18:25 pm
content: Quote from: SiliconWizard on December 21, 2021, 06:50:05 pm..except place a backorder and cross your fingers...

author: hans
author_rank: Super Contributor
timestamp: December 21, 2021, 11:35:16 pm
content: And try to get hold of dev boards (of a similar chip) like they worth "their weight" (including packaging) in gold.Not to scavenge the chip of them potentially, but if you really need to get the cart rolling, then going all out on a devboard for 1 project could be a viable option.Normally I don't bother that much with hooking together a complete prototype with a devboard. I typically want to leave them in a reusable state, where I only test a few isolated parts, and that's it.However, IME firmware for these larger devices can take a long time to complete, ofcourse depending on how much needs to be done.Probably still not enough time to wait for a backorder to come in though. Last summer I saw Mouser expecting some MCUs (not sure if it was STM32) shipping by 2023.

author: Psi
author_rank: Super Contributor
timestamp: December 22, 2021, 05:04:08 am
content: Depending on your application, eg hobby or prototype units so you can get on with some firmware development.Then, if you don't care too much about getting 2ndhand/recycled chips, you can just order from aliexpress.Make sure it's sellers with good a feedback score, 90+, and a good number of sales.But, if they have stock and noone else does, then you can be pretty sure they are selling recycled and reballed chips.It's a risk, but usually not that expensive.