HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER http://www.space.at
Aufgabenstellung Analyse eines industriellen Designs hinsichtlich HW/SW Partitioning Fallbeispiel(e) aus dem Aero-SPACE Bereich: GNSS Video-Verarbeitungseinheit
GNSS - Navigationsempfänger Fallbeispiel 1 GNSS - Navigationsempfänger
GNSS Grundlagen Global Navigation Satellite System GPS (USA) GLONASS (Rus) COMPASS (China, lokal ab 2008?, Erweiterung geplant) GALILEO (Europa, GIOVE-Phase, Vollausbau >2008)
GPS Architektur 24 Satelliten in 6 Orbits, ca. 20200 km, 12h Umlauf Atomuhren mit 10.23 MHz, Genauigkeit ca. 10-13 Bodensegment mit 6 Stationen, sendet Korrekturdaten 2 Codes (eindeutig) + Navigationsdaten C/A (Coarse Acquisition, zivil), 1.023 MHz, 1 ms lang P(Y) (Precision, verschlüsselt, mil.), 10.23 MHz, 7 Tage lang Navigationsdaten (Orbit, Zeit, Korrektur, Delay, Almanach), 50 Hz, 12.5 min lang 2 Frequenzen: L1 (1575.32 MHz), L2 (1227.6 MHz)
GPS Signal (1)
GPS Signal (2) GOLD-Codes (C/A), minimale Kreuzkorrelation untereinander Spread-Spectrum Technik Signalleistung 50 W, empfangen werden nur ca. –160 dBW (10-16 W), das ist mehr als 20 dB unter dem Rauschpegel Detektion Korrelation des empfangenen Codes mit lokal erzeugtem Code Aufgrund der ungenauen Receiver-Zeitbasis werden 4 Satelliten benötigt Genauigkeit: C/A: 100m...10m (ohne SA, seit 2000), P: 2 m
Code-Phase Tracking Korrelationsdetektor Aufgrund der Phasendifferenz zwischen lokaler und empfangener Codesequenz kann auf die Signallaufzeit und damit die Entfernung zum Satelliten geschlossen werden
GNSS-Receiver Architektur Front End Down-Conversion IF / Basisband Analog/Digital-Wandlung (mind. 2x, besser 3x so schnell wie das Basisbandsignal) Sample-Rate: 3 MHz (C/A) ... 30 MHz (P) Basisband Prozessor Geteilte HW / SW Implementierung Auswertung der Navigationsdaten Receiver Konfiguration, Telemetrie, Housekeeping
GPS Receiver Block Diagramm Software Hardware
Aufgaben für die Hardware Repititive/Parallele Tasks Digitalisieren des I- und Q-Anteils (typ. 2 Bit) Downconversion IF ins Basisband Erzeugen der lokalen Codesequenz (LFSR) Despreading mit unterschiedlichen Phasen Permanente Korrelation mit empfangenem Code Generierung von lokalen Triggersignalen (Epoch)
Aufgaben für die Software Programmatische Tasks Evaluierung der Korrelationsergebnisse, ca. 1 kHz Auswertung der Navigationsdaten, 50 Hz Implementierung der Tracking Loops (Code Tracking, Carrier Tracking) Korrelatorkonfiguration (v.a. für P-Code) Auswahl der sichtbaren Satelliten Bestimmung der (Pseudo-)Ranges Automatic Gain Control des Front-Ends, Optimierung des SNR
Zukunft - reine Softwarereceiver? HW/SW Receiver GPS-Chipsets am Markt vorhanden Aufteilung HW/SW für Handheld Geräte notwendig Software Radio / Receiver Studien für Spaceborne Software-Receiver Größere Flexibilität als HW/SW-Lösung Erfordert hohe Rechenleistung Nicht für portable Geräte geeignet (kein Thema für SPACE) Für P-Code noch nicht machbar
Ach ja, und der Sender... Ähnliche Architektur bei GNSS-Signalgeneratoren Hardware Code-Generatoren Modulation mit Navigationsdaten Verschlüsselung des P-Codes (top secret) Software Telemetrie-Interface zum Bodensegment Einfügen der Orbit- und Zeitkorrekturparameter Aufbau des Almanachs
Video-Verarbeitungseinheit Fallbeispiel 2 Video-Verarbeitungseinheit
GAIA – Video-Verarbeitungseinheit ESA-Projekt „GAIA“ Sternenteleskop Erstellung einer 3D-Sternenkarte Aufschluss über Entstehung und Veränderung unserer Galaxie Inputs für astrophysische Experimente und Thesen Positionierung am Lagrange Punkt (minimale Gravitation)
GAIA Satellit
GAIA Teleskop Focal Plane
Focal Plane
Messprinzip (1) – Time Delayed Integration (TDI)
Messprinzip (2) Jede Millisekunde werden die Daten ein Pixel weitergeschoben und die letzte CCD-Zeile ausgelesen Zirka 2000 x 13 x 16-bit/ms = 416 Mbps Datenreduktion Nur die ersten beiden CCDs werden komplett ausgelesen (Objektidentifikation) Die restlichen CCDs nur bereichsweise Echttzeitverhalten ist gefordert um Datenverlust zu vermeiden
GAIA Algorithmen (1) Erkennen eines Sterns Verfolgen des Sterns über die gesamte Focal Plane Berechnung der Auslesebereiche Klassifizierung – Bright Star, Faint Star, Größe, etc. Aussondern von Near Earth Objects Datenreduktion und -kompression Paketierung der Daten und Übertragung zur Erde Es wird eine Rechenleistung von 700 MIPs benötigt (vgl. Pentium III 500 MHz hat ca. 1400 MIPs)
Rechenleistungen in SPACE Rad-Hard Prozessoren LEON2, 86 MIPS (100 MHz) ERC32, 25 MIPS (32 MHz) Kommerzielle Prozessoren PowerPC, 1800 MIPs (800 MHz) Performanceeinbußen durch FT-Maßnahmen GAIA Algorithmen verlangen eine Aufteilung in HW und SW
GAIA Algorithmen (2)
GAIA – Hardware Algorithmen Objekterkennung läuft immer gleich ab Berechnung von Objektparametern Helligkeit, Hintergrundkompensation Detektion von Sternextremitäten Verschiedene Pixelfilter (MAC-Operationen) Offset- und Gainkorrektur der CCDs Filterung von toten Pixeln SpaceWire-Interfaces nach außen Implementierung mittels 2 Actel FPGAs
GAIA – Software Algorithmen Software übernimmt höherwertige Algorithmen Berechnung des Auslesebereichs Sternklassifizierung Sortieren nach Eigenschaften Berechnung weiterer Sternparameter Formierung von Datenpaketen, Datenkompression Higher-Level Protokolle (MIL-1553) Realisierung auf SCS750 Board COTS-Computerboard für SPACE
Maxwell SCS-750 Computerboard
GAIA – Architektur
Resümee (1) Hardware/Software-Partitioning im SPACE-Bereich ähnlich wie bei industriellen Designs Hardware kümmert sich um repititive Tasks Parallelisierung von Aufgaben zur Erhöhung der Performance Implementierung von Schnittstellen Co-Prozessor für Software-Algorithmen Software steuert Programmfluss Stärken bei Bedingungen, Verzweigungen, Sortieraufgaben
Resümee (2) Entwicklung Hardware ist meist billiger zu entwickeln als Software Geringerer Verifikationsaufwand SPACE-Softwareentwicklung ist sehr aufwendig Normativ geregelt Oftmals werden auch „unbequeme“ Algorithmen in Hardware implementiert um den Aufwand zu minimieren Aber: Ist VHDL nicht eigentlich Software?
Quellen Parkinson, Spilker Jr., „Global Positioning System: Theory and Applications“ – Die BIBEL http://www.colorado.edu/geography/gcraft/notes/gps/gps_f.html http://www.kowoma.de/gps/ http://ivvgeo.uni-muenster.de/Vorlesung/GPS http://www.esa.int/science/gaia