Wie groß ist der Overhead einer CAN-Bus-Nachricht?
47 Bit
Welche ID hat bei Can-Bus-Nachrichten-Kollision die höchste Priorität?
0
Mit welcher Formel kann berechnet werden, ob ein CAN-Bus Echtzeitfähig ist?
∑ l * r <= b
mit: l: Nachrichtenlänge
r: Senderate/-frequenz
b: Bandbreite
in Realität: 0,6*b
Maximale Bandbreite CAN-Bus?
1 Mbit/s
Maximale Bandbreite AFDX?
100 Mbit/s
Wie viel Overhead hat AFDX (Arinc 664)?
67 Byte
Wie groß darf der Payload einer AFDX-Nachricht minimal/maximal sein?
min: 17 Byte
max: 1471 Byte
Wie ist ein FDS (Functional Data Set) aufgebaut?
immer 4 zusammenhängende Bytes
1-4: immer reserviert
5-8: FS (functional Status)--> mitgeteilt, ob Daten zu verwerten sind
zu übertragende Daten (immer mind 4 Bytes, auch wenn nur 1 Byte verwendet wird)
nach 4 Mal Daten wieder 4 Bytes mit FS
Welche Functional Status (FS) gibt es?
No Data
Normal Operation
Functional Test
No Computed Data
Was ist die BAG?
Bandwith Allocation Gap
minimale Zeit zwischen dem Versenden 2er Datenpakete auf einem Virtual Link
--> Steuerung der Bandbreite
Was ist die MTU?
Maximum Transmission Unit
Maximaler Payload eines Virtual Links bei bestimmter Bandbreite
Welche Formel beschreibt, ob ein AFDX-Netzwerk Echtzeitfähig ist?
Was ist Avionik?
Kombination Aviatik und Elektronik
Gesamtheit elektronischer Luftfahrtgeräte sowie die Wissenschaft und Technik dieser Geräte und Systeme
Was ist ein digitales Luftfahrtsystem?
Technisches Luftfahrtsystem aus Sensoren, Aktuatoren, Daten, Datenübermittlung, Steuer-, Regelungs- und Überwachungsfunktionen, welches mit Luftfahrttauglicher digitaler Rechnertechnologie (Avionik) umgesetzt ist
Was ist die Harvard-Architektur?
getrennter Daten- und Programmspeicher
--> Befehlskette aus Datenspeicher
--> zusätzliche Daten aus Programmspeicher
Was ist die von-Neumann-Architektur?
kein getrennter Daten- und Programmspeicher
--> technisch kein Unterschied zwischen Befehlen und Daten
--> heute am weitesten verbreitet
Welche Bestandteile hat der von-Neumann-Zyklus?
Fetch --> Befehl wird geholt
Decode --> Befehl wird decodiert
Fetch Operands --> Daten werden gelesen (falls nötig)
Execute --> Berechnungen werden ausgeführt
Write back --> Daten werden geschrieben
Was ist ein task?
sequentielle Kette von Befeheln, deren Abarbeitung im digitalen Rechner die gewünschte Systemfunktionalität herstellt
Was ist Big-Endian?
höchst-wertiges Byte an erster Stelle (HH:MM:SS)
Was ist Little-Endian?
niedrigst-Wertiges Byte an erster Stelle (DD:MM:YYYY)
Was bedeutet CPU?
Central Processing Unit
Was ist der Assembler-Befehl um ein Element auf Stapelspeicher zu legen?
PUSH
Was ist der Assembler-Befehl um das oberste Element vom Stapelspeicher zu nehmen?
POP
Was ist Pipelining?
Von-Neumann-Zyklen werden verschachtelt ausgeführt
--> Ausführung des Nachfolgenden Tasks beginnt, bevor aktueller vollständig abgeschlossen
--> nur möglich, wenn die Befehle unabhängig voneinander sind (ihre Ergebnisse nicht gegenseitig brauchen)
Was ist ein Pipeline-Stall?
Anhalten der Pipeline, bis benötigtes Ergebnis vorhanden ist
Was ist ein Pipeline-Flush?
verwerfen aller Ergebnisse nach der letzten Entscheidung, Leeren der Pipeline und Neustart mit korrekter Entscheidung
Was ist die Branch-Prediction?
bei bedingten Sprüngen wird Pipeline mit der wahrscheinlichsten Befehlsfolge nach dem Sprung fortgesetzt
--> wenn falsch, Pipeline anhalten und bereits berechnete Ergebnisse verwerfen
Was ist Caching?
zusammenhängende Speicherbereiche in Cache laden, damit sie bei Zugriff schneller an Prozessor übergeben werden können
--> wenn falscher Inhalt im Cache --> neu laden
--> wenn oft neu laden: schlecht --> Thrashing
Aus was besteht ein Microcontroller?
Prozessorkern
RAM (Hauptspeicher)
ROM/EPROM/EEPROM (nicht flüchtiger Speicher; Festplatte)
Ein-/Ausgabe
Unterbrechungssteuerung
Zähler/Zeitgeber
Erweiterungsbusschnittstelle
Was ist der Watchdog?
Überwacht Programmaktivitäten des Microcontrollers
erkennt Abstürze
Funktion: Wird bestimmter Wert zugewiesen, zB 15 Takte --> hat Programm innerhalb der 15 Takte Watchdog nicht erhöht --> Watchdoog löst Reset aus
n_watch >= Anzahl Takte bis nächste Rückmeldung +1
Wie sind die LSP (Lightning Protection Level) eingeteilt?
es geht immer um die Peripherie-Geräte
--> je höher Zahl, desto mehr Spannung muss ausgehalten werden
Rechner in E-Bay:
L1: E-Bay
L2: Druckbereich
L3: Rumpf
L4 Exponiert
Rechner im Rumpf
L5: E-Bay
L6: Druckbereich
L7:Rumpf
L8: Exponiert
Was ist der Jitter?
max. Zeitliche Ungenauigkeit mit der Zeitbedingung erfüllt werden kann
Was ist Determinismus?
Das logische und zeitliche Verhalten einer Funktion ist bei gleichen Eingangsbedingungen immer gleich.
Was ist die synchrone Programmierung und für was ist sie geeignet?
zeitl. Verhalten periodischer Tasks vor Ausführung geplant
Reihenfolge ist vorgegeben und wiederholt sich
--> für zyklische Abläufe
--> für sicherheitskritsiche Aufgaben
--> Determinismus kann garantiert werden
Was sind die Nachteile der synchronen Programmierung?
geringe Flexibilität gegenüber Änderungen der Aufgabenstellung
Reaktion auf aperiodische Ereignisse nicht vorgesehen
Was ist die asynchrone Programmierung und wofür ist sie geeignet?
Ablauf zur Laufzeit geplant
wenn Ereignis eintritt, wird Task ausgeführt
--> wenn sowohl periodische als auch aperiodische Ereignisse möglich sind
Was sind die Nachteile der asynchronen Programmierung?
Rechtzeitigkeit kann nicht in jedem Fall garantiert werden
bei niedriger Priorität des Ereignisses kann es zu großen Schwankungen der Ausführungszeit kommen
Was ist ein Prozess?
Eine Instanz eines Tasks mit exklusiver Befehlskette, Daten- und Stapelspeicher.
Was ist ein Thread?
Eine Instanz eines Tasks innerhalb eines Prozesses mit geteilter Befehlskette und Daten aber exklusivem Stapelspeicher.
Was bedeutet non-preemptive?
Wechsel zwischen Tasks findet an vorher definierten Punkten statt
Wechselpunkt ist Teil des Tasks und wurde explizit beim Programmieren eingebaut
Betriebssystem ist nicht unbeding notwendig
--> nicht in Luftfahrt
Was bedeutet Preemptive?
erzwungener Wechsel zwischen laufenden Tasks durch Betriebssystem
Task ist in der Regel zum Wechselzeitpunkt nicht abgeschlossen --> wird zu späterem Zeitpunkt fortgesetzt
Ablauf einer Unterbrechungsbehandlung (Interrupt Routine)
Prüfen, ob Unterbrechungsaufforderung angenommen werden kann --> kein Task mit höherer Priorität am laufen
aktueller Inhalt des Programmzeigers und Stapelspeichers auf eigenem Stapelspeicher sichern
Startadresse der Interrupt-Service-Routine in Programmzeiger laden und ausführen
nach Unterbrechungsbehandlung wird alte Prozessorstatus wieder vom Stapelspeicher geholt und unterbrochene Task wieder aufgenommen
Was ist die zyklische Ablaufsteuerung?
Aktionen in Endlosschleife nach vorgegebener Reihenfolge und Zeiten
keine Unterbrechungen/Zeitgeber
einfachste Form der Ablaufsteuerung
Was ist die zeitgesteuerte Ablaufsteuerung?
Endlosschleife, in der geprüft wird, ob es Zeit für bestimmte Aufgabe ist, zB durch Zähler
ist Zeit erreicht: Aktivität ausführen
--> gut geeignet für synchrone Aufgaben
Was ist die unterbrechungsgesteuerte Ablaufsteuerung?
Task wird dann Rechenzeit zugewiesen, wenn es was zu tun gibt
Wartezeit: Prozessor im Ruhezustand
Entscheidung anhand von Prioritäten, Zeiten und Taskzuständen
Welche Taskzustände gibt es?
ruhend: nicht ablaufbereit
bereit: alle Zeitbedingungen etc. sind erfüllt, nur Zuteilung zum Prozessor fehlt noch
laufend: Task wird auf Prozessor ausgeführt
blockiert: Task wartet auf Ergebnis etc
beendet: Task ist am Ende seiner Befehlskette
Was ist RMS (Rate Monotonic Scheduling)?
preemptive Echtzeitablaufsteuerung für periodische Tasks mit festen max. Ausführungszeiten, wobei Priorität invers zur Periode
--> wenn max. Prozessorauslastung eingehalten wird kann einhaltung aller Deadlines garantiert werden
Was ist die Formel für die Prozessorauslastung und wie groß darf sie maximal für Echtzeitfähigkeit sein?
für Echtzeitfähigkeit u<= 70%
Was ist ARINC-653?
Standard zur Entwicklung von IMA-Modulen (Integierte Modulare Avionik)
Was ist ein A653-Prozess?
innerhalb einer A653-Partition kann es mehrere Ausführungsstränge geben
A653- Prozesse teilen sich Speicher und Prozessor der Partition
A653-Prozesse können sich gegenseitig beeinflussen und stören
A-653-Prozesse können periodisch oder aperiodisch sein
--> Entspricht Thread in normalem Betriebssystem
Welche Partitionierungen gibt es bei A653?
räumliche Partitionierung --> Speicher, Ein-/Ausgabe --> vollständig gekapselte Speicherbereiche
zeitliche Partitionierung --> Prozessor, Netzwerke --> vollständig gekapselte, unabhängige Rechenzeiten --> Major-Time-Frame MAF
Was ist ein MAF (Major Time Frame)?
Das Zeitintervall, nach dem sich die Ausführung aller Partition-Windows wiederholt.
-->Zeit, nach der das Schaubild wieder von vorne anfängt
Was ist ein Partition-Window?
Ein Zeitabschnitt innerhalb eines MAF (Major Time Frames), in der eine Partition den Prozessor bekommt.
Was ist die Besonderheit eines Sampling-Ports?
Es wird immer nur die neueste Nachricht gelesen.
--> Nachrichten, die zwischendrin gekommen sind und nicht abgeholt wurden gehen verloren
Was ist die Besonderheit eines Queing-Ports?
meist gibt es mehrere Plätze
es wird immer die älteste Nachricht abgeholt. sind alle Plätze belegt und es kommt eine neue Nachricht, wird diese verworfen
es kann erst wieder eine neue Nachricht einen Queing-Platz bekommen, wenn mindestens 1 frei ist
Was besagt das Nyguist-Shannon-Theorem?
Verlustfreie Abtastung ist gewährleistet, wenn Abtastfrequenz mind. doppelt so groß wie max. auftredende Signalfrequenz
Achtung! Gilt auch für Störsignale
Was ist der Quantisierungsfehler?
Differenz zwischen kontinuierlichem (Eingangssignal) und quantisiertem (digitalem) Signalmax. 0,5*U_Stufe
Wie kann der Quantisierungsbreich optimiert werden?
U_max,opt = U_max-0,5*U_Stufe
U_min,opt = U_min+0,5*U_Stufe
--> U_Stufe,opt = (U_max-U_min)/2^n_bits
Was macht das Sample&Hold-Glied?
hält Ausgabespannung des D/A-Konverters für 1 Abtrastperiode konstant
Was ist die differentielle elektrische Übertragung?
Signal wird als Spannungsdifferenz auf 2 Leitern übertragen --> +Signal und -SignalAuf Empfängerseite werden die Spannungen voneinander Abgezogen --> U_empf = (U_Signal + U_Störung)-(-U_Signal+U_Störung) = 2* U_Signal
Was ist die LEMP?
Lightning and Electromagnetic Protection
Schaltung zum Schutz der internen Elektronik vor ZB Blitzschlag, Überspannung, Störfrequenzen
Besteht aus Absicherung und Entstörung
Was ist die Formel zur Berechnung der Position mit einem LVDT?
Q = (U1-U2)/(U1+U2)
Was ist die Formel zur Bestimmung der Pulszeit beider Pulsweitenmodulation?
Was ist die Arbitrierung?
Zeitliche Synchronisierung von Sender und Empfänger auf ein Busnachrichtensignal, da dass dieses korrekt interpretiert werden kann.
--> gleiches Verständnis über Nachrichtenanfang, Länge eines Bits
Was ist der Babbeling Idiot?
Ein Teilnehmer des Busses, der die anderen durch übermäßig viele Nachrichten blockiert
Was ist ein Unterschied zwischen Integrierter Modularer Avionik und föderierten
Avioniksystemen?
Mehrere Funktionen werden bei IMA auf dem gleichen Rechner
ausgeführt, bei föderierten Systemen hat jede Funktion ein eigenes System
Welche Komponente sorgt auf einem IMA Rechner für die Partitionierung von Funktionen
unterschiedlicher Kritikalität?
Betriebssystem nach dem ARINC653 Standard sorgt für robuste räumliche
und zeitliche Partitionierung
Welche Verbindungstopologie ist im ARINC664 physikalisch vorhanden? Und welche wird
virtuell nachgebildet?
Physikalisch: Sterntopologie
Virtuell: 1-N
Nennen Sie drei Bussysteme, die in der Luftfahrt eingesetzt werden
CAN, AFDX, ARINC429, TTP, ARINC629
Ist es sinnvoll, für jeden Virtual Link die minimale BAG von 1ms zu vergeben?
Nein, denn dadurch würde unnötig viel Bandbreite reserviert werden, die für
andere Funktionen nicht mehr zur Verfügung stünde.
Last changed9 months ago