Skip to content
Snippets Groups Projects
Commit 4782b4c7 authored by Roger Wolf's avatar Roger Wolf
Browse files

adding new file

parent 3de7e6c3
No related branches found
No related tags found
No related merge requests found
# Hinweise für den Versuch Schaltlogik
## Binärer 4-Bit-Zähler
Mit 4 Bit lassen sich die Zahlen 0 bis 15, wie im folgenden gezeigt, binär darstellen:
$$
\begin{equation*}
\begin{split}
\begin{array}{c|cccc}
& 2^{3} & 2^{2} & 2^{1} & 2^{0} \\
\text{Clock Zyklus} & \mathrm{Q_{3}} & \mathrm{Q_{2}} & \mathrm{Q_{1}} & \mathrm{Q_{0}} \\
\hline
0 & 0 & 0 & 0 & 0\\
1 & 0 & 0 & 0 & 1\\
2 & 0 & 0 & 1 & 0\\
3 & 0 & 0 & 1 & 1\\
4 & 0 & 1 & 0 & 0\\
5 & 0 & 1 & 0 & 1\\
6 & 0 & 1 & 1 & 0\\
7 & 0 & 1 & 1 & 1\\
8 & 1 & 0 & 0 & 0\\
9 & 1 & 0 & 0 & 1\\
10 & 1 & 0 & 1 & 0\\
11 & 1 & 0 & 1 & 1\\
12 & 1 & 1 & 0 & 0\\
13 & 1 & 1 & 0 & 1\\
14 & 1 & 1 & 1 & 0\\
15 & 1 & 1 & 1 & 1\\
\end{array}
\end{split}
\end{equation*}
$$
Mit Hilfe geeignet hintereinander geschalteter JK-MS-FFs lassen sich **elektronische binäre Zähler** erzeugen, wie in den folgenden Abschnitten gezeigt.
### $\mathrm{\overline{CLR}}$-Leitung
Für die folgenden Schaltungen haben wir eine weitere $\mathrm{\overline{CLR}}$-Leitung zur Grundschaltung des JK-MS-FF zugefügt, wie in **Abbildung 1** gezeigt:
---
<img src="../figures/JK-MS-FF-mit-clear.png" width="1000" style="zoom:100%;" />
**Abbildung 1**: (Realisierung eines JK-MS-FF mit $\mathrm{\overline{CLR}}$-Leitung)
---
Das $\mathrm{\overline{CLR}}$-Signal ist mit den unteren NAND-Gattern zur Schaltung der RS-FFs im Bild verbunden, die den $\mathrm{\overline{Q}}$-Ausgang kontrollieren. Für $\mathrm{\overline{CLR}}=1$ (d.h. wenn die Leitung offen ist) agiert das JK-MS-FF, wie in der originalen Schaltung. Wird CLR von außen auf 1 gesetzt, dann ist $\mathrm{\overline{CLR}}=0$. Da die AND-Bedingung in diesem Fall nie erfüllt werden kann wird der Ausgang der NAND-Gatter damit automatisch auf 1 gesetzt. Damit lässt sich der Zähler von Hand auf die Zahl 0 zurücksetzen (siehe dritte Zeile von unten in der Funktionstabelle zum **Jack-Kilby-Flipflop [hier](https://gitlab.kit.edu/kit/etp-lehre/p1-praktikum/students/-/blob/main/Schaltlogik/doc/Hinweise-Speicher.md)**).
### 4-Bit-Asynchronzähler
Die Realisierung eines 4-Bit-Asynchronzählers ist in **Abbildung 2** gezeigt:
---
<img src="../figures/Zaehler-asynchron.png" width="1000" style="zoom:100%;" />
**Abbildung 2**: (Realisierung eines 4-Bit Asynchronzählers mit Hilfe von vier JK-MS-FFs. Bei der $\mathrm{\overline{CLR}}$-Leitung handelt es sich um eine Erweiterung der originalen Schaltung des JK-MS-FF, wie in **Abbildung 1** gezeigt und im **Abschnitt $\mathrm{\overline{CLR}}$-Leitung** diskutiert)
---
Für diese Schaltung werden vier JK-MS-FFs mit invertiertem Takteingang hintereinander geschaltet. Die Eingänge J und K aller Flipflops sind offen und damit auf 1 gesetzt, jedes Flipflop $i$ befindet sich also im **Toggle-Zustand**, in dem $\mathrm{Q}_{i}$ mit jedem Taktzyklus zwischen 0 und 1 wechselt. $\mathrm{\overline{Q}}_{i}$ wird nicht ausgelesen. $\mathrm{Q}_{i}$ setzt das $i$-te Bit und wird gleichzeitig als $\mathrm{C}_{i+1}$ auf den Takteingang des nächsten Flipflops weitergegeben. Beim nächsten Taktzyklus springt $\mathrm{Q}_{i+1}$ auf 1 und $\mathrm{Q}_{i}$ auf 0. Dieses Verhalten setzt sich fort, bis alle Bits auf 1 gesetzt sind.
Da jedes JK-MS-FF zweiflankengesteuert ist, werden an jedem Flopflop zwei Änderungen des Takts benötigt um eine Änderung des Ausgangs herbeizuführen. Es werden also am $i$-ten FF zwei negative Flanken von $\mathrm{C}_{i}$ benötigt um in den Takteingang $\mathrm{C}_{i+1}$ des $i+1$​-ten FFs eine negative Flanke einzugeben. Hierdurch halbiert sich nach jedem FF der Takt, wie ist in **Abbildung 3** gezeigt:
---
<img src="../figures/Ablaufdiagramm-Zaehler.png" width="1000" style="zoom:100%;" />
**Abbildung 2**: (Ablaufdiagramm des 4-Bit Asynchronzählers. $\mathrm{\overline{C}}$ ist der von außen vorgegebene Takt. Alle weiteren FFs werden durch den Ausgang des vorangehenden FFs getaktet)
---
Hierbei handelt es sich um die einfachste Art einen digitalen binären Zähler zu realisieren. Da jede Stufe mit einem anderen Takt arbeitet bezeichnet man diese Art von Zähler als **asynchron**.
Da sich der Takt mit jeder Stufe jedoch nicht nur halbiert, sondern sich noch zusätzlich die endliche Laufzeit durch ein JK-MS-FF hinzu addiert, verschiebt sich der Takt dieser Schaltung mit jeder weiteren Stufe und wird damit immer ungenauer. Um einen präzise getakteten Zähler mit sehr vielen Stufen zu bauen ist dieses Verfahren daher nicht geeignet.
### 4-Bit-Synchronzähler
Die Realisierung eines 4-Bit-Synchronzählers ist in **Abbildung 4** gezeigt:
---
<img src="../figures/Zaehler-synchron.png" width="1000" style="zoom:100%;" />
**Abbildung 4**: (Realisierung eines 4-Bit Synchronzählers)
---
Die J und K Leitungen sind in dieser Schaltung nicht mehr offen sondern direkt mit den Ausgängen $\mathrm{Q}_{i}$ der vorangehenden FFs verbunden, sie befinden sich daher, wie im Fall des Asynchronzählers, im Toggle-Zustand. Der Takt wird synchron von $\mathrm{\overline{C}}$ vorgegeben. Um sicherzustellen, dass jede weitere Stufe ihren Ausgangszustand nur mit der halben Frequenz der vorangehenden Stufe ändert ist der Ausgang von Stufe $i$ jeweils mit dem Ausgang von Stufe $i+1$ über ein AND-Gatter verknüpft. Jede Stufe ändert ihren Zustand also erst, wenn die vorangehende Stufe Ihren Zustand zuvor geändert hat.
### Check
- Sie sollten das JK-MS-FF anhand der Schaltung aus **Abbildung 1** um eine $\mathrm{\overline{CLR}}$-Leitung erweitern können und anhand der Schaltung erklären können, wie sich die $\mathrm{\overline{CLR}}$-Leitung auswirkt.
- Sie sollten die Funktionsweise des 4-Bit Asynchronzählers erklären können.
- Sie sollten erklären können, in welchen Taktzyklen jedes Bit des 4-Bit-Asynchronzählers seinen Ausgangszustand ändert.
- Sie sollten den 4-Bit-Asynchronzähler anhand der Schaltung aus **Abbildung 4** auf den 4-Bit-Synchronzähler erweitern können und die Vorteile des Synchron- gegenüber dem Asynchronzähler kennen.
### Frage:
- Was passiert, wenn Sie beim Asynchronzähler die Zahl 15 erreicht haben?
- Was passiert, wenn Sie beim Synchronzähler die Zahl 15 erreicht haben?
- Wieviele Takte müssen Sie warten, denn Sie die $\mathrm{\overline{CLR}}$-Leitung auf 0 setzen?
# Navigation
[Main](https://gitlab.kit.edu/kit/etp-lehre/p1-praktikum/students/-/tree/main/Schaltlogik)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment