Probeklausur 2 - Lösungen
← Probeklausur 2 (Aufgaben) · Startseite · Cliff Notes
Aufgabe 1 - Grundlagen & ARM (16 P) Kap. 1, ARM
1.1 (4 P): MP = nur Prozessorbausteine auf einem Chip; MC = MP + integrierte Peripherie (Speicher, Timer, I/O, …), zugeschnitten auf spezielle Steuerungsaufgaben. SoC (System-on-Chip): integriert (fast) alle Bestandteile eines Systems auf einem Chip.
1.2 (4 P): Memory-Mapped I/O: Peripherie-Register werden in den Adressraum des Hauptspeichers eingeblendet und über normales Lesen/Schreiben an Adressen gesteuert (Übersicht = Memory Map). Abgrenzung DMA: DMA überträgt Daten Peripherie↔Speicher ohne den Prozessorkern (entlastet CPU) - Memory-Mapped I/O ist dagegen der CPU-Zugriff auf Register über Adressen. Sie sind nicht dasselbe.
1.3 (4 P): volatile sagt dem Compiler, dass sich die Variable außerhalb des Programmkontexts (Hardware, ISR, anderer Thread) ändern kann → keine Wegoptimierung; bei jedem Zugriff wird der aktuelle Wert gelesen/geschrieben.
volatile int status = 0;
while (status == 0) ; // ohne volatile → evtl. Endlosschleife (status einmal gelesen)
1.4 (4 P): R13 = Stack Pointer (SP), R14 = Link Register (LR, Rücksprungadresse), R15 = Program Counter (PC). MSP (Main Stack Pointer) = OS-Kernel/Exception-Handler (Default); PSP (Process Stack Pointer) = Anwendungscode/RTOS-Tasks. Nur einer ist sichtbar (banked).
Aufgabe 2 - Power Management & PIO (14 P) Kap. 2, Kap. 3
2.1 (3 P): Damit die CPU nach dem Reset überhaupt arbeiten und die benötigten Peripherie-Takte gezielt einschalten kann, ist der CPU-Takt an. Nicht benötigte Peripherie bleibt aus → Stromsparen (Grundprinzip Power Management).
2.2 (4 P):
- PID 13 (PIOC) < 32 →
PMC->PMC_PCER0 = 1 << 13; - PID 34 (TC7) ≥ 32 → Register 1, Bit (34−32)=2 →
PMC->PMC_PCER1 = 1 << 2;Begründung: PID 0–31 inPCER0(Bit = PID), PID 32–44 inPCER1(Bit = PID−32).
2.3 (4 P): Getrennte Register …ER (1 = einschalten), …DR (1 = ausschalten), …SR (Status lesen). Vorteil: atomare Bit-Änderung ohne Read-Modify-Write → keine Race Condition, andere Bits bleiben unberührt.
2.4 (3 P): 1. PMC_PCER (Clock für PIOA), 2. PIO_PER (Pin vom PIO steuern), 3. PIO_OER (Ausgang), 4. PIO_SODR (auf High setzen).
Aufgabe 3 - Timer (24 P) Kap. 5
Teil A - f_CLK = 48 MHz, 16-Bit, 100 Hz, Duty 30 %.
3.1 (4 P): Prescaler_ideal = 48·10⁶/(100·65536) = 48·10⁶/6.553.600 ≈ 7,32 → nächstgrößer: Prescaler = 8 (RC = 60000 ≤ 65536 [x]).
3.2 (4 P): RC = f_CLK/(Prescaler·f_A) = 48·10⁶/(8·100) = **60.000** (Periode 10 ms).
3.3 (4 P): RA = 0,30 · RC = 0,30 · 60.000 = **18.000**.
3.4 (3 P): z. B. LED dimmen (High-Anteil = Helligkeit), DC-Motor/Drehmoment, Servo-Position, analoges Signal per Tiefpass erzeugen (zwei genügen).
Teil B - Capture, Prescaler 32, f_CLK 48 MHz, RA = 1.000, RB = 4.000.
3.5 (4 P): t_echo = (RB−RA)·Prescaler/f_CLK = (4000−1000)·32/48·10⁶ = 3000·32/48·10⁶ = 96.000/48·10⁶ = 2·10⁻³ s = **2 ms**.
3.6 (5 P): Der Schall legt Hin- und Rückweg zurück → Entfernung = halbe Schallstrecke:
s = (v · t_echo)/2 = (340 m/s · 2·10⁻³ s)/2 = 0,68 m / 2 = **0,34 m = 34 cm**.
Ohne Faktor ½ käme man fälschlich auf 68 cm.
Aufgabe 4 - Signalverarbeitung & Wandler (18 P) Kap. 7
4.1 (3 P): Abtasttheorem (Nyquist/Shannon): f_s > 2·f_max - nur dann ist verlustfreie Rekonstruktion möglich. Aliasing: bei zu geringer Abtastfrequenz erscheinen hohe Frequenzen als falsche, tiefere „Geisterfrequenzen"; das rekonstruierte Signal ist ein anderes.
4.2 (4 P): Auflösung = U/2^n = 5 V / 2¹⁰ = 5 V/1024 ≈ **4,88 mV**. Maximaler Quantisierungsfehler = ½ LSB ≈ 2,44 mV.
4.3 (4 P): 1 Bit ≙ U/2^n = 6 V / 2⁸ = 6 V/256 = **23,4 mV**.
4.4 (4 P): Zählverfahren: Zähler erzeugt Treppenspannung (LSB-Schritte), bis sie den Eingang erreicht → einfach, aber langsam und Zeit abhängig vom Eingangswert. Wägeverfahren (Successive Approximation): bitserieller Vergleich beginnend beim MSB (Balkenwaage) → konstante n Schritte, schneller. → Wägeverfahren ist schneller.
4.5 (3 P): Der gleitende Mittelwert wirkt als Tiefpass: er glättet das Signal und filtert Rauschen (hohe Frequenzanteile). Nachteil: sprunghafte Änderungen werden verzögert sichtbar.
Aufgabe 5 - CRC & Hamming (14 P) Kap. 10
5.1 (2 P): x⁵+x²+1 → Terme x⁵, x², x⁰ → 100101.
5.2 (6 P): Nachricht 110101101 + 5 Nullen = 110101101 00000. Mod-2-Division durch 100101 → Rest = 11111 (rechnerisch bestätigt).
- Gesendeter Code =
110101101 11111=11010110111111(14 Bit). - Hex:
11 0101 1011 1111→ gruppiert zu Nibbles von rechts11 0101 1011 1111=0x35BF(bei 14 Bit; führende Nullen ergänzen →0011 0101 1011 1111=0x35BF).
5.3 (3 P): Vorteile CRC: erkennt Bündel-/Mehrbitfehler zuverlässig (viel besser als einfache Parität), in Hardware effizient realisierbar. Hardware: LFSR = Schieberegister + EXOR-Gatter (Rückkopplungen = Generatorpolynom).
5.4 (3 P): Hamming-Distanz d = 3. Erkennen: d ≥ k+1 → k = d−1 = 2 Bitfehler erkennbar. Korrigieren: d ≥ 2k+1 → k = (d−1)/2 = 1 Bitfehler korrigierbar.
Aufgabe 6 - USART & Leitungscodes (14 P) Kap. 4, Kap. 10
6.1 (3 P): Synchron: separate Taktleitung gibt Bit-Zeitpunkt vor (Beispiel I²C/SPI). Asynchron: kein Takt; Sender/Empfänger vereinbaren Baudrate, Startbit synchronisiert (Beispiel RS-232/CAN).
6.2 (3 P): Startbit → Datenbits (LSB zuerst) → [Paritätsbit] → Stoppbit(e) (davor/danach Ruhezustand High).
6.3 (4 P): Vorteile seriell: weniger Leitungen/Kosten, keine Laufzeitunterschiede zwischen parallelen Leitungen. Skew: bei paralleler Übertragung kommen die Bits einzelner Leitungen wegen unterschiedlicher Laufzeiten nicht exakt gleichzeitig an → begrenzt die maximale Taktrate.
6.4 (4 P):
- NRZ:
1 0 1 1 0→ High, Low, High, High, Low (Pegel = Bit, konstant je Bit). - Manchester (802.3): je Bit Mittenflanke: 1 = steigend, 0 = fallend → steigend, fallend, steigend, steigend, fallend.
- Selbsttaktend = Manchester, weil in jedem Bit eine Flanke liegt → Takt aus den Daten rekonstruierbar (bei NRZ nicht, lange gleiche Folgen ohne Flanke).
Aufgabe 7 - Regelung / PID (12 P) Kap. 8
7.1 (3 P): Steuerung (open loop): kein Feedback, kann Störungen nicht ausgleichen. Regelung (closed loop): misst den Istwert (Rückführung), vergleicht mit Soll und korrigiert den Fehler.
7.2 (5 P):
- P: ∝ Fehler → reagiert sofort; Nachteil: bleibende Regelabweichung.
- I: summiert Fehler → eliminiert bleibende Abweichung; Nachteil: langsamer, neigt zum Schwingen.
- D: ∝ Fehleränderung → dämpfend, vorausschauend; Nachteil: verstärkt Rauschen stark.
7.3 (2 P): Windup: bei Stellglied-Sättigung wächst der I-Anteil weiter, obwohl die Stellgröße nicht weiter steigen kann → träges Zurückregeln. Gegenmaßnahme: Anti-Windup, z. B. I-Anteil begrenzen (Clamping).
7.4 (2 P): Ein Timer-Interrupt liefert ein deterministisches, konstantes Abtastintervall (kein Jitter) → wichtig für stabile Regelgüte; Polling ist durch andere Aufgaben nicht zeitlich garantiert.
Punkteschlüssel (Orientierung, 112 P)
| Punkte | ≥ 93 | ≥ 80 | ≥ 67 | ≥ 56 | ≥ 45 | < 45 |
|---|---|---|---|---|---|---|
| Note | 1,x | 2,x | 3,x | 4,0 | 4,x knapp | 5,0 |