2023-06-11 06:39 AM
I am trying to design a modular avionics bay whereby I came across a concept called parallel processing, whereby multiple MCU's can be utilised to both increase processing capabilities, decrease power consumption of one chip, and to allow for modular design (which is a major constraint). Although I don't know whether the STM32 chips ( mainly the f4 series I have been eyeing out) are capable of achieving this, and if they do how I can actually go about communicating between multiple 'master' devices, or whether one chip should be the master whilst the other stm mcus can be slaves? Send help
2023-06-11 08:53 AM
Some stm32 have two arm processor cores. On those ones two execution streams (threads / tasks / programs) execute simultaneously.
But for many applications, a single arm core may be shared between multiple threads by way of a real-time operating system (or a tasking library - I often use Rowley’s Crossworks Tasking Library).
As long as the processor(s) has enough power ro do all the tasks sufficiently quickly, plus a little overhead for task-switching and inter-process communication, then any stm32 may be chosen. And the user will not see any problems.
Personally, if a single stm32 is powerful enough for the job, that’s my preferred route.
As to multiple master inter-chip communication, it depends on necessary bandwidth amongst other considerations. I2C is capable of multi-master, as is CAN and some UART
2023-06-11 09:00 AM
Send help? Surely a business where you'd have a team of engineers qualified to advise directly?
What volume of data needs to be communicated? Something CAN bus would suit?
Some of the Cortex-M7 would have significantly better math capabilities.
Ethernet? Some standard avionics bus?