Probeklausur 3 - Lösungen
Zurück zu den Aufgaben · Formelsammlung
Teilpunkte für erkennbaren Rechenweg auch bei Zahlenfehler.
Aufgabe 1 - Grundlagen (16 P) [Kap. 1]
| Teil | Antwort | Begründung |
|---|---|---|
| 1.1 | richtig | Kern + Speicher + Peripherie auf einem Chip = Mikrocontroller/SoC. |
| 1.2 | falsch | volatile bewirkt das Gegenteil: bei jedem Zugriff neu aus dem Speicher lesen (nicht wegoptimieren). |
| 1.3 | richtig | Definition von Memory-Mapped I/O. |
| 1.4 | richtig | Definition von DMA. |
| 1.5 | falsch | Das beschreibt weiche Echtzeit; harte Echtzeit = garantierte Einhaltung. |
| 1.6 | richtig | Watchdog löst bei fehlendem Lebenszeichen einen Reset aus. |
Aufgabe 2 - Timer (22 P) [Kap. 5]
Gegeben: , 16-Bit, , Duty 20 %.
2.1 .
2.2 -> nächstgrößerer verfügbarer Wert: Prescaler = 2. (Kontrolle: RC = 16000 <= 65536.)
2.3 .
2.4 (= ).
2.5 .
2.6 .
2.7 Wave-Modus; der Zähler wird bei Counter == RC (RC-Compare, CPCTRG) zurückgesetzt.
Aufgabe 3 - Parallele I/O (14 P) [Kap. 3]
Segmentbits: a=0, b=1, c=2, d=3, e=4, f=5, g=6.
3.1 0x5B = 0b1011011 -> Bits 0,1,3,4,6 = Segmente a, b, d, e, g -> Ziffer 2.
3.2 Start {a, b, d, e, g}. CODR=0x10 löscht e, SODR=0x04 setzt c -> {a, b, c, d, g} -> Ziffer 3.
3.3 SODR/CODR erlauben atomares Setzen/Löschen einzelner Bits ohne Read-Modify-Write. So kann eine ISR gleichzeitig ein anderes Bit schalten, ohne dass es zu Race Conditions kommt; man muss den bisherigen Portzustand nicht kennen.
Aufgabe 4 - Signalverarbeitung (18 P) [Kap. 7]
4.1 Diskretes Spektrum mit drei Linien: 50 Hz (Amplitude 2), 150 Hz (Amplitude 4), 300 Hz (Amplitude 1).
4.2 -> -> enthalten, Amplitude 1.
4.3 -> -> minimal knapp über 600 Hz (z. B. 601 Hz; 600 Hz reicht nicht, da strikt größer).
4.4 .
4.5 .
4.6 .
Aufgabe 5 - CRC (14 P) [Kap. 10]
5.1 -> Bits 3, 1, 0 -> 1011.
5.2 Nachricht 1101 + 3 Nullen = 1101000, Division (mod 2) durch 1011:
1101000
1011
----
0110000
1011
----
0011100 -> weiter
1011
----
0001010 -> nächste 1
1011
----
0000001
Rest (3 Bit) = 001 -> Prüfbits = 001. Gesendet: 1101 001.
5.3 1101001 ÷ 1011 (mod 2) ergibt Rest 000 -> Übertragung gültig.
5.4 LFSR (Schieberegister + XOR-Gatter). Iterationen = Anzahl der Nutzdatenbits = 4.
Aufgabe 6 - Seriell & Leitungscodes (10 P) [Kap. 4, Kap. 10]
6.1 19200 Baud, 8 Datenbits, E = gerade Parität (even), 1 Stoppbit.
6.2 Start (1) + Daten (8) + Parität (1) + Stopp (1) = 11 Bit.
6.3 Wahr - das Startbit (fallende Flanke aus dem Ruhezustand High) synchronisiert den Empfänger; er tastet danach in Bitmitte ab.
6.4 IEEE 802.3: steigend = 1, fallend = 0 -> Flanken (steigend, fallend, fallend, steigend) = 1 0 0 1.
Aufgabe 7 - Interrupts (6 P) [Kap. 6]
7.1 Zwei Vorteile (beliebige zwei): (a) CPU kann andere Aufgaben erledigen bzw. schlafen (stromsparend), bis das Ereignis eintritt; (b) Ereignisse werden immer überwacht, nicht nur zu Abfragezeitpunkten; (c) übersichtlicheres Hauptprogramm; (d) Entlastung von Bus/Peripherie.
7.2 Shared-Data-Problem: Hauptprogramm und ISR greifen auf dieselben Daten zu; eine Unterbrechung mitten in einer Berechnung führt zu inkonsistenten Werten. Lösung: kritischen Abschnitt schützen (Interrupts kurz sperren) und gemeinsame Variablen volatile deklarieren.