Überblick: Der Text bietet eine detailli­erte Erläuterun­g verschie­dener Aspekte eingebet­teter Systeme, einschli­eßlich ihrer Definiti­on, Funktion­en und Verbindu­ng zur Umwelt. Es werden spezifis­che technisc­he Konzepte wie Blocksch­altbilde­r, serielle Kommunik­ation, Taskmode­lle und Echtzeit­betriebs­systeme behandel­t. Zudem wird auf Testmeth­oden für fertigge­stellte Systeme eingegan­gen, verschie­dene Bussyste­me verglich­en und die Untersch­iede zwischen CISC- und RISC-Arc­hitektur­en erläutert. Die Vor- und Nachteil­e von dynamisc­hem Speicher in Echtzeit­systemen sowie die Merkmale zeitgetr­iggerter Bussyste­me werden ebenfall­s diskutie­rt.
#Embedded_Systems#Echtzeitsysteme#Bussysteme
Was verstehen Sie unter einem eingebetteten System und wie steht es mit der Umwelt in
Verbindung? (Skizze und Erläuterung)
Der Begriff Eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner die Aufgabe, das System, in das er eingebettet ist, zu steuern, zu regeln oder zu überwachen.
Skizzieren Sie das Blockschaltbild eines Moduls zur seriellen Kommunikation. Erläutern
Sie die Funktionsweise.
Der Ein/Ausgang wird in jedem Taktzyklus eingelesen/aktualisiert. Das eingelesene Bit wird dem Shift Register zugeführt. Die Steuerung überwacht die Kommunikation, und setzt Flags falls ein Byte empfangen worden ist, oder wenn ein neues Byte wieder versandt werden kann.
Erläutern und skizzieren Sie das Taskmodell und den Taskcontrolblock eines TCBbasierenden
Echtzeitbetriebssystems.
Jeder Prozess besitzt einen TCB, worin die wichtigsten Eigenschaften des Prozesses hinterlegt sind. Anhand dieser Eigenschaften (Priorität, Lauffähigkeit) entscheidet das Betriebssystem, ob der Prozess Systemressourcen und Rechenzeit zugeteilt bekommt.
Warum wird ein fertig gestelltes System getestet? Welche Testmethoden finden
Anwendung?
Ein System wird getestet, um zu überprüfen, ob es den vereinbarten Spezifikationen entspricht. Da heutige Systeme sehr komplex sind, ist es unmöglich, alle möglichen Zustände zu testen. Damit ist die Fehlerfreiheit nicht garantiert, falls beim testen keine Fehler aufgetaucht sind.
Methoden: Modulebene à Black-Box Methode (vollständig, Eckwerte, pathologische Fälle, statistische Fälle); White-Box Methode (Code-Inspektion, Formaler Programmbeweis); Systemebene à Testprogramm zum Testen von Teilsystemen, statistische Testmethoden, Reinraum Test
a) Beschreiben Sie das Zugriffsverfahren und den Protokollaufbau von Standard-CANBussystemen.
Die Übertragung erfolgt im CSMA/CR Verfahren, und wird durch eine bitweise Arbitrierung bzw. einer Prüfsumme gesichert. Ein Datenframe des Protokolls besteht aus einem Startzeichen, einem Arbitrierungsfeld, einem Kontrollfeld, einem Datenfeld, der Prüfsumme, dem Bestätigungsfeld, dem End Of Frame, und dem Intermission.
b) Wie unterscheidet sich TTCAN davon und welche Vorteile hat dieses Konzept?
TTCAN funktioniert zeitgetriggert (Synchronisation in der Refernznachricht), das heißt, dass jeder Frame nur zu einem bestimmten Zeitpunkt beginnen kann. Außerdem gibt es exklusive Frames, die bei der Arbitrierung nicht überschrieben werden können, und daher eine deterministische Übertragung ermöglichen.
Was beschreibt ein Klassendiagramm, welche Elemente enthält die Beschreibung einer
Klasse und wie stehen Klassen untereinander in Beziehung?
Das Klassendiagramm beschreibt die Zusammenhänge zwischen den Klassen, und ein Überblick über das Gesamtsystem. Eine Klasse kann eine Generalisierung einer anderen Klasse sein, mit einer Klasse in Assoziation stehen, oder eine Aggregation bilden.
• Download Link zum vollständigen und leserlichen Text • Dies ist eine Tauschbörse für Dokumente • Laden sie ein Dokument hinauf, und sie erhalten dieses kostenlos • Alternativ können Sie das Dokument auch kаufen
Skizzieren Sie das Blockschaltbild eines Moduls zur A/D-Wandlung in einem
Mikrokontroller. Erläutern Sie die Funktionsweise.
Die meisten AD-Wandler in Mikrokontrollern funktionieren nach dem Prinzip der sukzessiven Approximation. Im analogen Multiplexer wird der ausgewählte Kanal für die Dauer der Konversion gebuffert. Mit einem DAC und einem Komparator wird der analoge Wert bestimmt, und dann in das Ergebnisregister weitergeleitet.
Der ganze Ablauf wird von einer Steuereinheit überwacht, der eine wählbare Taktfrequenz besitzt. Damit lässt sich ein Kompromiss zwischen Genauigkeit und Geschwindigkeit finden.
Welche Kosten werden durch eine Sicherheitslücke in einem Programm verursacht?
Kosten durch einen evtl. Schaden, der von der Sicherheitslücke verursacht worden ist, Kosten für die Fehlerbehebung.
Was ist ein Interrupt? Wie wird er ausgelöst und welche Vorgänge sind innerhalb einer
CPU notwendig um darauf zu reagieren? Wie können diese Vorgänge durch den
Anwender beeinflusst werden?
Ein Interrupt ist ein Signal, was die aktuelle Codesequenz abbricht, und eine eigene Funktion ausführt. Ein ankommendes Interruptsignal veranlasst die HW dazu, einen zum Interrupt gehörenden Flag zu setzen. Nach Abarbeitung des aktuellen Befehls wir der Program Counter gesichert, und die zum Interrupt gehörende Adresse geladen.
An dieser Adresse steht meistens ein jump-Befehl an eine Funktion. Wird diese Funktion ausgeführt, setzt die CPU ihre Arbeit dort fort, wo es unterbrochen worden ist.
Skizzieren Sie das typische Strukturmodell einer VLIW-Architektur. Wo findet diese
Architektur eine Anwendung? Was sind die wesentlichen Vor- und Nachteile gegenüber
einer CISC-Architektur?
Diese Architektur bietet eine parallele Abarbeitung der Befehle, da es unabhängige HW-Einheiten für verschieden Aufgaben vorhanden sind. Die Parallelität wird dabei schon vom Compiler bestimmt, daher ist die volle Ausnutzung aller Einheiten nicht immer möglich, es wird aber Chipfläche für andere Funktionen eingespart.
Beschreiben Sie die verschiedenen Arten der Datenübergabe in Unterprogramme auf
Maschinen- und Hochsprachenebene. Welche Vor- und Nachteile haben die einzelnen
Methoden im Hinblick auf Zeitverhalten und Speicherbedarf?
Doppelbuffer: Daten können in verschieden Raten geschrieben und gelesen werden
Ringbuffer: reservierter Bereich notwendig, komplizierte Überwachung gegen Over- und Underflow, Pointer müssen überwacht werden ßà sichere Methode
Mailbox: weit verbreitet, sichere Lösung
Was ist ein Vordergrund- / Hintergrundbetriebssystem und was sind die jeweiligen
Aufgaben? Welche Elemente des Betriebssystems müssen auf jeden Fall vorhanden sein
und was ist deren Funktion?
Vordergrund: zeitkritische Funktionen, meist interruptgesteuert, empfindlich gegen race conditions, Veränderungen des Zeitablaufs
Hintergrund: niedrigpriorisierte Prozesse (zB Logging), Ausführung nicht deterministisch
Das Betriebssystem muss eine Taskverwaltung bieten, das System initialiserien können.
Wasserfallmodells. Welche Ziele haben die einzelnen Phasen und welche Ergebnisse
werden dabei erzielt?
Konzeptphase: Bestimmung der Gesamtziele, Machbarkeitsstudien, Kundenwünsche
Anforderungsphase: Definition aller HW- und SW-Schnittstellen, Verfassung des Anforderungskataloges, Erstellung eines Test- und Projektplans
Designphase: Erstellung eines detaillierten Implementationskonzeptes, Bestimmung der Arbeitsteilung, Spezifikationen der Testabläufe, Erkennung der Probleme im Anforderungskatalog
Implementierungsphase: Generieren des Codes (auch für die Tests), Integrieren der SW, Integrationstests
Testphase: Erfüllung der Testserie, Validierung der SW, Testreportgenerierung
Vergleichen Sie die Konzepte eines Multi-Master Feldbussystems mit Token-Passing,
eines Standard-CAN-Systems und eines TT-CAN-Systems im Hinblick auf ihr
Echtzeitverhalten. In welcher Form kann für die einzelnen Konzepte Echtzeitfähigkeit
garantiert werden?
Beim Token-Passing darf der Master kommunizieren, der gerade den Token besitzt. Wenn in dieser Zeit ein anderer Teilnehmer eine hochpriorisierte Nachricht hat, muss er warten, bis er den Token bekommt. Da die Länge Kommunikation der einzelnen Teilnehmer nicht festgelegt wird, ist diese Art der Kommunikation undeterministisch (außer wenn die maximale Zeit des Token-Passings niedriger ist, als die niedrigste Auftrittperiode von hochprioriserten Nachrichten).
Welche digitalen I/O-Funktionen stehen Ihnen üblicherweise bei Mikrokontrollern zur
Verfügung? Skizzieren und erläutern Sie die Funktionsweise eines Moduls zur
Pulsweitenmodulation im Detail.
AD-Wandler
Serielle Schnittstelle
Input Capture und Output Compare Module
Standard digital I/O
Verschiedene Timer, Watchdog
Beim Überlauf des Zählers wird der Ausgang auf 0 gesetzt, beim erreichen des Registerwertes auf 1 gesetzt. Daher ist die Pulslänge zu dem Wert im Register proportional.
Die JavaCard-Umgebung stellt eine Reduktion von Java dar. Erläutern Sie die
wesentlichen Unterschiede und begründen Sie dabei, warum diese notwendig und/oder
sinnvoll sind.
In Java Card verschiedene komplexere Datentypen wie z.B. mehrdimensionale Arrays, double und long Variablen und Threads. Diese Reduktion ist notwendig, damit die Funktion der Systemunabhängigkeit in kleinen Systemen mit 8 oder 16 Bit auch erhalten bleibt, und damit der Speicherbedarf klein bleibt,
und „timetriggered access“ bei Bussystemen und deren Verwendbarkeit für
Echtzeitsysteme. Nennen sie dazu jeweils Beispiele eingesetzter Bussysteme, bei denen
diese Methoden Anwendung finden.
CSMA/CD: falls eine Kollision erkannt wird, brechen die Teilnehmer die Kommunikation ab, und warten eine zufällige Zeitspanne, bis sie neu starten. Wird bei Ethernet benutzt. Für Echtzeitanwendungen weniger geeignet, da die Zeiten für die Übertragung nicht deterministisch sind, da man nicht vorher bestimmen kann, wann andere Teilnehmer dazwischenfunken.
CSMA/CA: Kollisionen werden vermieden, indem vor einer Übertragung immer überprüft wird, ob das Medium besetzt ist. Beispiel: CAN-Bus. Auch nicht deterministisch, da eine bereits angefangene Kommunikation zu Ende gebracht werden muss, und danach auch nicht gesichert ist, wer als nächstes drankommt.
Wodurch ist ein deterministisches System gekennzeichnet und was charakterisiert ein
Echtzeitsystem?
Deterministisches System: zu jedem möglichen Eingangsvektor gehört bei jedem Systemzustand ein eindeutiger Ausgangsvektor.
Echtzeitsystem: das System muss bis zu einer beschränkten Zeitspanne ein Ergebnis liefern können.
Vergleichen Sie eine traditionelle CISC- mit einer RISC-Architektur. Wie unterscheiden
sich diese Modelle im Vergleich auf Geschwindigkeit, Speicherbedarf und
Anwendungsbereiche?
CISC: komplexer Befehlssatz = lange Befehle = viel Zeit für die Dekodierung, dafür weniger Speicherzugriffe
RISC: einfacher Befehlssatz = kurze Befehle = wenig Zeit für die Dekodierung, auf Interrupts wird schneller reagiert; langsam, falls viele Speicherzugriffe nötig, für Berechnungen ohne viele Speicherzugriffe geeignet
Entwicklung von Echtzeitsystemen (Stack, Heap). Worauf muss besonders geachtet
werden?
Bei einem Prozesswechsel (z.B. bei einem Interrupt) werden die Daten des alten Prozesses am Stack hinterlegt, was eine schnelle und einfache Methode ist. Jedoch muss man aufpassen, dass die Daten in richtiger Reihenfolge zurückgeladen werden, ansonsten sind die Daten falsch. Weiters muss die Größe des Stacks beachtet werden, bei einem nicht geschützten Stack können Daten überlappen.
Ein weiteres Problem kommt durch zu schnell und unkontrolliert auftretenden Interrupts zu Stande (Interrupt wiederholt sich schneller, als die Abarbeitung endet), dadurch kommt es auch schnell zu einem Stacküberlauf.
Verwendung?
Ein Zustandsdiagramm zeigt alle möglichen Zustände eines Objektes, und die möglichen Übergänge. Ein Zustand wird mit einem gerundeten Rechteck, die Übergänge mit Pfeilen gekennzeichnet. Der Startzustand ist ein schwarzer Punkt. Die Aktionen erfolgen durch Bedingungen oder Ereignisse.
Für die Analyse eines fehlerbehafteten eingebetteten Systems stehen Ihnen verschiedene
Geräte zur Verfügung. Welche davon benötigen Sie und wie gehen Sie vor, wenn Sie den
CPU-Zeitbedarf eines bestimmten Tasks ermitteln wollen?
Methode 1: printf-Debugging, am Anfang der Task wird ein IO-Pin gesetzt, am Ende gelöscht, die Zeit für den Task kann durch eine Messung mit dem Oszilloskop bestimmt werden.
à jede Messung beeinflusst das Ergebnis, muss abgeschätzt werden.
Erläutern Sie die Begriffe „Eingebettetes System“, „Echtzeitsystem“ und „Verteiltes
System“. Wodurch unterscheiden sie sich und was sind die wesentlichen Merkmale der
jeweiligen Systeme?
Eingebettetes System: der Prozessor ist ein fester Bestandteil des Gesamtsystems, was er überwacht und steuert
Echtzeitsystem: die Ergebnisse eines Tasks müssen immer spätestens nach einer begrenzten Zeitspanne vorhanden sein.
Verteiltes System: Menge einzelner Systemeinheiten mit eigenen Prozessoren, die irgendwie miteinander gekoppelt sind (z.B. durch Feldbussysteme)
Was ist die Systemauslastung? Welche Methoden kennen Sie, diese zu reduzieren?
Was ist ein UML-Sequenzdiagramm? Beschreiben Sie anhand eines Beispiels die darin
enthaltenen Symbole und deren Bedeutung.
Ein Sequenzdiagramm beschreibt die Art und den Zeitpunkt der Nachrichten entlang einer vertikalen Zeitachse.
Skizzieren Sie das Blockschaltbild einer typischen CPU; erläutern Sie den prinzipiellen
Ablauf eines Befehls anhand einer mehrstufigen Pipeline.
Der Ablauf eines Befehls lässt sich in vier Phasen teilen. Beim Pipelineing wird der zweite Befehl schon geladen, während der erste dekodiert wird usw., damit entsteht eine Parallelität.
Was ist ein Interrupt-Betriebssystem und wie ist es prinzipiell aufgebaut?
Ein Interrupt-Betriebssystem besteht aus einer Initialisierungsphase, danach kommt das Programm in eine Idle-Loop. Die nützlichen Funktionen des Systems werden durch Interrupts aufgerufen.
gegenüber anderen Methoden? Zeigen Sie am Beispiel von FlexRay den Aufbau eines
Kommunikationszyklus.
Bei zeitgetriggerten Bussystemen besteht die Möglichkeit, wichtigen Prozessen eine fixe Kommunikationszeit zu gewähren, indem sie sicher ihre Daten übermitteln können. Damit ist diese Methode für Echtzeitsysteme besser geeignet, als Verfahren mit CSMA/CD oder CSMA/CA.
Charakterisieren sie den Begriff „Technischer Prozess“. Erläutern Sie den Zusammenhang
des Technischen Prozesses mit eingebetteten Systemen.
Ein eingebettetes System ist auch ein technischer Prozess, da es anhand von Einflussgrößen Ergebnisse liefert.