Help Selecting MCU - Page 1
Forum section: electronics / general

author: CraigHB
author_rank: Regular Contributor
timestamp: September 24, 2014, 04:49:38 am
content: Hello engineers,I'm thinking about doing a DC-DC converter using an MCU as a controller. I need some help finding a range of MCUs that fit the bill. Finding a certain set of features can be a daunting task with MCUs, there's just so many out there. I'm hoping someone more familiar with what's out there can steer me in the right direction.Here's what I need,Converter switches at 500kHz so I need PWM resolution at least 200pS and 14 bits. Two PWM outputs are required. The converter has two synchronous MOSFET drivers as it's buck-boost.Low pin count, 28 to 48, lower is better. The board has to be small as possible for this project. I actually need only 21 I/O pins at most.At least four 12 bit ADC inputs, independent channels are better, but can operate sequentially if necessary.ADC sample rate at least 200ksp, but higher is betterNo preference on the core, any 16 bit or 32 bit RISC architecture should be fine. The ones with high speed PWM tend to have high speed cores so probably be plenty fast enough anyway.At least one I2C module and one SPI module, no other comms or special functions required.Supply voltage down to 3V, deep sleep mode available, wake on input change.Of course a supported IDE from the maker and an inexpensive in-circuit programming/debugging tool. Need good documentation for both parts and tools.MOSFET drivers might be nice if they're high power, but planning to use separate driver chips. A scalable reference or two would be nice.Anything else is pretty much standard fare for any MCU. The hard thing is finding them with an ultra-high speed PWM module without a huge pin count or price tag.

author: Kjelt
author_rank: Super Contributor
timestamp: September 24, 2014, 07:07:24 am
content: Quote from: CraigHB on September 24, 2014, 04:49:38 amYou're kidding right? 5GHz PWM on a microcontroller? Never seen it. Usual PWM's are kHz's and low MHz's. I even wonder if a cpld can do this.

author: coppice
author_rank: Super Contributor
timestamp: September 24, 2014, 08:07:18 am
content: Quote from: Kjelt on September 24, 2014, 07:07:24 amYou don't need a 5GHz clock to get 200ps PWM resolution, but you do need 200ps resolution to make a good power supply controller. If you look at the controllers designed for high performance motor control and power supplies, like the C2000 family, you will see how this works.

author: Kjelt
author_rank: Super Contributor
timestamp: September 24, 2014, 08:40:20 am
content: Ok see they claim 150ps , wow.Fastest I saw were the standalone SMEDs of the STm8 lux series.But those were "only" 1,3ns resolution.http://www.st.com/web/en/catalog/sense_power/FM142/CL1428/SC640/PF258442

author: dannyf
author_rank: Super Contributor
timestamp: September 24, 2014, 10:37:27 am
content: QuoteHover over to freescale - those guys are the king of such devices.

author: CraigHB
author_rank: Regular Contributor
timestamp: September 24, 2014, 06:55:18 pm
content: Thanks, I'll look at the Freescale parts.The TI C2000 controllers have PWM resolution down to 12ps which is pretty amazing, but they're overkill for what I need. They're designed for bigger jobs than what I'm trying to do and the pin count starts at 64.

author: CraigHB
author_rank: Regular Contributor
timestamp: September 25, 2014, 07:53:41 am
content: I checked out the Freescale stuff, they have a low pin count part that looks good for the most part. The best PWM resolution is 312pS which can work, provides over 6k steps at 500kHz. Big problem with that part for me though, it draws almost a milli-Amp in sleep mode which is way too high. It's for a battery powered device.I spent a little more time at TI looking at the C2000 line. There's one from the Piccolo portfolio that has 38 pins which should be small enough. It runs at 50MHz and has 150ps PWM resolution. It has a 50uA draw in sleep mode. So, I'll probably work with that and see how it goes. Looks like it has all the features I need. Still I would like a lower power part, but anything that can do high speed PWM is going to have a big draw because of the speeds so that's probably asking too much.

author: westfw
author_rank: Super Contributor
timestamp: September 25, 2014, 08:55:18 am
content: There's a C2000 "launchpad", too:http://www.ti.com/ww/en/launchpad/launchpads-c2000.html#tabs

author: nctnico
author_rank: Super Contributor
timestamp: September 25, 2014, 09:12:30 am
content: Can't you loosen the PWM requirements? If you use dithering on the PWM instead of looking for a high timing resolution you can use many other devices.

author: coppice
author_rank: Super Contributor
timestamp: September 25, 2014, 12:39:35 pm
content: Quote from: CraigHB on September 24, 2014, 06:55:18 pmThe C2000 devices targeted at digital power supplies have a low pin count. The more you look at the features of those devices, the more you will see how carefully crafted for power supplies they are. Things like the blanked peak current cutoff features are a huge boon.

author: dannyf
author_rank: Super Contributor
timestamp: September 25, 2014, 09:35:51 pm
content: I am not sure what your goal is. If the goal is to produce a mcu-controlled smps for portable applications, use a mcu.However, it seems to me that there are other, potentially far easier, ways to build a smps controllable from a mcu.But it is obviously your call.

author: CraigHB
author_rank: Regular Contributor
timestamp: September 25, 2014, 11:13:18 pm
content: Thanks for the replies.The goal is to use an MCU to implement a 4 switch buck boost converter in lieu of a converter controller chip . The main reason is it removes the limitations imposed by the controller, mainly maximal current demand. I can also get better efficiency using voltage mode control over current mode control. There's some other improvements I can make as well. And of course, it reduces part count. The MCU performs other functions as well as controlling the power supply.The product uses a small footprint PCB powered by a high drain Li-Ion battery able to put out high currents both above and below battery voltage. There's not many 4 switch buck-boost controllers available capable of doing this and the handful that can are limited. Using an MCU allows me to set my own limits.At this point, I'm looking at the TI Piccolo TMS320F28023 which meets all of my requirements with one big exception. These are power hungry devices not really suitable for something battery powered. With a tenth Amp draw, it will cost several percent efficiency. Kind of defeats the point.I'm open for suggestions for sure. I've not done this before so I'm no expert. I've successfully designed a number of switch mode supplies with a DC-DC converter controller. Have not attempted it using an MCU.The idea is to use an MCU to provide the PWM signal required. It doesn't really matter how. The obvious thing is for the MCU to simply do the same job a DC-DC converter controller does. If there's a better way that calls for less performance out an MCU's PWM module, I'll go with it.I was thinking of using an analog PWM generator, there's one from Linear that can work, the LTC6992, but there's not many options there either. In that case I need an MCU with a couple high speed 12 bit DACs which removes the high speed PWM requirement, but then presents its own problems.In terms of relaxing requirements, there's just no way. Due to the size limitation of the PCB, the absolute lowest switching frequency I can use is 500kHz. Otherwise, I need a larger value inductor which I don't have room for. Increasing inductance value without increasing size increases DCR. A higher DCR limits current output due to heating.

author: nctnico
author_rank: Super Contributor
timestamp: September 25, 2014, 11:34:52 pm
content: On of the things to consider is that you will want cycle-by-cylce current limiting in the hardware. At start-up and during short circuit conditions the inductor will see large currents and may saturate. Cycle-by-cycle current limiting will make the circuit much more rugged and you don't have to deal (much) with current limiting in software. Every SMPS controller chip has this feature.

author: CraigHB
author_rank: Regular Contributor
timestamp: September 26, 2014, 12:48:06 am
content: Some controllers have the option of hiccup mode or cycle by cycle current limiting. Some are only hiccup mode which requires a number of cycles out of range then a restart.I'm not using a converter controller so I would have to handle over-current protection in software, at the least is short circuit protection. I could use the low side MOSFET voltage drop to monitor switch loading with a couple ADC inputs if I want to do it by the book. However, the MCU monitors voltage at the input and monitors both current and voltage at the output. The code always knows inductor and switch loading since it's only a matter of a power calculation based on those measurements.The saturation for the inductor I plan to use is quite high, almost twice the maximal programmed limit so there should be no concern with saturation when operating within programmed limits.I figure even with the fastest PWM and ADC modules, probably the best I can do is to control pulse width every other cycle. I need time to take samples and run code and I don't think I can do that in 2uS. Should be able to do that in 4uS with the Piccolo part. Running a simulation shows control every other cycle to be adequate. That being the case, I wouldn't be able to do cycle by cycle current limiting anyway, only every other cycle.

author: nctnico
author_rank: Super Contributor
timestamp: September 26, 2014, 07:45:28 am
content: Many years ago I made a DC-DC converter in software using an LPC2103 ARM controller. In this controller you can use a timer match to trigger the A/D conversion. I used that feature to position the sample point at the end of the PWM cycle to determine the current by measuring the voltage over the Mosfet. This method is crude and has a very wide tolerance (factor 2). Running at 300kHz was not a problem; this was a single channel design though. For a multi-channel solution using a similar controller I implemented cycle-by-cycle current limiting in hardware.