Welchen Vorschriften müssen Luftfahrtsysteme genügen?
Kleinflugzeuge: CS/FAR-23
• Kleinhubschrauber: CS/FAR-27
• Großflugzeuge: CS/FAR-25
• Großhubschrauber: CS/FAR-29
CS - Europa, FAR – Amerika
Fehler in der Luftfahrt:
Welche Auswirkungen muss ein Fehler haben, damit er als "catastrophic" klassifiziert
wird?
Er führt zum Verlust des Luftfahrzeugs oder zu einem erheblichen Umweltschaden
oder zu einem erheblichen Geldverlust.
Zählen Sie stichwortartig auf welche Anforderungen es für Avionikkomponenten in den
Bereichen System, Umgebung und Betrieb gibt.
System: Reproduzierbarkeit, Zeitanforderung, Performanz, Startzeit, Security
Umgebungsbedingungen: Blitzschlag, EMV, Temperaturschwankungen, Schock, Vibration, Feuchtigkeit
Betrieb: Health Monitoring, Wartung, Obsoleszenz
Ordnen Sie die Blitzschutzlevel L1-L8 entsprechend den Einbauorten der Avionik zu:
Was ist das Binärformat BIg Endian?
Geben Sie die Zahl 900 in Binärformat als Zweierkomplement in Big-Endian an.
höchstwertige Byte zuerst gespeichert, d. h. an der kleinsten Speicheradresse. wie zB Stunde:Minute:Sekunde
/0000 0011/1000 0100/
Was ist das Little Endian Binärformat?
Geben Sie die Zahl 900 in Binärformat als Zweierkomplement in Little-Endian an.
kleinstwertige Byte an der Anfangsadresse gespeichert, also die kleinstwertige Komponente zuerst genannt, wie bei der herkömmlichen deutschen Datumsschreibweise: Tag.Monat.Jahr.
/1000 0100/0000 0011/
Ein AD-Wandler wird eingesetzt, um die Stickposition digital zu erfassen. Entsprechend der Stickposition misst ein Sensor eine Spannung von 0 bis 7 Volt. Bezüglich des ADWandlungsfehlers
soll die Spannung (Stickposition) mit einer Genauigkeit von 99,9% gemessen werden.
Wie viele Stufen sollte die Wandlung mindestens haben?
Mit einem A/D-Wandler welcher Auflösung ist das zu erreichen?
Der Pilot braucht mindestens 1 Sekunde um den Stick von Minimal- auf Vollanschlag zu
bewegen. Auch über die Zeit möchten Sie eine Änderung mit einer Genauigkeit von 99,9%
erfassen.
Mit welcher Frequenz muss das Sticksignal abgetastet werden, damit keine Information
verloren geht? Warum?
500 Stufen
2^n >= 500 -> 2^9 = 512 -> 9-bit A/D-Wandler
• 0,1% Änderung braucht 1s/1000 -> 1kHz
• D.h. es wird eine 2kHz Abtastfrequenz benötigt (nach Shanon)
Die differenzielle Datenübertragung ist eine Art robuste Datenübertragung. Wie funktioniert grundsätzlich die differenzielle Datenübertragung und was ist der Vorteil gegenüber eins reinen Spannungssignals?
Ein Signal wird als Differenz zwischen positivem und negativem Originalsignal auf zwei Leitern übertragen, dadurch wirken Störungen auf beide Leiter gleich.
Welche Arten von diskreten Eingängen (DSI) gibt es? Worin unterscheiden sie sich?
Welcher braucht einen Pull-up- und welcher einen Pull-down-Widerstand?
• DSI 28V/OPEN: unterscheidet ~28V und hochohmiger Zustand. Pull-down.
• DSI GND/OPEN: unterscheidet Masse und hochohmiger Zustand. Pull-up.
Nehmen Sie an, sie hätten ein standardisiertes Avionikgerät, einen sogenannten Remote-Data-Concentrator, für die Kommunikation mit Sensoren und Aktuatoren.
Dieses Gerät bietet die folgenden I/O-Schnittstellen: DSI-GND/OPN, DSI-28V/OPN, DSO-28V/OPN, DSO-GND/OPN, AI-VOLTAGE, AI-CURRENT, AO-VOLTAGE, AO- CURRENT, LVDT. Für die Realisierung der folgenden Anwendungsfälle benennen Sie bitte das passende Interface und begründen Sie Ihre Entscheidung.:
Ein Lämpchen im Cockpit, das den Zustand eines Rechners anzeigt? (Lämpchen an, Rechnergeht. Lämpchen aus, Rechner ist ausgefallen)
Den Zustand (offen oder geschlossen) eines Ventils im Tank?
Lautsprecherdurchsage in der Kabine?
Die Positionsbestimmung eines hydraulischen Fahrwerksaktuators.
DSO 28V/OPN: Lämpchen leuchtet auch wenn kein Strom im Cockpit.
DSI GND/OPN: Kontaktzustand lässt sich ohne Spannung messen.
A0-V: Lautsprecher verwandelt analoge Spannung in Schall.
LVDT: eignet sich für genaue und berührungslose Positionsbestimmung
Zur Regelung der Position eines hydraulischen Klappenaktuators wird seine aktuelle Position mit einem LVDT gemessen.
Wie viele physikalische Kontakte hat eine LVDT-Schnittstelle und was sind die Aufgaben der einzelnen Kontakte?
Im aktuellen Zustand liegt ein gleichförmiger Sinus mit einer Amplitude von 5V und einer Frequenz von 10 kHz als Erregung an. Spule 1 misst einen Sinus mit einer Amplitude von 3V und Spule 2 einen Sinus mit einer Amplitude von 2V.
(V1-V2)/(V1+V2)= (3V-2V)/(3V+2V)= 1/5
• 6 Kontakte
• 2x Erregerfrequenz (+ -)
• 2x Messung Spule 1
• 2x Messung Spule 2
Betriebssystem:
Was ist ein Prozess, was ein Thread und was ein Task?
• Prozess: Eigenständiges Programm mit exklusivem Speicher.
• Thread: Eigenständiger Ausführungsstrang in einem Prozess. Innerhalb eines Prozesses kann es mehrere Threads geben.
• Task: Alternative Bezeichnung für einen Thread.
Was versteht man unter einem Babbling Idiot in der Netzwerkkommunikation?
Kann ein Babbling Idiot den Kommunikationsverkehr zwischen den Knoten in einer Sterntopologie stören?
Einen Busteilnehmer der durch das Versenden übermäßig vieler Nachrichten, die anderen Teilnehmer am Kommunizieren hindert.
Ja, wenn der Switch die störenden Nachrichten nicht erkennt und filtert.
Markieren Sie in folgender Tabelle welche Elemente aus Sicht eines Prozesses oder Threads exklusiv (nur für ihn sichtbar) sind.
Was ist Quasi-Parallele-Ausführung?
Die Prozessorzeit wird in kleine Zeitfenster für jeden Thread aufgeteilt, so dass der Wechsel der Threads für den Menschen nicht sichtbar ist.
Welche Aufgabe hat die Ablaufsteuerung eines Betriebssystems?
Sie bestimmt die Reihenfolge, in der die Threads Rechenzeit zugeteilt bekommen.
Was ist preemtive und was non-preemtive Ablaufsteuerung?
Preemtive:
Threads können unterbrochen werden, um anderen Threads Zeit zu verschaffen.
Non-preemtive:
Threads müssen beendet werden oder den Prozessor freigeben, bevor ein neuer Thread beginnen kann.
Welche Informationen eines Prozesses müssen bei einem Kontextwechsel explizit gesichert werden, um den Prozess nachher wieder an derselben Stelle aufnehmen zu können?
Bringen Sie die folgenden Schritte eines unterbrechungsgesteuerten Kontextwechsels in die richtige Reihenfolge:
a) Prüfen ob der Interrupt ausführbar ist
b) Neuen Task ausführen
c) Startadresse der Unterbrechungsbehandlung wird geladen
d) Unterbrechungsbehandlung ausführen
e) Uhren-Interrupt wird ausgelöst
f) Programmadresse des nächsten Tasks wird geladen
g) Zustand des aktuellen Tasks wird gesichert
h) Überprüfen ob es für den nächsten Task bereits einen Zustand gibt. Wenn ja, Kontext
laden.
i) Ablaufsteuerung bestimmt den Task, welcher als nächstes dran ist
e, a, g, c, d, i, f, h, b
Gegeben sind die folgenden empirischen Messwerte der Ausführungszeiten eines Prozesses auf einem Echtzeitsystem, welcher mit einer Periode von 10ms ausgeführt werden sollte.
Wie groß ist der maximale Jitter?
-2,5ms bei Aufruf #4 (maximale Abweichung)
Der Prozess hat eine Ausführungszeit von 8ms und eine Deadline, die mit der nächsten Periode
identisch ist.
Hat der Prozess im protokollierten Verlauf seine Echtzeitbedingungen eingehalten?
Nein, bei Aufruf #9 wird die Deadline verletzt (0,1ms über der Zeit).
Besitzen folgende Funktionen eine maximale Ausführungszeit? Begründen Sie. Wenn nein, mit welcher Maßnahme kann man die Funktion endlich machen?
int strcmp(char* str1, char* str2) {
int i = 0;
while(0!=str1[i] && 0!=str2[i] && str1[i]==str2[i]) {
i++; }
return str1[i] < str2[i];
}
Nein, bei nicht terminierten Strings und genügend Speicher, beginnt die Überprüfung
durch einen Überlauf von i von vorne.
int factorial(int f) {
if(f>1) {
return f*factorial(f-1);
} else {
return 1; }
Ja, jedoch ist der Unterschied zwischen kürzester und längster Ausführung sehr hoch.
Listen Sie der Reihe nach alle Sachverhalte auf, die zur Übertragungszeit einer Nachricht von einem Empfänger zu einem Sender in einem Echtzeit-Kommunikationssystem
beitragen.
Ein-/Ausgang (Bus Controller):
Übertragungszeit: elektrische Verzögerung, Bandbreite, Protokoll (z.B. Kollisionen)
In einem asynchronen Echtzeitnetzwerk, versieht jeder Teilnehmer seine Nachrichten einem Zeitstempel der persönlichen Sendezeit.
Genügt der Zeitstempel, um die Synchronität aller Nachrichten im Empfänger wiederherzustellen? Begründen Sie.
Wie könnte man dies besser machen?
Nein, ohne die gemeinsame Uhr ist der Stempel wertlos.
Die Uhren aller Teilnehmer synchronisiert durch Zeitnachrichten aufzeichnen.
Kann man eine perfekte Synchronität in asynchronen Echtzeitnetzwerken erhalten?
Nein, eine perfekte Synchronität aller Uhren lässt sich aufgrund unbekannter Übertragungsverzögerungen nie gewährleisten.
Welche Bestandteile vereint ein typischer Mikrokontroller auf einem Chip?
1. Prozessorkern
2. RAM
3. ROM
4. Takt
5. Ein-/Ausgabe
6. Unterbrechungssteuerung
7. Zeitgeber
8. Erweiterungsbus
Sie möchten einen digitalen Regler auf einem Mikrokontroller implementieren. Welche drei Aktionen sind dabei typischerweise zyklisch auszuführen?
• Eingänge auslesen
• Regelgesetz ausführen
• Ausgänge schreiben
Ein periodischer Task auf einem Mikrokontroller wird alle 5 Takte mit einer festen Ausführungszeit von 3 Takten ausgeführt. Er ist Teil eines harten Echtzeitsystems, dessen Versagen unbedingt innerhalb von 1 Takt erkannt werden muss. Dafür wird ein Watchdog eingesetzt den der Task jeweils am Ende setzen muss.
Auf welchen Wert muss der Watchdog beim Start initialisiert werden?
Auf welchen Wert muss der Task den Watchdog zurücksetzen?
3 (4)
5
Die Abfolge von Regler-Aktionen kann man auch als Jobs organisieren. Nennen Sie
Vorteile durch die Verwendung von Jobs und Services.
1. Standardisierung: Einlesen, Ausgabe oder Scheduling müssen nur einmal implementiert werden.
2. Durch die genauen Zeitvorgaben der Teilschritte kann eine bessere Regelgüte erreicht und Fehler besser eingesetzt werden.
3. Durch einen dynamischen Wechsel der Jobtabellen kann der Regler leicht der aktuellen Situation angepasst werden.
Die folgende Jobtabelle ist aus zwei Gründen nicht zu empfehlen. Finden Sie die Probleme und erklären Sie deren Auswirkungen.
1. Für zeitkritische Jobs sollten absolute Startzeitpunkte vorgegeben sein (siehe rote Markierung)
2. Job.end sollte möglichst zeitnah hinter der Ausführung liegen (siehe Markierung grün)
Was ist der Unterschied zwischen Job-Scheduler und Job-Executer?
Scheduler: Wählt abhängig von Systemzustand den nächsten Job aus.
Executer: Ist eine Betriebssystemfunktion, welche die aktuelle Jobtabelle zeitnah korrekt ausführt.
4 Rechner einer redundanten Flugsteuerung wollen alle miteinander kommunizieren (jeder mit jedem). Alle Rechner werden mit A429 verbunden.
Wie viele Buskabel braucht man? Ein Buskabel kann mehrere Enden haben.
Wie viele Anschlüsse (Sender + Empfänger) braucht man?
Wie viele Buskabel und Anschlüsse bräuchte man für dieselbe Kommunikationsaufgabe mit einem CAN-Bus-System?
Ist CAN deshalb besser geeignet?
4
4*4=16 (je 1 Sender + 3 Empfänger)
1
Nicht in der Minimalvariante, denn das wäre ein Single-Point-Failure
Berechnen Sie die Dauer einer ungestörten Nachrichtenübertragung.
Für ein Label auf einem ARINC429 High Speed (100 kb/s):
32-Bit Daten + 4-Bit Synchronisation: 36/100.000 = 0,00036 s = 360 μs
Für ein Label auf einem ARINC664 (AFDX) bei 100 Mbit/s:
17 Byte Mindestgröße + 67 Byte Header: (84*8)/100.000.000 = 0,00000672 s = 6,72 μs
Für dasselbe Label auf einem CAN-Bus (AFDX) bei 1 Mbit/s und Standard-Identfilter:
47-Bit Header + 32-Bit Daten: 79/1.000.000 = 0,000079 s = 79 μs
Welche Netzwerktopologie ist im ARINC664 physikalisch abgebildet? Und welche wird virtuell nachgebildet?
Physikalisch: Stern-Topologie
Virtuell: 1-N-Topologie
Gegeben sei ein 100 Mbit/s AFDX-Netz mit folgenden Virtual Links.
Ist das Netz echtzeitfähig? Berechnen Sie.
Sie möchten in einem AFDX-Payload folgende 5 Werte verschicken:
Wie würden Sie diese in eine FDS-Struktur verpacken? Tragen Sie in die folgende Tabelle die Position der Daten und eventuelle Zusatzinformationen ein:
Die Produzenten von Wert 3 und 4 sind defekt. Alle anderen Werte sind vertrauenswürdig.
Welche Werte haben die FS?
• 1,2,5 = NO(0)
• 3,4 = ND (12)
Ein Task möchte über einen 100 Mbit/s AFDX Virtual Link drei Nachrichten übertragen. Die Sendefrequenzen sind 10Hz, 10 Hz und 20Hz- Die Nachrichtengröße für den Virtual Link wird auf 200 Bytes festgelegt.
Wählen Sie die passende BAG für den AFDX Virtual Link und begründen Sie die Auswahl.
Mögliche BAGs sind 1,2,4,8,16,32,64 und 128 ms.
• Zusammengesetzte Sendefrequenz: 10+10+20 = 40Hz
• 1/40 = 0,025 s = 25 ms -> BAG = 16ms
Berechnen Sie maximale Bus-Last, die durch diese VL entsteht:
• 40Hz*200 Byte*8 = 64.000 bit/s
• 64.000/1.000.000 = 0,064%
Ein minimales preemtives Echtzeitbetriebssystem verwendet einen Taskverwaltungsblock (TVB) zur Organisation aller Tasks. Was wird typischerweise im TVB angezeigt?
Zykluszeitfaktor, Zeitzähler Taskstatus, Startadresse, Kontext
Ein Avionik-Rechner führt Prozess P1 bis P4 nach folgender Tabelle aus:
Berechnen Sie die Dauer für den Prozess Moni&Disp unter der Annahme, dass die Auslastung (Utilization) des Avionik-Rechners maximal 70% betragen darf:
U = SUM(e_i/p_i) = 2/20 + 4/20 + 2/10 + x/30 ≤ 70% = 7/10
x/30 ≤ 7/10 – 5/10
x ≤ 30*(2/10) = 6
Es sein die folgenden periodischen Prozesse gegeben:
Berechnen Sie die Prozessauslastung:
Gibt es bei Rate-Monitoric-Scheduling einen garantierten echtzeitfähigen Schedule? Warum?
U = 1/3 + 1/5 + 2/5 = 59/60
U = 59/60 > 69,3% -> Nein.
Welche zwei Mechanismen sind notwendig, damit ein Betriebssystem in der Luftfahrt eingesetzt werden kann, um Applikationen unterschiedlicher Kritikalität auf derselben Hardware betreiben zu dürfen? Wie funktionieren diese Mechanismen?
Time Partitioning:
Die Prozessorzeit wird in Zeitscheiben geteilt. Nur während der eigenen Zeitscheibe darf die Partition rechnen.
Space Partitioning:
Der Speicher wird statisch an die Partitionen vergeben. Zugriffe auf den Speicher anderer Partitionen ist nicht möglich.
Wie viele Ausgänge hat ein LVDT?
4 (2 Eingänge, 4 Ausgänge)
Was bedeutet Preemtive Scheduling?
Bei welcher Rechner-Architektur sind Programm- und Datenspeicher voneinander getrennt?
Harvard- Architektur
Zeichnen und beschriften einer Harvardarchitektur
Was ist die maximale Größe der Daten, die eine Standard-CAN-Nachricht beinhalten kann?
Welcher Speicher ist nicht flüchtig?
Mit einem ADC soll ein Signal mit einer Grenzfrequenz von 1 Hz abgetastet werden. Wie groß muss mindestens die Abtastrate des ADCs sein?
2 Hertz (Nyquist: Doppelte Abtastrate)
Was beeinflusst die Ausführungsdauer eines Programmes nicht?
Was macht eine Lemp-Schaltung?
Überspannungsschutz
Wie berechnet man das Zweierkomplement
Beim Zweierkomplement ändert man das Vorzeichen einer Zahl dadurch, dass man alle Bits zuerst invertiert und danach noch eine 1 addiert. Beispielhaft wird aus der "-3" mit "1101" zuerst "0010" (invertiert) und dann "0011" (plus 1), und somit die Wertigkeit "+3".
Fließkommazahl nach IEEE Single Precision
1 Bit Vorzeichen, 8 Bits Exponent, 23 Bits Mantisse, Offset 127
Umwandlung kompliziert > noch ergänzen
Umwandlung Big Endian in Little Endian
Um von Big Endian zu Little Endian umzuwandeln, oder umgekehrt, müssen die Bytes einfach in umgekehrter Reihenfolge angeordnet werden.
aus BIg Endian 1101 1011 0010 0100 wird Little Endian 0010 0100 1101 1011
Zuletzt geändertvor einem Jahr