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

Sélection du microcontrôleur

Traduction
LLP "Tornado Modular Systems",
Russie, Novosibirsk, 1995

INTRODUCTION

C’est peut-être le choix du microcontrôleur qui est l’une des décisions les plus importantes dont dépend le succès ou l’échec du projet envisagé. Lors du choix d'un microcontrôleur, il est nécessaire de prendre en compte et d'évaluer un grand nombre de facteurs. La base de la séquence d'actions réfléchies menant à une décision finale peut être considérée comme le plan considéré dans cet article. En combinant leurs propres connaissances et exigences avec les informations présentées dans cet article, le lecteur doit tout évaluer dans son ensemble afin de prendre la bonne décision.

BUT

L’objectif principal est de choisir le microcontrôleur le moins coûteux (pour réduire le coût global du système), tout en satisfaisant les spécifications du système, c’est-à-dire exigences en matière de performances, 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), les réparations sous garantie, l'amélioration ultérieure, la maintenance, la compatibilité, la facilité de manipulation, etc.

PROCESSUS DE SELECTION

À partir du choix, le développeur doit d’abord se poser la question suivante: "Que doit faire le microcontrôleur dans mon système?" La réponse à cette simple question détermine les caractéristiques du microcontrôleur requises pour le système en développement et constitue donc le facteur déterminant du processus de sélection.
La deuxième étape consiste à rechercher des microcontrôleurs répondant à toutes les exigences du système. Cela comprend généralement le choix de la littérature, des descriptions techniques et des revues techniques, ainsi que des consultations. À l’heure actuelle, les informations sur les microcontrôleurs proposés, à la fois classiques, aux normes de l’industrie et les derniers microcontrôleurs sont devenues très accessibles. C’est bien si un microcontrôleur bien connu répond aux exigences du système. Dans le cas contraire, une recherche secondaire doit être effectuée pour trouver le microcontrôleur qui répond le mieux aux exigences, avec un minimum de composants externes et convenant au coût et à la taille. Il est clair qu'un microcontrôleur à puce unique est préférable en raison de son prix et de sa fiabilité.
La dernière étape de la sélection consiste en plusieurs étapes dont le but est de réduire la liste des microcontrôleurs acceptables à une seule. Ces étapes incluent l'analyse du prix, de la disponibilité, des outils de développement, du support des fabricants, de la stabilité de la production de microcontrôleurs spécifiques et de la présence d'autres fabricants ou fournisseurs. Pour arriver à la solution optimale, vous devrez peut-être répéter le processus entier plusieurs fois.

Critères de sélection

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

  • Pertinence pour le système d'application. Peut-il être réalisé sur un microcontrôleur à puce unique ou peut-il être implémenté à partir d’une puce spécialisée?
    • Le microcontrôleur possède-t-il le nombre requis de broches / ports d'E / S, car en cas de manque, il ne pourra pas faire le travail, et en cas de dépassement, le prix sera trop élevé?
    • At-il tous les périphériques requis, tels que les entrées / sorties série, la RAM, la ROM, les données A / N, D / A, etc.?
    • At-il d’autres périphériques inutiles dans le système?
    • Le cœur du processeur fournit-il les performances nécessaires, c'est-à-dire puissance de calcul vous permettant de traiter les demandes système pour toute la vie du système dans la langue d'application sélectionnée? Trop de gaspillage, trop peu ne fonctionnera pas.
    • Le budget du projet contient-il suffisamment de fonds pour permettre l’utilisation de ce microcontrôleur? Pour répondre à cette question, des frais de fournisseur sont généralement requis. Si ce microcontrôleur n'est pas acceptable pour un projet, toutes les autres questions deviennent inutiles et vous devez commencer à chercher un autre microcontrôleur.
  • La disponibilité
    • Y a-t-il un appareil en quantité suffisante?
    • Est-ce produit maintenant?
    • Qu'est-ce qui est attendu dans le futur?
  • Support développeur.
    • Assembleurs
    • Compilateurs
    • Outils de débogage
      • Module d'évaluation (EVM).
      • Emulateurs en circuit.
      • Buses pour analyseurs logiques.
      • Déboguer les moniteurs.
      • Programmes de débogage en code source.
  • Support informationnel
    • Exemples d'application.
    • Messages d'erreur
    • Utilitaires, y compris les assembleurs "gratuits".
    • Exemples de code source.
  • Support fournisseur.
    • Existe-t-il un groupe spécial qui prend uniquement en charge le support d'application?
    • Y a-t-il des ingénieurs, des techniciens ou des vendeurs?
    • Quel est le niveau de qualification du personnel de support, est-il vraiment intéressé à vous aider à résoudre votre problème?
    • Existe-t-il une communication téléphonique et / ou par fax?
  • Fiabilité du fabricant.
    • Compétence, confirmée par le développement.
    • Fiabilité de la production, c'est-à-dire qualité du produit.
    • Heures dans ce domaine.

Configuration requise

Effectuer une analyse système de votre projet vous permettra de déterminer les exigences du microcontrôleur. Quels périphériques sont nécessaires? Les opérations sur les bits ou uniquement numériques? Combien de manipulations sont nécessaires pour traiter les données? Le système doit-il être contrôlé par interruption, par disponibilité ou par commandes humaines? Combien de périphériques (bits d'entrée / sortie) doivent être contrôlés? Parmi les nombreux types possibles de périphériques d’E / S à contrôler, vous devez contrôler les terminaux suivants: terminaux, commutateurs, relais, clés, capteurs (température, lumière, tension, etc.), périphériques sonores, indicateurs visuels (afficheurs LCD, DEL), analogiques-numériques ( A / D) convertisseurs numérique-analogique (N / A)? Une ou plusieurs tensions d'alimentation sont-elles nécessaires pour le système? Quelle est la résistance de l'alimentation? L'appareil fonctionnera-t-il à la tension de votre alimentation? Les tensions doivent-elles être maintenues dans une plage de modifications étroite et étroite, ou le système peut-il fonctionner avec une volatilité élevée? Quel est le courant de travail? Le produit doit-il fonctionner à partir du réseau ou des batteries? Si des piles sont en place, faut-il utiliser des piles rechargeables? Si oui, quelle est la durée de fonctionnement sans recharge et combien de temps cela prend-il? Existe-t-il des restrictions de taille, de poids, de paramètres esthétiques, tels que la forme et / ou la couleur? Existe-t-il des exigences spécifiques concernant les conditions environnementales, telles que les conditions militaires, la température, l'humidité, l'atmosphère (explosive, corrosive, etc.), la pression / l'altitude? Le logiciel utilisateur doit-il être basé sur des disques ou une ROM? Le produit fonctionne-t-il en temps réel, et si oui, allez-vous créer ou acheter un noyau de programmes en temps réel, ou peut-être qu'une version assez largement utilisée sera utilisée? Y a-t-il suffisamment de personnel et de temps pour développer votre propre noyau de programmes? Comment les droits d'auteur et les logiciels seront-ils payés? Pour résoudre des problèmes en temps réel, de nombreux travaux de recherche sont nécessaires pour répondre à leurs besoins spécifiques.

LES PRINCIPALES CARACTÉRISTIQUES DU MICROCONTROLEUR

Les microcontrôleurs dans leur ensemble peuvent être divisés en groupes en groupes de 8, 16 et 32 ​​bits arithmétiques et index, bien que certains développeurs pensent que l’architecture 8/16/32-bit détermine la largeur du bus. Un microcontrôleur bon marché est-il capable de répondre aux exigences du système ou nécessite-t-il un processeur 16 ou 32 bits coûteux? Une émulation logicielle 8 bits d’un microcontrôleur 16/32 bits peut-elle permettre l’utilisation d’un processeur 8 bits bon marché en sacrifiant le 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? Le choix d'un langage d'application (de haut niveau au lieu de l'assembleur) peut affecter considérablement les performances du système, ce qui peut alors dicter le choix d'une architecture 8/16/32 bits, mais la limite de prix peut rejeter ce choix.
La fréquence d'horloge ou, plus précisément, la vitesse du bus déterminent le nombre de calculs pouvant être effectués par unité de temps. Certains microcontrôleurs, pour la plupart en développement précoce, ont une plage de fréquence d'horloge admissible étroite, tandis que d'autres peuvent fonctionner jusqu'à une fréquence nulle. Parfois, une fréquence d'horloge spécifique est choisie pour générer une autre fréquence d'horloge requise dans le système, par exemple pour définir les débits série. Fondamentalement, la puissance de calcul, la consommation électrique et le coût du système augmentent avec l'augmentation de la fréquence d'horloge. Le coût du système augmente avec l'augmentation de la fréquence en raison du coût non seulement du microcontrôleur, mais également de toutes les puces supplémentaires requises, telles que les contrôleurs RAM, ROM, PLD et de bus.
Considérons la technologie avec laquelle le microprocesseur a été fabriqué: le semi-conducteur métallique à canal N (NMOS), utilisé dans les microcontrôleurs à un stade précoce, comparable à la technologie CMOS moderne avec un niveau élevé d'intégration (HCMOS). Contrairement aux premiers processeurs NMOS, dans HCMOS, les niveaux de signal varient de 0 au niveau de la tension d'alimentation. Dans ce contexte, la préférence est donnée aux processeurs HCMOS. De plus, HCMOS consomme moins d’énergie et donc moins de chaleur. Les dimensions géométriques des éléments dans HCMOS sont plus petites, ce qui permet de disposer de schémas plus denses et donc de travailler à des vitesses plus élevées. Une conception plus dense réduit également le coût d’un microcontrôleur individuel, car sur une plaquette de silicium de la même taille, davantage de puces peuvent être obtenues. Pour ces raisons, la grande majorité des microcontrôleurs sont fabriqués avec la technologie HCMOS.

OPPORTUNITÉS DU MICROCONTROLEUR

En raison de la réalisation d'un niveau d'intégration et de fiabilité plus élevé 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 noyau de microprocesseur du microcontrôleur remplissent certaines fonctions. La fiabilité des appareils embarqués est accrue car ils ne nécessitent aucun circuit électrique externe. Les périphériques intégrés les plus connus comprennent les périphériques de mémoire et les ports d'entrée / sortie (I / O), les minuteries et un générateur / horloge système. Les dispositifs de mémoire incluent la mémoire vive (RAM), la mémoire morte (ROM), la mémoire reprogrammable (EPROM), la mémoire reprogrammable électriquement (EEPROM). Les minuteries incluent à la fois une horloge temps réel et des minuteries d'interruption. La plage et la résolution du temporisateur doivent être prises en compte, 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 installations 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 d'affichage à cristaux liquides (LCD) ou d'affichage fluorescent (VFD).
D'autres ressources intégrées, moins utilisées, sont un bus interne / externe, un temporisateur de surveillance, un système de détection d'échec du générateur d'horloge, une option de configuration de la mémoire et un module d'intégration système (SIM). La carte SIM remplace généralement la logique de «collage» externe nécessaire à l'organisation de l'interaction du microcontrôleur avec des périphériques externes via les contacts spécifiés du microcircuit.
Dans la plupart des microcontrôleurs avec des ressources en circuit, un bloc de registres de configuration est inclus pour contrôler ces ressources. Parfois, ce bloc lui-même peut être reflété à différents endroits de la carte mémoire. Parfois, il existe un registre de test utilisateur et / ou usine indiquant la valeur que le fabricant attache à la qualité. La présence de registres de configuration pose le problème de la modification accidentelle de la configuration souhaitée par un code "itinérant". Pour éviter une telle possibilité 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 modifiés dans un certain ordre. Les registres de configuration peuvent certes être effrayants au début, mais ils sont extrêmement précieux car ils offrent une grande flexibilité de configuration à un coût raisonnable, de sorte que diverses applications peuvent être trouvées pour un microcontrôleur.

JEU D'ÉQUIPES MICROCONTRÔLEUR

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'indexation d'adresses en fonction des besoins de votre système? Existe-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 permettant d’économiser la batterie, tels que l’arrêt, arrêt avec une consommation faible et / ou en mode veille? Existe-t-il des commandes de manipulation de bits (définition d'un bit, suppression d'un bit, test d'un bit, modification d'un bit, déplacement de commandes sur un bit activé / désactivé) facilitant l'utilisation d'un microcontrôleur ou la manipulation de champs de bits?
Soyez prudent avec les grandes équipes qui effectuent de nombreuses actions sur la même équipe. Le critère de performance réel est le nombre de cycles d'horloge requis pour effectuer la tâche, pas le nombre de commandes exécutées. Pour une comparaison équitable, il est préférable de coder le même programme et de comparer le nombre total de cycles d'horloge effectués et d'octets utilisés. La carte de code d'exploitation contient-elle des instructions non mises en œuvre et que se passe-t-il si elles sont exécutées par accident? Le système gérera-t-il correctement une telle situation par le gestionnaire d'événements "exceptionnels" ou entraînera-t-il une défaillance du système?

MICROCONTROLEUR D'INTERRUPTIONS

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 de lignes ou de niveaux d'interruption existe-t-il et combien sont nécessaires pour votre système? Existe-t-il un masque pour les niveaux d'interruption? Lorsque le niveau d'interruption est confirmé, existe-t-il des vecteurs individuels pour le programme de traitement des interruptions ou toutes les sources d'interruption possibles doivent-elles être interrogées pour déterminer la source? Dans les applications critiques en termes de vitesse, telles que le contrôle d'imprimante, le critère de sélection d'un microcontrôleur approprié peut être le temps de réponse à une interruption, c'est-à-dire le temps écoulé entre le début de l'interruption (dans le pire des cas, en phase par rapport au générateur d'horloge du microcontrôleur) et l'exécution de la première commande du gestionnaire d'interruptions correspondant.

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 moyens suffisants pour former son personnel aux subtilités des systèmes de fabrication basés sur des microcontrôleurs et utilisant les moyens de leur développement? Votre entreprise dispose-t-elle déjà de suffisamment d'outils de développement ou allez-vous les acheter ou les louer? Si vous envisagez un nouveau microcontrôleur, existe-t-il des outils de développement disponibles, tels que des compilateurs en langage de haut niveau, des assembleurs / lieurs, des modules prototypes et des débogueurs / émulateurs? Vos outils de développement existants pour les nouveaux microcontrôleurs s’étendent-ils assez facilement? Dois-je engager et former du personnel supplémentaire pour ce projet? Pouvez-vous faire appel à un expert pour former le reste de votre équipe? Le budget vous permet-il d'embaucher du personnel permanent et / ou des contractuels supplémentaires? Votre entreprise est-elle satisfaite des microcontrôleurs actuellement sur le marché, ainsi que du service?

DESCRIPTION DU FOURNISSEUR

La troisième étape de la réduction de la liste des microcontrôleurs techniquement acceptables consiste à vérifier les fabricants et les fournisseurs de microcontrôleurs, c'est-à-dire les entreprises avec lesquelles vous envisagez de nouer des relations à long terme mutuellement bénéfiques. Un fournisseur peut être un fabricant de microcontrôleurs ou un revendeur qui est un représentant autorisé de plusieurs fabricants. Votre fournisseur répondra au mieux à vos besoins avec une gamme de produits plus large et une réputation de haute qualité, de fiabilité, de service et de livraison rapide à un prix équitable. En outre, plus vous achetez de produits auprès d’un fournisseur, plus vous obtiendrez 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 sembler élevé, il représente toujours une valeur relative par rapport aux ventes totales du fournisseur. Fournisseurs fournissant non seulement des microcontrôleurs, mais également de la mémoire (RAM, ROM), des dispositifs discrets (transistors, diodes, etc.), des dispositifs de logique numérique standard (7400, 74HC00, etc.), des puces spéciales, des dispositifs personnalisés (CSIC), les puces spécialisées (ASIC) et les dispositifs logiques programmables (PLD) peuvent mieux répondre à vos besoins croissants. Le fabricant et / ou le fournisseur ont-ils des récompenses pour la qualité, la fiabilité, le service et / ou la livraison? Ne faites pas trop confiance aux récompenses auto-attribuées.

DESCRIPTION DU FABRICANT

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

SUPPORT DU FABRICANT

L’assistance directe du fabricant inclut l’assistance marketing / vente et l’ingénierie des applications. Lorsque vous appelez à l'aide, pouvez-vous contacter directement une personne dont vous avez besoin ou devez-vous jouer au "téléphone sourd"? Les appels sont-ils transférés immédiatement? Y a-t-il un numéro de fax? Combien de lignes téléphoniques sont disponibles? Des lignes téléphoniques toujours occupées? Ont-ils un système de commutation ou la secrétaire transmet vos messages à la personne de soutien? À quelle heure le personnel de soutien travaille-t-il? Ont-ils d'autres responsabilités que le soutien? Quel est le nombre d'employés? Le personnel de l'usine, à savoir les spécialistes des produits finis, de la production, de la qualité, des ingénieurs en électronique, des programmeurs, l'aidera-t-il à se préparer? Les ingénieurs d’usine sont-ils amicaux avec le soutien du personnel? Le personnel de soutien connaît-il, possède-t-il les compétences nécessaires et remplit-il ce qu'il a promis, par exemple, résoudre votre problème ou vous envoyer quelque chose? Vient-il par courrier ordinaire, payez-vous pour une livraison rapide? Le fabricant a-t-il un babillard électronique (BBS) ou une page Internet où vous pouvez obtenir des informations telles que des programmes d'application, des actualités sur les produits, de nouveaux programmes, du code source, des messages d'erreur, des courriels, des conférences? Quels sont les taux de transfert 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 y accéder? Existe-t-il un opérateur système (sysop)?

SUPPORT LITTÉRATURE

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

CHOIX DE FINITION

Pour la dernière étape du processus de sélection, construisez une table contenant les microcontrôleurs en question dans une colonne et leurs caractéristiques importantes dans une autre. Ensuite, joignez les fiches techniques du fabricant pour obtenir une comparaison visuelle juste. Certains fabricants ont déjà établi des descriptions comparatives de leurs microcontrôleurs qui simplifieront la tâche, mais vérifiez à l'aide des descriptions techniques si tous les derniers produits sont présentés. Parmi les caractéristiques possibles du prix (sur le volume de production prévu, y compris la prévision des prix futurs, c’est-à-dire que le prix baissera si vous rejoignez la production?), RAM, ROM, EPROM, EEPROM, minuterie (s), A / D, D / A, ports série, ports parallèles, vitesse de bus (minimum / maximum), commandes spéciales (multiplier, diviser, etc.), nombre d'interruptions disponibles, temps de réponse à l'interruption (temps écoulé entre le début de l'interruption et l'exécution de la première commande contrôlée par l'interruption), taille / type de boîtier (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 toujours plus d'un microcontrôleur dans la liste, envisagez les possibilités d'extension du système et son coût. Quelles extensions, à votre avis, pourraient être nécessaires dans les futures versions de ce produit? Enfin, considérez le prix parce que Si deux microcontrôleurs coûtent la même chose, mais qu’un offre un peu plus d’options qui ne sont plus requises aujourd’hui, mais rendrait les futures extensions disponibles sans coûts supplémentaires, choisissez ce microcontrôleur.

TRAVAIL D'ÉQUIPE

En tant que chef de projet, vous pouvez effectuer tout le travail de recherche seul ou engager l'engagement de votre équipe en attribuant des tâches de recherche à ses membres, telles que l'évaluation de l'ensemble des commandes de chaque microcontrôleur prises en compte par les programmeurs. Impliquer votre équipe dans le processus de sélection dès les premières étapes créera non seulement un esprit d'équipe, mais suscitera également un engagement individuel envers le projet grâce à une participation active à celui-ci. Cette approche conduit sans aucun doute à des conflits, car Chacun a sa propre opinion, mais votre tâche en tant que chef de projet est d'agir en tant qu'intermédiaire. Après avoir écouté toutes les opinions, vous choisissez toujours. Comme lors des élections politiques, dès que le vainqueur apparaît aux primaires, tous les membres du parti sont prêts à soutenir pleinement le chef. L’équipe de projet doit donc appuyer les décisions du chef pour réussir 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 complexes depuis que des ressources en circuit ont été ajoutées. Et comme le processus évolue dans le sens d'une intégration de plus en plus poussée des ressources externes dans le circuit afin de réduire les coûts du système, la solution est devenue de plus en plus complexe. Cet article n'impose aucun choix au développeur, il a pour objectif d'indiquer tous les critères de sélection possibles à prendre en compte dans le processus de prise de décision.