![Page 1: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/1.jpg)
HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich
Werner FRIESENBICHLER
http://www.space.at
![Page 2: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/2.jpg)
Aufgabenstellung
Analyse eines industriellen Designs hinsichtlich HW/SW Partitioning
Fallbeispiel(e) aus dem Aero-SPACE Bereich:– GNSSGNSS– Video-VerarbeitungseinheitVideo-Verarbeitungseinheit
![Page 3: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/3.jpg)
Fallbeispiel 1
GNSS - NavigationsempfängerGNSS - Navigationsempfänger
![Page 4: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/4.jpg)
GNSS Grundlagen
Global Navigation Satellite System– GPSGPS (USA)– GLONASSGLONASS (Rus)– COMPASS (China, lokal ab 2008?, Erweiterung geplant)– GALILEO (Europa, GIOVE-Phase, Vollausbau >2008)
![Page 5: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/5.jpg)
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)
![Page 6: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/6.jpg)
GPS Signal (1)
![Page 7: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/7.jpg)
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
![Page 8: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/8.jpg)
Code-Phase Tracking
Korrelationsdetektor Aufgrund der Phasendifferenz zwischen lokaler und
empfangener Codesequenz kann auf die Signallaufzeit und damit die Entfernung zum Satelliten geschlossen werden
![Page 9: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/9.jpg)
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
![Page 10: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/10.jpg)
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
![Page 11: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/11.jpg)
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)
![Page 12: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/12.jpg)
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
![Page 13: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/13.jpg)
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
![Page 14: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/14.jpg)
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
![Page 15: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/15.jpg)
Fallbeispiel 2
Video-VerarbeitungseinheitVideo-Verarbeitungseinheit
![Page 16: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/16.jpg)
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)
![Page 17: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/17.jpg)
GAIASatellit
![Page 18: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/18.jpg)
GAIA Teleskop
Focal Plane
![Page 19: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/19.jpg)
Focal Plane
![Page 20: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/20.jpg)
Messprinzip (1) – Time Delayed Integration (TDI)
![Page 21: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/21.jpg)
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
![Page 22: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/22.jpg)
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)
![Page 23: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/23.jpg)
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
![Page 24: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/24.jpg)
GAIA Algorithmen (2)
![Page 25: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/25.jpg)
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
![Page 26: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/26.jpg)
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
![Page 27: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/27.jpg)
Maxwell SCS-750 Computerboard
![Page 28: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/28.jpg)
GAIA – Architektur
![Page 29: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/29.jpg)
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
![Page 30: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/30.jpg)
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?
![Page 31: HW/SW Partitioning – Ein Fallbeispiel aus dem Aerospace-Bereich Werner FRIESENBICHLER](https://reader035.vdocuments.pub/reader035/viewer/2022062404/55204d7149795902118c3e7a/html5/thumbnails/31.jpg)
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