Inhaltsverzeichnis:

4-Bit-Binärrechner - Gunook
4-Bit-Binärrechner - Gunook

Video: 4-Bit-Binärrechner - Gunook

Video: 4-Bit-Binärrechner - Gunook
Video: Binärsystem - Dualsystem - ganz einfach erklärt (+ typische Aufgaben in der Mathearbeit) 2024, Juli
Anonim
4-Bit-Binärrechner
4-Bit-Binärrechner
4-Bit-Binärrechner
4-Bit-Binärrechner
4-Bit-Binärrechner
4-Bit-Binärrechner
4-Bit-Binärrechner
4-Bit-Binärrechner

Ich entwickelte ein Interesse an der grundlegenden Funktionsweise von Computern. Ich wollte die Verwendung diskreter Komponenten und die Schaltungen verstehen, die für komplexere Aufgaben erforderlich sind. Eine wichtige grundlegende Komponente in einer CPU ist die arithmetisch-logische Einheit oder die ALU, die Operationen mit ganzen Zahlen durchführt. Um diese Aufgabe zu erfüllen, verwenden Computer Binärzahlen und logische Gatter. Eine der einfachsten durchgeführten Operationen ist das Addieren zweier Zahlen in einer Addiererschaltung. Dieses Video von numberphile erklärt dieses Konzept hervorragend über Domino Addition. Matt Parker erweitert dieses Grundkonzept und baut eine Domino-Computer-Schaltung mit 10.000 Dominosteinen. Einen ganzen PC aus Dominosteinen zu bauen ist absurd, aber ich wollte immer noch die Verwendung diskreter Komponenten verstehen, um diese zusätzliche Aufgabe zu erfüllen. In den Videos wurden Logikgatter aus Dominosteinen erstellt, können aber auch aus Grundkomponenten, nämlich Transistoren und Widerständen, bestehen. Der Zweck dieses Projekts war es, diese diskreten Komponenten zu verwenden, um meinen eigenen 4-Bit-Addiererrechner zu lernen und zu erstellen.

Meine Ziele für dieses Projekt waren: 1) Lernen Sie, wie man eine benutzerdefinierte Leiterplatte erstellt und herstellt 2) Machen Sie das Design einfach, das Hinzufügen von Binärzahlen zu konzipieren 3) Demonstrieren Sie den Maßstabsunterschied zwischen diskreten Komponenten und einer integrierten Schaltung, die dieselbe Aufgabe erfüllt

Ein Großteil der Inspiration und des Verständnisses für dieses Projekt kam von Simon Inns.

Lieferungen

Ich habe Fritzing verwendet, um Schaltpläne zu erstellen, die Leiterplatten zu erstellen und herzustellen

Schritt 1: Theorie

Theorie
Theorie
Theorie
Theorie
Theorie
Theorie
Theorie
Theorie

Das Zählen zur Basis 10 ist einfach, da es eine andere ganze Zahl gibt, die die Summe zweier ganzer Zahlen darstellt. Das einfachste Beispiel:

1 + 1 = 2

Das Zählen in Basis 2 oder binär verwendet nur Einsen und Nullen. Eine Kombination aus Einsen und Nullen wird verwendet, um verschiedene ganze Zahlen und ihre Summen darzustellen. Ein Beispiel für das Zählen in Basis 2:

1+1 = 0 und du trägst die 1 zum nächsten Bit

Beim Addieren von zwei Bits (A und B) sind mit den Ausgängen von Sum und Carry (Cout) 4 verschiedene Ergebnisse möglich. Dies ist in der Tabelle angegeben.

Logikgatter nehmen Eingänge an und erzeugen einen Ausgang. Einige der grundlegendsten Logikgatter bestehen aus den NICHT-, UND- und ODER-Gattern, die alle in diesem Projekt verwendet werden. Sie bestehen aus verschiedenen Kombinationen und Beschaltungen von Transistoren und Widerständen. Schemata von jedem Tor werden bereitgestellt.

Zurück zur Tabelle: Eine Kombination dieser Gatter kann verwendet werden, um die Summenergebnisse in der Tabelle zu erzeugen. Diese Logikkombination wird auch als Exklusiv-ODER-(XOR)-Gatter bezeichnet. Der Eingang muss genau 1 sein, um einen Ausgang von 1 zu erhalten. Wenn beide Eingänge 1 sind, ist der resultierende Ausgang 0. Die Ergebnisse des Übertragsbits können durch ein einfaches UND-Gatter dargestellt werden. Somit kann die Verwendung sowohl eines XOR mit einem UND-Gatter die gesamte Tabelle darstellen. Dies ist als Halbaddierer bekannt und das Schema ist oben gezeigt.

Um größere Binärzahlen zu addieren, muss das Übertragsbit als Eingang eingebunden werden. Dies wird durch Kombinieren von 2 Halbaddiererschaltungen erreicht, um einen Volladdierer zu erzeugen. Volladdierer können dann kaskadiert werden, um größere Binärzahlen zu addieren. In meinem Projekt habe ich 4 Volladdierer kaskadiert, wodurch ich 4 Bit-Eingänge hatte. Das Schema für den Full Adder ist oben.

Simon Inns hat eine großartige und ausführlichere Beschreibung der Theorie. Es gibt auch ein paar PDFs, die ich hilfreich fand.

Schritt 2: Testen der Schaltung

Testen der Schaltung
Testen der Schaltung
Testen der Schaltung
Testen der Schaltung

Der erste Schritt, nachdem Sie die Funktionsweise von Logikgattern und die Theorie hinter einem Volladdierer verstanden haben, besteht darin, die Schaltung aufzubauen. Ich begann damit, alle Komponenten zu sammeln, die ich brauchte: 10K- und 1K-Widerstände, NPN-Transistoren, Steckbrett, Jumperwires. Ich folgte zusammen mit einem Ausdruck des Volladdierers. Der Prozess war mühsam, aber ich konnte eine funktionierende Schaltung für den Volladdierer bekommen. Ich würde die Eingänge hoch oder niedrig binden und ein Multimeter verwenden, um die Ausgänge zu testen. Jetzt war ich bereit, das Steckbrett und den Schaltplan in eine Leiterplatte zu übersetzen.

Schritt 3: Entwerfen der Full Adder PCB

Entwerfen der Full Adder PCB
Entwerfen der Full Adder PCB
Entwerfen der Full Adder PCB
Entwerfen der Full Adder PCB
Entwerfen der Full Adder PCB
Entwerfen der Full Adder PCB

Für das Design der Platine habe ich ausschließlich Fritzing verwendet. Dies war das erste Mal, dass ich eine Leiterplatte entwarf, und dieses Programm schien das benutzerfreundlichste und intuitivste mit der geringsten Lernkurve zu sein. Es gibt andere großartige Programme wie EasyEDA und Eagle, die beim Design einer Leiterplatte helfen. Mit Fritzing können Sie mit dem Entwerfen auf einem virtuellen Steckbrett oder einem Schaltplan beginnen und dann zum PCB wechseln. Ich habe beide Methoden für dieses Projekt verwendet. Wenn Sie bereit sind, die Leiterplatte zu fertigen, können Sie Ihre Dateien einfach per Mausklick exportieren und direkt zu Aisler, dem Partnerhersteller von Fritzing, hochladen.

Zeichnen Sie den Schaltplan, der mit der Registerkarte Schaltplan gestartet wurde, um den Vorgang zu starten. Zuerst habe ich alle Komponenten gefunden und in den Arbeitsbereich eingefügt. Als nächstes zeichnete ich alle Spuren zwischen den Komponenten. Ich habe darauf geachtet, 5V-Eingang und Masse an den entsprechenden Stellen hinzuzufügen.

Entwerfen Sie die PCBI, die auf die Registerkarte PCB geklickt wurde. Wenn Sie sich direkt von einem Schaltplan bewegen, erhalten Sie ein Durcheinander mit allen Komponenten, die durch Ratsnest-Linien verbunden sind, basierend auf den Spuren, die Sie im Schaltplan erstellt haben. Das erste, was ich tat, war die Größe der grauen Platine auf die gewünschte Größe zu ändern und Befestigungslöcher hinzuzufügen. Ich habe auch 16 Pins für die Ein- und Ausgänge hinzugefügt. Als nächstes fing ich an, die Komponenten logisch anzuordnen. Ich habe versucht, Komponenten mit nahe beieinander liegenden Verbindungen zu gruppieren, um den Spurabstand zu minimieren. Ich ging einen zusätzlichen Schritt und gruppierte die Komponenten nach Logikgatter. Eines meiner Ziele war es, die Funktionsweise der Schaltung visualisieren und dem "Bit" durch die Schaltung folgen zu können. Danach habe ich die Autorouting-Funktion verwendet, die automatisch durchläuft und die optimierten Leiterbahnen zwischen den Komponenten zeichnet. Ich war skeptisch, dass dieser Prozess alle richtigen Ablaufverfolgungen abgeschlossen hat, also habe ich die Ablaufverfolgungen überprüft und neu gezeichnet, wo sie sein sollten. Glücklicherweise hat die Autorouting-Funktion einen ziemlich guten Job gemacht und ich musste nur ein paar der Ablaufverfolgungen korrigieren. Der Autorouter hat auch einige seltsame Winkel mit den Spuren gemacht, was nicht die "Best Practice" ist, aber ich war damit einverstanden und alles funktionierte immer noch gut. Das letzte, was ich tat, war, Text hinzuzufügen, der als Siebdruck gedruckt werden würde. Ich habe dafür gesorgt, dass alle Komponenten beschriftet waren. Ich habe auch benutzerdefinierte Logikgatterbilder importiert, um die Gruppierung der Komponenten hervorzuheben. Das letzte Bild oben zeigt den Siebdruck.

Fertigen Sie die PCBI an, klicken Sie auf die Schaltfläche Fertigen am unteren Rand des Bildschirms. Es leitete mich direkt zur Aisler-Website, wo ich ein Konto erstellen und alle meine Fritzing-Dateien hochladen konnte. Ich habe alle Standardeinstellungen belassen und die Bestellung aufgegeben.

Schritt 4: Entwerfen der anderen PCBs

Entwerfen der anderen PCBs
Entwerfen der anderen PCBs
Entwerfen der anderen PCBs
Entwerfen der anderen PCBs
Entwerfen der anderen PCBs
Entwerfen der anderen PCBs

Die restlichen Platinen, die ich brauchte, waren die Eingangs-/Ausgangsschnittstellenplatine und die Platine für den IC. Ich habe den Prozess als Schritt 3 für diese Boards befolgt. Das PDF der Schaltpläne ist unten aufgeführt. Für den IC habe ich alle Verbindungen mit der virtuellen Steckbrettfunktion hergestellt. Ich habe den Schaltplan der Vollständigkeit halber eingefügt, konnte aber direkt vom Steckbrett zur PCB-Registerkarte gehen, was ziemlich cool war. Ich habe auch eine Umrechnungstabelle von Basis 10 zu Basis 2 auf dem Siebdruck auf der E/A-Schnittstellenplatine hinzugefügt, bevor ich sie hochgeladen und in Aisler bestellt habe.

Schritt 5: Löten von Komponenten auf PCB

Löten von Komponenten auf PCB
Löten von Komponenten auf PCB
Löten von Komponenten auf PCB
Löten von Komponenten auf PCB
Löten von Komponenten auf PCB
Löten von Komponenten auf PCB
Löten von Komponenten auf PCB
Löten von Komponenten auf PCB

Alle Platinen kamen an und ich war wirklich beeindruckt von der Qualität. Ich habe keine Erfahrung mit anderen Herstellern, würde aber jederzeit wieder Aisler verwenden.

Die nächste Aufgabe bestand darin, alle Komponenten zu löten, was ein mühsamer Prozess war, aber meine Lötfähigkeiten verbesserten sich erheblich. Ich begann mit den Volladdiererplatinen und lötete die Komponenten beginnend mit Transistoren, dann 1K-Widerständen, dann 10K-Widerständen. Ich folgte einer ähnlichen Methode, um den Rest der Komponenten auf die E / A- und IC-Platine zu löten. Nachdem jedes Full Adder Board fertig war, testete ich sie mit der gleichen Methode wie das Breadboard Full Adder. Überraschenderweise funktionierten alle Boards ohne Probleme. Das bedeutete, dass die Platinen richtig geroutet und richtig gelötet wurden. Zum nächsten Schritt!

Schritt 6: Fertigstellen der Leiterplatten zum Stapeln

Fertigstellen der Leiterplatten zum Stapeln
Fertigstellen der Leiterplatten zum Stapeln
Fertigstellen der Leiterplatten zum Stapeln
Fertigstellen der Leiterplatten zum Stapeln
Fertigstellen der Leiterplatten zum Stapeln
Fertigstellen der Leiterplatten zum Stapeln

Die nächste Aufgabe bestand darin, alle Header-Pins an jede Platine zu löten. Ich musste auch Überbrückungsdrähte zwischen dem richtigen Header-Pin und den Ein- / Ausgängen der Full Adder-Boards (A, B, Cin, V+, GND, Sum, Cout) hinzufügen. Dieser Schritt könnte vermieden werden, wenn Sie für jede Ebene der Addiererschaltung unterschiedliche PCBs entwerfen, aber ich wollte Design und Kosten minimieren, indem Sie nur eine Full Adder PCB erstellen. Daher erforderten Verbindungen zu diesen Ein-/Ausgängen Überbrückungsdrähte. Der bereitgestellte Schaltplan zeigt, wie ich diese Aufgabe gelöst habe und welche Pins für jede Ebene der Full Adder-Boards verwendet wurden. Bilder zeigen, wie ich die Überbrückungsdrähte für jede Platine gelötet habe. Ich begann damit, freie Drähte an die richtigen Pins am Header zu löten. Ich habe dann den Header auf die Platine gelötet. Nachdem ich die Headerpins mit Jumperdrähten angelötet hatte, lötete ich die freien Enden der Jumperdrähte an die richtigen Leitungen auf der Platine. Das Bild oben zeigt eine Nahaufnahme der Header-Pins mit den daran angelöteten Überbrückungsdrähten.

Schritt 7: Stromversorgung der Schaltkreise

Stromversorgung der Schaltkreise
Stromversorgung der Schaltkreise
Stromversorgung der Schaltkreise
Stromversorgung der Schaltkreise
Stromversorgung der Schaltkreise
Stromversorgung der Schaltkreise

Ich hatte vor, für dieses Projekt ein 12-V-DC-Barrel-Jack-Netzteil zu verwenden, also entwarf ich die I / O-Schnittstellenplatine mit einer DC-Barrel-Buchse / einem DC-Stecker für den Stromeingang. Da ich dieselbe E/A-Platine verwendet habe und ein einziges Netzteil verwenden wollte, musste ich die Spannung auf 5 V regulieren, da dies der maximale Eingang für den SN7483A IC ist. Um dies zu erreichen, brauchte ich einen 5V-Regler und einen Schalter, der zwischen 12V und 5V umschalten konnte. Das obige Schema zeigt, wie ich den Stromkreis zusammen verdrahtet habe.

Schritt 8: 3D-Druck der Basis

3D-Druck der Basis
3D-Druck der Basis
3D-Druck der Basis
3D-Druck der Basis
3D-Druck der Basis
3D-Druck der Basis

Jetzt, da alle Verdrahtungen und Lötarbeiten abgeschlossen sind, musste ich herausfinden, wie alles zusammengehalten werden sollte. Ich entschied mich für CAD- und 3D-Druck, ein Design, das alle Teile dieses Projekts aufnehmen und anzeigen würde.

Design-ÜberlegungenIch brauchte Orte, um die PCBs mit Schrauben und Abstandshaltern zu montieren. Die gestapelten Addierer sind die optisch ansprechendsten und ich wollte diese bei Nichtgebrauch ausgestellt haben, also wollte ich einen Platz zum Aufbewahren der IC-Platine. Ich musste den Stromkreis mit Ausschnitten für den Schalter und die DC-Buchse / den Stecker unterbringen. Schließlich wollte ich eine Art Gehäusevitrine, um zu verhindern, dass sich Staub in den offenen Leiterplatten ansammelt, also brauchte ich einen Platz für das Gehäuse.

3D-ModellierungIch habe Fusion360 verwendet, um die Basis zu entwerfen. Ich begann mit den Abmessungen der Leiterplatte und dem Abstand der Befestigungslöcher. Danach habe ich eine Reihe von Skizzen und Extrusionen verwendet, um die Höhe und Größe der Basis mit den PCB-Befestigungspunkten einzustellen. Als nächstes machte ich die Ausschnitte für das Gehäuse und den Stromkreis. Dann habe ich einen Bereich geschaffen, um die IC-Platine zu lagern, wenn sie nicht verwendet wird. Zuletzt fügte ich einige Details der Endbearbeitung hinzu und schickte sie an Cura, meine Slicing-Software.

DruckenIch habe schwarzes PLA-Filament gewählt. Der Druck hat etwas mehr als 6 Stunden gedauert und ist super geworden. Überraschenderweise stimmten alle Maße und alles schien richtig zusammenzupassen. Das Bild oben zeigt den Druck, nachdem ich die Abstandshalter in die Befestigungslöcher eingefügt habe. Sie passten perfekt!

Schritt 9: Montage

Montage
Montage
Montage
Montage
Montage
Montage

Setzen Sie die Abstandshalter ein. Ich legte alle Abstandshalter in die Befestigungslöcher der Basis.

Positionieren Sie den Stromkreis in der Basis. Ich hatte alles zusammen verdrahtet und alle Komponenten durch das Loch für den Schalter gezogen. Als nächstes steckte ich die Strombuchse / den Adapter in die Rückseite der Basis. Ich schob den 5V-Regler in seinen Steckplatz und endlich konnte der Schalter in Position geschoben werden.

Montieren Sie die E/A-Platine. Ich legte die IC-Platine in ihren Lagerraum und legte die I / O-Schnittstellenplatine darauf. Ich schraubte die Platine mit 4x M3-Schrauben und einem Sechskantschlüssel fest. Schließlich steckte ich die DC-Barrel-Buchse in die Platine.

Stapeln Sie die Adder PCBs. Ich stapelte den ersten Adder an Ort und Stelle. Ich schraubte die Rückseite der Platine mit 2 Abstandshaltern in die hinteren Befestigungslöcher. Ich wiederholte diesen Vorgang, bis der letzte Adder an Ort und Stelle war und befestigte ihn mit den 2 weiteren M3-Schrauben.

Machen Sie das Gehäuse. Ich habe 1/4 Acryl für das Gehäuse verwendet. Ich habe die endgültige Höhe des Projekts gemessen und mit den CAD-Maßen 5 Teile für die Seiten und die Oberseite ausgeschnitten, um eine einfache Schachtel mit offenem Boden zu machen. Ich habe Epoxid zum Kleben verwendet die Stücke zusammen Schließlich habe ich einen kleinen Halbkreisausschnitt auf der rechten Seite geschliffen, um den Schalter unterzubringen.

Bereit zum Berechnen

Schritt 10: Berechnung und Vergleich

Image
Image
Berechnung und Vergleich
Berechnung und Vergleich
Berechnung und Vergleich
Berechnung und Vergleich

Schließen Sie Ihren neuen Taschenrechner an und beginnen Sie mit dem Hinzufügen! Das Diagramm von Basis 10 zu Basis 2 kann verwendet werden, um schnell zwischen Binär- und Ganzzahlen zu konvertieren. Ich bevorzuge es, die Eingänge einzustellen und dann auf "gleich" zu drücken, indem ich den Netzschalter umlege und den binären Ausgang der LEDs beobachte.

Vergleich diskreter Komponenten mit einer integrierten Schaltung. Jetzt können Sie die vollständigen Addierer entstapeln und den SN7483A-IC in die E/A-Platine stecken. (Vergessen Sie nicht, den Schalter in die entgegengesetzte Richtung zu schalten, um den IC mit 5V statt 12V zu versorgen). Sie können die gleichen Berechnungen durchführen und erhalten die gleichen Ergebnisse. Es ist ziemlich beeindruckend zu denken, dass sowohl der Addierer für diskrete Komponenten als auch der IC auf dieselbe Weise funktionieren, nur auf einer sehr unterschiedlichen Größenskala. Die Bilder zeigen die gleichen Ein- und Ausgänge für Schaltungen.

Schritt 11: Fazit

Ich hoffe, Ihnen hat dieses Projekt gefallen und Sie haben so viel gelernt wie ich. Es ist ziemlich befriedigend, etwas Neues zu lernen und es in ein einzigartiges Projekt zu verwandeln, das auch das Erlernen einer neuen Fähigkeit wie PCB-Design / -Fertigung erfordert. Alle Schemata sind unten aufgeführt. Für alle Interessierten kann ich auch meine PCB-Gerber-Dateien verlinken, damit Sie Ihren eigenen 4-Bit-Binärrechner erstellen können. Viel Spaß beim Machen!