Probeklausur 1

Startseite · Cliff Notes · ** Lösungen zu Probeklausur 1**

Dauer: 90 Minuten · Hilfsmittel: 1 doppelseitig handbeschriebenes DIN-A4-Blatt, kein Taschenrechner · Gesamt: 114 Punkte Aufbau nach Muster der Klausur SS 2020 [Q: KL20]. Erst versuchen, dann Lösungen prüfen.

Aufg.ThemaPunkteEmpf. Zeit
1Mikroprozessorsysteme (Grundlagen)1814 min
2Timer-Bausteine2422 min
3Parallele I/O (7-Segment)1612 min
4Signalverarbeitung1716 min
5Cyclic Redundancy Check1210 min
6Serielle Schnittstelle & Leitungscodes1510 min
7Hardware-Interrupts128 min

Aufgabe 1 - Mikroprozessorsysteme (18 P)

Kreuzen Sie an, welche Aussagen richtig sind. Kap. 1, ARM

1.1 Mikrocontroller (3 P)

  • a) Ein Mikrocontroller integriert Prozessorkern, Speicher und Peripherie auf einem Chip (SoC).
  • b) Mikrocontroller besitzen im Gegensatz zu Mikroprozessoren immer eine MMU.
  • c) Ein eingebettetes System benötigt Sensoren und Aktoren, um mit seiner Umgebung wechselzuwirken.

1.2 Hardwarenahe Programmierung (3 P)

  • a) volatile teilt dem Compiler mit, dass sich eine Variable durch externe Einflüsse ändern kann.
  • b) Gemappte Hardwarebausteine lassen sich in C als struct beschreiben.
  • c) Das Casten von Zeigern ist in der hardwarenahen Programmierung zu vermeiden.

1.3 DMA & Speicherzugriff (3 P)

  • a) DMA erlaubt Datentransfer zwischen Peripherie und Speicher ohne den Prozessorkern.
  • b) Memory-Mapped I/O bedeutet, Peripherieregister über normale Adressen anzusprechen.
  • c) DMA und Memory-Mapped I/O bezeichnen dasselbe Prinzip.

1.4 ARM-Register/Modi (3 P)

  • a) Im Cortex-M3 ist R15 der Program Counter, R14 das Link Register.
  • b) Der Handler Mode des Cortex-M3 ist immer privilegiert.
  • c) Das T-Bit im CPSR unterscheidet ARM- und Thumb-State.

1.5 Compiler-Optimierung (3 P)

  • a) -O0 eignet sich am besten zum Debuggen.
  • b) -Os optimiert auf kleine Codegröße (Flash-Budget).
  • c) Optimierung erkennt auch externe Hardware-Einflüsse zuverlässig.

1.6 Echtzeit (3 P)

  • a) Harte Echtzeit garantiert die Einhaltung der Reaktionszeit.
  • b) Weiche Echtzeit gibt nur eine statistische Garantie.
  • c) Ein Watchdog löst einen Reset aus, wenn das „Lebenszeichen" ausbleibt.

Aufgabe 2 - Timer-Bausteine (24 P)

Kap. 5

Ein Board mit 16-Bit-Timer wird mit Systemtakt f_CLK = 8 MHz betrieben. Prescaler wählbar: 2, 8, 32, 128, 1024. Am Ausgang TIOA soll ein periodisches Signal mit Periode T = 4 ms und Tastverhältnis 25 % (High-Anteil) erzeugt werden.

2.1 Welche Frequenz hat das Signal? (2 P) 2.2 Wählen Sie den optimalen Prescaler (max. Auflösung). (4 P) 2.3 Wie viele Nanosekunden dauert eine Inkrementierung des Zählregisters mit diesem Prescaler? (3 P) 2.4 Berechnen Sie RC (Periode). (4 P) 2.5 Berechnen Sie RA für das Tastverhältnis 25 %. (4 P) 2.6 Mit RB soll an TIOB ein Signal gleicher Frequenz, aber 50 % Tastverhältnis erzeugt werden. Wert von RB? (3 P) 2.7 Nennen Sie den Timer-Modus für diese Signalerzeugung und die Bedingung, die den Zähler zurücksetzt. (2 P) 2.8 Im Capture-Modus - welches Register laden Sie, um eine maximale Messdauer festzulegen? (2 P)


Aufgabe 3 - Parallele I/O mit 7-Segment (16 P)

Kap. 3

Eine high-aktive 7-Segment-Anzeige ist an PIOA verdrahtet: a=PA0, b=PA1, c=PA2, d=PA3, e=PA4, f=PA5, g=PA6. PIOA ist aktiviert, Pins sind Ausgänge, alle Segmente zu Beginn aus. Register: PIO_SODR (High setzen), PIO_CODR (Low setzen).

3.1 (4 P) Welche Ziffer wird angezeigt?

PIOA->PIO_SODR = (1<<0)|(1<<1)|(1<<2);   // a, b, c

3.2 (6 P) Welche Ziffer wird angezeigt?

PIOA->PIO_SODR = 0x7F;                    // alle 7 Segmente
PIOA->PIO_CODR = (1<<1)|(1<<4);           // b, e

3.3 (3 P) Welche Ziffer?

PIOA->PIO_SODR = (1<<0)|(1<<5)|(1<<6)|(1<<2)|(1<<3);  // a,f,g,c,d

3.4 (3 P) Warum ist bei LEDs eine low-aktive Ansteuerung häufiger als eine high-aktive?


Aufgabe 4 - Signalverarbeitung (17 P)

Kap. 7

Ein Signal S(t) hat im Frequenzbereich Spektrallinien bei 100 Hz (A=3), 200 Hz (A=1) und 400 Hz (A=2).

4.1 (3 P) Geben Sie S(t) als Summe von Sinusfunktionen an. 4.2 (2 P) Ist die Komponente sin(400·π·t) enthalten? Mit welcher Amplitude? 4.3 (4 P) Mit welcher minimalen Abtastfrequenz kann S(t) artefaktfrei abgetastet werden? Begründen Sie. 4.4 (3 P) Sie tasten mit 700 Hz ab. Welche Alias-Frequenz entsteht für die 400-Hz-Komponente? 4.5 (2 P) Sie wollen die höchste Komponente per Abtastwahl wegfiltern (Tiefpass). Nennen Sie einen geeigneten Bereich für f_s. 4.6 (3 P) Sie tasten mit f_s = 2 kHz und einem 8-Bit-ADC über 30 s ab. Wie viele Byte entstehen?


Aufgabe 5 - Cyclic Redundancy Check (12 P)

Kap. 10 §7

Es wird CRC-4 mit dem Generatorpolynom g(x) = x⁴ + x + 1 verwendet.

5.1 (2 P) Geben Sie g(x) in binärer Form an. 5.2 (5 P) Berechnen Sie die Prüfbits für die Nachricht 1101 0110. Zeigen Sie den Rechenweg (mod-2-Division). 5.3 (3 P) Sie empfangen 1101 0110 + Ihre Prüfbits. Zeigen Sie, dass die Nachricht gültig ist. 5.4 (2 P) Welche Hardwareelemente benötigt eine CRC-Schaltung mit festem Generatorpolynom?


Aufgabe 6 - Serielle Schnittstelle & Leitungscodes (15 P)

Kap. 4, Kap. 10

6.1 – 6.5 Wahr/Falsch (je 1 P)

  • 6.1 Bei asynchroner Übertragung synchronisiert sich der Empfänger auf das Startbit.
  • 6.2 Das Receive Shift Register (RSR) deserialisiert Daten, das Anwendungsprogramm liest sie aus dem RHR.
  • 6.3 Das Transmit Hold Register (THR) serialisiert die Daten selbst.
  • 6.4 Bei I²C wird die Start-Bedingung durch eine fallende SDA-Flanke bei SCL = High erzeugt.
  • 6.5 Bei I²C bedeutet ACK ein High-Signal (1).

6.6 (2 P) Erklären Sie „9600 8N1". 6.7 (3 P) Sie beobachten in vier aufeinanderfolgenden Bitintervallen die Mittenflanken: fallend, steigend, steigend, fallend. Dekodieren Sie nach IEEE 802.3 (Manchester). 6.8 (2 P) Welche Bitfolge ergäbe sich stattdessen nach G. E. Thomas? 6.9 (3 P) Ein Manchester-codiertes System überträgt 2 MBit/s. Wie hoch ist die Baudrate? Begründung.


Aufgabe 7 - Hardware-Interrupts (12 P)

Kap. 6

7.1 (6 P) Bringen Sie die Schritte eines Interrupt-Ablaufs (AT91/AIC) in die richtige Reihenfolge:

(A) ISR ausführen
(B) Interrupt bestätigen (EOICR schreiben)
(C) Interruptanforderung einer HW-Komponente
(D) ISR-Adresse aus dem Interrupt Vektor Register laden
(E) Kontext (PC, Statusregister) sichern
(F) Kontext wiederherstellen und Rücksprung

7.2 (3 P) Nennen Sie drei Unterschiede zwischen AIC (AT91) und NVIC (Cortex-M). 7.3 (3 P) Was ist das Shared-Data-Problem und wie löst man es?


** Zu den Lösungen** · ← Startseite