Les microcontrôleurs ont-ils remplacé des CI plus simples?


37

Vaut-il encore la peine d'apprendre, par exemple, comment accorder un minuteur 555 avec des résistances et des condensateurs, quand on peut écrire un programme de minuteur pour un microcontrôleur dans un langage de programmation lisible par l'homme?

Ou, en d'autres termes, existe-t-il des problèmes pour lesquels les CI sont bons pour les microcontrôleurs?


4
@ jes5199 - Je ne sais pas trop comment cette question mérite une balise méta; pouvez-vous commenter votre raisonnement?
J. Polfer

3
je pensais que je ne posais pas une question sur un problème spécifique, mais sur tout le domaine. Cela me semblait un peu méta.
user955

Une carte de circuit avec des composants discrets et une puce étiquetée comme une minuterie 555 est beaucoup plus lisible par l'homme que le programme stocké sur une puce.
Kaz

Réponses:


35

La plupart du temps, les microcontrôleurs ont remplacé les circuits intégrés discrets. Je trouve que même si je pouvais concevoir un circuit avec un circuit 555, il est probable que le même circuit devra être modifié dans quelques semaines pour faire autre chose, et un micro-ordinateur préserve cette flexibilité.

Mais il y a quelques exceptions.

La logique discrète est toujours plus rapide que la plupart des microcontrôleurs. Le temps de propagation et les temps de commutation pour la logique discrète sont compris entre 1 et 10 ns. Pour correspondre à cela avec un microcontrôleur, vous devez pouvoir implémenter la logique dont vous avez besoin en 1 instruction et disposer d'une horloge dans la plage de 100 MHz à 1 GHz. Vous pouvez le faire, mais peut-être pas sur une planche à pain dans votre garage.

Le décodeur en quadrature HCTL2020 en est un bon exemple. Il prend deux séries d'impulsions et vous indique le sens de rotation de votre moteur. Il est implémenté comme une puce non programmable pour des raisons de rapidité.

Le filtrage du signal est un autre domaine dans lequel la logique numérique et les microcontrôleurs échouent. Si vous souhaitez filtrer numériquement un signal analogique, vous devez l’échantillonner à un taux donné. Quelle que soit la vitesse d'échantillonnage, le bruit dans le signal qui apparaît à des fréquences supérieures à la moitié de votre fréquence d'échantillonnage devient associé à des fréquences plus basses, où il peut interférer avec votre signal. Vous pouvez résoudre ce problème avec un filtre passe-bas, constitué d'un capuchon et d'une résistance, avant que votre échantillonnage ne se produise. Après l'échantillonnage, vous êtes foutu. (Bien entendu, il est fréquent que le bruit ne chevauche pas votre signal en fréquence et qu'un filtre numérique fonctionne parfaitement.)


> La logique discrète est toujours plus rapide que la plupart des microcontrôleurs. Sauf si vous utilisez un Cypress PSoC3.
Rocketmagnet

3
@Rocketmagnet - Le PSoC, comme un FPGA, reste une logique brute. Ce n'est pas discret, bien sûr, mais c'est tout aussi rapide.
Kevin Vermeer

29

Bizarrement, l'une de nos usines chinoises essayait d'ajouter un micro à un projet totalement excessif et je leur ai dit d'utiliser plutôt un 555. Un 555 coûte peut-être 6 cents, contre un microcontrôleur bon marché pour 60 cents. Lorsque vous fabriquez des produits en grande quantité, la différence de coût est importante et vous voudrez certainement savoir comment utiliser le CI le moins cher. Alors oui, ils coûtent moins cher. :)


12
Vous pouvez aussi ajouter de la fiabilité à cela. Chaque logiciel a un bogue restant après que le dernier ait été supprimé.
Stévenvh

13

Un domaine où la logique discrète bat encore le pas est la stabilité à long terme des pièces.

Est-ce que ce micro sera disponible dans 10 ans? 20? Est-ce que l'EDI et la chaîne d'outils continueront à le supporter pendant cette période?

Vous pouvez à peu près garantir que la logique discrète sera toujours logique à l'avenir. Micros, pas tellement. Si vous concevez un produit dont la durée de production devrait être longue, une logique générique et, dans la mesure du possible, des pièces génériques, vous réduirez la nécessité de repenser le périphérique lorsque la disponibilité des pièces change.

En outre, vous n'êtes pas SOL si le fabricant de votre puce est en rupture de stock. Beaucoup de gens font de la logique générique compatible, alors qu’il n’existe pas de micro générique.


11

Il est souvent moins coûteux d’utiliser des circuits discrets pour effectuer une tâche simple. Par exemple, une LED clignotante. Le PIC le moins cher, un PIC10F200, coûte environ 0,35 USD en 5ku, et ceci avant les coûts de programmation et en tenant compte de la petite taille (et des problèmes de fabrication associés). Par contre, une minuterie NE555 peut être captée à peu près aux États-Unis. 0,10 USD de TI en 5ku, et une solution complète pèserait probablement autour de 0,20 USD.

Une autre chose à prendre en compte est que les microcontrôleurs sont par nature des appareils numériques. Bien sûr, la plupart ont des CAN et certains ont même des CAD, mais ils fonctionnent toujours sur des unités de temps discrètes et sur des bits et des octets individuels. Un circuit analogique peut être réglé précisément pour répondre aux besoins du concepteur, car en théorie, la résolution analogique est infinie **. Un circuit numérique est limité par sa composante la plus lente.

Enfin, il y a la question de l'offre. Revenons à mon premier exemple, le NE555. Cela fait plus de 20 ans que cela dure et il y en aura probablement 50 autres après. Il s’agit d’une pièce de jellybean telle qu’elle sera fabriquée pour toujours (ou du moins jusqu’à ce que les électrons classiques deviennent obsolètes en électronique). Un PIC10F peut être fabriqué à tout moment en NRND. Avec un seul fournisseur comme Microchip, il existe un risque important qui pourrait ruiner un produit.

** D'accord, ce n'est pas tout à fait vrai. En réalité, nous sommes limités à la résolution des électrons. 1 ampère = 6,24 × 10 18 électrons / seconde. Ainsi, la résolution de courant la plus fine que vous puissiez obtenir est l’attoampère, ou 10 ^ -18 ampères, ce qui correspond à environ 6 électrons par seconde. Mais dans la plupart des cas, cela va. :)


4
vous confondez la résolution avec précision, une erreur souvent commise. Il ne sert à rien d'avoir une résolution supérieure à 10 chiffres si la dérive fait en sorte que la précision effective ne soit que de deux chiffres. La solution numérique peut avoir une précision supérieure malgré une résolution discrète et donc plus limitée .
stevenvh

8

N'oubliez pas la logique programmable - CPLD et FPGA. En remplaçant la logique discrète par un CPLD, vous n'êtes pas affecté par les interruptions de fabrication de composants et pouvez obtenir beaucoup plus de performances, une taille réduite et un coût inférieur. Si vous avez un FPGA dans le système, vous pouvez implémenter un noyau souple dans celui-ci, qui peut facilement être mis à niveau si les exigences changent, et l'ensemble peut facilement être rendu "à l'épreuve du temps".


6

J'apprendrais en classe à régler une minuterie 555 comme une connaissance "au cas où". C'est la même chose que des gens qui disent: "J'ai vécu toute ma vie sans problème d'algèbre, pourquoi l'enseignons-nous aux enfants?" Si vous ne savez pas comment utiliser un outil, vous ne verrez jamais un problème auquel il peut être appliqué.

En ce qui concerne une réponse spécifique: la logique numérique très rapide est implémentée dans les FPGA / ASIC de nos jours car elle serait trop lente sur un microcontrôleur / processeur (à moins qu’il s’agisse d’un processeur spécialement conçu, comme un DSP).


6

Dans mon projet actuel, nous utilisons une puce Marvell ARM9 cadencée à 500 MHz avec un FPGA pour offrir de nombreux ports DIO. Pourtant, il y a des choses qui sont traitées en logique discrète. Par exemple, une commande de moteur pas à pas est nécessaire pour 4 moteurs pas à pas commandés individuellement. Il existe un oscillateur pour générer une fréquence avec un compteur qui permettra à un nombre d'impulsions de passer. Le compteur est défini à partir du microcontrôleur, mais fonctionne ensuite sans autre contrôle du microcontrôleur, ce qui lui laisse le temps de travailler à d'autres tâches.

Nous aurions pu opter pour plus de microcontrôleurs. Mais un contrôleur central fonctionnant avec une logique discrète traditionnelle peut s'avérer une solution puissante et très fiable.

De plus, si vous rencontrez un problème clairement défini, la solution doit toujours être aussi simple que possible, mais pas plus simple (citation cachée là ;-)). Si un 555 fonctionne, pourquoi ne l'utilisez-vous pas? La flexibilité peut être un argument comme quelqu'un d'autre l'a choisi, mais ce n'est peut-être pas le cas. Tout dépend de votre problème et de votre interprétation de la solution la plus simple.


1
Je penserais que votre FPGA d’extension d’E / S serait un bon endroit pour la partie "logique" d’un contrôle pas à pas.
Chris Stratton

5

Les applications de communication à haute fréquence me viennent à l’esprit. Bien que nous ayons maintenant une «radio définie par logiciel», il serait très surprenant que le traitement du signal 100 MHz + n'ait pas encore au moins quelques étages analogiques.


4

Très peu de mes conceptions récentes de microcontrôleurs ont nécessité une logique discrète. Une exception consistait à mettre en œuvre un type de réinitialisation de type Ctrl-Alt-Suppr dans lequel appuyer sur deux touches spécifiques sur un clavier personnalisé pendant deux secondes ferait une réinitialisation matérielle du micro. J'ai utilisé une porte NOR (utilisée en tant que porte ET avec 2 entrées inversées), une porte ET et un 74HC123. Était pratique de pouvoir obtenir les portes spécifiques dont j'avais besoin dans des portes simples dans un package SMT, au lieu des 4 portes / package des jours DIP.


4

J'ai eu la chance d'être développeur de logiciels pendant des années et travaille maintenant en tant qu'ingénieur en électronique.

Tout système complexe présente des erreurs et des bogues. Les microcontrôleurs et les circuits intégrés présentent des avantages et des inconvénients en fonction de leurs domaines d’utilisation.

Pour les projets de petite taille, les circuits intégrés sont plus rapides, moins chers et plus fiables que les microcontrôleurs. Pour les projets à grande échelle comportant des millions d'entrées, de logiques d'analyse et de comparaison, les microcontrôleurs ont certainement l'avantage sur les circuits intégrés.

Tous les logiciels échouent à un moment donné, même le code sans bogues est sujet à des modifications car il est enregistré sur une ROM, ce qui entraîne des erreurs logiques (par exemple, des fuites de mémoire) qui sont difficiles à détecter, mais aboutissent parfois à des conséquences catastrophiques.

Afin de protéger les systèmes logiciels contre les pannes des applications critiques (telles que les systèmes de niveau militaire ou les systèmes de sauvetage, tels que les systèmes de contrôle des trains), des concepts de "sécurité intégrée" sont mis en œuvre et développés.

Les systèmes à sécurité intégrée reviennent à un état sûr en cas d'erreur exceptionnelle. En général, deux processeurs exécutent le même code, comparent les résultats de chaque instruction et, s'ils sont égaux, l'instruction est exécutée. Sinon, le système utilise des relais électriques physiques pour revenir à un état sûr.

Les systèmes à base de logiciel Fail Safe sont utilisés dans les systèmes de verrouillage de train et ATPs (Automatic Train Protection).

Concevoir le même système complexe avec Ics est un casse-tête génial pour tout ingénieur. Et c'est pourquoi le logiciel a été conçu dès le premier jour!


3

Les CI peuvent être très spécifiques à un domaine. Je pense à un décodeur DTMF. Je pourrais programmer un microcontrôleur pour décoder les deux fréquences, mais il est plus facile, plus rapide et moins coûteux d'utiliser une puce standard.

Je pense qu’il est important d’avoir une connaissance suffisante de tous les outils pour savoir quel outil utiliser.


Cela dépend bien sûr de la nécessité d’un microcontrôleur dans le circuit. J'ai récemment eu un projet pour lequel j'avais besoin d'un décodeur DMTF. Les frites coûtent environ un dollar en quantité. La différence de prix entre un PIC24F ou un équivalent dsPIC33F (qui possède également un DSP) était également d'environ un dollar en quantité. Les routines DSP du décodeur DTMF étaient exemptes de Microchip. De plus, j'ai maintenant un DSP pour d'autres choses.
tcrosley

Pour votre information, j’ai écrit un très bon décodeur DTMF pour un PIC 16C622 il ya quelques années, en utilisant uniquement le comparateur comme entrée.
Supercat

3

Il y a une grande différence entre concevoir quelque chose en utilisant uniquement des composants discrets et en utilisant un microcontrôleur; le logiciel a des bugs. Si la fiabilité est un aspect important, il est possible de vérifier la conception de quelque chose constitué de composants discrets. Même pas Knuth n'ose prétendre que son logiciel est sans erreurs.

Bien entendu, votre conception peut également comporter des erreurs et ne figurer que dans de très rares cas, mais elles seront plus simples à comprendre et à corriger. Il est possible que les logiciels échouent de manière extrêmement obscure et non évidente, que vous ne trouverez jamais.


2
Puisque les composants discrets dans ce cas signifient probablement des circuits intégrés et non des transistors, qu'est-ce qui vous fait penser que les circuits intégrés sont sans bogues? Un logiciel bien écrit se termine par des bogues, non pas parce qu’il s’agit d’un logiciel, mais parce qu’il résout des exigences compliquées - une version câblée pourrait également être boguée. Une fois que vous avez trouvé un bogue, il est généralement moins coûteux de déployer des correctifs logiciels que de modifier des circuits imprimés, à moins que quelqu'un ait fait graver un vaste inventaire de micros OTP pour vous. Vous pouvez former quelqu'un à brancher un câble de programmeur et à respecter les règles ESD beaucoup plus rapidement que vous ne pourrez le former pour qu'il soit capable de retravailler les circuits imprimés SMT.
Chris Stratton

Les circuits intégrés existent dans toutes sortes de niveaux de complexité, y compris les microcontrôleurs. La probabilité d'erreur dans un CI est proportionnelle à la complexité du CI. La question portait sur des circuits intégrés plus simples, comme le minuteur 555, et je pense que la probabilité cumulée qu'un tel circuit intégré et des composants supplémentaires aient des erreurs est bien inférieure à la probabilité que le microcontrôleur les remplace. Bien entendu, si vous remplacez 1 000 composants par un seul microcontrôleur, les chances de changement vont probablement changer, de sorte que l'image n'est pas complètement en noir et blanc. Mais pour tout dispositif clignotant LED ou similaire que je ...
hlovdal

... Je pense que les composants discrets ont le potentiel d’être plus fiables. Et pour les erreurs de logiciel, elles ne sont pas déterministes. Bien sûr, rien n'est garanti à 100%, mais si vous implémentez un contrôleur de feux de signalisation avec des composants, vous pouvez le vérifier et le déployer, sachant qu'il continuera à fonctionner pendant X années jusqu'à ce que l'usure physique rende l'unité défaillante et puisse être remplacée. avec une nouvelle unité bien avant cela. Vous ne pouvez en aucun cas estimer qu'un logiciel fonctionnera de manière fiable pour une période donnée.
hlovdal

Un logiciel de complexité comparable à quelques logiciels discrets peut être prouvé mathématiquement sur le processeur approprié. Une logique discrète d'une complexité comparable à celle de logiciels plus courants ne peut pas non plus être totalement sécurisée - bien que dans les deux cas, vous pouvez utiliser une complexité supplémentaire pour fournir certaines sécurités de sauvegarde en cas d'échec du mécanisme principal.
Chris Stratton

3

La réponse est oui!

Vous devez le considérer comme un concepteur de matériel orienté vers les coûts de production. Le 555 est un ancien circuit intégré considéré comme très basique. Si vous êtes un EE la plupart des chances que vous avez vu à plusieurs reprises dans les cours d'électronique numérique L'installation est très facile car vous devez résoudre 2 ou 3 formules pour les applications les plus courantes. Cela ne prend presque pas de temps (puisque vous connaissez déjà la partie et comment l’utiliser, le calcul est simple). Le temps requis pour configurer le développement, même pour un microcontrôleur 8 bits, et valider le logiciel peut prendre de quelques jours à plusieurs mois, en fonction de l'environnement dans lequel vous travaillez également, éventuellement, raccourcir les délais de commercialisation.

Histoire vraie - je travaillais pour une grande entreprise médicale. J'ai conçu des gabarits de test pour la validation du produit. Les gabarits étaient à la fois matériels et logiciels intégrés. Le produit fabriqué par la société interagit avec les parties vulnérables du corps, de sorte que toutes les inspections que nous avons subies ont été très difficiles. Cette fois-ci, j'ai dû ajuster le protocole de communication pour refléter les modifications apportées au produit lui-même. Le changement était peut-être 10 lignes de code en C et l'oscillateur à cristal était également échangé car le débit en bauds était modifié et ce qui avait été installé à l'origine n'était pas de 11.0592MHz ... Il m'a fallu environ 2 heures pour le faire, documentation comprise. Le coût pour la société était probablement de 300 $ ou moins avec la commande de Digikey pour les nouvelles pièces. La validation du gabarit de test amélioré a pris plusieurs mois (! ) et a tenu environ 3 ou 4 personnes occupées au moins plusieurs fois par jour dans des domaines connexes. Combien cela coûte-t-il à l'entreprise? Probablement au nord de 10 000 $ - 15 000 $. Ce coût reflète le coût réel de la modification mineure de la conception. Plusieurs fois, vous pouvez le sauvegarder et connaître des solutions presque toutes faites pourrait sauver une petite fortune.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.