Qu'est-ce qu'un microcontrôleur (MCU) ?
Un MCU est essentiellement un “ ordinateur sur une seule puce ”.” Il est conçu pour être le “ cerveau ” d'un système embarqué, mais il dépend de circuits externes pour interagir avec le monde. Considérez un MCU comme un généraliste polyvalent. Il fournit un CPU et de la mémoire, mais vous devez fournir les “ organes sensoriels ” — boutons, capteurs, LED et afficheurs — via un PCB.
Nous programmons généralement les MCU en C ou langage assembleur. Une fois le binaire écrit dans la mémoire non volatile (ROM/Flash), le MCU exécute le code en “ bare-metal ” ou sur un système d'exploitation temps réel (RTOS) comme FreeRTOS ou Zephyr.
Caractéristiques principales des MCU :
- Composants intégrés : Un MCU à cœur 51 de base se compose d'un CPU, d'une RAM, d'une ROM, de temporisateurs, de ports série et d'interruptions externes. Les MCU avancés, comme ceux basés sur l'architecture ARM Cortex-M3, intègrent des périphériques et des ressources supplémentaires.
- Coût : Les MCU sont généralement peu coûteux, allant de quelques centimes à quelques dizaines de dollars.
- Fabricants courants : Les fabricants populaires de MCU incluent STC, STMicroelectronics, Renesas et Atmel.
- MCU populaires : Exemples incluent la série 51 de STC, les STM8 et STM32 de STMicroelectronics, l'AVR d'Arduino et le MSP430 de TI.
- Systèmes d'exploitation : Les MCU exécutent généralement des systèmes d'exploitation temps réel (RTOS) ou sont programmés "bare-metal", ce qui signifie qu'ils n'utilisent pas de système d'exploitation comme Linux.
La figure ci-dessous est un schéma fonctionnel d'un module MCU STM32F standard :

Qu'est-ce qu'un SoC ?
Un SoC est une évolution spécialisée du MCU. Alors qu'un MCU fournit un cerveau à usage général, un SoC intègre ce cerveau avec des modules fonctionnels hautement spécifiques conçus pour un secteur ou un protocole particulier.
Une idée reçue courante est que les SoC sont toujours “ haut de gamme ” (comme l'Apple M3 ou le Qualcomm Snapdragon). En réalité, le marché des SoC est inondé de puces spécialisées à faible consommation. Par exemple, un SoC Bluetooth (comme le TI CC2541) peut en réalité utiliser un cœur 8051 très ancien et à faible consommation comme cerveau. La partie “ SoC ” vient du fait qu'il intègre une chaîne radiofréquence (RF) complète et une pile protocolaire matérielle sur le même silicium.
Par exemple, considérez les SoC utilisés dans les applications de comptage :
Caractéristiques clés des SoC :
- Personnalisation : Les SoC sont conçus en pensant à des applications spécifiques. Par exemple, un SoC de comptage peut inclure des modules pour la mesure d'énergie.
- Intégration : Les SoC intègrent souvent des modules de communication sans fil, comme Bluetooth ou Zigbee. Par exemple, le SoC Bluetooth TI CC2541 dispose d'un MCU à cœur 51 avec une radio sans fil intégrée et exécute la pile de protocoles Bluetooth de TI pour réaliser la fonctionnalité Bluetooth.
- Coût et efficacité : En intégrant des fonctionnalités spécifiques dans une seule puce, les SoC peuvent réduire le temps de développement, améliorer la stabilité et diminuer les coûts.

MCU vs. SoC : Les différences cruciales
Le passage d'un MCU à un SoC est généralement motivé par la nécessité d'une efficacité d'intégration.
| Caractéristique | Microcontrôleur (MCU) | Système sur une puce (SoC) |
| Objectif principal | Contrôle à usage général | Solution spécifique à une application |
| Complexité | Faible à modéré | Élevée (intègre RF, DSP ou GPU) |
| Système d'exploitation | Bare-metal ou RTOS | RTOS ou système d'exploitation de haut niveau (Linux/Android) |
| Développement | Intégration manuelle des périphériques | Utilisation de piles fonctionnelles intégrées |
| Cas d’utilisation typique | Machines à laver, capteurs, jouets simples | Montres connectées, passerelles IoT, caméras IP |
Conseil pour les développeurs :
Si vous concevez un produit sans fil, n'essayez pas de “ greffer ” un module sans fil sur un MCU standard, sauf raison très spécifique. Utiliser un SoC sans fil dédié garantit que les temporisations radio et la gestion de l'alimentation sont déjà optimisées au niveau du silicium, vous évitant des mois de débogage des problèmes d'IEM et de synchronisation protocolaire.
FAQ : Questions courantes de l'industrie
Q : Un SoC peut-il exécuter Linux ? R : Les SoC haut de gamme (basés sur des cœurs ARM Cortex-A) le peuvent certainement. Cependant, de nombreux SoC à faible consommation (comme ceux pour Bluetooth ou Zigbee) utilisent des cœurs Cortex-M ou même 8 bits et sont limités à la programmation RTOS ou bare-metal.
Q : Les SoC sont-ils toujours plus chers que les MCU ? R : Pas nécessairement. Bien que la puce elle-même puisse coûter plus cher qu'un MCU autonome, le coût système (BOM) est souvent inférieur car vous n'avez pas besoin d'acheter de puces sans fil, de cristaux ou de régulateurs de tension séparés.
Q : L'ESP32 est-il un MCU ou un SoC ? R : Techniquement, c'est un SoC Wi-Fi/Bluetooth. Bien que de nombreux amateurs l'utilisent comme un MCU à usage général, sa valeur principale réside dans le sous-système RF intégré et les accélérateurs matériels de chiffrement.
