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 −67 im 8-Bit-Zweierkomplement speichern. Welchen Wert U hat das Muster, wenn man es als vorzeichenlose Zahl liest?
N = −678 bit
U =
2.ZahlensystemeSchwer
Setze die Bits auf das 8-Bit-Ergebnis von 0010 1010 >> 3. Welchen Wert R hat das Ergebnis dezimal?
Bestimme die minimale SOP-Form von F(A, B, C, D) = Σm(2, 5, 8, 11, 12) + d(6, 10), wobei d die Don’t-Care-Bedingungen kennzeichnet. Wie viele Literale L enthält sie?
F(A, B, C, D) = Σm(2, 5, 8, 11, 12) + d(6, 10)
L =
5.Messdatenerfassung und AbtastungMittel
Ein 12-Bit-ADC mit einem Eingangsbereich von 0 bis 3,3 V schneidet ab: Sein Ausgangscode ist ⌊Vin/LSB⌋ mit 1 LSB = VFSR/2ᴺ. Bestimme den dezimalen Ausgangscode D für eine Eingangsspannung von 0,258 V.
N = 12VFSR = 3,3 VVin = 0,258 V
D =
6.Messdatenerfassung und AbtastungSchwer
Ein 4-Kanal-Multiplexer speist einen ADC. Jede Wandlung dauert 8 µs, und nach jedem Kanalwechsel braucht der Eingang 2,5 µs zum Einschwingen. Die Kanäle werden ohne Pause nacheinander abgefragt. Bestimme die Abtastrate fs jedes Kanals in kHz.
n = 4tc = 8 µstset = 2,5 µs
fs = kHz
3Lösungen
1.Zahlensysteme
Antwort: U = 189
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
67 = 0100 0011
invertiert: 1011 1100
+1 → 1011 1101
Vorzeichenlos lesen
1011 1101₂ = 256 − 67 = 189
Antwort
U = 189
2.Zahlensysteme
Antwort: R = 5
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.
Bit für Bit
Das Rechtsschieben um 3 verschiebt jedes Bit um 3 Stellen nach rechts; Bits, die am rechten Ende herausfallen, gehen verloren, und links kommen Nullen nach.
Boolesche Algebra: Die Regeln, die Ausdrücke vereinfachen, sind X + X′ = 1 und X·X′ = 0, X + X = X, die Absorption X + X·Y = X, die Zusammenfassungsregel X·Y + X·Y′ = X, X + X′Y = X + Y und das Konsensus-Theorem XY + X′Z + YZ = XY + X′Z. Die De-Morganschen Gesetze machen aus (X·Y)′ den Ausdruck X′ + Y′ und aus (X + Y)′ den Ausdruck X′·Y′. Ein Karnaugh-Diagramm wendet diese Regeln grafisch an: Jede Gruppe aus zwei benachbarten Feldern ist eine Anwendung von XY + XY′ = X.
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.
Primimplikanten
Die größten Gruppen, die sich aus Einsen und X bilden lassen.
B′CD′, A′CD′, AC′D′, AB′D′, AB′C, A′BC′D
Minimale Überdeckung
F = B′CD′ + AC′D′ + AB′C + A′BC′D
L = 13
Antwort
L = 13
Es gibt eine weitere Gruppierung derselben Größe; sie hat dieselbe Anzahl von Termen und Literalen.
5.Messdatenerfassung und Abtastung
Antwort: D = 320
ADC-Auflösung: Ein N-Bit-Umsetzer teilt seinen Vollaussteuerbereich VFSR in 2ᴺ Codes, von 0 bis 2ᴺ − 1. Ein Schritt ist 1 LSB = VFSR/2ᴺ: die kleinste Änderung, die der Umsetzer anzeigen kann. Ein abschneidender ADC liefert den Code ⌊Vin/LSB⌋; ein rundender ADC liegt nie mehr als ½ LSB vom wahren Wert entfernt, das ist sein Quantisierungsfehler. Jedes zusätzliche Bit halbiert das LSB und erhöht das ideale Signal-Quantisierungsrausch-Verhältnis SQNR = 6,02·N + 1,76 dB für einen vollausgesteuerten Sinus um etwa 6 dB. Um eine Auflösung r über einer Spanne zu erreichen, wähle das kleinste N mit 2ᴺ ≥ Spanne/r.
Schrittweite
1 LSB = 3,3/212 = 0,8057 mV
Code
Vin/LSB = 258/0,8057 = 320,2
Code = ⌊320,2⌋ = 320
Antwort
D = 320
Binär ist das 000101000000.
6.Messdatenerfassung und Abtastung
Antwort: fs = 23,81 kHz
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.