cancel
Showing results for 
Search instead for 
Did you mean: 

H7 single-core vs. dual-core

EThom.3
Associate III

Hi,

I am considering which solution to go for in a new product. To start with, I am going for a 480 MHz STM32H7 with high-resolution timer (HRTIM) for some quick PWM regulation. The regulation feedback is supposed to come from a fast ADC, so I need to make some quick code to determine a new PWM value from an ADC value. Possibly with some PID in between.

Apart from this, I will have some slower stuff running, such as serial communication, ADCs for monitoring, non-volatile RAM etc. Things that aren't in a big hurry.

I read about the dual-core microcontrollers, with a Cotex-M7 core and a Cortex-M4 core in the same pakcage, and I initially thought that they looked quite interesting. However, as I read the STM32H745 datasheet, the high-res timer and the ADCs are not in the same domain as the fast M7 core. It seems like the only features and peripherals that the M7 core can control directly, are things that I probably won't even need. To control an ADC, read its value, and set a PWM value in the HRTIM, the M7 core apparently needs to go through a bunch of bus multiplexers.

So, those of you who might have some experience in this – is it really worth it?

After studying the dual-core microcontrollers. I feel more like going with an H7 single-core microcontroller, to reduce the complexity. I guess that I can keep the slow stuff in the main loop and low-priority interrupts, and the quick things in high-priority interrupts.

Are there things I haven't considered, that makes dual-core controllers more desirable?

10 REPLIES 10
EThom.3
Associate III

Agreed. When you've got an 8-bit processor with 16 MHz clock frequency, and 4 KB RAM, you have to be creative in a totally different way. It is such an ingrained habit of mine, that even now, when I'm programming a fast STM32, I catch myself using those time- and memory saving tricks.