Ich wurde beauftragt, ein einfaches Alarmgerät zu bauen. Es müssen nur ein paar Eingänge gemessen werden und die Ausgänge reagieren entsprechend (um es ganz einfach auszudrücken!). Mir schien, dass die Verwendung einiger diskreter Logikgatter die Arbeit erledigen würde, aber ein Kollege (der mit mir daran arbeitete) entschied, dass wir stattdessen programmierbare Logik verwenden sollten. Sein Fall hat gewonnen, weil er erstens älter ist als ich, und zweitens war sein Hauptargument, dass programmierbare Geräte die Zukunft sind und wir zukunftssichere Produkte herstellen wollen.
Meine Frage ist, ob Sie ein Design haben, das leicht durch ein paar diskrete Logikgatter implementiert werden kann. Lohnt es sich, nicht mehr mit diskreter Logik zu entwerfen? Gibt es einen Vorteil gegenüber programmierbaren? Oder wird es durch programmierbare Logik langsam vollständig auslaufen? Um es klar auszudrücken, ich möchte keine Antworten auf "Ich glaube, das ist der Fall" oder "Ich persönlich denke das, aber ...". Ich würde gerne wissen, ob das Entwerfen mit diskreten gegenüber programmierbaren und tatsächlichen Vorteilen tatsächlich Vorteile hat lohnt es sich heutzutage, mit ihnen in Unterhaltungselektronikprodukten zu entwerfen?
quelle
Antworten:
Diskretes Logikdesign wird nicht vollständig auslaufen. Es wird immer Anwendungen geben, bei denen die Verwendung eines diskreten Logik-IC vorzuziehen ist. Wie bereits erwähnt, ist die Geschwindigkeit ein großer Vorteil, obwohl in vielen Anwendungen der Geschwindigkeitsunterschied einfach nicht so wichtig ist.
Wenn Sie in der Entwurfsphase eine Schaltung entwerfen, die nur zwei oder drei einfache Logikfunktionen an verschiedenen Punkten der Schaltung ausführen muss, ist es besser, diskrete Gatter zu verwenden, um Entwurfszeit zu sparen, da Sie auch schreiben müssen das Programm auch.
Für Systeme, die komplexere Logikfunktionen ausführen müssen, wäre es dumm, die ganze Zeit damit zu verbringen, eine Wahrheitstabelle zu erarbeiten und dann herauszufinden, welche Logikgatter wohin gehen usw., wenn Sie nur ein kleines Programm schreiben könnten. Je mehr Eingänge bedeuten, desto mehr Gates werden normalerweise benötigt und desto länger dauert es, diskret zu entwerfen.
Der Ort, an dem diskrete Logik wirklich den Vorteil hat, ist das Lernen. Wenn Sie zum ersten Mal etwas über Logikdesign und die Funktionsweise von Gates usw. lernen, ist es großartig, sich mit tatsächlichen Logikgattern vertraut zu machen und verschiedene Funktionen mit diskreten Teilen zu entwerfen. Immer eine gute Idee, um die Grundlagen zu verstehen. Aus diesem Grund wird diskrete Logik immer einen Platz in dieser Welt haben. Was die Unterhaltungselektronik betrifft? Die Zukunft ist definitiv programmierbar.
quelle
Ich bin überhaupt kein professioneller Elektronikingenieur (eigentlich nur ein Anfänger), aber meine wenigen Cent sind, dass dedizierte diskrete Logik-ICs nur verwendet werden sollten, wenn das Timing wichtig ist oder wenn es erforderlich ist, keine programmierbare Logik zu verwenden.
Mit einem Mikrocontroller können Sie eine viel kompliziertere Logik implementieren und sie ist flexibler. Es kann auch neu programmiert werden, ohne dass die Hardware geändert werden muss.
Auch wenn sehr schnelle Timings benötigt werden, mit denen die Software nicht Schritt halten kann, können dedizierte Logik-ICs verwendet werden. Für ein Alarmsystem scheint dies jedoch nicht erforderlich zu sein (es benötigt keine Reaktionszeit von Nanosekunden).
Nachfolgend meine Interpretation der Vor- und Nachteile:
quelle
Wenn Sie ein kommerzielles Produkt erstellen möchten, sollten Sie ein Design wirklich nicht wählen, weil es "programmierbar" ist oder weil es von einem älteren Kollegen vorgeschlagen wurde. Stattdessen sollten Sie die mit jedem Entwurf verbundenen Risiken und Kosten abschätzen und das mit den niedrigsten Kosten und dem akzeptablen Risikograd auswählen. Für den Anfang:
Wenn die Beschaffung von ICs mit diskreter Logik für Ihr spezielles Projekt billiger ist, Ihr Team Erfahrung mit einem solchen Design hat und Sie der Meinung sind, dass mangelnde Flexibilität nicht kritisch ist, gibt es keinen Grund, keine diskrete Logik zu verwenden.
quelle
Ein Aspekt, den die anderen Antworten vergessen, ist die Sicherheit. Diskrete Logikschaltungen sind weitaus zuverlässiger als viel komplexere Mikrocontroller-Designs. Ich half beim Bau eines Wasserstoff-Prototypautos. Alle Sicherheitsschaltungen wurden mit diskreter Logik entworfen. Sicherheit und Zuverlässigkeit sind ein Aspekt, den Sie möglicherweise beim Entwurf eines Alarmsystems in Betracht ziehen sollten.
quelle
Ich muss zugeben, wenn ich eine komplexe kombinatorische Logik plus einige Timer ausführen muss , beschäftige ich mich überhaupt nicht mit diskreter Logik, sondern codiere immer ein minimales Assembler-Programm für ein ATtiny (verwenden Sie einen PIC, wenn Sie diese besser mögen).
Die kombinatorische Logik besteht aus maximal 20 Assembler-Zeilen (mehrere Nachschlagetabellen). Jeder Software-Timer fügt weitere 10 Zeilen hinzu. Hardware-Timer noch weniger. Sie haben sogar den Vorteil, einen A / D-Wandler, einen Komparator und eine PWM-Erzeugung an Bord zu haben, falls Sie diese benötigen.
Der einzige Nachteil ist, dass Sie diesen Teil flashen mussten. Manchmal ist das ein Show-Stopper, aber das ist selten der Fall. Der große Vorteil ist, dass Sie viel weniger Platz auf der Platine benötigen, das Routing viel einfacher ist und Sie die Logikfunktionen bei Bedarf einfach ändern können.
Der verbleibende Anwendungsfall für separate Logik-ICs ist, wenn die Dinge schneller als 1 µs arbeiten müssen.
quelle
Im Endprodukt - wahrscheinlich nicht viele Vorteile gegenüber diskreter Logik, wenn es sich um ein Consumer-Gerät handelt. Ausnahmen sind etwas, das sehr robust gegen widrige Bedingungen sein muss oder sehr einfach vollständig zu charakterisieren ist (die tatsächliche Komplexität und das Potenzial für versteckte Fehler ist bei etwas Firmware-basiertem viel höher), oder das Sie in der Lage sein möchten, aus sehr neu zu erstellen ähnliche Teile für die kommenden Jahrzehnte (74xx Fußabdrücke ändern sich sehr sehr langsam, selbst wenn sich die Technologiebuchstaben ändern :)).
Etwas, das Sie mit Diskreten tatsächlich besser machen können, ist asynchrone Logik mit Selbststeuerung (die Fertigstellung einer Sache löst sofort eine andere Sache aus). Die Legitimität solcher Entwürfe ist ein heiliges Kriegsthema. Mach dir keine Sorgen, die synchronen Leute werden dich schlagen wollen, aber du musst nur ihre Uhr wegnehmen, sie werden unsinnig ewig darauf warten.
Wenn es um die Entwurfsmethodik geht, würde ich sagen, dass dies vom bevorzugten Stil des Designers abhängt - einem CPLD-Gerät, das Sie buchstäblich live neu verkabeln können ("Berühren Sie den Draht mit den Stiften, bis etwas einrastet"). und unter Strom von einem Host-PC (mit simulierten Funken, wenn Sie einen Stift mit einem Draht berühren, vorzugsweise nur für das Ambiente) würden sicherlich Leute mögen, die diskrete Logik bevorzugen :)
quelle