TECHNISCHE INFORMATIK Digital-Experimentiersystem Indigel Jean-Daniel Pouget Walter Kuhn Institut für Informatik Uni Basel Mittlere Straße 142 CH-4056 Basel 6. Januar 1995 Zusammenfassung Das Experimentiersystem Indigel erlaubt es, einfache Schaltungen zu stecken und auszuprobieren. Es finden dabei Standardschaltkreise Verwendung. Im Praktikum wird mithilfe des Systems eine einfache 4-bit CPU aufgebaut und mit Microcode programmiert. Inhaltsverzeichnis 1 Das Indigel-System 2 1.1 Das System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Inbetriebnahme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Schaltungsaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Allgemeines zur Elektronik 4 2.1 Spannung und Masse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 Taktgenerierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.4 Aufbauhinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Wahrheitstabellen und Pinbelegungen 6 3.1 Tastermodul und DIP-Switches . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Wahrheitstabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 IC-Pinbelegungen (74HC..., MC14051) . . . . . . . . . . . . . . . . . . . . . 8 3.4 Register MC14580 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5 Arithmetisch-Logische Einheit ALU MC14581 . . . . . . . . . . . . . . . . . 10 - Indigel.1 - TECHNISCHE INFORMATIK 1 1.1 Das Indigel-System Das System In einem handlichen Koffer präsentiert sich das Experimentiersystem (Bild 1). Es besteht aus einer Grundplatte (Bild 2), einer Menge von Adaptern mit Bauteilen und einem Sortiment von Kabeln und Steckern. Mit diesen Hilfsmit- teln wird das lötfreie Aufbauen von Schaltungen ermöglicht. Anders als bei sonstigen Steck-Systemen werden aber nicht die Bauteile selber, sondern Adapter eingesetzt, um eine störungsfreie Kontaktierung zu gewährleisten. Bild 1: Das System Für ein einfaches Verbinden der Bauteile untereinander und mit der Speisespannung sorgt ein Kreuzschienenverteiler. Ebenfalls in die Grundplatte integriert sind mehrere Taktgeneratoren und eine 3 x 8 LED. 1.2 Inbetriebnahme Nach Einstecken des Netzkabels und Bedienen des Hauptschalters kann an der linken Seite der Grundplatte die Versorgungsspannung (Buchse +5V stab.) abgegriffen und mit der Buchse u ≤ 48V auf der Oberseite verbunden werden. Damit ist die untere Ebene des Kreuzschienenverteilers (Bild 3, Speisespannungsschiene) an die Speisung angeschlossen. - Indigel.2 - TECHNISCHE INFORMATIK Bild 2: Die Systemplatte 1.3 Schaltungsaufbau Nun werden die Adapter mit den gewünsch- kurzschlussstifft ten Bauteilen eingesetzt. Die obere Ebene kabelstecker des Kreuzschienenverteilers (Bild 3, Signalschiene) gewährleistet die Verbindung zu weiteren Anschlusspunkten. Von dort aus adapter chip platte kann mit Kabelsteckern weiterverbunden oder mit Kurzschlusssteckern die Speisung abgegriffen werden. Für Taktgesteuerte Schaltungen können verschiedene Frequenzen (10Hz - 100kHz) signalschiene von den internen Oszillatoren bezogen werden. Als Anzeige für die Resultate und zum speisespannungs-schiene Testen der Schaltung dienen die LED’s, die durch Verbinden der entsprechenden An- Bild 3: Querschnitt durch die Systemplatte schlüsse angesprochen werden können. - Indigel.3 - TECHNISCHE INFORMATIK 2 Allgemeines zur Elektronik 2.1 Spannung und Masse Die IC’s, die wir verwenden, haben alle eine sogenannte corner-pinning-Speisungsbeschaltung. Das bedeutet nichts anderes, als dass am letzten Anschluss (=pin) (entweder 14, 16 oder 24) +5V (=Vcc) und am Anschluss der punktsymmetrisch gegenüberliegenden Ecke (entweder 7, 8 oder 12) 0V (=GND) anzulegen sind. 2.2 Multiplexer Der Multiplexer/Demultiplexer (MC14051) hat zwei 0V-Anschlüsse. Dieser Baustein besteht aus zwei Teilen: • einem digitalen Teil mit dem Adressdekoder und • einem analogen Teil mit den Schaltern. Diese Schalter können (wie mechanische Schalter) (fast) beliebige Signale durchschalten. Die Signale beziehen sich oft auf ein anderes Null-Potential (Anschluss 7) als jene des digitalen Teils (Anschluss 8). In unserem Fall wird der Baustein als rein digitaler Dekoder eingesetzt und deshalb werden beide Anschlüsse (7 und 8) auf 0V gelegt. 2.3 Taktgenerierung In unserer CPU setzen wir einen Vorteiler (durch 16) ein, damit - bei Verwendung des 10Hz-Taktes - die Abläufe noch mitverfolgt werden können. Bei manueller Taktung ist eine Takt-Teilung nicht nötig, so dass der Zähler etwas anders angeschlossen werden kann (muss aber nicht). (s. Bild ”Schaltung des Vorteilers”) 2.4 Aufbauhinweise Beachte bitte folgende Punkte beim schrittweisen (=übungsweisen) Aufbau der CPU: • stecke alle IC’s (die zum Bau der CPU verwendet werden) wie auf dem Lageplan angegeben, auch wenn in manchen Übungen nur ”probiert” wird • verwende stets die kürzest möglichen Kabel, Kabel die zusammengehören, sollten dabei die gleiche Farbe haben. Achtung: Schwarze Kabel haben andere Stecker! - Indigel.4 - TECHNISCHE INFORMATIK 1/6 74HC04 1/6 reset 74HC04 reset clear clear 5V GND (3) (4) clear A B (5) C (6) D (2) clk (1) (10) 74HC161 0V 10Hz GND (1) 5V En T En P (7) load (9) QC QD (12) (11) clk1 clk2 0V (3) (4) A B (5) C (6) D (2) (10) clear clk 74HC161 5V 5V En T En P (7) load (9) QA (14) clk2 clk1 Schaltung des Vorteilers (links mit 10Hz Taktung, rechts mit manueller Taktung) • auch Eingänge, die nicht ”relevant” erscheinen, sollten im Zweifelsfall mit einem definierten Pegel (Masse oder 5V) belegt werden. • versichere dich, dass alle bisher gesteckten Baugruppen ordnungsgemäss funktionieren Diese Punkte garantieren zwar keinen fehlerfreien Aufbau, aber sie erleichtern uns allen die Übersicht zu behalten und bei der Fehlersuche. Viel Vergnügen! Zu theoretisch? - macht nichts, im Praktikum wird alles klar! - Indigel.5 - TECHNISCHE INFORMATIK 3 74HCxx Wahrheitstabellen und Pinbelegungen Im folgenden soll für die wichtigsten IC’s, die im Praktikum Verwendung finden, Pinbelegung und gegebenenfalls die Wahrheitstabelle angegeben werden. Für die integrierte Schaltung MC14581 (ALU) wird keine vollständige Wahrheitstabelle angegeben, da diese zu ergänzen Gegenstand einer Übungsaufgabe ist. 3.1 Tastermodul und DIP-Switches • Beim Taster sind (ausser 5V und Masse) nur A1 bis A4 für die Aufgaben von Interesse. • Bei den DIP-Switches ist auf die korrekte Beschaltung der Ausgänge zu achten. Diese werden immer paarweise zusammengeschaltet. 3 Eingang ext.Taster U +5V E6 Ausgang von T1 T2 T3 T4 A1 E7 A2 A3 A4 A7 2 1 0 U 16 15 14 13 12 11 10 9 1 2 3 4 5 6 7 8 +5V 0V U+ "1" T1 +12V U T2 E5 Eingang ext.Taster T3 T4 A5 A6 Ausgang von E5 E6 "0" E7 Vss GND Eingang Not - Indigel&IC.6 - TECHNISCHE INFORMATIK 3.2 74HCxx Wahrheitstabellen Datenselektor 74HC253 enable H L L L L RB X L L H H RA X L H L H Yn Z An Bn Cn Dn Zähler 74HC160/161 (Decade/Binary) CLK X X X X ↑ ↑ CLR L H H H H H ENP X H L L X H ENT X L H L X H Load Function X Clear H Count and RC disabled H Count disabled H Count and RC disabled L Load H Increment Counter Multiplexer/Demultiplexer MC14051 enable 0 0 0 0 0 0 0 0 1 C 0 0 0 0 1 1 1 1 X B A 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 X X - IC.7 - X to X0 X1 X2 X3 X4 X5 X6 X7 none TECHNISCHE INFORMATIK 3.3 14 74HCxx IC-Pinbelegungen (74HC..., MC14051) 13 12 11 10 9 8 14 Vcc 13 12 11 10 9 8 Vcc 74HC00 74HC02 GND GND 1 2 3 4 5 6 7 1 2 3 4 5 6 7 14 13 12 11 10 9 8 14 13 12 11 10 9 8 Vcc Vcc 74HC04 74HC08 GND 1 2 3 4 5 6 7 14 13 12 11 10 9 8 GND 1 2 3 4 5 6 7 14 13 12 11 10 9 8 Vcc Vcc 74HC86 74HC32 GND GND 1 2 3 4 5 6 7 16 15 14 13 12 11 10 9 16 Vcc 1 2 3 4 5 6 7 15 14 13 12 11 10 9 Vcc ripple carry out CLEAR CLOCK QA QB QC QD enable T ripple carry out QA QB LOAD 74HC160 DA DB DC DD QD enable T LOAD 74HC161 CLEAR DA CLOCK enable P QC DB DC DD enable P GND 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 Vcc En RA D1,3 C1,3 B 1,3 GND 1 2 3 4 5 6 7 8 9 16 15 14 13 12 11 10 9 A 1,3 Y1,3 Vcc X X1 X X3 GND GND 7 8 2 out/in 74HC253 E n RB 1 2 D0,2 3 C0,2 4 B 0,2 5 A 0,2 Y0,2 6 7 0 MC14051 X 4 X 6 A B C C X7 X5 En 4 5 6 GND 8 - IC.8 - 1 2 3 TECHNISCHE INFORMATIK 3.4 clk X 0 1 1 74HCxx Register MC14580 Wen W0 W1 R0A R1A R0B R1B Aen Ben Dn 1 1 X X X 0 0 0 X X X X 0 0 0 1 1 X X X X 1 0 0 0 0 X X X X 0 0 0 1 1 X X X X 1 1 1 0 0 X X X X 0 1 1 1 1 X X X X 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 X X X X 1 Dn → R0n no change 1 0 ist die ansteigende Flanke eines Pulses; An Bn 1 1 0 0 no change no change Z Z no change no change no change no change 1 1 Reg.2n Reg.1n Reg.2n Reg.1n ist die abfallende Flanke eines Pulses; X steht für don’t care (0V oder 5V); Z steht für high z (hoch ohmig - in diesem Zustand sind die Ausgänge abgeschaltet, d.h. sie führen keine Spannung, es darf also eine externe Spannung angelegt werden, ohne dass der Baustein Schaden nimmt.) 24 23 22 21 20 19 18 17 16 15 14 13 Vcc 0 1 2 3 D clock R1A 0 1 2 3 0 1Q A 2 3 A en MC14580 W en 0 1Q B 2 3 decoder B en R 0A R 0B R1B W1 W 0 GND 1 2 3 4 5 6 7 - IC.9 - 8 9 10 11 12 TECHNISCHE INFORMATIK 3.5 74HCxx Arithmetisch-Logische Einheit ALU MC14581 Diese Tabelle ist im Praktikum zu vervollständigen Function Select I3 I2 I1 I0 L L L L L L L L H H H H H H H H L L L L H H H H L L L L H H H H L L H H L L H H L L H H L L H H L H L H L H L H L H L H L H L H Logic Function Arithmetic Function (M C = H) (M C = L, Cin = H) A A+B AB logic ”0” AB B A+B A plus AB (A + B) plus AB A minus B minus 1 AB minus 1 A plus AB AB A+B A⊕B B (A + B) plus AB AB minus 1 A+B (A + B) plus A (A + B) plus A A + steht für ein logisches ODER; die Form AB für ein logisches UND; ⊕ steht für ein logisches EXCLUSIV-ODER 24 23 22 21 20 19 18 17 16 15 14 13 Vcc 3 2 1 0 G A P C out A=B MC14581 3 2 1 0 B I3 I2 I1 I0 Z 3 2 1 0 C in MC GND 1 2 3 4 5 6 7 - IC.10 - 8 9 10 11 12 TECHNISCHE INFORMATIK 74HCxx Arithmetisch-Logische Einheit ALU MC14581 Vollständige Tabelle Function Select I3 I2 I1 I0 Logic Function Arithmetic Function (M C = H) (M C = L, Cin = H) L L L L L L L L H H H H H H H H A A+B AB logic ”0” AB B A⊕B AB A+B A⊕B B AB logic ”1” A+B A+B A A A+B A+B minus ”1” A plus AB (A + B) plus AB A minus B minus 1 AB minus 1 A plus AB A plus B (A + B) plus AB AB minus 1 A plus A (A + B) plus A (A + B) plus A A minus 1 L L L L H H H H L L L L H H H H L L H H L L H H L L H H L L H H L H L H L H L H L H L H L H L H + steht für ein logisches ODER; die Form AB für ein logisches UND; ⊕ steht für ein logisches EXCLUSIV-ODER 24 23 22 21 20 19 18 17 16 15 14 13 Vcc 3 2 1 0 G A P C out A=B MC14581 3 2 1 0 B I3 I2 I1 I0 Z 3 2 1 0 C in MC GND 1 2 3 4 5 6 7 - IC.11 - 8 9 10 11 12