Microcontroller Flashcards

1
Q

Wie sieht die Basisstruktur eines Mikrokontrollers aus?

A

Komponenten:
- Prozessor
- SPeicher
- Digital In-/out
- Other on board peripherals

(siehe Abbildung)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie sieht die komplexe Standard Struktur eines Mikrokontrollers aus?

A
  • Processor core
  • Volantile memory (SRAM)
  • Non-volatile memory (EEPROM, Flash)
  • Counter, Timer
  • Clock
  • Watchdog
  • Digital I/O (parallel)
  • Serial interface
  • Interrupt interface
  • Interrupt controller
  • A/D converters
  • D/A converters, PWM output
  • Bus controller –> external bus

(siehe Abbildung)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Sind PINs von Mikrocontrollern in der Regel bidirectional doer unidirectional?

A

bidirectional

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche drei Register gibt es bei der Nuzung von Mikrokontrollern (im AT-Mega)?

A
  • Data Direction Regsiter (DDR)
  • Port Register (PORT)
  • PORT Input Regsiter (PIN)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist ein DDR Register?

A

DDR-Register:
- Legt fest, ob ein Mikrocontroller-Pin als Eingang oder Ausgang fungiert.
- read/write

Funktionen:
- DDR = 1: Pin als Ausgang konfiguriert.
- PORT-Register steuert den Zustand (HIGH/LOW) des Pins.
- DDR = 0: Pin als Eingang konfiguriert.
- Pin kann externes Signal lesen.
- PORT-Register kann internen Pull-up-Widerstand aktivieren.

Wichtige Verwendung:
- Bestimmt die Richtung der Datenübertragung am Pin.
- Essentiell für die Steuerung von I/O-Operationen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist ein PORT Register?

A

PORT-Definition:

  • Ein Register, das eine Gruppe von I/O-Pins (typischerweise 8 Pins) steuert.
  • read/write

Funktionen:
- Ausgangssteuerung: Setzt den Zustand der Pins (HIGH/LOW) bei als Ausgang konfigurierten Pins.
- Pull-up-Widerstand: Aktiviert den internen Pull-up-Widerstand bei als Eingang konfigurierten Pins (wenn PORT = 1).
- Lesen von Eingängen: Indirekt beteiligt beim Lesen des Pin-Zustands, wenn der Pin als Eingang konfiguriert ist.

Wichtige Verwendung:
- Steuert die Daten, die an den Pins des Mikrocontrollers ausgegeben oder von ihnen gelesen werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist ein PIN Register?

A

PIN-Definition:

  • Physischer Anschluss am Mikrocontroller, der als Ein- oder Ausgang verwendet werden kann.
  • read only (writing has no effect or unintuitive semantics)

Funktionen:

-Eingang: Liest externe Signale (z.B. HIGH/LOW).
- Ausgang: Gibt Signale an externe Geräte aus (z.B. HIGH/LOW).

Steuerung:

-Die Funktion des Pins wird durch das DDR-Register festgelegt (Eingang/Ausgang).
- Der Zustand des Pins kann über das PORT-Register (bei Ausgang) oder das PIN-Register (bei Eingang) gelesen/gesetzt werden.

Wichtige Verwendung:

  • Verbindungspunkt zwischen Mikrocontroller und externen Schaltungen oder Geräten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist ein worst-case-delay?

A
  • bezieht sich auf die längste mögliche Verzögerung, die in einem System auftreten kann, bevor eine bestimmte Operation abgeschlossen ist.
  • Diese Verzögerung tritt unter den ungünstigsten Umständen auf, die innerhalb des Systems auftreten können.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist ein missed impulse?

A
  • bezieht sich auf ein Ereignis in einem System, bei dem ein Impuls oder Signal, das erwartet wurde, nicht erfasst oder verarbeitet wird.
  • Dies kann in verschiedenen technischen Kontexten auftreten, insbesondere in der Signalverarbeitung, Steuerungstechnik und Echtzeitsystemen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist ein Schmitt Trigger?

A
  • eine elektronische Schaltung, die als eine Art Digital-Analog-Wandler fungiert, um ein analoges Eingangssignal in ein digitales Ausgangssignal umzuwandeln
  • weist zwei unterschiedliche Schwellenwerte für das Umschalten zwischen den Zuständen hat: einen für das Schalten von niedrig zu hoch (Rising Threshold) und einen anderen für das Schalten von hoch zu niedrig (Falling Threshold)

Funktion:
- Wenn das Eingangssignal den Rising Threshold überschreitet, schaltet der Ausgang auf HIGH.
- Wenn das Eingangssignal dann wieder unter den Falling Threshold fällt, schaltet der Ausgang auf LOW.
- Zwischen diesen beiden Schwellenwerten bleibt der Ausgangszustand unverändert, was zu einer robusteren und stabileren Signalverarbeitung führt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist Bouncing?

A

Definition: Bouncing bezieht sich auf das Phänomen, das auftritt, wenn mechanische Schalter oder Tasten betätigt werden. Beim Schließen oder Öffnen eines Schalters kann der Kontakt mehrmals schnell hintereinander ein- und ausfedern, bevor er sich stabilisiert.

Auswirkung: In digitalen Schaltungen kann Bouncing dazu führen, dass eine einzelne Schaltaktion als mehrere Schaltvorgänge wahrgenommen wird. Dies kann in Anwendungen wie Tastenabfragen zu unerwünschtem Verhalten führen, wie z.B. dem mehrfachen Registrieren eines einzelnen Tastendrucks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist Noise?

A

Definition: Noise bezieht sich auf unerwünschte elektrische Störungen oder Signalverzerrungen, die sich über das eigentliche Signal legen und dessen Integrität beeinträchtigen können.

Auswirkungen: Rauschen kann dazu führen, dass ein analoges Signal fluktuiert und ungenaue Daten liefert. In digitalen Systemen kann es dazu führen, dass ein stabiles HIGH- oder LOW-Signal instabil wird, was zu Fehlfunktionen, Fehlinterpretationen oder Signalverlusten führen kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie können Bouncing und Noise im Signal hardwaretechnisch vermieden werden?

A

low-passfilter (Tiefpassfilter): Elektronische Bauteil
- durchlässt tiefe Freuquenzen (langsame Schwingungen)
- blockiert hohe Frequenzen (schnelle Schwingungen)

Widerstand + Kondensator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie können Bouncing und Noise im Signal softwaretechnisch vermieden werden?

A
  • Das Erwarten mehrer Signale hinterander, bevor dieses akzeptiert wird
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind Interrupts?

A
  • Interrupts sind Signale, die den normalen Ablauf eines Programms in einem Mikrocontroller oder Computer unterbrechen, um ein bestimmtes Ereignis sofort zu bearbeiten.
  • Wenn ein Interrupt auftritt, springt der Prozessor zu einer speziellen Funktion, der Interrupt Service Routine (ISR), um das Ereignis zu verarbeiten.
  • Nach Abschluss der ISR kehrt der Prozessor zur unterbrochenen Programmausführung zurück und setzt den normalen Ablauf fort.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist Polling?

A
  • Polling ist eine Technik, bei der ein Prozessor oder Mikrocontroller regelmäßig den Status von Geräten oder Sensoren abfragt, um festzustellen, ob eine Aktion erforderlich ist.
  • Es wird kontinuierlich überprüft, ob ein bestimmtes Ereignis eingetreten ist, im Gegensatz zu Interrupts, bei denen das System aktiv auf ein Ereignis aufmerksam gemacht wird.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was ist eine Interrupt Vector Tabelle?

A
  • eine spezielle Tabelle im Speicher eines Mikrocontrollers oder Prozessors, die die Adressen von Interrupt Service Routines (ISRs) enthält.
  • Wenn ein Interrupt auftritt, sucht der Prozessor in dieser Tabelle nach der entsprechenden Adresse der ISR, um zu wissen, wohin er im Speicher springen muss, um die Unterbrechung zu bearbeiten.
  • Jeder Eintrag in dieser Tabelle enthält eine Sprungadresse (Jump Instruction), die den Mikrocontroller zur entsprechenden ISR führt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was ist ISR-Calling?

A
  • ISR Calling bezieht sich auf den Prozess, bei dem eine Interrupt Service Routine (ISR) aufgerufen wird, nachdem ein Interrupt auftritt.
  • Hierbei wird der normale Programmablauf unterbrochen, und der Prozessor führt die ISR aus, um das Ereignis, das den Interrupt ausgelöst hat, zu bearbeiten.
  1. Hardware speichert PC (Programm Conter)
  2. Global Interrupt Enable Bit wird zu 0 gesetzt
  3. PC wird zur ISR Lookup-Vektor gesetzt
  4. PC springt zu ISR
  5. Kontext wird gespeichert
  6. ISR-code wird ausgeführt
  7. Kontext wird zurückgeschrieben aus Stack
  8. Hardware stellt PC zurück in Main Loop
19
Q

Interrupts vs. Polling

A

Interrupts sind vorzuziehen, wenn:
- Das Ereignis selten auftritt.
- Lange Zeitintervalle zwischen den Ereignissen liegen.
- Der genaue Zeitpunkt der Zustandsänderung wichtig ist.
- Kurze Impulse auftreten, die beim Polling möglicherweise verpasst werden.
- Im Hauptprogramm nichts zu tun ist, sodass der Mikrocontroller in den Schlafmodus versetzt werden könnte.

Polling ist besser geeignet, wenn:
- Kein präzises Timing erforderlich ist.
- Der Zustand wichtiger ist als der Zeitpunkt des Eintretens.
- Die Impulse lang sind.
- Das Signal verrauscht ist (Interrupts würden sehr oft ausgelöst).

20
Q

Was ist ein Counter?

A
  • Funktion: Zählt externe Ereignisse oder Impulse.
  • Taktquelle: Wird durch externe Signale (z.B. Sensorimpulse) betrieben.
  • Verwendung: Verwendet zur Zählung von Ereignissen, wie z.B. das Zählen von Produkten auf einem Fließband, Drehzahlmessungen oder das Zählen von Signalen von einem Geber.
  • Beispiel: Ein Counter, der bei jedem Signal eines Sensors einen Schritt hochzählt.
21
Q

Was ist ein Timer?

A
  • Funktion: Misst die Zeitdauer zwischen Ereignissen oder zählt Zeitintervalle.
  • Taktquelle: Wird durch den internen Takt des Mikrocontrollers betrieben.
    Verwendung: Häufig verwendet für Zeitsteuerungen, wie z.B. das Erzeugen von Verzögerungen, das Messen von Zeitintervallen oder die Steuerung von Periodenereignissen (z.B. PWM-Signale).
  • Beispiel: Ein Timer, der alle 1 Millisekunde einen Interrupt auslöst.
22
Q

Welche drei Register haben Counter/Timer? Was machen die Register?

A
  1. Counter Register
    - Dieses Register hält den aktuellen Zählerstand des Timers oder Counters.
    - Es wird entweder durch den internen Takt (bei Timern) oder durch externe Impulse (bei Countern) erhöht oder verringert.
    - Der Wert in diesem Register wird kontinuierlich aktualisiert und kann jederzeit vom Programm ausgelesen oder geschrieben werden.
    - Wenn der Wert das Maximum erreicht, wird er entweder zurückgesetzt (überlauf) oder verhält sich je nach Betriebsmodus anders.
  2. Control Register
    - Dieses Register konfiguriert den Betriebsmodus des Timers/Counters.
    - Es legt fest, ob der Timer im Normalmodus, CTC (Clear Timer on Compare Match) Modus, PWM-Modus oder einem anderen speziellen Modus arbeitet.
    - Es steuert die Taktquelle (interner/externer Takt) und den Prescaler-Wert, der bestimmt, wie schnell der Timer/Counter zählt.
  3. Compare Register
    - Dieses Register wird verwendet, um einen Vergleichswert zu speichern.
    - Wenn der Wert im TCNT-Register den Wert im OCR-Register erreicht, kann eine bestimmte Aktion ausgelöst werden, wie z.B. das Setzen eines Interrupts oder das Umschalten eines Ausgangspins.
    - Dies ist besonders nützlich im CTC-Modus, wo der Timer bei einem Vergleich zurückgesetzt wird, oder im PWM-Modus, wo der Wert des Registers die Duty Cycle des PWM-Signals bestimmt.
23
Q

Was ist ein PWM?

A
  • Pulse Width Modulation
  • ist eine Technik, bei der ein digitales Signal verwendet wird, um eine analoge Ausgabe zu erzeugen.
  • Dabei wird die Breite der Pulse im Signal variiert, während die Frequenz konstant bleibt.
  • PWM ist weit verbreitet in der Steuerung von Motoren, Beleuchtungen, Audio-Signalen und vielen anderen Anwendungen, bei denen analoge Werte durch digitale Signale erzeugt oder gesteuert werden müssen.
24
Q

Was ist ein Watch-Dog?

A
  • Ein Watchdog-Timer ist ein Zähler, der kontinuierlich läuft und nach einem festgelegten Zeitraum auslöst, wenn er nicht innerhalb einer bestimmten Zeit zurückgesetzt wird.
  • Zählt von X nach 0 runter

Auslösung:
- Wenn das System korrekt funktioniert, setzt es den Watchdog-Timer regelmäßig zurück, bevor er abläuft.
- Wenn das System aufgrund eines Fehlers hängen bleibt oder abstürzt und den Timer nicht rechtzeitig zurücksetzt, läuft der Timer ab und löst eine vordefinierte Aktion aus, typischerweise einen System-Reset.

Verwendung:
- Systemüberwachung
- Erhöhung der Zuverlässigkeit

25
Q

Welche Verfahren werden bei der Digital-Analog-Wandlung (DAC) benutzt?

A
  • RC Low-Pass Filter
  • Binary Weighted Resistor Circuit
  • R-2R Ladder
26
Q

Was ist ein RC Low-Pass Filter?

A

Funktion:
- Ein RC-Tiefpassfilter kann ein schnell schaltendes digitales PWM-Signal in ein analoges Signal umwandeln.
- Der Filter glättet das PWM-Signal, indem es die schnellen Änderungen aus dem Signal entfernt und so eine kontinuierliche analoge Ausgangsspannung erzeugt.

Anwendung:
- Oft verwendet in einfachen DACs, um PWM-Signale in analoge Spannungen zu wandeln.

27
Q

Was ist der Binary Weighted Resistor Circuit?

A

Funktion:
- Bei diesem Verfahren werden Widerstände verwendet, die proportional zu den Bits im digitalen Signal gewichtet sind.
- Jeder Bitwert steuert einen Schalter, der den entsprechenden Widerstand in den Stromkreis einfügt, wodurch die analoge Spannung erzeugt wird.

Anwendung:
- Häufig verwendet in einfacheren DACs, wo es auf eine direkte Umsetzung der digitalen Werte ankommt.

28
Q

Was ist R-2R ladder?

A

Funktion:
- Ein R-2R-Leiternetzwerk verwendet zwei Widerstandswerte (R und 2R), um ein digitales Signal in eine analoge Spannung umzuwandeln. Es ist einfacher herzustellen und erfordert nur zwei verschiedene Widerstandswerte, was die Herstellung und das Design vereinfacht.

Anwendung:
- Weit verbreitet in vielen DAC-Anwendungen aufgrund seiner Einfachheit und Genauigkeit.

29
Q

Welche Verfahren werden bei der Analog-Digital-Wandlung (ADC) benutzt?

A
  • Simple: Analog Comparator
  • Flash Converter
  • Tracking Converter
  • Successive Approximation Converter
30
Q

Was ist der Analog Comparator?

A

Funktion:
- Ein Analog-Komparator vergleicht ein analoges Eingangssignal mit einer Referenzspannung und liefert ein digitales Ausgangssignal, das entweder HIGH oder LOW ist, je nachdem, ob das Eingangssignal über oder unter der Referenzspannung liegt.

Anwendung:
- Einfacher ADC für Anwendungen, bei denen nur eine grobe Unterscheidung zwischen zwei Zuständen benötigt wird.

31
Q

Was ist der Flash Converter? Nenne die Vor- und Nachteile.

A

Funktion:
- Ein Flash-ADC verwendet eine parallele Struktur, bei der das analoge Signal gleichzeitig mit mehreren Komparatoren verglichen wird.
- Jeder Komparator vergleicht das Eingangssignal mit einer anderen Referenzspannung.

Vorteile:
- Sehr schnelle Konvertierung, da alle Bitwerte gleichzeitig bestimmt werden.

Anwendung:
- Verwendet in Hochgeschwindigkeitsanwendungen wie digitalen Oszilloskopen und Radar-Systemen.

32
Q

Was ist der Tracking Converter?

A

Funktion:
- Ein Tracking-ADC verfolgt kontinuierlich das Eingangssignal und passt seinen digitalen Ausgangswert entsprechend an. Dieser Typ von ADC verwendet ein Integrationsverfahren, um den analogen Eingang zu “verfolgen”.

Anwendung:
- Verwendet in Anwendungen, bei denen das analoge Signal langsam ändert und eine kontinuierliche Anpassung notwendig ist.

33
Q

Was ist der Successive Approximation Converter?

A

Funktion:
- Ein SAR-ADC (Successive Approximation Register ADC) arbeitet durch sukzessive Annäherung an den analogen Eingabewert, indem es das analoge Signal in mehreren Schritten vergleicht und verfeinert.

Vorteile:
- Gute Balance zwischen Geschwindigkeit und Genauigkeit.

Anwendung:
- Häufig in Mikrocontrollern und industriellen Messgeräten verwendet.

34
Q

Was sind die Eigenschaften vom Successive Approximation Converters?

A
  • SAR-ADC hat einen Successive Approximation Regsiter (SAR)
  • bestimmt den digitalen Wert des analogen Eingangssignals Schritt für Schritt
  • Register speichert den aktuell ermittelten digitalen Wert, der nach jedem Vergleich des analogen Signals mit einer Referenzspannung aktualisiert wird

Algorithmus:
- Startet mit dem höchsten Bit-Wert b2^2-1 (in einem 5-Bit-Beispiel: 10000)
- exponentielle Schritte: nächst höhere Bitwert wird überprüft, um zu ermitteln, ob der analoge Wert größer oder kleiner ist als der aktuelle Vergleichswert
- nur r-Vergleiche benötigt: Konvertierungszeit ist fest und deterministisch

Entscheidungsbaum (Binary Search):
- in ejdem Schritt wird geprüft, ob das analoge Signal größer oder kleienr als der aktuelle Vergleichwert ist

35
Q

Wie funktioniert Ramp-Compare Conversion?

A
  • Erzeugung eines Sägezahnsignals (Rampensignal): Signal beginnt bei einer niedrigen Spannung und steigt mi einer festen Geschwindigkeit linear
  • Vergleich des Signals: das Eingangssignal Vin wird mit der ansteigenden Rampen-Spannung verglichen
  • Sobald Rampen-Spannung den Wert des analogen Eingangssignals Vin erreicht, reagiert der Komparator
  • Wenn die Rampen-Spannung den gleicen Wert wie das Eingangssignal erreicht, feuert der Komparator, d.h. er schaltet um und signalisiert, dass die Vergleichspannung erreicht ist
  • Zeitmessung zur Bestimmung des Werts: Die Zeit t zwischen dem Start und dem Reagieren des Komparator wird gemessen
  • je länger die Rampen-Spannung benötigt, um das Eingangssignal zu erreiche, desto größer ist der digitale Wert des gemessenen Signals
  • Wiederverwendung des Rampensignals: kann für zusätzlichen Konvertierungen wiederverwendet werden
36
Q

Welcher Fehler können bei der ADC entstehen?

A
  • Offset-Error:
  • Gain-Error:
  • Differential Non-Lineartity:
37
Q

Was ist Aliasing?

A
  • wenn das Signal nicht mit einer ausreichend hohen Abtastrate erfasst wird. Dabei können sich hochfrequente Komponenten des Signals als falsche, niedrigere Frequenzen im digitalisierten Signal manifestieren
  • führt zu Verzerrungen und einer fehlerhaften Repräsentation des ursprünglichen analogen Signals
  • wenn die Abtastrate eines Signals geringer ist als das Nyquist-Kriterium, das besagt, dass die Abtastrate mindestens doppelt so hoch wie die höchste Frequenz des analogen Signals sein muss
  • Wenn das Signal nicht oft genug abgetastet wird, können mehrere Signaleffekte, die sich schnell ändern, als langsamer wahrgenommen werden, was zu einer falschen Interpretation des Signals führt
  • Laut dem Nyquist-Shannon-Abtasttheorem muss die Abtastrate mindestens das Doppelte der maximalen Frequenz des analogen Signals betragen, um eine korrekte Rekonstruktion des Signals zu ermöglichen
38
Q

Definiere “eingebettete Systeme”/”embedded systems”.

A

Eingebettete Systeme ist ein Computer System mit CPU, Speicher und Software.
Das System ist eingebettet in ein anderes technisches System, das sog. “einbettende System”.
Das einbettendes System beeinflusst das eingebettete System so, dass es sich auf die gewünschte Weise verhält.

39
Q

Woher kommen die Anforderungen (requirements) für die eingebettete Systeme?

A

Die Anforderungen werden von den Andorderungen vom einbettenden Systeme abgeleitet.

40
Q

In welche zwei Gruppen können eingebettete Systeme kategorisiert werden?

A

Product Automation
Production Automation

41
Q

Produktautomatisierung/Product Automation

  • Was sind die Eigenschaften?
  • Welche Hardware werden typischerweise verwendet?
  • Welche Programmiersprache sind am dominantesten?
  • Nenne ein Beispiel für die Product Automation.
A

Eigenschaften:
- viele identische Einheit
- Kosten pro Einheit is kritisch
- Kunden sind keien Experten
- Hardware bestimmt die gesamte Systemplattform

Hardware:
- Microcontroller
- FPGAs

Programmiersprache:
- C/C++, Assembler, VHDL, Simulink

Beispiele:
- Carengine Controller
- Washing Machine Controller
- Weather Station

42
Q

Produktionsautomatisierung/Production Automation

  • Was sind die Eigenschaften?
  • Welche Hardware werden typischerweise verwendet?
  • Welche Programmiersprache sind am dominantesten?
  • Nenne ein Beispiel für die Production Automation.
A

Eigenschaften:
- oft nur eine identische Einheit
- Preis pro Einheit ist weniger kritisch
- Kunden sind fast Experten
- Programmiersystem ist wichtiger als die Plattform

Hardware:
- PLCs
- Industrial PCs
- Distributed Control Systems

Beispiele:
- Chemical Plant Controller
- Assembly Line Controllers

43
Q

Was ist ein Interrupt Control?

A

Interrupt Control bezieht sich auf die Verwaltung und Handhabung von Interrupts in einem eingebetteten System oder Mikrocontroller.

44
Q

Was macht das Microconroller Unit (MCU)?

A

Die MCU ruft eine ISR (Interrupt Service Routine) auf, wenn drei Bits gesetzt sind:
- Globales Interrupt-Enable-Bit (I-Bit)
- Individuelles Interrupt-Enable-Bit (z.B. Timer-Überlauf-Enable-Bit)
- Interrupt-Flag (z.B. Timer-Überlauf-Flag)