Probeklausur 1 - Lösungen

Probeklausur 1 (Aufgaben) · Startseite · Cliff Notes

Vollständige Lösungen mit Rechenweg, Begründung und Kapitelverweis. Bewertungshinweis: Teilpunkte für erkennbaren Lösungsweg auch bei Zahlenfehler.


Aufgabe 1 - Mikroprozessorsysteme (18 P) Kap. 1

Teilrichtig angekreuztBegründung
1.1a [x], b [ ], c [x]b falsch: MCs haben gerade oft keine MMU.
1.2a [x], b [x], c [ ]c falsch: Casten ist hardwarenah notwendig (Adresse → Zeiger).
1.3a [x], b [x], c [ ]c falsch: DMA ≠ Memory-Mapped I/O.
1.4a [x], b [x], c [x]alle richtig (ARM).
1.5a [x], b [x], c [ ]c falsch: Optimierung erkennt keine externen HW-Einflüsse (→ volatile).
1.6a [x], b [x], c [x]alle richtig.

([x] = ankreuzen, [ ] = nicht ankreuzen. Pro Teilaufgabe 3 P nur bei vollständig korrekter Bewertung aller drei Aussagen.)


Aufgabe 2 - Timer (24 P) Kap. 5

Gegeben: f_CLK = 8 MHz, 16-Bit (2¹⁶ = 65536), T = 4 ms, Duty 25 %.

2.1 Frequenz (2 P): f = 1/T = 1/4 ms = **250 Hz**.

2.2 Optimaler Prescaler (4 P): Prescaler_ideal = f_CLK/(f_A·2¹⁶) = 8·10⁶/(250·65536) = 8·10⁶/16.384.000 ≈ 0,488. Nächstgrößerer verfügbarer Wert: Prescaler = 2. (Kontrolle: RC = 16000 ≤ 65536 [x].)

2.3 ns pro Schritt (3 P): T_step = Prescaler/f_CLK = 2/8·10⁶ = 0,25·10⁻⁶ s = **250 ns**.

2.4 RC (4 P): RC = f_CLK/(Prescaler·f_A) = 8·10⁶/(2·250) = **16.000**. (= T/T_step = 4 ms/250 ns = 16.000.)

2.5 RA (25 %) (4 P): RA = 0,25 · RC = 0,25 · 16.000 = **4.000**.

2.6 RB (50 %) (3 P): RB = 0,50 · 16.000 = **8.000**.

2.7 Modus (2 P): Wave(form)-Modus; Zähler wird zurückgesetzt, wenn Counter == RC (RC-Compare, CPCTRG).

2.8 Capture-Messdauer (2 P): Register C (RC) - begrenzt die Messdauer / dient als Timeout.


Aufgabe 3 - Parallele I/O (16 P) Kap. 3

Segmentmuster (a..g): 0=abcdef, 1=bc, 2=abged, 3=abgcd, 4=fgbc, 5=afgcd, 6=afgedc, 7=abc, 8=alle, 9=abcdfg.

3.1 (4 P): SODR setzt a, b, c auf High → nur Segmente a, b, c leuchten → Ziffer 7.

3.2 (6 P): SODR=0x7F → alle 7 Segmente an (8). Dann CODR löscht b und e. Übrig: a, c, d, f, g → das ist das Muster von 5. → Ziffer 5.

3.3 (3 P): Segmente a, f, g, c, d an = Muster 5 → Ziffer 5.

3.4 (3 P): Bei low-aktiver Ansteuerung leuchtet die LED, wenn der Ausgang Low ist; der Strom fließt von +UB in den Pin (Sink). Der Prozessor muss den LED-Strom nicht selbst liefern (Source), was für die Ausgangstreiber günstiger ist → deshalb häufiger.


Aufgabe 4 - Signalverarbeitung (17 P) Kap. 7

4.1 (3 P): S(t) = 3·sin(2π·100·t) + 1·sin(2π·200·t) + 2·sin(2π·400·t).

4.2 (2 P): sin(400π·t)f = 400π/(2π) = 200 Hzenthalten, Amplitude 1.

4.3 (4 P): Höchste Frequenz f_max = 400 Hz. Abtasttheorem: f_s > 2·f_max = 800 Hz (strikt). Minimale sinnvolle Wahl: etwas über 800 Hz (z. B. 801 Hz / praktisch 850 Hz). f_s = 800 Hz reicht nicht.

4.4 (3 P): Alias = |f_s − f| = |700 − 400| = **300 Hz**.

4.5 (2 P): Um die 400-Hz-Komponente zu unterdrücken, aber 200 Hz noch korrekt zu erfassen: 2·200 Hz < f_s ≤ 2·400 Hz400 Hz < f_s ≤ 800 Hz (z. B. 700 Hz).

4.6 (3 P): 2000 /s · 30 s · 8 bit = 480.000 bit = 480.000/8 = **60.000 Byte**. (8 Bit = 1 Byte.)


Aufgabe 5 - CRC (12 P) Kap. 10 §7

5.1 (2 P): x⁴+x+1 → Terme x⁴, x¹, x⁰ → 10011.

5.2 (5 P): Nachricht 11010110 + 4 Nullen = 11010110 0000. Mod-2-Division durch 10011:

110101100000
10011
-----
010011100000      (11010 ^ 10011 = 01001, nachgezogen)
 10011
 -----
000001100000
     10011
     -----
000000010000  ...

Restregister-Kette: 11010→01001, 10011→00000 (weiter), …, Endrest = 0110. Prüfbits = 0110. Gesendet: 11010110 0110. (rechnerisch bestätigt).

5.3 (3 P): Empfangen 11010110 0110 ÷ 10011 (mod 2) → Rest 0000 → da Rest 0, ist die Nachricht gültig.

5.4 (2 P): EXOR-Gatter und ein Schieberegister (zusammen ein LFSR). (Nicht: UND/ODER/Volladdierer/CPU.)


Aufgabe 6 - Seriell & Leitungscodes (15 P) Kap. 4, Kap. 10

Nr.AntwortBegründung
6.1WahrStartbit dient der Synchronisation (kein separater Takt).
6.2WahrRSR deserialisiert → Byte aus RHR lesen.
6.3FalschDas Shift Register (TSR) serialisiert, nicht das THR.
6.4WahrStart = fallende SDA-Flanke bei SCL = High.
6.5FalschACK = Low (0), NACK = High.

6.6 (2 P): 9600 Baud, 8 Datenbits, keine (None) Parität, 1 Stoppbit.

6.7 (3 P) IEEE 802.3 (fallend=0, steigend=1): fallend, steigend, steigend, fallend0 1 1 0.

6.8 (2 P) G. E. Thomas (invertiert: fallend=1, steigend=0): → 1 0 0 1 (bitweises Komplement von 6.7).

6.9 (3 P): Manchester: 1 Bit = 2 SymboleBaudrate = 2·Bitrate = 4 MBaud. (Preis: doppelte Bandbreite; Vorteil: selbsttaktend, gleichspannungsfrei.)


Aufgabe 7 - Hardware-Interrupts (12 P) Kap. 6

7.1 (6 P): Reihenfolge: C → E → D → A → B → F (Anforderung → Kontext sichern → ISR-Adresse aus IVR → ISR ausführen → EOICR bestätigen → Kontext wiederherstellen + Rücksprung SUBS pc, lr, #4).

7.2 (3 P): z. B. (1) AIC = externe Hardware, NVIC = im Kern integriert; (2) AIC 8 Prioritäten + FIQ, NVIC 16 Prioritäten; (3) NVIC sichert Kontext automatisch (Stacking) und unterstützt Tail-Chaining/Late-Arrival/nested, AIC nicht (nur mit expliziter Programmierung).

7.3 (3 P): Shared-Data-Problem: Hauptprogramm und ISR greifen auf dieselben Daten zu; eine Unterbrechung mitten in einer Berechnung führt zu inkonsistenten Werten (Race Condition). Lösung: kritischen Abschnitt schützen → Interrupts kurz sperren (critical section); gemeinsame Variablen volatile deklarieren.


Punkteschlüssel (Orientierung)

Punkte≥ 95≥ 82≥ 68≥ 57≥ 46< 46
Note1,x2,x3,x4,04,x knapp5,0

Probeklausur 1 (Aufgaben) · → Probeklausur 2