n Bit: 2ⁿ Zustände; Mod-N: kleinstes n mit 2ⁿ ≥ N; fout = fclk/N
Asynchronzähler
fmax = 1/(n·tpd)
Ring- und Johnson-Zähler
n und 2n Zustände
Methode
Gehe bei einer Schaltung von den Eingängen zum Ausgang vor, ein Gatter nach dem anderen, und schreibe den Wert an jede Leitung, oder schreibe ihren Ausdruck auf und fülle die Wahrheitstabelle aus.
Trage zum Vereinfachen die Einsen (und die Don’t-Cares als X) in ein Karnaugh-Diagramm mit Zeilen und Spalten im Gray-Code ein: 00, 01, 11, 10.
Decke die Einsen mit möglichst wenigen und möglichst großen Gruppen aus 1, 2, 4, 8 oder 16 Feldern ab, auch über den Rand hinweg; jede Gruppe ist ein Produktterm aus den Variablen, die konstant bleiben. Fasse für die POS-Form die Nullen zusammen.
Lies bei Flipflops und Zählern die Eingänge an jeder aktiven Taktflanke ab, schreibe den Zustand nach jeder Flanke auf und denke daran, dass ein n-Bit-Zähler nach 2ⁿ Zuständen überläuft.
Messdatenerfassung und Abtastung
Nyquist-Kriterium
fs > 2·fmax, fN = fs/2
Alias-Frequenz
fa = |f − k·fs|, k = round(f/fs)
Schrittweite
1 LSB = VFSR/2ᴺ
Quantisierungsfehler (Runden)
±½ LSB
ADC-Code bei Abschneiden
D = ⌊Vin/LSB⌋
Bits für eine Auflösung r
2ᴺ ≥ span/r
Ideales SQNR, Sinus mit Vollaussteuerung
SQNR = 6,02·N + 1,76 dB
Datenrate
Kanäle × fs × N bit/s
Gemultiplexter ADC
fs = 1/(n·(tc + tset))
UART
Tb = 1/Baudrate; 8N1 = 10 Bit pro Byte; Byte/s = Baudrate/Bits pro Frame
Baudraten-Teiler
baud = fclk/(16·D)
Methode
Schreibe auf, was gegeben ist: Abtastrate, Signalfrequenzen, Bitanzahl, Eingangsbereich, Baudrate.
Vergleiche bei Abtastaufgaben jede Frequenz mit fs/2; eine höhere Frequenz erscheint bei fa = |f − k·fs| mit dem nächstgelegenen Vielfachen von fs.
Bestimme bei Auflösungsaufgaben 1 LSB = VFSR/2ᴺ oder das kleinste N mit 2ᴺ ≥ Spanne/Auflösung.
Zähle bei Datenraten und UART-Verbindungen alles, was gesendet wird: Kanäle, Abtastwerte pro Sekunde, Bits oder ganze Bytes pro Abtastwert sowie Start-, Paritäts- und Stoppbits jedes Frames.
2Übungsaufgaben
1.ZahlensystemeMittel
Setze die Bits so, dass sie −73 im 8-Bit-Zweierkomplement speichern. Welchen Wert U hat das Muster, wenn man es als vorzeichenlose Zahl liest?
N = −738 bit
U =
2.ZahlensystemeSchwer
Setze die Bits auf das 8-Bit-Ergebnis von 1001 1111 OR 1000 0001. Welchen Wert R hat das Ergebnis dezimal?
Bestimme mit dem Karnaugh-Diagramm die minimale Summe von Produkten (SOP) von F(A, B, C, D) = Σm(2, 3, 7, 8, 13, 15). Wie viele Literale L enthält sie insgesamt (eine Variable mit Strich zählt als ein Literal)?
Ein flankengesteuertes T-Flipflop (positive Flanke) startet mit Q = 0 und erhält die gezeigten Eingänge. Klicke die erste Taktflanke an, bei der Q von 1 wieder auf 0 geht.
Q₀ = 0T
1Taktflanke 1
2Taktflanke 2
3Taktflanke 3
4Taktflanke 4
5Taktflanke 5
6Taktflanke 6
5.Messdatenerfassung und AbtastungMittel
Ein Recorder tastet 8 Kanäle mit je 2 kHz mit einem 10-Bit-ADC ab. Jeder Abtastwert wird in ganzen Bytes gespeichert. Bestimme den Speicher M, der für eine Aufzeichnung von 2 min nötig ist, in MB (1 MB = 10⁶ Bytes).
n = 8fs = 2 kHzN = 10t = 2 min
M = MB
6.Messdatenerfassung und AbtastungSchwer
Eine Rechteckwelle mit 4 kHz wird ohne Anti-Aliasing-Filter mit 20 kHz abgetastet. Ein Rechtecksignal enthält die ungeraden Oberschwingungen 3f₁, 5f₁, 7f₁, … Bei welcher Frequenz fa erscheint seine Oberschwingung 3f₁ in den abgetasteten Daten? Gib sie in kHz an.
f₁ = 4 kHzfs = 20 kHzOberschwingung: 3f₁
fa = kHz
3Lösungen
1.Zahlensysteme
Antwort: U = 183
Bits setzen: Jedes Bit hat den Wert einer Zweierpotenz (128, 64, …, 1). Eine Hexadezimalziffer entspricht genau vier Bits, und im 8-Bit-Zweierkomplement hat das linke Bit den Wert −128. Bitweise Operationen wirken auf jede Bitposition einzeln.
Invertieren und eins addieren
73 = 0100 1001
invertiert: 1011 0110
+1 → 1011 0111
Vorzeichenlos lesen
1011 0111₂ = 256 − 73 = 183
Antwort
U = 183
2.Zahlensysteme
Antwort: R = 159
Bits setzen: Jedes Bit hat den Wert einer Zweierpotenz (128, 64, …, 1). Eine Hexadezimalziffer entspricht genau vier Bits, und im 8-Bit-Zweierkomplement hat das linke Bit den Wert −128. Bitweise Operationen wirken auf jede Bitposition einzeln.
Karnaugh-Diagramme: Die Felder sind im Gray-Code (00, 01, 11, 10) angeordnet, benachbarte Felder, auch die über den Rand hinweg, unterscheiden sich also in genau einer Variablen. Fasse die Einsen in Rechtecken aus 1, 2, 4, 8 oder 16 Feldern zusammen, so groß und so wenige wie möglich, bis jede 1 abgedeckt ist. Jede Gruppe ist ein Produktterm: die Variablen, die in ihr konstant bleiben. Eine Gruppe aus 2ᵏ Feldern verliert k Variablen. Don’t-Cares (X) dürfen genutzt werden, um Gruppen zu vergrößern, müssen aber nie abgedeckt werden. Fasst du stattdessen die Nullen zusammen, erhältst du die minimale POS-Form.
Die Einsen zusammenfassen
Jede Gruppe ist ein Rechteck aus 2ᵏ Feldern; Randfelder sind Nachbarn der Felder am gegenüberliegenden Rand.
BCD
ABD
A′B′C
AB′C′D′
Minimale SOP-Form
F = BCD + ABD + A′B′C + AB′C′D′
L = 13
Antwort
L = 13
Es gibt eine weitere Gruppierung derselben Größe; sie hat dieselbe Anzahl von Termen und Literalen.
Flipflops und Zähler: Ein Flipflop ändert sich nur bei der aktiven Taktflanke. D übernimmt seinen Eingang (Q⁺ = D); T kippt bei T = 1; JK hält bei 00, setzt bei 01 zurück, setzt bei 10 und kippt bei 11. Ein n-Bit-Binärzähler hat 2ⁿ Zustände und zählt modulo 2ⁿ; ein Mod-N-Zähler läuft 0, 1, …, N − 1 und wieder auf 0 und braucht die kleinste Anzahl n von Flipflops mit 2ⁿ ≥ N. Jede Stufe eines Asynchronzählers halbiert die Frequenz, daher läuft der letzte Ausgang eines Mod-N-Zählers mit fclk/N. Ein Johnson-Zähler aus n Flipflops hat 2n Zustände, ein Ringzähler n.
Q nach jeder Flanke
Ein T-Flipflop kippt bei jeder steigenden Flanke mit T = 1 und hält bei T = 0.
1: T = 0 → Q = 0
2: T = 1 → Q = 1
3: T = 0 → Q = 1
4: T = 1 → Q = 0
5: T = 0 → Q = 0
6: T = 0 → Q = 0
Erster Wechsel von 1 auf 0
Taktflanke 4
Antwort
Taktflanke 4
5.Messdatenerfassung und Abtastung
Antwort: M = 3,84 MB
Datenraten: Jeder Kanal liefert fs Abtastwerte pro Sekunde mit je N Bits, die rohe Rate beträgt also Kanäle × fs × N bit/s. Im Speicher belegt ein Abtastwert ganze Bytes (ein 12-Bit-Wert wird in 2 Bytes gespeichert), der Speicher für eine Aufzeichnung beträgt also Kanäle × fs × Bytes pro Abtastwert × Zeit. Ein gemultiplexter ADC wandelt die Kanäle nacheinander: Jede Wandlung (mit Einschwingen) dauert t, eine Runde über n Kanäle dauert also n·t, und jeder Kanal wird mit 1/(n·t) abgetastet.
Bytes pro Abtastwert
⌈10/8⌉ = 2 B
Byterate
8·2000·2 = 32000 B/s
Speicher
M = 32000·120 = 3,84 × 10⁶ B = 3,84 MB
Antwort
M = 3,84 MB
6.Messdatenerfassung und Abtastung
Antwort: fa = 8 kHz
Abtastung: Ein ADC misst das Signal fs-mal pro Sekunde. Nach dem Nyquist-Shannon-Theorem wird eine Frequenz f nur dann korrekt erfasst, solange f < fs/2 gilt, der Nyquist-Frequenz (Faltungsfrequenz); die Abtastrate muss also größer sein als das Doppelte der höchsten Signalfrequenz. Eine höhere Frequenz geht nicht verloren: Sie erscheint als Alias bei fa = |f − k·fs|, wobei die ganze Zahl k das Ergebnis in den Bereich zwischen 0 und fs/2 bringt. Die Abtastwerte können beide nicht unterscheiden, daher muss ein analoges Anti-Aliasing-Filter vor dem ADC alles oberhalb von fs/2 entfernen.
Frequenz der Oberschwingung
3f₁ = 3·4 kHz = 12 kHz
Nächstes Vielfaches der Abtastrate
m = round(0,6) = 1
Alias-Frequenz
fa = |12 − 1·20| = 8 kHz
Antwort
fa = 8 kHz
Der Alias landet im Signalband, wo ihn kein digitales Filter entfernen kann. Nur ein analoges Filter vor dem ADC hilft.