EL&MC, MC, HSLU

Kontrollfragen EL&MC, MC-Teil

Kontrollfragen EL&MC, MC-Teil


Kartei Details

Karten 61
Sprache Deutsch
Kategorie Elektrotechnik
Stufe Universität
Erstellt / Aktualisiert 29.06.2019 / 22.06.2021
Weblink
https://card2brain.ch/box/20190629_elmc
Einbinden
<iframe src="https://card2brain.ch/box/20190629_elmc/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Stellen Sie -4 im Zweier-Komplement als 16-bit Hex-Zahl dar.

FFFC

Worin besteht der Unterschied zwischen einem Mikrocontroller und
einem Mikroprozessor?

Ein Mikrokontroller hat ein Mikroprozessor, ein Speicher und Input/Output. Ein Mikroprozessor ist nur ein Mikroprozessor.

Was sind die 3 Haupt-Systemteile eines jeden Mikrocontrollers?

Mikroprozessor(CPU), Speicher(Von Neumann: alles zusammen, Harvard: getrennt), Inputs/Outputs.

Welche Busse unterscheidet man in einer MCU?
Welche der Busse sind bidirektional?

Steuerbus(Bidirektional), Datenbus(Bidirektional), Adressbus(Unidirektional).

Welche Schritte beinhaltet der Befehlszyklus?

Instruction fetch, Decode (+Op Fetch), Instruction execute.

Welche Haupt-Funktionsgruppen des MC-Car kennen Sie?

Mikrocontroller, System Management, Communication, Drive, Sensor/Actuatior.

Unter welchen Umständen würden Sie eine MCU in Assembler
programmieren?

Wenn man Zyklus genau wissen muss, was das Programm macht.

Wodurch unterscheiden sich „Befehl“ und „Direktive“ in einem
Assembler Source File?

Befehl: Ergibt direkt Programmcode.

Direktive: Precompiler (wird textuel ersetzt).

Was sind die Vorteile von Thumb 2 Assembler?

Zwei 16bit Befehle werden gleichzeit geladen (32bit RAM zugriff).

Code Grösse minimiert (Allgemein ARM Thumb Maschinen Code).

Was ist UAL?

Unified Assembler Language

Nach welchem Prinzip funktioniert ein Stack-Speicher?

Last In First Out (LIFO).

Welche Informationen werden auf dem Stack gespeichert?

Daten die nur kurz gebraucht werden (keine grossen Dateien).

Nennen Sie Vor- und Nachteile von Unterprogrammen.

Vorteile:

• Wiederkehrende Befehlsfolgen sind nur einmal im Speicher abgelegt
=> geringerer Speicherbedarf
• Wiederkehrende Befehlsfolgen werden nur einmal programmiert und
getestet => kleinerer Entwicklungsaufwand
• Programme können modular aufgebaut werden
=> kleineres Fehlerrisiko
• Programme können von mehreren Personen parallel entwickelt werden
=> höhere Produktivität im Team
• Teilprogramme können unabhängig voneinander übersetzt werden
=> kürzere Compile-Zeit, Bibliotheken mit Standardfunktionen

Nachteile
• Der Aufruf des Unterprogramms, Parameterübergabe und Rücksprung
brauchen Zeit => langsamere Programmausführung

Welche Arten der Parameterübergabe kennen Sie und wie werden diese
realisiert?

Direkte Übergabe des Wertes. Wert wird in ein Register gespeichert, auf welches das Unterprogramm zugreifen kann.

Übergabe der Addresse des Paramters/Variable. Adresse wird in ein Register gespeichert, auf welches das Unterprogramm zugreifen kann.

Wozu werden Interrupts benötigt?

Um "echtzeitfähige" Programme zu schreiben.

Welche Vor- und Nachteile haben Polling- bzw. Interruptbetrieb?

Polling:

Vorteile: Zeitpunkt der Überprüfung ist bekannt.

Nachteile: Rechenzeit wird unnötig verbraucht=>Energie wird unnötig verbraucht.

Interrupt:

Vorteile: Echtzeitfähig, es kann in der Zwischenzeit etwas anderes gemacht werden.

Nachteile: Zeitpunkt der Auslösung ist im Vorfeld Unbekannt.

Was ist eine ISR?

Interrupt-Sub-Routine (der Code der beim aufruf eines Interrupts ausgeführt wird).

Worin unterscheiden sich ISR und Subroutine?

Eine Subroutine hat einen bestimmten Ausführungszeitpunkt, eine ISR nicht.

Wie viele Bits umfasst ein Counter im Timersystem?

16-bit => 0 bis 216-1 = 0 bis 65'535.

Warum realisiert man Zeitverzögerungen mit dem Timersystem und nicht
mit NOP-Befehlen?

Timersystem ist genauer.

Wie viele Leitungen benötigt ein RS-232-Interface zur
Datenübertragung?

Tx+Rx+(Ground) = 2 oder 3 mit Ground.

Warum gibt es bei RS-232 keine Clock-Leitung?

Weil es eine asynchrone Schnittstelle ist. "Telefonnummer"

Wie können Sie mit einem Timer-Channel im OC Modus nach einer
gewissen Zeit einen Interrupt auslösen, ohne den dazugehörigen Pin zu
verändern?

Durch die ELS bits kann die Aktion des Pins eingestellt werden.

ELS0B ELS0A = 00 => Pin wird nicht gebraucht.

 

Warum ist es vorteilhaft das Timer-Modul mit einem Modulo-Wert von
0xFFFF zu betreiben?

Damit Channel Values einfach addiert werden können, die Hardware fängt automatisch wieder bei Null an bei einem Carry (nicht Overflow weil nur signed Werte).

Wie können Sie mit zwei Channels desselben Timers (nur ein 16-Bit
Counter vorhanden) zwei unterschiedliche Frequenzen generieren?

Timer Modulo Wert auf FFFF lassen und anschliessend in den ISR andere Konstanten addieren.

Welchen generellen Anwendungsfällen entsprechen die beiden Timer-
Betriebsarten Output-Compare (OC) und Input-Capture (IC)?

Output Compare (OC) ist wie ein Wecker, der sagt zu diesem Zeitpunkt musst du etwas machen.

Input Capture (IC) ist wie eine Stoppuhr, die sagt zu welchem Zeitpunkt (Wert vom Counter wird in den Channel Value gespeichert) etwas passiert ist.

Erklären Sie die Funktion des Value-Registers in den Timer-
Betriebsarten OC und IC.

Output Compare (OC):
Der Channel Value sagt, wann etwas passiert. D.h wenn der Counter vom Timer den Channel Value erreicht, wird etwas gemacht (Interrupt ausgelöst, GPIO Pin Toggeln/Ein/Aus).

Input Capture (IC):
Der aktuelle Wert des Counters wird im Channel Value gespeichert, wenn etwas an dem GPIO Pin vom Channel passiert (fallende Flanke, steigende Flanke, beides).

Wie wird in der Timer-Betriebsart Edge-Aligned PWM die
Periodendauer und Duty Cycle des generierten Signals
bestimmt?

Periodendauer: Mit dem Modulowert T=MOD/f. .

Dutycycle: mit dem Channel Value DutyCycle=VAL/MOD*100. Mal hundert um in Prozent anzugeben.

MOD: Modulo Wert

f: Frequenz nach dem Prescaler

VAL: Channel Value.

Warum bietet es sich beim MC-Car an, die PWM-Signale für
linken und rechten Motor mit FTM1 und nicht mit FTM0 zu
generieren?

FTM1 hat 2 Chanells, FTM0 hat 8 (so wären 6 fast unbenutzbar).

Was muss man für die Generierung eines Signals mit 100%
Duty Cycle beachten

Modulo Wert muss kleiner sein als der Channel Value. D.h Modulo Wert mindestens aud 0xFFFE.

Was ist Vor- und Nachteil der Betriebsart Center-Aligned
PWM?

Vorteil: Die Last (z.B Motoren) werden nicht gleichzeitig ein und ausgeschaltet (bei Motoren hat man einen grossen einschaltstrom).


Nachteil: Duty Cycle ist mühsamer zu berechnen.

Wie viele Leitungen benötigt der IIC-Bus?

SCL + SDA +(Ground) = 2 oder 3.

Mit welcher Bitrate wird beim IIC-Bus gearbeitet?

100kHz, 400, ..., 3.4MHz

Welche Treiberstufen benötigen der IIC-Bus und warum?

• Alle Busteilnehmer benötigen Open-Drain Ausgangstufen
(kein aktiver High-Pegel möglich, Hardware damit kein kurzschluss generiert werden kann).
• Externe Pullup-Widerstände sorgen für High-Pegel (Default-Zustand).

Wann dürfen Daten auf der SDA-Leitung geändert werden?

Wenn der Clock auf Ground geschalten ist.

Wie werden bei I2C Start und Stopp einer Übertragung signalisiert?

Start: Datenleitung auf Low wenn der clock auf High ist (Verletzung des Protokolls).

Stopp: Datenleitung auf High wenn der clock auf High ist (Verletzung des Protokolls).

Wie entscheidet sich wer beim IIC-Bus Master und Slave ist?

Wenn das Gerät eine Adresse hat, dann ist es ein Slave. Mikrocontroller können als Slave und Master arbeiten.

Wie entscheidet sich wer beim IIC-Bus Sender und Empfänger
ist?

Der Master entscheidet mittels dem Read/Write (R/W) bit wer sendet und wer empfängt.

R/W=0 => Master sendet und Slave empfängt.

R/W=1 => Master empfängt und Slave sendet.

Wozu wird beim IIC-Bus die "Repeated-Start"Bedingung
verwendet?

Wenn zum Beispiel der Master schreibt, er wolle Register XY auslesen und er will es direkt nacher.
Um zu schreiben welches Register ausgelesen wird, muss R/W auf 0 sein und, um die Register zu lesen muss R/W auf 1 sein. Um Sender und Empfänger zu wechseln muss neu angefangen werden.

Erklären Sie das Prinzip der A/D-Wandlung mittels sukzessiver
Approximation

Ist das Selbe, wie Binäre Suche. Ist der gesucht Wert grösser als der referenz Wert? Ja => Referenz Wert erhöhen, Nein => Referenz Wert runterschrauben.