HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER

Preview:

Citation preview

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:– GNSSGNSS– Video-VerarbeitungseinheitVideo-Verarbeitungseinheit

Fallbeispiel 1

GNSS - NavigationsempfängerGNSS - Navigationsempfänger

GNSS Grundlagen

Global Navigation Satellite System– GPSGPS (USA)– GLONASSGLONASS (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

AGGA-2

RS-422

AGGA-2 SRAM

Mem Ctrl

UARTA

I-Cache

D-Cache

CPULEON

PLL

SCKI

Down-conversion

L1

EPROMAntenna

ClockPLLs

Baseband ProcessorFront End

Dip

lexe

r L

NA

OCXO

RCP

G3AD

G3AD

Reset

Down-conversion

L2

GPS Receiver Block Diagramm

Hardware

Software

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

Fallbeispiel 2

Video-VerarbeitungseinheitVideo-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)

GAIASatellit

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

Recommended