Microcontroller Flashcards
Wie sieht die Basisstruktur eines Mikrokontrollers aus?
Komponenten:
- Prozessor
- SPeicher
- Digital In-/out
- Other on board peripherals
(siehe Abbildung)
Wie sieht die komplexe Standard Struktur eines Mikrokontrollers aus?
- 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)
Sind PINs von Mikrocontrollern in der Regel bidirectional doer unidirectional?
bidirectional
Welche drei Register gibt es bei der Nuzung von Mikrokontrollern (im AT-Mega)?
- Data Direction Regsiter (DDR)
- Port Register (PORT)
- PORT Input Regsiter (PIN)
Was ist ein DDR Register?
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.
Was ist ein PORT Register?
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.
Was ist ein PIN Register?
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.
Was ist ein worst-case-delay?
- 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.
Was ist ein missed impulse?
- 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.
Was ist ein Schmitt Trigger?
- 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.
Was ist Bouncing?
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.
Was ist Noise?
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.
Wie können Bouncing und Noise im Signal hardwaretechnisch vermieden werden?
low-passfilter (Tiefpassfilter): Elektronische Bauteil
- durchlässt tiefe Freuquenzen (langsame Schwingungen)
- blockiert hohe Frequenzen (schnelle Schwingungen)
Widerstand + Kondensator
Wie können Bouncing und Noise im Signal softwaretechnisch vermieden werden?
- Das Erwarten mehrer Signale hinterander, bevor dieses akzeptiert wird
Was sind Interrupts?
- 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.
Was ist Polling?
- 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.
Was ist eine Interrupt Vector Tabelle?
- 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.