- Facteurs importants à prendre en compte lors de la sélection d'un MCU
- 1. Application
- 2. Sélectionnez l'architecture du microcontrôleur
- 3. Taille de bit
- 4. Interfaces de communication
- 5. Tension de fonctionnement
- 6. Nombre de broches d'E / S
- 7. Mémoire requise
- 8. Taille de l'emballage
- 9. Consommation électrique
- 10. Prise en charge du microcontrôleur
Un microcontrôleur est essentiellement un petit ordinateur sur une puce, comme tout ordinateur, il a de la mémoire et généralement programmé dans des systèmes embarqués pour recevoir des entrées, effectuer des calculs et générer des sorties. Contrairement à un processeur, il incorpore la mémoire, le CPU, les E / S et d'autres périphériques sur une seule puce comme indiqué dans la disposition ci-dessous.
Choisir le bon microcontrôleur pour un projet est toujours une décision complexe à prendre car il est au cœur du projet et le succès ou l'échec du système en dépend.
Il existe un millier de types de microcontrôleurs différents, chacun d'entre eux ayant une caractéristique unique ou un avantage concurrentiel allant du facteur de forme, à la taille du boîtier, à la capacité de la RAM et de la ROM qui les rend adaptés à certaines applications et impropres à certaines applications. Ainsi, souvent, pour éviter le mal de tête lié à la sélection du bon, les concepteurs optent pour des microcontrôleurs qu'ils connaissent bien et qui parfois, même s'ils ne répondent pas vraiment aux exigences du projet. L'article d'aujourd'hui examinera certains des facteurs importants à prendre en compte lors de la sélection d'un microcontrôleur, notamment l'architecture, la mémoire, les interfaces et l'immobilier d'E / S, entre autres.
Facteurs importants à prendre en compte lors de la sélection d'un MCU
Voici quelques-uns des facteurs importants à prendre en compte lors de la sélection d'un microcontrôleur, notamment l'architecture, la mémoire, les interfaces et l'immobilier d'E / S, entre autres.
1. Application
La première chose à faire avant de sélectionner un microcontrôleur pour tout projet est de développer une compréhension approfondie de la tâche pour laquelle la solution basée sur le microcontrôleur doit être déployée. Une fiche technique est toujours élaborée au cours de ce processus et elle aidera à déterminer les caractéristiques spécifiques que le microcontrôleur qui sera utilisé pour le projet. Un bon exemple de la façon dont l'application / l'utilisation de l'appareil détermine le microcontrôleur à utiliser est présenté lorsqu'un microcontrôleur avec une unité à virgule flottante est adopté pour la conception d'un appareil qui sera utilisé pour effectuer des opérations impliquant beaucoup de nombres décimaux.
2. Sélectionnez l'architecture du microcontrôleur
L'architecture d'un microcontrôleur fait référence à la façon dont le microcontrôleur est structuré en interne. Il existe deux architectures majeures utilisées pour la conception des microcontrôleurs;
- Architecture de Von Neumann
- Architecture de Harvard
L'architecture von Neumann présente l'utilisation du même bus pour transmettre des données et récupérer des jeux d'instructions dans la mémoire. Par conséquent, le transfert de données et l'extraction d'instructions ne peuvent pas être effectués en même temps et sont généralement planifiés. L'architecture de Harvard, quant à elle, comporte l'utilisation de bus séparés pour la transmission des données et la récupération des instructions.
Chacune de ces architectures a ses propres avantages et inconvénients. L'architecture de Harvard, par exemple, sont des ordinateurs RISC (Reduced instruction Set) et sont donc capables d'exécuter plus d'instructions avec des cycles inférieurs que les ordinateurs CISC (Complex instruction Set) qui sont basés sur l'architecture von Neumann. Un avantage important des microcontrôleurs basés sur Harvard (RISC) est le fait que l'existence de différents bus pour les données et le jeu d'instructions permet la séparation de l'accès mémoire et des opérations de l'unité arithmétique et logique (ALU). Cela réduit la quantité de puissance de calcul requise par le microcontrôleur et entraîne une réduction des coûts, une faible consommation d'énergie et une dissipation thermique, ce qui les rend idéaux pour la conception d'appareils fonctionnant sur batterie. Beaucoup d'ARM,Les microcontrôleurs AVR et PIC sont basés sur l'architecture Harvard. Les exemples de microcontrôleurs qui utilisent l'architecture Von Neumann incluent 8051, zilog Z80 entre autres.
3. Taille de bit
Un microcontrôleur peut être de 8 bits, 16 bits, 32 bits et 64 bits, ce qui est la taille de bits maximale actuelle possédée par un microcontrôleur. La taille en bits d'un microcontrôleur représente la taille d'un «mot» utilisé dans le jeu d'instructions du microcontrôleur. Cela signifie que dans un microcontrôleur 8 bits, la représentation de chaque instruction, adresse, variable ou registre prend 8 bits. L'une des principales implications de la taille en bits est la capacité de mémoire du microcontrôleur. Dans un microcontrôleur 8 bits, par exemple, il y a 255 emplacements de mémoire uniques comme dicté par la taille en bits tandis que dans un microcontrôleur 32 bits, il y a 4294967295 emplacements de mémoire uniques, ce qui signifie que plus la taille de bit est élevée, plus le nombre de emplacements de mémoire disponibles pour une utilisation sur le microcontrôleur. Les fabricants de nos jours, cependant,développent des moyens de fournir un accès à plus d'emplacement mémoire à des microcontrôleurs de plus petite taille de bits via la pagination et l'adressage, de sorte que le microcontrôleur 8 bits devienne adressable à 16 bits, mais cela a tendance à compliquer la programmation pour le développeur de logiciels embarqués.
L'effet de la taille en bits est probablement plus connu lors du développement du micrologiciel du microcontrôleur, en particulier pour les opérations arithmétiques. Les différents types de données ont une taille de mémoire différente pour différentes tailles de bits du microcontrôleur. Par exemple, l'utilisation d'une variable déclarée comme un entier non signé qui, en raison du type de données, nécessitera 16 bits de mémoire, dans des codes à exécuter sur un microcontrôleur 8 bits entraînera la perte de l'octet le plus significatif dans les données qui peut parfois être très important pour la réalisation de la tâche pour laquelle le dispositif sur lequel le microcontrôleur doit être utilisé, a été conçu.
Il est donc important de sélectionner un microcontrôleur dont la taille en bits correspond à celle des données à traiter.
Il est probablement important de noter que la plupart des applications de nos jours se situent entre des microcontrôleurs 32 bits et 16 bits en raison des progrès technologiques incorporés sur ces puces.
4. Interfaces de communication
La communication entre le microcontrôleur et certains des capteurs et actionneurs qui seront utilisés pour le projet peut nécessiter l'utilisation d'une interface entre le microcontrôleur et le capteur ou l'actionneur pour faciliter les communications. Prenons par exemple pour connecter un capteur analogique à un microcontrôleur nécessitera que le microcontrôleur ait suffisamment ADC (convertisseurs analogique-numérique) ou, comme je l'ai mentionné précédemment, faire varier la vitesse d'un moteur à courant continu peut nécessiter l'utilisation de l'interface PWM sur le microcontrôleur. Il sera donc important de confirmer que le microcontrôleur à sélectionner possède suffisamment d'interfaces requises, notamment UART, SPI, I2C entre autres.
5. Tension de fonctionnement
La tension de fonctionnement est le niveau de tension auquel un système est conçu pour fonctionner. C'est aussi le niveau de tension auquel certaines caractéristiques du système sont liées. Dans la conception matérielle, la tension de fonctionnement détermine parfois le niveau logique auquel le microcontrôleur communique avec d'autres composants qui composent le système.
Les niveaux de tension 5 V et 3,3 V sont la tension de fonctionnement la plus populaire utilisée pour les microcontrôleurs et une décision doit être prise sur lequel de ces niveaux de tension sera utilisé pendant le processus de développement de la spécification technique de l'appareil. L'utilisation d'un microcontrôleur avec une tension de fonctionnement de 3,3 V dans la conception d'un appareil où la plupart des composants externes, des capteurs et des actionneurs fonctionneront à un niveau de tension de 5 V ne sera pas une décision très intelligente car il sera nécessaire de mettre en œuvre un niveau logique des décaleurs ou des convertisseurs pour permettre l'échange de données entre le microcontrôleur et les autres composants et ceci augmentera inutilement le coût de fabrication et le coût global du dispositif.
6. Nombre de broches d'E / S
Le nombre de ports d'entrée / sortie à usage général ou spécial et (ou) de broches possédés par un microcontrôleur est l'un des facteurs les plus importants qui influence le choix du microcontrôleur.
Si un microcontrôleur doit avoir toutes les autres fonctionnalités mentionnées dans cet article mais n'a pas suffisamment de broches IO comme requis par le projet, il ne peut pas être utilisé. Il est important que le microcontrôleur ait suffisamment de broches PWM, par exemple, pour contrôler le nombre de moteurs à courant continu dont la vitesse sera modifiée par l'appareil. Bien que le nombre de ports d'E / S sur un microcontrôleur puisse être étendu par l'utilisation de registres à décalage, il ne peut pas être utilisé pour tous les types d'applications et augmente le coût des dispositifs dans lesquels il est utilisé. Par conséquent, il est préférable de s'assurer que le microcontrôleur à sélectionner pour la conception dispose du nombre requis de ports d'E / S à usage général et spécial pour le projet.
Une autre chose clé à garder à l'esprit lors de la détermination de la quantité de broches d'E / S à usage général ou spécial requis pour un projet, est l'amélioration future qui peut être apportée à l'appareil et comment ces améliorations peuvent affecter le nombre de broches d'E / S. obligatoire.
7. Mémoire requise
Il existe plusieurs types de mémoire associés à un microcontrôleur dont le concepteur doit faire attention lors de la sélection. Les plus importants sont la RAM, la ROM et l'EEPROM. La quantité de chacune de ces mémoires nécessaire peut être difficile à estimer jusqu'à son utilisation, mais à en juger par la quantité de travail requise du microcontrôleur, des prédictions peuvent être faites. Ces dispositifs mémoire mentionnés ci-dessus constituent les données et la mémoire programme du microcontrôleur.
La mémoire programme du microcontrôleur stocke le micrologiciel du microcontrôleur, de sorte que lorsque l'alimentation est déconnectée du microcontrôleur, le micrologiciel n'est pas perdu. La quantité de mémoire programme nécessaire dépend de la quantité de données comme les bibliothèques, les tables, les fichiers binaires pour les images, etc. qui sont nécessaires pour que le micrologiciel fonctionne correctement.
La mémoire de données, quant à elle, est utilisée pendant l'exécution. Toutes les variables et données générées à la suite du traitement entre autres activités pendant l'exécution sont stockées dans cette mémoire. Ainsi, la complexité des calculs qui se produiront pendant l'exécution peut être utilisée pour estimer la quantité de mémoire de données nécessaire pour le microcontrôleur.
8. Taille de l'emballage
La taille de l'emballage fait référence au facteur de forme du microcontrôleur. Les microcontrôleurs sont généralement livrés dans des packages allant de QFP, TSSOP, SOIC à SSOP et le package DIP standard qui facilite le montage sur la maquette pour le prototypage. Il est important de planifier à l'avance la fabrication et d'envisager quel emballage sera le meilleur.
9. Consommation électrique
C'est l'un des facteurs les plus importants à prendre en compte lors de la sélection d'un microcontrôleur, en particulier lorsqu'il doit être déployé dans une application alimentée par batterie comme les appareils IoT où l'on souhaite que le microcontrôleur soit aussi faible que possible. La fiche technique de la plupart des microcontrôleurs contient des informations sur plusieurs techniques matérielles et (ou) logicielles qui peuvent être utilisées pour minimiser la quantité d'énergie consommée par le microcontrôleur dans différents modes. Assurez-vous que le microcontrôleur que vous sélectionnez satisfait aux exigences d'alimentation de votre projet.
10. Prise en charge du microcontrôleur
Il est important que le microcontrôleur avec lequel vous choisissez de travailler dispose d'un support suffisant, notamment; des échantillons de code, des conceptions de référence et si possible une grande communauté en ligne. Travailler avec un microcontrôleur pour la première fois peut présenter différents défis et avoir accès à ces ressources vous aidera à les surmonter rapidement. Bien que l'utilisation des derniers microcontrôleurs en raison de ces nouvelles fonctionnalités intéressantes soit une bonne chose, il est conseillé de s'assurer que le microcontrôleur existe depuis au moins 3-4 mois pour garantir la plupart des premiers problèmes pouvant être associés au microcontrôleur. aurait été résolu puisque divers clients auraient effectué de nombreux tests du microcontrôleur avec différentes applications.
Il est également important de sélectionner un microcontrôleur avec un bon kit d'évaluation, afin que vous puissiez rapidement commencer à créer un prototype et tester facilement les fonctionnalités. Les kits d'évaluation sont un bon moyen d'acquérir de l'expérience, de se familiariser avec la chaîne d'outils utilisée pour le développement et de gagner du temps lors du développement de l'appareil.
La sélection du bon microcontrôleur pour un projet continuera d'être un problème, chaque concepteur de matériel devra résoudre et bien qu'il y ait peu de facteurs supplémentaires pouvant influencer le choix du microcontrôleur, ces facteurs mentionnés ci-dessus sont les plus importants.