Lohnt es sich beispielsweise noch zu lernen, wie man einen 555-Timer mit Widerständen und Kondensatoren abstimmt, wenn man ein Timer-Programm für einen Mikrocontroller in einer für Menschen lesbaren Programmiersprache schreiben kann?
Oder anders ausgedrückt: Gibt es Probleme, für die ICs gut sind, für die Mikrocontroller nicht?
learning
microcontroller
user955
quelle
quelle
Antworten:
Meistens haben Mikrocontroller diskrete ICs ersetzt. Ich finde, dass selbst wenn ich eine Schaltung mit einem 555 entwerfen könnte, es wahrscheinlich ist, dass dieselbe Schaltung in ein paar Wochen optimiert werden muss, um etwas anderes zu tun, und ein Mikro bewahrt diese Flexibilität.
Es gibt jedoch einige Ausnahmen.
Diskrete Logik ist immer noch schneller als die meisten Mikrocontroller. Die Laufzeit und Schaltzeiten für die diskrete Logik liegen im Bereich von 1 bis 10 ns. Um dies mit einem Mikrocontroller abzustimmen, müssen Sie in der Lage sein, jede erforderliche Logik in einem Befehl zu implementieren und einen Takt im Bereich von 100 MHz bis 1 GHz zu haben. Sie können das tun, aber vielleicht nicht auf einem Steckbrett in Ihrer Garage.
Ein gutes Beispiel hierfür ist der Quadraturdecoder HCTL2020. Es dauert zwei Serien von Impulsen und sagt Ihnen, in welche Richtung Ihr Motor dreht. Es ist aus Gründen der Geschwindigkeit als nicht programmierbarer Chip implementiert.
Ein weiterer interessanter Bereich, in dem sowohl digitale Logik als auch Mikrocontroller ausfallen, ist die Signalfilterung. Wenn Sie ein analoges Signal haben, das Sie digital filtern möchten, müssen Sie es mit einer gewissen Rate abtasten. Unabhängig davon, wie schnell Sie es abtasten, wird das Rauschen im Signal, das bei Frequenzen auftritt, die über der Hälfte Ihrer Abtastfrequenz liegen, auf niedrigere Frequenzen heruntergefiltert, wodurch es zu Interferenzen mit Ihrem Signal kommen kann. Sie können dieses Problem mit einem Tiefpassfilter lösen, der aus einer Kappe und einem Widerstand besteht, bevor Ihre Abtastung erfolgt. Nach der Probenahme sind Sie geschraubt. (Natürlich ist es häufig so, dass das Rauschen Ihr Signal in der Frequenz nicht überlappt, und dann funktioniert ein digitaler Filter hervorragend.)
quelle
Seltsamerweise hatte ich gerade eine unserer chinesischen Fabriken, die versuchte, einem Projekt ein Mikro hinzuzufügen, bei dem es völlig übertrieben war, und ich forderte sie auf, stattdessen ein 555 zu verwenden. Ein 555 kostet vielleicht 6 Cent, ein billiger Mikrocontroller 60 Cent. Wenn Sie Produkte in großen Mengen herstellen, ist dieser Kostenunterschied wichtig, und Sie möchten auf jeden Fall wissen, wie Sie den billigeren IC verwenden. Ja, sie sind besser darin, weniger zu kosten. :)
quelle
Ein Bereich, in dem diskrete Logik immer noch Mikros übertrifft, ist die Langzeitstabilität von Bauteilen.
Wird dieses Mikro in 10 Jahren verfügbar sein? 20? Werden die IDE und die Toolchain es in dieser Zeit noch unterstützen?
Sie können so ziemlich garantieren, dass diskrete Logik auch in Zukunft diskrete Logik sein wird. Micros, nicht so sehr. Wenn Sie ein Produkt entwerfen, von dem Sie erwarten, dass es eine lange Lebensdauer, eine generische Logik und so viel wie möglich aufweist, reduzieren generische Teile die Notwendigkeit, das Gerät neu zu entwerfen, wenn sich die Verfügbarkeit von Teilen verschiebt.
Sie sind auch kein SOL, wenn Ihr Chiphersteller nachbestellt ist. Viele Leute machen kompatible generische Logik, während es im Grunde kein generisches Mikro gibt.
quelle
Es ist oftmals billiger, diskrete Schaltkreise für eine einfache Aufgabe zu verwenden. Zum Beispiel eine blinkende LED. Der billigste PIC, ein PIC10F200, kostet ungefähr 0,35 US-Dollar in 5ku, und das vor Programmierkosten und unter Berücksichtigung der geringen Größe (und der damit verbundenen Probleme bei der Herstellung). Ein NE555-Timer kann dagegen für ungefähr US-Dollar erworben werden $ 0,10 von TI in 5ku, und eine vollständige Lösung würde wahrscheinlich bei rund US $ 0,20 wiegen.
Zu berücksichtigen ist auch, dass Mikrocontroller von Natur aus digitale Geräte sind. Sicher, die meisten haben ADCs und einige haben sogar DACs, aber sie arbeiten immer noch mit diskreten Zeiteinheiten und arbeiten mit einzelnen Bits und Bytes. Eine analoge Schaltung kann genau auf das abgestimmt werden, was der Entwickler benötigt, da analog theoretisch eine unendliche Auflösung hat **. Ein digitaler Schaltkreis ist durch seine langsamste Komponente begrenzt.
Schließlich gibt es die Frage der Versorgung. Zurück zu meinem ersten Beispiel, dem NE555. Das gibt es schon seit mehr als 20 Jahren und danach werden es wahrscheinlich noch 50 sein. Es ist so ein Gummibärchen-Teil, dass es wahrscheinlich für immer hergestellt wird (oder zumindest, bis herkömmliche Elektronen in der Elektronik veraltet sind). Ein PIC10F könnte jedoch jederzeit zu einem NRND gemacht werden. Bei einem einzigen Lieferanten wie Microchip besteht ein erhebliches Risiko, dass ein Produkt ruiniert wird.
** Okay, das ist nicht ganz richtig. In Wirklichkeit beschränken wir uns auf die Auflösung von Elektronen. 1 Ampere = 6,24 × 10 18 Elektronen / Sekunde. Die beste Stromauflösung, die Sie erhalten können, ist also Attoampere oder 10 ^ -18 Ampere, was etwa 6 Elektronen pro Sekunde entspricht. Für die meisten praktischen Zwecke ist dies jedoch in Ordnung. :)
quelle
Vergessen Sie nicht die programmierbare Logik - CPLDs und FPGAs. Wenn Sie die diskrete Logik durch eine CPLD ersetzen, sind Sie nicht von der Einstellung von Teilen betroffen und können viel mehr Leistung, reduzierte Größe und niedrigere Kosten erzielen. Wenn Sie ein FPGA im System haben, können Sie einen Softcore darin implementieren, der bei Änderungen der Anforderungen problemlos aktualisiert und das Ganze problemlos "zukunftssicher" gemacht werden kann.
quelle
Ich würde lernen, einen 555-Timer als "nur für den Fall" Wissen zu stimmen. Es ist dasselbe wie die Leute sagen: "Ich habe mein ganzes Leben ohne Algebra gut gelebt. Warum bringen wir es Kindern bei?" Wenn Sie nicht wissen, wie ein Tool verwendet wird, werden Sie nie ein Problem sehen, auf das es angewendet werden kann.
Eine konkrete Antwort: In FPGAs / ASICs ist heutzutage eine sehr schnelle digitale Logik implementiert, da sie auf einem Mikrocontroller / Prozessor zu langsam wäre (es sei denn, es handelt sich um einen speziell entwickelten Prozessor wie einen DSP).
quelle
In meinem aktuellen Projekt verwenden wir einen Marvell ARM9-Chip mit 500 MHz und einem FPGA, um viele DIO-Ports anzubieten. Dennoch gibt es Dinge, die in diskreter Logik gehandhabt werden. Beispielsweise wird eine Schrittmotorsteuerung für 4 einzeln gesteuerte Schrittmotoren benötigt. Es gibt einen Oszillator, der eine Frequenz mit einem Zähler erzeugt, durch den eine Anzahl von Impulsen laufen kann. Der Zähler wird vom Mikrocontroller eingestellt, arbeitet dann jedoch ohne weitere Steuerung vom Mikrocontroller aus, sodass Zeit für andere Aufgaben bleibt.
Wir hätten uns für mehr Mikrocontroller entscheiden können. Eine zentrale Steuerung, die mit traditioneller diskreter Logik arbeitet, kann sich jedoch als leistungsstarke und sehr zuverlässige Lösung erweisen.
Auch wenn Sie ein Problem haben, das klar definiert ist, sollte die Lösung immer so einfach wie möglich sein, aber nicht einfacher (Zitat darin versteckt ;-)). Wenn ein 555 funktioniert, warum würden Sie ihn nicht verwenden? Flexibilität könnte ein Argument sein, wie es jemand anders gewählt hat, aber es könnte nicht sein. Es hängt alles von Ihrem Problem und Ihrer Interpretation der einfachsten Lösung ab.
quelle
Hochfrequenzkommunikationsanwendungen kommen in den Sinn. Auch wenn wir jetzt über "softwaredefiniertes Radio" verfügen, wäre es sehr überraschend, wenn die Signalverarbeitung mit 100 MHz + nicht immer mindestens einige analoge Stufen aufweist.
quelle
Sehr wenige meiner jüngsten Mikrocontroller-Designs erfordern eine diskrete Logik. Eine Ausnahme war die Implementierung eines Ctrl-Alt-Del-Reset-Typs, bei dem zwei Sekunden langes Drücken von zwei bestimmten Tasten auf einer benutzerdefinierten Tastatur einen Hard-Reset des Mikros bewirken würde. Ich habe ein NOR-Gatter (verwendet als UND-Gatter mit 2 invertierten Eingängen), ein UND-Gatter und ein 74HC123 verwendet. Es war praktisch, in der Lage zu sein, die spezifischen Gates, die ich in einzelnen Gates in einem SMT-Paket benötigte, anstelle der 4 Gates / Package in den DIP-Tagen zu erhalten.
quelle
Ich hatte jahrelang die Chance, Softwareentwickler zu werden und arbeite jetzt als Elektronikingenieur.
Jedes System mit Komplexität bringt Fehler und Bugs mit sich. Sowohl die Mikrocontroller als auch die ICs haben ihre Vor- und Nachteile, basierend auf ihren Anwendungsgebieten.
Für kleine Projekte sind ICs schneller, billiger und zuverlässiger als Mikrocontroller. Bei Großprojekten mit Millionen von Eingaben, Analyse- und Vergleichslogiken haben Mikrocontroller gegenüber ICs den entscheidenden Vorteil.
Irgendwann versagt die gesamte Software, und selbst fehlerfreier Code kann leicht geändert werden, da er auf einem ROM gespeichert wird. Dies führt zu logischen Fehlern (z. B. Speicherlecks), die schwer zu erkennen sind, aber manchmal zu einer Katastrophe führen.
Um softwarebasierte Systeme vor Ausfällen in kritischen Anwendungen (wie z. B. militärischen oder lebensrettenden Systemen wie z. B. Zugsicherungssystemen) zu schützen, werden "ausfallsichere" Konzepte implementiert und entwickelt.
Ausfallsichere Systeme kehren in einen sicheren Zustand zurück, falls ein außergewöhnlicher Fehler auftritt. Normalerweise führen zwei Prozessoren den gleichen Code aus, vergleichen die Ergebnisse der einzelnen Befehle und wenn sie gleich sind, wird der Befehl ausgeführt. Andernfalls verwendet das System physikalische elektrische Relais, um in einen sicheren Zustand zurückzukehren.
Ausfallsichere softwarebasierte Systeme werden in Zugsicherungs- und ATP-Systemen (Automatic Train Protection) verwendet.
Das Entwerfen des gleichen komplexen Systems mit Ics bereitet jedem Ingenieur große Kopfschmerzen. Und deshalb wurde Software ab dem ersten Tag entwickelt!
quelle
ICs können sehr domänenspezifisch sein. Ich denke an einen DTMF-Decoder. Ich könnte einen Mikrocontroller zum Dekodieren der beiden Frequenzen programmieren, aber es ist einfacher, schneller und billiger, einen handelsüblichen Chip zu verwenden.
Ich denke, es ist wichtig, genügend Kenntnisse über alle Tools zu haben, um zu wissen, welches Tool verwendet werden soll.
quelle
Es gibt einen großen Unterschied zwischen dem Entwerfen von Objekten mit nur diskreten Komponenten und dem Verwenden eines Mikrocontrollers. Software hat Fehler. Wenn Zuverlässigkeit ein wichtiger Aspekt ist, ist es möglich, das Design von Objekten aus diskreten Bauteilen zu überprüfen. Nicht einmal Knuth wagt es zu behaupten, dass seine Software fehlerfrei ist.
Natürlich kann Ihr Design auch Fehler enthalten, die nur in sehr seltenen Fällen auftreten, aber einfacher zu verstehen und zu beheben sind. Es ist möglich, dass Software auf äußerst undurchsichtige und nicht offensichtliche Weise versagt, die Sie nie finden werden.
quelle
Die Antwort ist ja!
Sie müssen es als Hardware-Designer mit Produktionskostenorientierung betrachten. Der 555 ist ein alter IC, der als sehr einfach gilt. Wenn Sie ein EE sind, haben Sie es wahrscheinlich schon mehrmals in digitalen Elektronikkursen gesehen. Das Einrichten ist sehr einfach, da Sie für die meisten gängigen Anwendungen 2 oder 3 Formeln lösen müssen. Dies nimmt fast keine Zeit in Anspruch (da Sie das Teil bereits kennen und wissen, wie es zu verwenden ist und die Mathematik einfach ist). Die Zeit, die für die Einrichtung der Entwicklung einer 8-Bit-MCU und die Validierung der Software erforderlich ist, kann abhängig von der Umgebung, in der Sie arbeiten, Tage bis Monate dauern Verkürzen Sie möglicherweise auch die Markteinführungszeit.
Wahre Begebenheit - Ich habe früher für eine große medizinische Firma gearbeitet. Ich habe Prüfvorrichtungen für die Produktvalidierung entworfen. Die Vorrichtungen basierten teilweise auf Hardware und teilweise auf eingebetteter Software. Das Produkt, das das Unternehmen herstellt, interagiert mit verwundbaren Körperteilen, sodass die Menge an Inspektionen, die wir durchgeführt haben, verrückt war. Diesmal musste ich das Kommunikationsprotokoll anpassen, um Änderungen am Produkt selbst widerzuspiegeln. Die Änderung betrug vielleicht 10 Codezeilen in C und der Quarzoszillator wurde auch ausgetauscht, als die Baudrate geändert wurde und die ursprünglich installierte Frequenz nicht 11,0592 MHz betrug. Die Kosten für das Unternehmen betrugen wahrscheinlich 300 USD oder weniger, als Digikey die neuen Teile bestellte. Die Validierung der verbesserten Prüfvorrichtung dauerte mehrere Monate (! ) und beschäftigte mindestens mehrmals täglich etwa 3 bis 4 Personen mit verwandten Themen. Wie viel kostet das Unternehmen? Wahrscheinlich nördlich von $ 10.000 - $ 15.000. Diese Kosten spiegeln die tatsächlichen Kosten der geringfügigen Änderung des Designs wider. Oft kann man es speichern, und wenn man weiß, dass einige Lösungen fast fertig sind, kann man ein kleines Vermögen sparen.
quelle