When people decided which development board to purchase for their project / use case(s), the often look at the processor, memory, storage, and the external ports, as well as I/Os. However, very few people look at the PMIC (Power Management IC) on the board, as it’s normally an afterthought.
Development boards can work without PMIC, instead relying on a single fixed voltage, and for many people that may be good enough, but for more demanding tasks it may lead to either lower performance or overheating issues.
Modern processor all rely on DVFS ( Dynamic Voltage and Frequency Scaling) in order to adjust both the voltage and frequency of the processor depending on the load. This is done to optimize power consumption and/or manage the power budget, and overheating may lead to CPU throttling, where the system lowers the frequency and/or operating voltage in order to avoid damaging the processor.
I’m writing about DVFS and PMIC today, because SinoVoIP first launched Banana Pi M2 Plus board without proper power management using a fixed supply voltage of 1.3V. Allwinner processors’ DVFS works at 1.1V and 1.3V, but since it was not possible on BPI M2 Plus board, overheating could easily happen. The company has now decided to upgrade their board with version 1.2 of Banana Pi M2 Plus PCB now adding proper support for SY8113BADC / RT7295A voltage regulators.
Now, most Allwinner boards available on the market already come with a PMIC or PMU (Power Management Unit), so SinoVoIP has not done anything out of the ordinary, but at least they fixed their initial sub-optimal design. So checking whether a PMU/PMIC is indeed part of the design and properly implemented may be one of those small extra things you may consider while getting a board.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
15 Replies to “Banana Pi BPI-M2+ V1.2 Board Improves Power Management”
No, they did not add PMU support. It’s just them not caring about anything relevant and posting BS as usual.
Allwinner H series except H6 has no PMU support.
We’re talking here about primitive voltage regulation with H3 as every other board maker around does since the beginning (Xunlong and FriendlyELEC also implement more fine-grained control on their larger boards with an I2C accessible voltage regulator that allows adjustments in 20mV steps between below 1V and up to 1.4V).
Their older board revisions already used the primtive SY8113B voltage regulator, they simply ‘forgot’ to implement the switching between 1.1V and 1.3V. Since the older board revisions used a static 1.2V if the new board revision now comes up at 1.1V with the SY8113B unconfigured crashes/freezes might happen when booting with OS images existing today.
I used to write PMIC and PMU interchangeably, but now looking at the definitions in Wikipedia, a PMU is a microcontroller managing power function, while a PMIC refers to various power management devices, including the most basic ones. So based on Wikipedia definitions, a voltage regulator can be defined as a PMIC, but not a PMU.
I also used PMIC and PMU interchangeably but for me the real differentiation at least with Allwinner is that SoCs with full PMU support allow operation on battery. This (running on battery and charging control) is one of the few reasons for me to still consider Allwinner boards (except Allwinner H6 for which software support still sucks unfortunately)
I still wonder why there’s a flood of H3 boards (all without PMU/battery support) but almost no board maker considered A33/R16 showing similar performance at similar price and consumption level but being much better suited for IoT stuff due to battery support.
I know of just two A33 SBC (three if we count in Sinlinx SinA33 too). Asides that the chip can only be found in el cheapo tablets, overpriced retro gaming consoles and vacuum cleaners: https://media.ccc.de/v/34c3-9147-unleash_your_smart-home_devices_vacuum_cleaning_robot_hacking
A33/R16 doesn’t have built-in video output, so you’d either need to tack on an extra VGA DAC or HDMI encoder, like the Mini SNES.
Internal politics at Allwinner might also come into play, with the BU behind the H series being more approachable.
For those IoT use cases I would be fine with boards being headless (just like those small and inexpensive NanoPi and Orange Pi). And even SPI displays are sufficient for many use cases. This Armbian community member wrote some awesome libs to get smooth animations on cheap SPI displays with up to 60 fps: https://www.youtube.com/watch?v=ZceYaAr9PCY
I think you’re right and it’s related with Allwinner business units that A33/R16 can’t be found on ‘IoT boards’. Really sad since I think there would be some demand for cheap but powerful IoT boards with battery support.
SinoVoip’s ‘M2 Magic’ has battery support but due to their weird 6-pin battery connector you can’t make use of it. And Olimex’ A33-OLinuXino while using their simple standard LiPo-connector is quite expensive…
SY8113B is instead designed as a fixed regulator with adjustable voltage (via resistor value). Many DCDC chips are in this flavor.
Use it as a fixed regulator is very natural, but use it as adjustable regulator is not.
> Use it as a fixed regulator is very natural, but use it as adjustable regulator is not
Well, in Allwinner’s early H3 BSP this way of switching voltage was defined so I would assume it was part of reference design back then? Their BSP code even allowed to use 2 different pins to switch between 4 different voltages with such a primitive ‘PMIC’ as SY8113B. So in Allwinner world at least this mode was ‘natural’ a while ago (before they dropped support for voltage regulation at all in later BSP variants).
Would it in theory be possible pairing up an H3 with an AXP209, as this one is i2c?
Sure, but if there is no reference design provided by the SoC vendor (board makers usually copy 1:1) it won’t happen.
BTW: silly me forgot above that we should never trust in SinoVoip schematics. I forgot that their schematics for the 1.1 board revision were bogus (they wrote 1.2V while in reality all the v1.1 boards were forced to use 1.3V instead — it was the early v1.0 developer samples like mine who were fed even with 1.4V)
Lol yepp thus also the xradio… only guys like olimex would be able to do such really insane, out of this world, punk designs, combining two chips from different application circuits. How did this world survive before the Shenzhen time???
To be honest the only HW vendor I found that does PMIC change is Lichee Pi, however, it’s doing a complex->simple transition (from AXP to multiple fixed DCDCs, on Lichee Pi Zero with V3s, and V3s’ reference design is AXP203).
In fact, on the case of H3, BSP won’t have DVFS even if the AXP is added, because (at least sometimes) DVFS is done on ARISC, not main ARM CPU; and the ARISC code is closed.
You really need someone sensible with some background and also knowledge about the SoC and PMICs to design one. You then have to be able to get the PMICs separately. AFAIK they are bundled with the SoC.
Desingning electronics stuff once used to be a challenging thing the company I used to do my apprenticeship at used to have plenty of RnD departments, all of them nicely funded. They had experts for routing pcbs, emv and and and… nowadays you rely on an arduino to blink leds in the past you would have built multivibrators from transistors or relied on an NE555 or maybe a.pic or avr. Now a rpi or minimum an esp32 with cloud interconnect. Dont misunderstand me I love todays possibilities, but copy pasting is not what makes us great.
And wrt the bundles, im sure there are ways if your volumes are high enough, if not you can find some surplus junk on aliexpress, foryour garage soldered kickstarter… 😉
According to BU3 people, the DVFS code is just shared from H8.
Or maybe some early reference design uses switch, but I have some newer reference design schematics, and without DVS at all.