From 3523c0da8565e3f50c871a361155e048dcbc8e3f Mon Sep 17 00:00:00 2001
From: Roger Wolf <roger.wolf@kit.edu>
Date: Mon, 25 Nov 2024 22:27:44 +0100
Subject: [PATCH] adding decimal counters

---
 Schaltlogik/doc/Hinweise-Zaehler.md | 39 ++++++++++++++++++++++++++---
 1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/Schaltlogik/doc/Hinweise-Zaehler.md b/Schaltlogik/doc/Hinweise-Zaehler.md
index 0f2d695..24754c6 100644
--- a/Schaltlogik/doc/Hinweise-Zaehler.md
+++ b/Schaltlogik/doc/Hinweise-Zaehler.md
@@ -66,7 +66,7 @@ Da jedes JK-MS-FF zweiflankengesteuert ist, werden an jedem Flopflop zwei Ände
 
 <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)
+**Abbildung 3**: (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)
 
 ---
 
@@ -74,20 +74,53 @@ Hierbei handelt es sich um die einfachste Art einen digitalen binären Zähler z
 
 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.
 
+#### Asynchroner Dezimalzähler 
+
+Ein 3-Bit-Zähler durchläuft die Ziffern 0 bis 7; ein 4-Bit-Zähler die Ziffern 0 bis 15. Einen vorwärts zählenden **asynchronen Dezimalzähler**, der bei 10 wieder auf 0 zurückspringt erhält man, indem man $\mathrm{Q}_{1}$ und $\mathrm{Q}_{3}$ mit einem NAND-Gatter verknüpft und den Ausgang auf $\mathrm{\overline{CLR}}$ legt. Dadurch wird $\mathrm{\overline{CLR}}$ gesetzt, sobald die Zahl $1010(\equiv10)$ erreicht wird. Eine entsprechende Erweiterung der Schaltung aus **Abbildung 2** ist in **Abbildung 4** gezeigt:
+
+---
+
+<img src="../figures/DezimalZaehler-asynchron.png" width="1000" style="zoom:100%;" />
+
+**Abbildung 4**: (Erweiterung der Schaltung aus **Abbildung 2** zu einem asynchronen Dezimalzähler)
+
+---
+
 ### 4-Bit-Synchronzähler
 
-Die Realisierung eines 4-Bit-Synchronzählers ist in **Abbildung 4** gezeigt:
+Die Realisierung eines 4-Bit-Synchronzählers ist in **Abbildung 5** gezeigt:
 
 ---
 
 <img src="../figures/Zaehler-synchron.png" width="1000" style="zoom:100%;" />
 
-**Abbildung 4**: (Realisierung eines 4-Bit Synchronzählers)
+**Abbildung 5**: (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.  
 
+#### Synchroner Dezimalzähler
+
+Einen synchronen Dezimalzähler kann man analog zur Erweiterung in **Abbildung 4** erhalten. Eine Variante, die jedoch ohne $\mathrm{\overline{CLR}}$-Leitung auskommt ist in **Abbildung 6** gezeigt:
+
+---
+
+<img src="../figures/DezimalZaehler-synchron.png" width="1000" style="zoom:100%;" />
+
+**Abbildung 5**: (Erweiterung Realisierung eines 4-Bit Synchronzählers)
+
+---
+
+Darin ist $\mathrm{\overline{Q}}_{3}$ über ein AND-Gatter (im Bild in rot) mit $\mathrm{Q}_{0}$ verbunden. Der Ausgang des AND-Gatters liegt auf $\mathrm{J_{1},\ K_{1}}$, so dass $\mathrm{Q_{1}}$ toggelt. Zudem ist $\mathrm{Q_{0}}$ mit $\mathrm{K_{3}}$ verbunden während $\mathrm{J_{3}}$ nach wie vor aus dem vorangehenden AND-Gatter belegt wird.
+
+- Da der Zähler vorwärts zählt liegt $\mathrm{\overline{Q}_{3}}$ zunächst auf 1, weshalb das zusätzliche AND-Gatter transparent ist und der Zähler, wie zuvor von 0 bis 7 zählt. 
+- Für die 8 (1000) liegen $\mathrm{K_{3}=Q_{0}}$ auf 0 und $J_{3}$ auf 1 wodurch auch dieser Zustand erreicht wird. Dabei springt $\mathrm{\overline{Q}}_{3}$ auf 0.
+- Mit dem nächsten Takt springt $\mathrm{Q}_{0}$ auf 1, so dass auch die 9 (1001) erreicht wird. 
+- Im nächsten Takt liegen $\mathrm{\overline{Q}}_{3}$ auf 0 und $\mathrm{Q}_{0}$ auf 1, wodurch das AND-Gatter auf 0 liegt. Damit werden $\mathrm{Q}_{1},\ \mathrm{Q}_{2},\ \mathrm{Q}_{3}$ auf 0 gesetzt werden. 
+
+Auf diese Weise kommt die Schaltung ohne die $\mathrm{\overline{CLR}}$-Leitung aus.
+
 ### 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.
-- 
GitLab