2020-05-04 2:36 AM
Hello,
While I was looking for a new MCU, I came across STM32H7 dual core mcus, with M4 and M7.
I directly thought that it could be versatile for many usage, M7 for high performance, M4 to mix performances/ and power consumption (and from what I understood, "BAM" for low power data acquisition).
Note: For me, the power consumption is the main factor for choosing a processor (to make battery-powered data loggers)
However, reading the manual, it seems that M7 consumption is lower than M4 one. (or I missed some parameters in the documentation?)
Table 38: . Typical and maximum current consumption in Run mode, code with data processing
running from Flash memory, only Arm Cortex-M7 running, cache ON,
LDO regulator ON(1) :
VOS3 - 200MHZ (typical) : 34.5mA / 75mA (periph enabled)
Table 41. Typical and maximum current consumption in Run mode, code with data processing
running from Flash memory, only Arm Cortex-M4 running, ART accelerator ON,
LDO regulator ON(1)
VOS3 - 100MHZ (typical) : 35mA / 61mA (periph enabled)
Same consumption for a ratio of two in frequency.
So i am wondering, if I do not really need a dual core usage, could a M7 solo core is better (in ratio power/performances) ? Or did I really miss something here ?
Thank you for your help,
Romain
ps: link to the datasheet https://www.st.com/resource/en/datasheet/stm32h757xi.pdf
2020-05-04 5:45 AM
> Same consumption for a ratio of two in frequency.
And probably a ratio of approximately 4 of data processing, because Cortex-M7 is dual-issue.
> For me, the power consumption is the main factor for choosing a processor (to make battery-powered data loggers)
What amount of data at what speed you have to process, that you are looking at such a powerful MCUs? Why not choose something from the L or G series?
2020-05-04 6:36 AM
> And probably a ratio of approximately 4 of data processing, because Cortex-M7 is dual-issue.
Ok, so on an application with data acquisition (i2s/spi/sai,...) and some burst to save data on memory( SD), it could be a better solution to go on M7 ?
(It seem that batch acquisition mode is here for that ?)
> What amount of data at what speed you have to process,
It can be ~3MB/s (up to 2 terabytes on SD cards). Or sometimes, non-stop acquisition during several years at lower speed (~4kB/s).
I know that the need of performance is far between these two functionality, and I could change my MCU according to the usage, but it implies more development, more costs, ... If I can find something versatile that can adapt in most of the situations, it could be great.
> that you are looking at such a powerful MCUs? Why not choose something from the L or G series?
I first looked into F4 series (with Ethernet for data retrieving, and I plan to use HS-USB), but once here, i saw that on that dual-core processor, they can be separately powered or not by user. So why should I go on one core M4 if dual core M7/M4 can do the same, with same power-consumption, or eventually better with more performance ? (and the price per unit is absolutely not a problem for me).
Thank you for your answer, I am a bit lost in this jungle of MCUs.
2020-05-04 6:48 AM
Programming for dual-core adds quite a bit of overhead. It takes longer to develop. The H7 series is not made for power efficiency.
Unless you actually need the 480MHz clock, or the dual-core functionality, I'd strongly recommend the L4 (or L4+) or similar series. You don't need either of these to log at 3MB/s.
2020-05-04 8:35 AM
> Programming for dual-core adds quite a bit of overhead.
That is, actually, the main reason too why I would not go on this family. But I would to be sure, it looks having great functionalities.
The L4 series, like the G4 lack of high speed connectivity. I need low power consumption for long time acquisition, but the maximum speed for data retrieving, that's why I consider going at least on F4 series.
(downloading hundreds gigabytes of data to a computer is already a pain with a (slow) 100MB Ethernet, that's why I don't want something too slow).
So, on F4 series (with Ethernet), power consumption is near twice better than the M4 on H7 series
(@90MHz 20mA / 43mA (periph enabled).
So, indeed, the H7 series may be a bit too much for my usage, but I still don't really understand what is the benefit of having a dual core with different families, the possibility to use one or the other independently, but with poor power performances on M4 core ?
2020-05-06 3:29 AM
The 34,5/35 mA with peripherals disabled for M7/M4 at 200/100 MHz rises a suspicion on measurement correctness. When measuring one core, did they put the other core in sleep mode or was it busy looping in hard fault handler?
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.