This page has been robot translated, sorry for typos if any. Original content here.

Sélection d'un microcontrôleur

Traduction
LLP "Tornado Systèmes Modulaires",
Russie, Novossibirsk, 1995

INTRODUCTION

Peut-être, c'est le choix d'un microcontrôleur qui est l'une des décisions les plus importantes dont dépend le succès ou l'échec d'un projet conçu. Lors du choix d'un microcontrôleur, il est nécessaire de prendre en compte et d'évaluer un grand nombre de facteurs. Comme base pour une séquence d'actions réfléchies menant à une décision finale, le plan discuté dans cet article peut être adopté. En combinant leurs propres connaissances et exigences avec les informations présentées dans cet article, le lecteur doit évaluer tout en général afin de prendre la bonne décision.

NOMINATION

L'objectif principal est de choisir le microcontrôleur le moins cher (pour réduire le coût total du système), tout en satisfaisant la spécification du système, c'est-à-dire exigences de performance, de fiabilité, de conditions d'application, etc. Le coût total du système comprend tout: la recherche et le développement en ingénierie, la production (composants et main-d'œuvre), la réparation sous garantie, l'amélioration continue, la maintenance, la compatibilité, la facilité de manutention, etc.

LE PROCESSUS DE CHOIX

Lors du choix d'un développeur, le développeur doit d'abord se demander: "Que devrait faire le microcontrôleur de mon système?" La réponse à cette question simple détermine les caractéristiques du microcontrôleur requis pour le système en cours de développement et, par conséquent, est le facteur déterminant dans le processus de sélection.
La deuxième étape consiste à rechercher des microcontrôleurs répondant à toutes les exigences du système. Il comprend généralement la sélection de la littérature, des descriptions techniques et des revues techniques, ainsi que des conseils. À l'heure actuelle, les informations sur les microcontrôleurs classiques et les microcontrôleurs les plus récents sont devenues très accessibles. Eh bien, si les exigences du système sont satisfaites par un microcontrôleur bien connu, sinon une recherche secondaire doit être effectuée pour trouver le microcontrôleur qui répond le mieux aux exigences, a un minimum de composants externes et est adapté au coût et à la taille. Clairement, un microcontrôleur monopuce est préférable en raison du prix et de la fiabilité.
La dernière étape de la sélection consiste en plusieurs étapes dont le but est d'affiner la liste des microcontrôleurs acceptables. Ces étapes comprennent l'analyse du prix, la disponibilité, les outils de développement, le support pour le fabricant, la stabilité de la production de microcontrôleurs spécifiques et la disponibilité d'autres fabricants ou fournisseurs. Pour arriver à une solution optimale, il est possible que l'ensemble du processus devra être répété plusieurs fois.

CRITÈRES DE CHOIX

Les principaux critères de choix d'un microcontrôleur sont présentés ci-dessous par ordre d'importance. Chaque critère est expliqué en détail plus tard.

  • Adéquation pour le système d'application. Peut-il être fait sur un microcontrôleur monopuce ou peut-il être implémenté sur la base d'une puce spécifique?
    • Est-ce que le microcontrôleur a le nombre requis de contacts / ports d'E / S, parce que s'ils ne suffisent pas, ils ne seront pas en mesure de faire le travail, et en cas d'excès, le prix sera trop élevé?
    • A-t-il tous les périphériques requis, tels que les ports d'E / S série, RAM, ROM, A / D, D / A, etc.?
    • At-il d'autres périphériques qui ne sont pas nécessaires dans le système?
    • Est-ce que le coeur du processeur fournit la performance requise, c'est-à-dire puissance de calcul, permettant de traiter les requêtes système tout au long de la vie du système dans la langue d'application sélectionnée? Trop de gaspillage, trop peu ne fonctionnera pas.
    • Le projet est-il alloué suffisamment de fonds pour se permettre d'utiliser ce microcontrôleur. Pour répondre à cette question, les prix des fournisseurs sont généralement requis. Si ce microcontrôleur n'est pas acceptable pour le projet, tous les autres problèmes deviennent inutiles et vous devriez commencer à chercher un autre microcontrôleur.
  • Disponibilité
    • L'appareil est-il en quantité suffisante?
    • Est-il produit maintenant?
    • Qu'est-ce qui est attendu dans le futur?
  • Support aux développeurs
    • Assembleurs.
    • Compilateurs.
    • Outils de débogage
      • Module d'évaluation (EVM).
      • Émulateurs en circuit.
      • Buses pour analyseurs logiques.
      • Déboguer les moniteurs.
      • Débogueurs de programmes dans le code source.
  • Soutien à l'information
    • Exemples d'application
    • Messages d'erreur
    • Utilitaires, y compris les assembleurs "libres".
    • Exemples de code source
  • Support des applications du fournisseur.
    • Y a-t-il un groupe spécial qui ne supporte que les applications?
    • Y a-t-il des ingénieurs, des techniciens ou des vendeurs?
    • À quel point le personnel de soutien est-il qualifié, est-il vraiment intéressé à vous aider à résoudre votre problème?
    • Y a-t-il une connexion téléphonique et / ou FAX?
  • Fiabilité du fabricant.
    • Compétence, confirmée par les développements.
    • Fiabilité de la production, c.-à-d. qualité du produit.
    • Travail de temps dans ce domaine.

EXIGENCES SYSTÈME

La réalisation d'une analyse système de votre projet déterminera également les besoins du microcontrôleur. Quels périphériques sont requis? Les opérations sur les bits sont-elles utilisées ou seulement numériques? Quelle manipulation est nécessaire pour traiter les données? Le système devrait-il être contrôlé par des interruptions, par la disponibilité ou par des commandes humaines? Combien de périphériques (bits d'E / S) doivent être gérés? Quels appareils parmi les nombreux types d'appareils E / S possibles doivent être contrôlés: terminaux, commutateurs, relais, clés, capteurs (température, lumière, tension, etc.), appareils sonores, indicateurs visuels (LCD, LED), analogiques ( A / D), convertisseurs numérique-analogique (D / A)? Une ou plusieurs tensions d'alimentation sont-elles requises pour le système? L'alimentation est-elle tolérante aux pannes? L'appareil fonctionnera-t-il lorsque votre tension d'alimentation est appliquée? La tension doit-elle être maintenue dans une plage fixe étroite de changements, ou le système peut-il fonctionner à une instabilité élevée? Quel est le courant d'opération? Le produit doit-il fonctionner à partir du secteur ou des batteries? Si vous utilisez des piles rechargeables, utilisez-vous des piles rechargeables et si oui, quelle est la durée de fonctionnement sans recharge, et à quelle heure est-il nécessaire? Existe-t-il des restrictions sur la taille, le poids, les paramètres esthétiques, tels que la forme et / ou la couleur? Existe-t-il des exigences spécifiques pour les conditions environnementales, telles que les conditions militaires, la température, l'humidité, l'atmosphère (explosive, corrosive, etc.), la pression / hauteur? Le logiciel utilisateur doit-il être basé sur des disques ou des ROM? Le produit fonctionne en temps réel, et si oui, allez-vous créer ou acquérir un noyau de programme en temps réel ou, peut-être, une version assez répandue? Y a-t-il assez de personnel et de temps pour développer votre propre noyau de programme? Comment les droits d'auteur et les logiciels seront-ils payés? Pour résoudre les problèmes en temps réel, beaucoup de recherches sont nécessaires pour satisfaire leurs besoins spécifiques.

CARACTÉRISTIQUES PRINCIPALES DU MICROCONTRÔLEUR

Les microcontrôleurs en général peuvent être divisés en groupes de 8, 16 et 32 ​​bits de leurs registres arithmétiques et index, bien que certains développeurs pensent que l'architecture 8/16/32 bits détermine la largeur du bus. Un microcontrôleur bon marché est-il capable de répondre aux exigences du système ou est-il cher 16 ou 32 bits? L'émulation logicielle 8 bits des fonctionnalités d'un microcontrôleur 16/32 bits permet-elle l'utilisation d'un 8 bits bon marché, en sacrifiant la taille du code exécutable et la vitesse? Par exemple, un microcontrôleur 8 bits peut-il être utilisé avec une macro logicielle pour émuler une batterie 16 bits et des opérations d'indexation? La sélection d'un langage d'application (de haut niveau au lieu d'assembleur) peut grandement affecter les performances du système, qui peut alors dicter le choix de l'architecture 8/16/32 bits, mais le prix plafond peut rejeter ce choix.
La fréquence d'horloge ou, plus précisément, la vitesse du bus détermine le nombre de calculs pouvant être effectués par unité de temps. Certains microcontrôleurs, principalement les premiers, ont une plage étroite de fréquence d'horloge permise, tandis que d'autres peuvent fonctionner jusqu'à une fréquence nulle. Parfois, une fréquence d'horloge spécifique est sélectionnée pour générer une autre fréquence d'horloge requise dans le système, par exemple pour régler les débits de transmission en série. Fondamentalement, la puissance de traitement, la consommation d'énergie et le coût du système augmentent avec l'augmentation de la vitesse d'horloge. Le prix du système augmente avec l'augmentation de la fréquence en raison du coût non seulement du microcontrôleur, mais également de tous les microcircuits additionnels requis, tels que les contrôleurs RAM, ROM, PLD et bus.
Considérez la technologie avec laquelle le microprocesseur est fabriqué: Le semi-conducteur à oxyde métallique à canal N (NMOS), qui était utilisé dans les microcontrôleurs des premiers développements, est comparable à la technologie CMOS moderne avec un haut niveau d'intégration (HCMOS). Contrairement aux premiers processeurs NMOS, les niveaux de signal HCMOS varient de 0 à la tension. À cet égard, la préférence est donnée aux processeurs HCMOS. En outre, HCMOS consomme moins d'énergie et, par conséquent, moins de chaleur. Les dimensions géométriques des éléments de l'HCMOS sont plus petites, ce qui permet d'avoir des circuits plus denses et donc de fonctionner à des vitesses plus élevées. Une conception plus dense réduit également le coût d'un microcontrôleur individuel, car Un plus grand nombre de puces peut être obtenu sur une plaquette de silicium de même taille. Pour ces raisons, aujourd'hui la grande majorité des microcontrôleurs sont fabriqués en utilisant la technologie HCMOS.

OPPORTUNITÉS DE MICROCONTRÔLEURS

En atteignant un niveau supérieur d'intégration et de fiabilité tout en maintenant un prix bas, tous les microcontrôleurs sont équipés de dispositifs supplémentaires intégrés. Ces dispositifs sous le contrôle du coeur de microprocesseur du microcontrôleur remplissent certaines fonctions. Les appareils intégrés ont une fiabilité accrue, car ils ne nécessitent aucun circuit électrique externe. Les dispositifs intégrés les plus connus comprennent les dispositifs de mémoire et les ports d'E / S, les temporisateurs, une horloge / générateur système. Les dispositifs de mémoire comprennent une mémoire vive (RAM), une mémoire morte (ROM), une ROM reprogrammable (EPROM), une ROM reprogrammable électriquement (EEPROM). Les minuteurs incluent à la fois l'horloge en temps réel et les minuteries d'interruption. La plage et la résolution de la minuterie doivent être considérées, ainsi que d'autres sous-fonctions, telles que les fonctions de comparaison et / ou de capture des lignes d'entrée lors de la mesure de la durée du signal. Les moyens d'E / S comprennent les ports de communication série, les ports parallèles (lignes d'E / S), les convertisseurs analogique-numérique (A / D), les convertisseurs numérique-analogique (D / A), les pilotes LCD ou VFD.
Les autres ressources embarquées, moins communément utilisées, sont le bus interne / externe, le chien de garde pour le fonctionnement normal du chien de garde du système, le système de détection des défaillances de l'oscillateur, le choix de la configuration mémoire et le module d'intégration du système. SIM remplace normalement la logique de "collage" externe nécessaire pour organiser l'interaction du microcontrôleur avec des dispositifs externes à travers les contacts spécifiés de la puce.
La plupart des microcontrôleurs avec des ressources en circuit comprennent un bloc de registres de configuration pour gérer ces ressources. Parfois, ce bloc lui-même peut être reflété dans différents endroits de la carte mémoire. Parfois, il y a un registre d'essai utilisateur et / ou d'usine indiquant la valeur que le fabricant attache à la qualité. La présence de registres de configuration entraîne le problème de la modification accidentelle de la configuration souhaitée par un code "errant". Pour éviter une telle opportunité accidentelle, un mécanisme de "blocage" est utilisé, à savoir. Avant que le registre de configuration puisse être modifié, les bits de l'autre registre doivent être changés dans une certaine séquence. Bien que les registres de configuration puissent initialement effrayer leur complexité, ils sont extrêmement précieux car ils offrent une grande flexibilité de configuration à faible coût, de sorte qu'un seul microcontrôleur peut trouver une grande variété d'applications.

SET DE COMMANDES MICROCONTRÔLEURS

Il est nécessaire d'étudier attentivement l'ensemble des commandes et des registres de chaque microcontrôleur, car ils jouent un rôle crucial dans la détermination des capacités du système dans son ensemble. Vos programmeurs ont-ils étudié les modes d'adressage d'index en fonction des besoins perçus de votre système? Y a-t-il des commandes spéciales qui seront utilisées sur votre système, telles que la multiplication, la division et l'interpolation de table? Existe-t-il des modes d'économie d'énergie pour économiser la batterie, tels que l'arrêt, l'arrêt, la faible consommation d'énergie et / ou l'attente? Existe-t-il des commandes de manipulation de bits (réglage de bit, effacement de bit, test de bit, changement de bit, commande de transition de bit set / cleared) qui facilitent l'utilisation du microcontrôleur ou des commandes pour manipuler des champs de bits?
Soyez prudent avec les grandes équipes qui effectuent de nombreuses actions dans la même équipe. Le critère de performance réel est le nombre de cycles d'horloge requis pour effectuer une tâche, plutôt que le nombre de commandes exécutées. Pour une comparaison équitable, il est préférable d'encoder le même programme et de comparer le nombre total de cycles d'horloge et d'octets utilisés. Y a-t-il des instructions non réalisées dans la carte de code d'opération et que se passera-t-il si elles sont accidentellement exécutées? Le système va-t-il gérer correctement cette situation avec le gestionnaire d'événement "exceptionnel" ou va-t-il entraîner une défaillance du système?

INTERRUPTIONS DE MICROCONTRÔLEUR

La vérification de la structure des interruptions est toujours nécessaire lors de la création d'un système en temps réel. Combien y a-t-il de lignes ou de niveaux d'interruption et combien sont nécessaires pour votre système? Y a-t-il un masque de niveau d'interruption? Lorsque le niveau d'interruption est confirmé, existe-t-il des vecteurs individuels pour le programme de programme d'interruption ou faut-il interroger toutes les sources d'interruption pour déterminer la source? Dans des applications critiques telles que la gestion d'imprimante, le critère de sélection du microcontrôleur approprié peut être le temps de réponse d'interruption, à savoir E. temps écoulé depuis le début de l'interruption (dans le pire des cas, en phase par rapport à l'horloge du microcontrôleur) jusqu'à ce que la première instruction du gestionnaire d'interruption approprié soit exécutée.

CARACTÉRISTIQUES DE VOTRE ENTREPRISE

Analyser de manière critique le statut de la propriété de votre entreprise. Votre entreprise dispose-t-elle de fonds suffisants pour former le personnel aux aspects les plus délicats de la production de systèmes à base de microcontrôleurs et de l'utilisation d'outils de développement? Votre entreprise dispose-t-elle déjà d'outils de développement suffisants ou allez-vous les acheter ou les louer? Si un nouveau microcontrôleur est envisagé, existe-t-il des outils de développement disponibles tels que des compilateurs de langage de haut niveau, des assembleurs / lieurs, des modules prototypes et des débogueurs / émulateurs? Vos outils de développement pour les nouveaux microcontrôleurs sont-ils faciles à développer? Dois-je embaucher et former du personnel supplémentaire pour ce projet? Pouvez-vous attirer un expert pour former le reste de votre équipe? Le budget vous permet-il d'embaucher du personnel permanent supplémentaire et / ou des contractuels? Votre entreprise est-elle satisfaite des microcontrôleurs actuellement disponibles sur le marché, ainsi que de la maintenance?

CARACTÉRISTIQUES DU FOURNISSEUR

La troisième étape dans la réduction de la liste des microcontrôleurs techniquement acceptables consiste à vérifier les fabricants et les fournisseurs de microcontrôleurs, c.-à-d. entreprises avec lesquelles vous envisagez d'entrer dans une relation à long terme sur une base mutuellement avantageuse. Le fournisseur peut être un fabricant de microcontrôleurs ou un revendeur agréé par plusieurs fabricants. Bien satisfaire les demandes de votre fournisseur avec un assortiment plus large de produits et la réputation de haute qualité, la fiabilité, le service et la livraison rapide à un prix équitable. En outre, plus vous achetez de produits auprès d'un seul fournisseur, plus vous en retirerez des avantages en termes de prix, de services et de support. Gardez toujours à l'esprit que même si le volume en dollars de votre achat peut vous sembler élevé, il est toujours relatif aux ventes totales du fournisseur. Fournisseurs qui fournissent non seulement des microcontrôleurs mais aussi de la mémoire (RAM, ROM), des dispositifs discrets (transistors, diodes, etc.), des dispositifs logiques numériques standards (7400, 74HC00, etc.), des puces spéciales, des dispositifs personnalisés (CSIC), les microcircuits spécialisés (ASIC) et les dispositifs logiques programmables (PLD), peuvent mieux répondre à vos demandes croissantes. Est-ce que le fabricant et / ou le fournisseur ont des récompenses pour la qualité, la fiabilité, le service et / ou la livraison? Vous ne devriez pas trop faire confiance aux récompenses d'estime de soi.

CARACTÉRISTIQUES DU FABRICANT

D'autres critères dans le choix du fabricant / fournisseur du microcontrôleur sont la stabilité, sa position de monopole, les informations de la littérature et le support. La stabilité peut être vérifiée de manière fiable en établissant l'expérience de travail du fabricant dans ce domaine et ses réalisations. Le département approvisionnement et le service crédit de votre entreprise peuvent vous aider dans ces domaines. Malheureusement, la position de monopole du fournisseur est généralement la norme, car La plupart des fabricants de microcontrôleurs se croisent rarement en production avec d'autres fabricants. Si le fabricant a de bons indicateurs en termes d'approvisionnement, de livraison et de prix, sa position de monopole ne devrait pas être un obstacle.

SOUTENIR LE FABRICANT

Le soutien direct du fabricant comprend le marketing / ventes et le soutien d'ingénierie appliquée. Lorsque vous appelez, demandez de l'aide, pouvez-vous contacter directement une personne dont vous avez besoin ou devez-vous jouer un «téléphone sourd»? Les appels sont-ils transmis immédiatement? Y a-t-il un numéro de fax? Combien de lignes téléphoniques sont disponibles? Les lignes téléphoniques sont toujours occupées? Ont-ils un système de commutation ou une secrétaire qui transmet vos messages à la personne responsable du support? À quelles heures le personnel de soutien travaille-t-il? Ont-ils d'autres responsabilités en plus du soutien? Quel est le nombre de membres du personnel? Le personnel de l'usine sera-t-il prêt à l'aider, à savoir des spécialistes des produits finis, de la production, de la qualité, des ingénieurs électroniciens, des programmeurs? Les ingénieurs d'usine sont-ils amis avec le personnel de soutien? Le personnel de soutien sait-il s'il possède les compétences nécessaires et s'acquitte-t-il en temps opportun de ce qu'il a promis, par exemple, résoudre votre problème ou vous envoyer quelque chose? Vient-il par courrier régulier, payez-vous pour la livraison rapide? Le fabricant a-t-il un babillard électronique (BBS) ou une page sur Internet où vous pouvez obtenir des informations telles que programmes d'application, nouvelles produits, nouveaux programmes, code source, messages d'erreur, e-mail, conférences? Quels sont les taux de transmission pris en charge? Combien de lignes téléphoniques sont disponibles? Quelles sont les heures d'ouverture? Avez-vous besoin d'une marque spéciale d'ordinateur et / ou de modem pour accéder? Y a-t-il un opérateur système (sysop)?

SUPPORT LITTÉRAIRE

La littérature couvre un large éventail de documents imprimés qui peuvent vous aider à faire le bon choix. Il comprend les versions du fabricant, telles que les descriptions techniques et les recommandations d'utilisation, ainsi que les publications disponibles à la librairie locale et / ou à la bibliothèque. Les éditions d'un magasin local et / ou d'une bibliothèque n'indiquent pas seulement la popularité du fabricant / microcontrôleur, mais offrent également des opinions impartiales si elles sont exprimées par des producteurs indépendants du fabricant.

FINITION DU CHOIX

Pour la dernière étape du processus de sélection, créez une table contenant les microcontrôleurs en question dans une colonne, et leurs caractéristiques importantes dans l'autre. Ensuite, joignez les formulaires des spécifications du fabricant pour obtenir une comparaison visuelle équitable. Certains fabricants ont déjà fait des descriptions comparatives de leurs microcontrôleurs, ce qui simplifiera votre tâche, mais vérifiez sur les descriptions techniques, si tous les derniers produits sont présentés. Parmi les caractéristiques possibles du prix (pour le volume attendu de produits, y compris la prédiction du prix futur, c.-à-d. Le prix diminuera si vous joignez la production?), RAM, ROM, EPROM, EEPROM, timer (s), A / D, D / A, ports série, ports parallèles, vitesse de bus (minimum / maximum), commandes spéciales (multiplication, division, etc.), nombre d'interruptions disponibles, temps de réponse de l'interruption (temps écoulé entre le début de l'interruption et l'exécution de l'interruption) taille / type de corps (céramique DIP ou LCC, plastique 0,3 "DIP ou 0,6" DIP, comprimé DIP (distance contacts yanie entre 0,071 « ), PLCC, PQFP, EIAJQFP, SOIC, certains d'entre eux utilisent la technologie de montage en surface), les exigences de puissance et d'autres détails qui sont importants pour vos périphériques système.

Si, après tout cela, vous avez encore plus d'un microcontrôleur dans la liste, considérez les possibilités d'expansion et de coût du système. Quelles extensions pensez-vous pourraient être nécessaires dans les futures versions de ce produit? Enfin, considérons le prix, car si deux microcontrôleurs sont les mêmes, mais que l'on offre un peu plus de fonctionnalités qui ne sont pas nécessaires aujourd'hui, mais qui rendraient les futures extensions disponibles sans surcoût, choisissez ce microcontrôleur.

TRAVAIL DE L'ÉQUIPE

En tant que chef de projet, vous pouvez faire tout le travail de recherche seul, ou vous pouvez commencer à impliquer votre équipe en mettant des tâches de recherche avant ses membres, comme les programmeurs évaluent le jeu d'instructions de chaque microcontrôleur en question. Impliquer votre équipe dans le processus de sélection dans les premières étapes, vous permettra non seulement de créer l'esprit de l'équipe, mais aussi d'obtenir des engagements individuels pour le projet grâce à une participation active. Cette approche, sans aucun doute, conduit à des conflits, car chacun a sa propre opinion, mais votre tâche en tant que chef de projet est d'être un intermédiaire. Après avoir entendu toutes les opinions, vous choisissez toujours. Comme lors des élections politiques, dès qu'un vainqueur des élections primaires apparaît, tous les membres du parti sont prêts à soutenir pleinement le leader, de sorte que l'équipe du projet doit soutenir les décisions du leader pour réussir dans la mise en œuvre du projet.

CONCLUSION

Le choix final d'un microcontrôleur adapté à votre projet n'est pas une décision facile. Les microcontrôleurs sont devenus des dispositifs plus sophistiqués depuis que les ressources en circuit ont été ajoutées. Et comme le processus évolue vers une intégration de plus en plus poussée des ressources externes pour abaisser le coût du système, la solution devient plus complexe. Cet article n'impose aucun choix au développeur, son but est d'indiquer tous les critères de sélection possibles qui doivent être pris en compte dans le processus de décision.