9.1.2 Schieberegister Schieberegister (SR) sind einfache lineare Verkettungen von Speicherelementen. Nach dem Takt gilt folgendes: 1

Ähnliche Dokumente
Lösung Versuch Nr. 4

Drücken Sie (später) bei Speichere Änderungen in der Bibliothek default? auf Nein.

Aufgaben zur Attiny-Platine

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

Multiplexer und Schieberegister

Laborübung 4. Zustandsautomaten (Finite State Machines)

GAL 16V8. 4. Laboreinheit - Hardwarepraktikum SS 2002 VCC / +5V. Eingang / Clock. 8 konfigurierbare Ausgangszellen. 8 Eingänge GND / 0V.

Digitaltechnik II SS 2007

Versuch: D1 Gatter und Flipflops

Versuchsvorbereitung P1-63: Digitale Elektronik, Schaltlogik

Speicherung digitaler Signale

Integrierte Schaltungen

Versuch 3: Sequenzielle Logik

Kapitel 4. Versuch 415 T-Flipflop

Aufgabe 3.1 Schaltalgebra - Schaltnetze

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Aufgaben zum Elektronik - Grundlagenpraktikum

aufeinander folgenden 1kHz-Pulse in gleichen Zeitabständen an die Eingänge des JK-FF gelangen.

Digitalelektronik. Philipp Fischer. 9. Dezember 2002

Teil IV. Schaltwerke

Musterlösungen. zu den Übungsaufgaben vom

LED. Elektronikpraktikum. 10 Flip-Flops und Zähler. Fachbereich Physik. Stichworte. Schriftliche Vorbereitung JK-Flipop. V cc.

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Vorbereitung zum Versuch

Praktikum Grundlagen der Elektronik

Anleitung DGTV Fernbedienung

Hochschule Emden / Leer. Ausarbeitung. Speicherung digitaler Signale

Table of Contents. Table of Contents UniTrain UniTrain-Kurse UniTrain-Kurse Digitaltechnik. Lucas Nülle GmbH Seite 1/8

Getaktete Schaltungen

Vorbemerkung. [disclaimer]

Speicherung von Signalen - Flipflops, Zähler, Schieberegister

3.1 Schaltwerke als Reihenschaltung von Flipflops

LED Skalenbeleuchtung mit einem Arduino

Versuch P1-63 Schaltlogik Vorbereitung

18 Schieberegister. Serieller Serieller Eingang 5 Stufen Ausgang. 1. Takt. 2. Takt

Q R. reset (R) set (S) unzulässig! Unkontrollierte Rückkopplung von Gatterausgängen auf Gattereingänge führt zu logisch "inkonsistentem" Verhalten!

Versuch: D2 Zähler und Ampelschaltung

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Digitaltechnik II SS 2007

Aufgabe 4 Nennen Sie wenigstens 3 Programmierverfahren für programmierbare Logik.

I. Ziel der Versuche Verständnis für Entwurf und Funktionsweise digitaler Schaltungen.

Bericht. Digitallabor. Hochschule Karlsruhe N1. Aufgabe 5.6 Stoppuhr. Teilnehmer: Natalia Springer, Tong Cha. Datum:

9. Elektronische Logiksysteme ohne Rückführung, kombinatorische Schaltungen

HARDWARE-PRAKTIKUM. Versuch L-1. Schaltnetze. Fachbereich Informatik. Universität Kaiserslautern

Protokoll zum Versuch Flip-Flop

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

Abb. 1. Abb. 1L. Abb. 2 ÜBUNGEN SEQUENTIELLE SCHALTUNGEN WS 10/11 1

Elektronikpraktikum SS Serie J. Pochodzalla und W. Lauth mit Assistenten

Digitallabor Aufgabe 5.4 Lauflicht

Das große All-in-All CPLD/FPGA Tutorial

Darstellung eines 1-Bit seriellen Addierwerks mit VHDL. Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker

Elektronikpraktikum - SS 2014 H. Merkel, D. Becker, S. Bleser, M. Steinen Gebäude (Anfängerpraktikum) 1. Stock, Raum 430

Praktikum Digitaltechnik SS Versuch 2

Wie in der Skizze zu sehen ist, bleibt die Periodendauer / Frequenz konstant und nur die Pulsweite ändert sich.

Für den Aufbau von Synchronzählern verwendet man fast ausschließlich JK-Flipflops.

Einführung in die Quartus II Software und die Altera-Boards. Inhaltsverzeichnis. Vorbemerkungen. 1.1 Installation der Software

DIGITALTECHNIK 08 FREQUENZ-ZÄHLER

Computergestützter IC- Entwurf

Einführung in die technische Informatik

Praktikum Digitaltechnik

Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 2 Sequentielle Logik. Aufgabe 1:

Programmierübungen in Assembler

Praktikum Digitaltechnik SS Versuchsbeschreibungen

KLAUSUR DIGITALTECHNIK SS 00

Zähler- und Zeitgeber-Baugruppen

Schriftliche Prüfung

Grundtypen Flip-Flops

Allgemeines zu den Versuchen zur Digitaltechnik

Versuch 3: Zustandsautomat - Periodenmessung

2 Vervollständige die Wahrheitstabellen.

Funktionsblöcke

Carry-Lookahead Addierer (CLA)

8.3 PCA2.D12 Display-Modul mit 4 Ziffern

Wichtige Befehle bei der Programmierung von. FISCHER-Technik

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

Kombinatorische Schaltungen

Versuchsvorbereitung P1-63: Digitale Elektronik, Schaltlogik

Bericht Übung 5.5 Ampelsteuerung und Steuerung einer 7-Segment-Anzeige Teilnehmer: Natalia Springer, Tong Cha Datum:

Digitale Systeme und Schaltungen

16-Bit PCA Timer/Counter

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016.

Laborprotokoll Informationstechnologien

9 Flipflops (FF) Basis-FF. (Auffang-FF, Latch) praxis verstehen chancen erkennen zukunft gestalten 9-1

Teil 1: Digitale Logik

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden.

Arduino für FunkAmateure

Ampelsteuerung Merkblatt 1 Wie werden die Bauteile angeschlossen?

Rechnerarchitektur. Zustand Anzeige Untergeschoss U Erdgeschoss E 1. Stock 1

Teil 1: Digitale Logik

Ein ROM soll aus mehreren ROMs (vgl. Abbildung rechts: Enable-Leitung EN, Adressleitungen ADDR, Datenleitungen DATA) aufgebaut werden.

Tutorium: Einführung in die technische Informatik

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

12. Tutorium Digitaltechnik und Entwurfsverfahren

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Getaktete Schaltungen

UART und Interrupts. Versuch Nr. 7

Informatik Enlightened. Station 0 - Einstieg

Transkript:

Fakultät für Physik Prof. Dr. M. Weber, Dr. K. Rabbertz B. Siebenborn, P. Jung, P. Skwierawski, C. Thiele 19. Januar 2013 Übung Nr. 9 Inhaltsverzeichnis 9.1 Grundschaltungen (2P)..................................... 1 9.1.1 Sieben-Segment-Anzeige................................. 1 9.1.2 Schieberegister...................................... 1 9.1.3 Frequenzteiler....................................... 2 9.1.4 Lauflicht.......................................... 3 9.2 Multiplexer............................................ 5 9.3 Volladdierer............................................ 5 9.4 Debouncer............................................. 5 Vorbemerkungen Bei den beiden Übungen, die sich mit AHDL (Altera Hardware Description Language) beschäftigen, ist es wichtiger denn je, zu Hause vorzuarbeiten. Ohne sorgfältige Vorbereitung wird es nicht möglich sein, in dem gegebenen Zeitrahmen die Aufgaben durchzuführen. Sie sollten sich zumindest mit der Entwicklungsumgebung vertraut machen und sich genau überlegen, wie Sie die folgenden Aufgaben programmieren wollen. Unterschätzen Sie nicht das Problem, dass sämtliche Befehle parallel bearbeitet werden! Die bekannte sequentielle Programmierlogik bringt einen häufig nicht weiter, sondern irritiert zusätzlich. Am besten schreiben Sie den Quelltext für Ihre Lösungen bereits zu Hause und kompilieren ihn. Während der Übungen werden wir dann noch genug damit zu tun haben, verbliebene Probleme zu lösen. 9.1 Grundschaltungen (2P) 9.1.1 Sieben-Segment-Anzeige Entwerfen Sie ein Subdesign, das über Schalter binär eingegebene Zahlen zwischen 0 und 255 sowohl als Bitmuster über die LED-Reihe als auch hexadezimal auf der Sieben-Segment-Anzeige wiedergibt. Am besten verwenden Sie dazu eine Wahrheitstabelle (TABLE). 9.1.2 Schieberegister Schieberegister (SR) sind einfache lineare Verkettungen von Speicherelementen. Nach dem Takt gilt folgendes: 1 (serout, Y n ) = f(y n, X n, serin, A k ) mit Steuerung A k (k = 1... K), parallelem Dateneingang X n (n = 1... N), Registerdaten (parallelem Ausgang zur permanenten Kontrolle der Vorgänge) Y n (n = 1... N), dem seriellen Eingang serin und dem seriellen Ausgang serout, welcher identisch mit dem höchsten, bzw. niedrigsten Bit von Y ist. Die möglichen in A k codierten Grundfunktionen sind: 1. Nichts tun: Y n = Y n, serout bleibt, serin ist irrelevant 1 Der Zeitindex ist hier unterdrückt. Die Zuweisung = betrifft den nächsten Taktzyklus.

Einführung in die Elektronik 2 2. Paralleles Laden: Y n = X n, serout bleibt, serin ist irrelevant 3. Aufwärts Schieben: Y n = Y n 1, serout = Y N 1, Y 1 = serin, X ist irrelevant 4. Abwärts Schieben: Y n = Y n+1, serout = Y 2, Y N = serin, X ist irrelevant In integrierten Schaltungen werden häufig auch die Funktion 1 mit einer Leitung SEN (shift-enable), die Funktion 2 mit einer Leitung LOAD (laden) und 3 und 4 mit einer Leitung UP/DN (up/down) kodiert. Übliche Sonderformen sind: 1. Parallel-In-Seriell-Out-SR: Funktionen 1, 2 und 3; serout ist der einzige Ausgang. 2. Seriell-In-Parallel-Out-SR: Funktionen 1 und 3; serin ist der einzige Eingang, Y ist Ausgang. 3. Zyklisch rückgekoppeltes SR für spezielle Anwendungen Die ersten beiden Varianten hintereinander geschaltet werden z.b. zur seriellen Datenübertragung genutzt. Vervollständigen Sie die Wahrheitstabellen jeweils für ein Element des Schieberegisters an den Positionen Anfang, Mitte, Ende. Der Steuereingang A k umfaßt dabei die Funktionen 1 4 binär codiert (k = 1... 2). erstes Element A 1 A 2 Y 1 GND GND Y 1 mittleres Element A 1 A 2 Y n GND GND letztes Element A 1 A 2 Y N GND GND Realisieren Sie ein 8-Bit-Schieberegister in AHDL. Als Speicherelement ist das AHDL-Primitive DFF zu benutzen. Darin sind die Sonderfälle erstes Element, letztes Element und ein Array von sechs mittleren Elementen enthalten. A und X sind auf die Schalter zu legen. Die Ausgänge Y und serout sind mit den LEDs darzustellen. serin kann über einen Tastschalter variiert werden. Verwenden Sie als Taktgeber (Clock) einen Tastschalter. Die ordnungsgemäße Funktionsweise ist gut zu erkennen, wenn Sie einfache Bitmuster eingeben. Falls Sie ab und zu ein Springen des Schieberegisters bemerken, als ob es mehrere Clock-Impulse erhalten hätte, liegt die am sogenannten Prellen des Tasters, die Lösung dieses Problems ist der Debouncer aus Aufgabe 9.4. 9.1.3 Frequenzteiler In dieser Aufgabe geht es um den Einsatz von Zählern. In AHDL steht hierfür die Bibliotheksfunktion lpm counter zur Verfügung, die hier mehrfach in verschiedenen Variationen eingesetzt werden soll. Hier soll eine einheitliche niedrige Frequenz als Takt für spätere Versuche erzeugt werden. Der erste Teil der Aufgabenstellung besteht also darin, die Frequenz des Quarzes des DE1 von 50 MHz auf eine sinnvolle Grundfrequenz zu teilen. Wir entscheiden uns für eine Quantisierungszeit von 10 ms, bzw. 100 Hz Grundfrequenz. Soll ein Taktsignal mit gleichen Zeiten für 1 und 0 erzeugt werden, braucht man jedoch 200 Hz als Teilerfrequenz. Es ist vorteilhaft hierfür nicht einen Zähler mit 18 Bit zu benutzen, da eine solche Breite Probleme mit den internen Laufzeiten der Chips geben könnte. Der Vorschlag hier ist eine zweistufige Teilerkaskade, bei der zuerst ein einfacher 6-Bit-Zähler durch 64 teilt. Dessen Übertrag cout wird benutzt, um den folgenden Zähler um 1 herunterzuzählen. Dieser Zähler wird nach jedem Durchgang (alle Bits auf 0) mit f clock /(200 Hz 64) = 3906 geladen. Es genügt also ein 12 Bit breiter

Einführung in die Elektronik 3 Zähler. Dieser Wert gilt für f clock = 50 MHz, wird auf den UP Boards ein anderer Basistakt verwendet, muss das Programm entsprechend angepasst werden. Nach jedem Durchgang wird ein T-Flip-Flop getoggelt. Hierdurch wird der 100 Hz-Takt erzeugt, der den späteren Aufgaben als Clock dient. Die Megafunction lpm counter muss im Gegensatz zu z.b. der Primitive DFF noch durch die Kopfzeile INCLUDE lpm counter.inc ; eingebunden werden. Dann wird sie wie bekannt definiert: VARIABLE mycounter :lpm counter WITH (LPM WIDTH=17); weitere Details entnehmen Sie bitte der Quartus II Hilfe. 9.1.4 Lauflicht Man nehme eine Handvoll Dioden (N) und ein Schieberegister das zyklisch auf sich selbst zurückgekoppelt ist (serin=serout). Zu Beginn ist nur Bit 0 auf Null (LED1 leuchtet). Mit jedem Takt wird die Null um eine Position verschoben. Fertig ist das Lauflicht! In unserem Beispiel ist dies durch eine Zustandsmaschine (AHDL Funktion Machine with states ) etwas erweitert, um Spielraum für eine externe Bedienung zu geben. Mit dem Betätigen des Tastschalters 1 soll das Lauflicht gestartet werden, nochmaliges Betätigen stoppt die Maschine. Ein Frequenzteiler bestimmt die Geschwindigkeit und Parameter können durch Schalter eingegeben werden. Tastschalter 2 erlaubt eine interne Modifikation der Betriebsbedingungen. In Abb. 1 ist das Zustandsdiagramm dargestellt. Dazu wird unten eine Skizze der Funktionsweise gegeben. Beachte: Diese Notation entspricht keiner Norm, es ist nicht mehr als eine Liste von Stichworten. S1 (start): Kann nur verlassen werden wenn T 1 = 0 S2 (lade ext par): Lädt die Anfangswerte der Parameter von den Schaltern parallel in die internen Register; kann nur verlassen werden wenn T 1 = 1 S3 (schleifen anfang): Einsprungpunkt einer Endlosschleife; der Zähler warten zähler wird neu gesetzt S4 (funktion berechnen): Hier wird das Schieberegister getaktet (Y n ) = f(y n, X n, A k ) S5 (warten): Hier wird ein Zähler heruntergezählt und gewartet bis entweder 1. T 1 = 0; dann folgt der Zustand (ende). 2. T 2 = 0, T 1 = 1; dann folgt der Zustand (modifiziere). 3. warten zähler= 0, T 2 = 1, T 1 = 1; dann folgt der Rücksprung nach (schleifen anfang). S6 (modifizieren): Erlaubt eine interne algorithmische Veränderung der Parameter (Die Art der Veränderung bleibt Ihnen überlassen); wird nach (schleifen anfang) verlassen, nur wenn T 2 = 1 S7 (ende): Zwischenzustand zum sicheren Beenden; wird nur verlassen wenn T 1 = 1 Gestalten Sie zwei neue, interessante Lichteffekte, indem Sie 1. entweder die Parameter durch Tastschalter 2 gesteuert modifizieren (anderes Muster, andere Geschwindigkeit, andere Funktion z.b. durch Rückkopplung mehrerer Bits) 2. oder statt Tastschalter 2 eine weitere Schleife zur Modifikation des Verhaltens nutzen Als Taktgeber wird die heruntergeteilte Systemfrequenz verwendet (s. Abschnitt 9.1.3). Bereiten Sie zu Hause eine Programmodifikation vor, die mindestens zwei Funktionen zusätzlich enthält. Zeichnen Sie das geänderte Zustandsdiagramm. Sie dürfen hierfür die volle Bandbreite der Sprachund Bibliothekselemente nutzen. Sollten Sie jedoch sehr ambitioniert sein, muß das Design schon zu Hause simuliert werden, da nicht viel Zeit zur Fehlersuche während des Praktikums besteht.

Einführung in die Elektronik 4 start S1 lade_ext_par T1=0 S2 T1=1 modifiziere S6 schleifen_anfang T2=1 S3 funktion_berechnen S4 w()=0 warten ende S5 S7 T2=0 T1=0 T1=1 Abbildung 1: Zustandsdiagramm zur Kontrolle des Lauflichts

Einführung in die Elektronik 5 9.2 Multiplexer Aufgabe ist es, eine der Eingangsinformationen X n (n = 1... N) auf den Ausgang Y zu schalten. Ausgewählt werden die Eingänge durch die Selektorleitungen A k (k = 1... K). Die ausgewählte Leitung n ist binär in A k kodiert. Erstellen Sie eine Wahrheitstabelle und einen Verknüpfungsplan mit Logiksymbolen für N = 4, K = 2. Beschreiben Sie die Aufgabe für 8-Bit mit Booleschen Ausdrücken in AHDL. X n und A k werden über Schalter eingegeben, die Ausgabe Y auf eine LED gelegt. Überprüfen Sie einen aussagekräftigen Teil der Wahrheitstabelle. 9.3 Volladdierer Auf der Grundlage von Übung 8.6 kann ein 8-Bit-Ripple-Carry-Addierer konstruiert werden. Entwerfen Sie ein Design für ein Volladdierer-Element nach Üb. 8, Abb. 13b) mit Booleschen Ausdrücken in AHDL. Durch n-fache Wiederverwendung des Elements und Umbenennung der Bits, bzw. Verkettung der Carry- Signale erhalten Sie einen n-bit-volladdierer. Benutzen Sie Schalter als Dateneingänge A und B. Stellen Sie das Ergebnis C mit der Sieben-Segment- Anzeige hexadezimal dar. Das Carry-Flag c 0 ist mit einem Tastschalter zu bedienen, c 8 mit einer LED darzustellen. 9.4 Debouncer Einfache Schalter haben die Eigenschaft zu prellen ( bouncing ). Das bedeutet, der Schalter schließt, wenn er betätigt wird nicht einfach, sondern prallt eventuell noch einmal zurück, öffnet die Verbindung kurz und schließt dann erst endgültig. Dasselbe passiert analog beim Ausschalten. Diese Vorgänge finden im Inneren des Schalters innerhalb von Mikrosekunden statt und haben nichts mit einem zittrigen Finger zu tun. Benutzt man einen prellenden Schalter bei schnellen Digitalschaltungen, wird ein gegebener Impuls oft als mehrere interpretiert. Dies ist ein Standardproblem der Digitalelektronik, gegen das es unterschiedlich sichere und komplizierte Entpreller oder Debouncer gibt. Unter anderem sind die Taster der DE1 Boards bereits durch einen entsprechenden Schaltkreis entprellt. Wird dieser Aufgabenteil mit dem DE1 Board durchgeführt ist daher einer der nicht entprellten Schiebeschalter für den Takt zu verwenden. Entwerfen Sie ein einfaches Debouncer-Subdesign, das bei Tastendruck einen Zähler (AHDL Bibliotheksfunktion lpm counter) startet. Dessen Überlauf cout soll ein Flipflop setzen. Beim Loslassen des Tasters wird der Zähler wieder gestartet und das Flipflop erst bei erneutem Überlauf des Zählers zurückgesetzt. Der Inhalt des Flipflops ist nun das entprellte Signal. Der Zähler soll mit der Systemclock getaktet werden. Überlegen sie, wieviele Bit breit Ihr Zähler sein muss, um eine Verzögerung von einigen Millisekunden zu erhalten. Um die Funktionsweise zu testen muss noch beispielsweise ein weiterer Zähler verwendet werden, der als clock das Tastensignal erhählt, und dessen Zählerstand auf der Siebensegmentanzeige sichtbar gemacht wird. Mit entprelltem Taster darf der Zähler pro Tastendruck nur eins weiterzählen.