Formelsammlung (alle Formeln kompakt)

Alle prüfungsrelevanten Formeln auf einen Blick. Ausführliche Erklärungen: siehe die jeweiligen Kapitel. Ergänzung zu den Cliff Notes.

Kein Taschenrechner in der Klausur: Zahlen sind so gewählt, dass sie glatt aufgehen. Immer zuerst in µs/ns umrechnen, dann teilen.


Timer / Counter (Kap. 5)

Dauer eines Zählschritts:

Tstep=PrescalerfCLKT_{step} = \frac{\text{Prescaler}}{f_{CLK}}

Periodendauer und Frequenz des erzeugten Signals (mit Reset-Register RC):

TA=RCPrescalerfCLKfA=fCLKPrescalerRCT_A = \frac{RC \cdot \text{Prescaler}}{f_{CLK}} \qquad f_A = \frac{f_{CLK}}{\text{Prescaler} \cdot RC}

Registerwert für gewünschte Frequenz / Periode:

RC=fCLKPrescalerfA=TATstepRC = \frac{f_{CLK}}{\text{Prescaler} \cdot f_A} = \frac{T_A}{T_{step}}

Tastverhältnis (Duty Cycle) bei PWM (High-Anteil):

D=RARCRA=DRCD = \frac{RA}{RC} \quad\Rightarrow\quad RA = D \cdot RC

Zeitmessung im Capture-Mode (Differenz zweier Register):

T=RBRAPrescalerfCLKT = \frac{RB - RA}{\text{Prescaler} \cdot f_{CLK}}

Overflow-Zeit (ohne RC, volle Bitbreite):

Tovf=2nPrescalerfCLKT_{ovf} = \frac{2^{n} \cdot \text{Prescaler}}{f_{CLK}}

Optimalen Prescaler wählen (max. Auflösung): idealen Teiler berechnen, dann nächstgrößeren verfügbaren Wert nehmen:

Prescalerideal=fCLKfA2n\text{Prescaler}_{ideal} = \frac{f_{CLK}}{f_A \cdot 2^{n}}

Verfügbare Prescaler (AT91/SAM3X): 2, 8, 32, 128, 1024. Merke: kleiner Prescaler = größeres RC = feinere Auflösung, aber RC muss 2n\le 2^{n} bleiben.


Signal im Zeit-/Frequenzbereich (Kap. 7)

Zusammenhang Periode, Frequenz, Kreisfrequenz:

T=1fω=2πfy(t)=Asin(2πft)=Asin(ωt)T = \frac{1}{f} \qquad \omega = 2\pi f \qquad y(t) = A \cdot \sin(2\pi f t) = A \cdot \sin(\omega t)

Aus einer Signalkomponente sin(kπt)\sin(k\pi t) die Frequenz ablesen:

f=kπ2π=k2 [Hz]f = \frac{k\pi}{2\pi} = \frac{k}{2} \ \text{[Hz]}

Abtastung & Wandlung (Kap. 7)

Abtasttheorem (Nyquist/Shannon), strikt größer:

fs>2fmaxf_s > 2 \cdot f_{max}

Alias-Frequenz bei Unterabtastung (Faustformel):

falias=fsff_{alias} = \lvert f_s - f \rvert

ADC-Auflösung (Spannungsbereich UU, Wortbreite nn Bit):

ΔU=U2n\Delta U = \frac{U}{2^{n}}

Maximaler Quantisierungsfehler:

emax=12LSB=U2n+1e_{max} = \tfrac{1}{2}\,\text{LSB} = \frac{U}{2^{n+1}}

Erforderliche Wortbreite für geforderte Auflösung ΔU\Delta U:

2nUΔUnlog2 ⁣(UΔU)2^{n} \ge \frac{U}{\Delta U} \quad\Rightarrow\quad n \ge \log_2\!\left(\frac{U}{\Delta U}\right)

Datenvolumen einer Abtastung:

D=tfsBits8 [Byte]D = t \cdot f_s \cdot \frac{\text{Bits}}{8} \ \text{[Byte]}

Gleitender Mittelwert (Ordnung n1n{-}1), wirkt als Tiefpass:

mj=1ni=0n1xjim_j = \frac{1}{n} \sum_{i=0}^{n-1} x_{j-i}

Serielle Schnittstelle / Baudrate (Kap. 4)

Bitdauer aus Baudrate:

tbit=1Baudratet_{bit} = \frac{1}{\text{Baudrate}}

Zeichenrahmen-Länge (asynchron): Start + Datenbits + optional Parität + Stoppbit(s). Beispiel 8N1 = 1 + 8 + 0 + 1 = 10 Bit pro Zeichen.

Zeichen pro Sekunde:

Zeichen/s=BaudrateBits pro Rahmen\text{Zeichen/s} = \frac{\text{Baudrate}}{\text{Bits pro Rahmen}}

Leitungscodes & Fehlererkennung (Kap. 10)

Baudrate vs. Bitrate:

Baudrate=Symbole/s\text{Baudrate} = \text{Symbole/s}
  • NRZ / NRZI: 1 Symbol = 1 Bit -> Baudrate = Bitrate
  • Manchester / RZ: 1 Bit = 2 Symbole -> Baudrate = 2 x Bitrate

Hamming-Distanz dd (Anzahl unterschiedlicher Bitpositionen, via XOR + Einsen zählen):

Fehler erkennen: de+1Fehler korrigieren: d2e+1\text{Fehler erkennen: } d \ge e + 1 \qquad \text{Fehler korrigieren: } d \ge 2e + 1

CRC (Modulo-2 / XOR-Arithmetik): Daten um Grad des Generatorpolynoms gg nach links schieben (mit Nullen auffüllen), durch gg teilen; Rest = Prüfbits (FCS). Empfänger teilt (Daten + FCS) durch gg: Rest 0 -> gültig. Anzahl Iterationen der Division = Anzahl Datenbits (inkl. angehängter Nullen minus Gradabgleich, praktisch = Länge der Nutzdaten).

Generatorpolynom binär: Term xkx^k setzt Bit kk. Beispiel x4+x+1=10011x^4 + x + 1 = 10011.


Power Management (Kap. 2)

Peripheral ID -> Register/Bit (SAM3X):

  • PID 0..310..31: PMC_PCER0, Bit = PID
  • PID 32..4432..44: PMC_PCER1, Bit = PID 32-\,32
PMC->PMC_PCER0=1PID(PID<32)\text{PMC->PMC\_PCER0} = 1 \ll \text{PID} \quad (\text{PID} < 32)

Einheiten-Spickzettel

GrößeUmrechnung
1 ms10310^{-3} s =1000= 1000 µs
1 µs10610^{-6} s =1000= 1000 ns
1 ns10910^{-9} s
1 MHz10610^6 Hz -> Periode 1 µs
1 kHz10310^3 Hz -> Periode 1 ms
2102^{10}1024
2162^{16}65 536
2322^{32}4 294 967 296

Zurück: Cliff Notes · Timer · Signalverarbeitung · Übungen