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?
learning
microcontroller
utilisateur955
la source
la source
Réponses:
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 source
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. :)
la source
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.
la source
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. :)
la source
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".
la source
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).
la source
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.
la source
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.
la source
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.
la source
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!
la source
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.
la source
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.
la source
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.
la source