MCU 8 bits vs. 32 bits : choisir le bon microcontrôleur pour la conception de votre circuit imprimé

Créé: February 27, 2018
Mise à jour: November 4, 2020
MCU 8 bits vs. 32 bits : choisir le bon microcontrôleur pour la conception de votre circuit imprimé

Quand il s'agit de gadgets électroniques, mes habitudes d'achat sont assez mauvaises. 

Tiraillée entre l'achat d'un nouvel ordinateur portable ou la mise à niveau de ma tablette vers un iPad Pro, je me suis retrouvée à acheter les deux et à recevoir des sermons interminables de mon fiancé.

Heureusement, je suis plus décisive quand il s'agit de choisir entre des microcontrôleurs 8 bits ou 32 bits pour la conception de mon matériel. 

La différence de coût n'est pas énorme, et l'un est plus puissant que l'autre. 

Mais pour faire le bon choix, il est important de comprendre les différences fondamentales entre les MCU 8 bits et 32 bits.

Electronics connected throughout a homeMCB 8 bits vs 32 bits : les bases du microcontrôleur 

À vrai dire, un microcontrôleur 8 bits traite 8 bits de données à tout moment. Le nombre de bits utilisés par un MCU (parfois appelé profondeur de bits ou largeur de données) indique la taille des registres (8 bits par registre), le nombre d'adresses mémoire (seulement 2^8 = 256 adresses), et les plus grands nombres qu'ils peuvent traiter (une fois de plus, 2^8 = 256 entiers, ou des entiers de 0 à 255). 

Un microcontrôleur 8 bits a un adressage limité, mais certains microcontrôleurs 8 bits utilisent la pagination, où le contenu d'un registre de page définit la banque de mémoire embarquée à utiliser.

Un microcontrôleur 32 bits peut théoriquement traiter des nombres atteignant 2^32. Ils ont des unités arithmétiques et logiques, des registres et une largeur de bus de 32 bits.

En général, cela signifie qu’un 32 bits peut traiter quatre fois plus de données, ce qui le rend techniquement plus efficace. Cependant, il existe d'autres différences entre les microcontrôleurs 8 bits et 32 bits qui vont au-delà des opérations arithmétiques. 

Opérations arithmétiques

Il y a une limitation qui devrait être évidente, à savoir la limitation des opérations arithmétiques. 

Un microcontrôleur 8 bits ne permet normalement que les opérations arithmétiques qui produisent des nombres allant de 0 à 255 (ou de -127 à 128), bien qu'un nombre plus important puisse être partagé entre deux threads. 

Cela introduit une certaine complexité de programmation car le threading ne se fait pas automatiquement au niveau matériel.

En général, l'utilisation d'un microcontrôleur avec une plus grande largeur de données permet de faire des calculs avec des nombres plus importants. 

Un microcontrôleur de 32 bits peut traiter des nombres non signés de 0 à 4 294 967 295 (je laisse le lecteur déterminer la plage des nombres signés !). 

Si vous utilisez un langage de programmation de haut niveau comme le C, ou un IDE propriétaire (par exemple, AtmelStudio), il vous faudra avoir accès à une bibliothèque qui prend en charge les nombres plus grands ou l'utilisation de la notation scientifique.

Facteur d'encombrement des microcontrôleurs 8, 16 et 32 bits

L'on peut penser qu'un microcontrôleur 32 bits se présente toujours dans un boîtier plus grand qu'un microcontrôleur 8 bits, mais ce n'est pas toujours le cas. 

Certains microcontrôleurs de 8, 16 et 32 bits ont le même facteur d'encombrement (par exemple, Microchip propose une série de microcontrôleurs avec différentes largeurs de bits qui sont tous disponibles dans des boîtiers TQFP-64). 

Les microcontrôleurs 8 bits sont disponibles en boîtiers DIP, comme on peut le voir sur les cartes Arduino les plus répandues.

 Deux boîtiers communs pour les microcontrôleurs 8 bits (à gauche) et 32 bits (à droite).Two common packages for 8-bit vs. 32-bit microcontrollers.

Logiciels intégrés et utilisation de la mémoire

Au niveau logiciel, les types de données utilisés dans votre code déterminent également le type de microcontrôleur à utiliser. 

Par exemple, un entier non signé se trouvant dans un microcontrôleur de 8 bits ne consomme qu'un octet. 

La même variable dans un microcontrôleur de 32 bits consomme 4 octets de données. 

Vous vous diriez peut-être : "attendez, un MCU 32 bits a 16 millions de fois plus d'adresses, qu'est-ce que ça peut faire s'il utilise 4 octets ?”

Le nombre maximum d'adresses uniques disponibles ne dit rien sur la quantité réelle de mémoire placée sur un microcontrôleur. La mémoire sur la puce se situe généralement au niveau du KB, donc la quantité de données requises dans votre code est importante.

Le choix entre un microcontrôleur 8 bits et un microcontrôleur 32 bits ne se limite pas seulement à la largeur des données. 

Considérer les différences majeures entre les microcontrôleurs 8-bits et 32-bits vous aidera à prendre la meilleure décision pour votre conception.

Vitesse et mémoire

L'un des principaux avantages d'un microcontrôleur 32 bits par rapport à un microcontrôleur 8 bits est sa vitesse de traitement supérieure. 

Un microcontrôleur 8 bits typique fonctionne généralement à 8 Mhz, tandis qu'un microcontrôleur 32 bits peut atteindre des centaines de Mhz. 

Vous ne remarquerez peut-être pas la différence de vitesse de traitement des données intégrées si vous utilisez le microcontrôleur pour activer un relais mécanique ; cependant, cela devient rapidement évident lorsque vous exécutez des applications qui nécessitent un traitement de données lourd. 

Par exemple, un contrôleur d'accès aux portes qui traite des milliers de transactions par jour nécessite un processeur avec microcontrôleur de 32 bits.

Les microcontrôleurs 8 bits sont bon marché et faciles à utiliser. Leur popularité n'a d'ailleurs pas faibli après quatre décennies dans de nombreuses applications. Mais si vous travaillez sur un produit qui nécessite une énorme mémoire vive (RAM) interne, vous devrez peut-être opter pour un 32 bits au lieu d’un 8 bits. 

Les microcontrôleurs 32 bits ont souvent 8 fois plus de RAM que leurs homologues 8 bits. 

Si vous avez besoin d'une énorme mémoire tampon pour stocker des données audio, alors un microcontrôleur 32 broches est la meilleure option d'application du processeur.

Lines of light on a curving road

Procurez-vous un microcontrôleur 32 bits si votre conception exige de la vitesse.

Ajout de périphériques

Les bases de la conception de systèmes embarqués consistent à créer une liste de périphériques requis en fonction des exigences du projet. 

Si vous avez besoin d'Ethernet, d'un bus série universel (USB Stack), de plusieurs dispositifs récepteurs-émetteurs asynchrones universels (UARTS) et d'un bus CAN (Controller Area Network), un microcontrôleur de 8 bits serait insuffisant. Il faudra peut-être envisager d'ajouter des puces périphériques, ce qui pourrait coûter plus cher qu'un microcontrôleur de 32 bits seul.

En général, les microcontrôleurs 32 bits sont plus riches en fonctionnalités que les microcontrôleurs 8 bits. 

Avec une vitesse de traitement supérieure, un microcontrôleur 32 bits peut gérer efficacement plusieurs périphériques. 

Cependant, il faut garder à l'esprit que les microcontrôleurs 32 bits consomment plus en énergie, surtout lorsque tous les systèmes et périphériques embarqués sont allumés.

Conception matérielle et courbe d'apprentissage

On peut affirmer qu'un circuit imprimé avec un microcontrôleur de 32 bits, qui a généralement plus de 100 broches, est plus complexe qu'un circuit de 8 bits, qui dépasse rarement 30. 

En ce qui concerne l'assemblage, il est nettement plus facile de souder un boîtier SOIC qu'un boîtier Quad Flat (QFP) ou un boîtier Ball Grid Array (BGA). Il y a également moins de problèmes de qualité avec des pas plus larges sur un boîtier SOIC. 

Si un microcontrôleur 8 bits est suffisant pour votre projet, ne choisissez pas un microcontrôleur 32 broches. À défaut, utilisez des empreintes prédéfinies dans le logiciel de conception de circuits imprimés afin de réduire au minimum votre temps de conception.

Lorsque vous recherchez des tutoriels de programmation pour les microcontrôleurs, vous constaterez que la plupart des tutoriels s'en tiennent au microcontrôleur 8 bits comme le 8051 ou Arduino, une carte de microcontrôleur 8 bits très populaire. 

En effet, il est plus facile de débuter avec un microcontrôleur 8 bits. Un microcontrôleur 32 bits a une architecture plus complexe et demande un temps de familiarisation plus long. Si vous créez un simple compteur de production de code, il n'est pas rentable de demander à l'ingénieur responsable du microprogramme de rechercher des microcontrôleurs pendant une semaine alors qu'il peut configurer l'ensemble du microprogramme pour un coût bien moindre en utilisant un microcontrôleur 8 bits.

 Arduino board with 32-bit microcontroller

Attendez-vous à une courbe d'apprentissage plus raide avec les microcontrôleurs 32 bits.  Crédit éditorial : goodcat / Shutterstock.com

Applications pour microcontrôleurs 32 bits

Il existe de nombreuses applications pour un microcontrôleur 32 bits, mais il faudrait examiner la question de savoir quand il ne faut pas utiliser un microcontrôleur 32 bits. 

En général, toute application qui nécessite des calculs impliquant inévitablement de grands nombres et qui doit être calculée plus rapidement devrait utiliser un microcontrôleur de 16 ou 32 bits. 

Parmi les exemples d'opérations, on peut citer les calculs FFT, le traitement d'images, l'audio ou la vidéo de haute qualité et les applications de calcul de bord. 

Certaines tâches gourmandes en mémoire et en traitement impliquant un apprentissage machine ou une IA sont mieux réalisées avec quelque chose de plus puissant, comme un MCU ARM ou un ordinateur monocarte.

Si vous avez besoin de rassembler des mesures de signaux analogiques, un microcontrôleur 32 bits n'est pas nécessairement meilleur qu'un microcontrôleur 8 bits. 

La profondeur de bits indiquée pour un microcontrôleur n'est pas équivalente à la profondeur de bits du convertisseur analogique-numérique intégré (ADC). 

Les microcontrôleurs disponibles sur le marché comprennent un convertisseur analogique-numérique intégré qui atteint un débit de 8, 10, 12 ou 16 bits.

Pour les applications mobiles, un microcontrôleur de 32 bits permettra un calcul plus intense au détriment d'une consommation d'énergie plus élevée. 

Il est possible d'utiliser un microcontrôleur 32 bits pour terminer plus rapidement des calculs importants et mettre ensuite l'unité centrale en mode veille pendant une période plus longue. 

Toutefois, cela ne signifie pas qu'un microcontrôleur 32 bits est plus efficace en termes de consommation d'énergie. 

Un microcontrôleur 8 bits offre généralement une plus longue durée de vie de la batterie et un meilleur équilibre des caractéristiques périphériques que les appareils 32 bits similaires.

Choisissez le meilleur MCU pour la conception de votre circuit imprimé

Pour choisir le meilleur microcontrôleur pour la conception de votre circuit imprimé tout en minimisant le temps et le coût global, il est nécessaire d'évaluer soigneusement les principaux avantages et inconvénients du MCU 8 bits vs 32 bits. En prenant en considération les exigences de conception telles que la vitesse, la complexité, les périphériques et la mémoire flash, vous pouvez minimiser la paralysie de décision ainsi que les éventuels revers lors du choix du meilleur microcontrôleur pour votre conception.

Avec un outil professionnel de conception de circuit imprimé comme CircuitStudio® d'Altium, vous pouvez déterminer les exigences de conception à l'avance tout en optimisant votre courbe d'apprentissage. Vous avez encore du mal à choisir entre un microcontrôleur 8 bits ou 32 bits pour votre projet ? Parlez à un expert d'Altium Designer.

Ressources associées

Documentation technique liée

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.