ROSIS-System Datenformate Beschreibung, Revision 2.1, 1. August 2000 19. März 2003 19. März 2003 1
Inhalt Überblick 3 DSU-Ausgangsdaten Datei-Aufbau 4 Beispiel 5 Definitions-Header 6 Parameter-Header 7 Parameter-Kodierungen 9 DSU GPS/ARINC 10 DSU Spiegelsteuerung 11 DSU Spektrometerelektronik 12 DLR: Deutsches Zentrum für Luft- und Raumfahrt e.v. ROSIS: Reflective Optics Systems Imaging Spectrometer DSU: Data Storage Unit GPS: Global Positioning System ARINC: Aeronautical Radio Incorporated ARINC is a registered trademark of ARINC Incorporated 2 19. März 2003
Überblick Abb. 1 Komponenten des ROSIS-Systems Im ROSIS-System laufen etliche Datenströme zwischen den verschiedenen Geräten hin und her. Im folgenden werden genauer erläutert: 1. DSU-Ausgangsdaten 2. DSU-GPS/ARINC 3. DSU-Spiegelsteuerung 4. DSU-Spektrometerelektronik. Folgende Verbindungen werden in der Dokumentation zum GPS/ARINC-Interface beschrieben: GPS/ARINC IGIsys GPS/ARINC Ext. GPS GPS/ARINC ARINC. Die Verbindung DSU-IGIsys wird in der Dokumentation zur DSU beschrieben. 19. März 2003 3
DSU-Ausgangsdaten Datei-Aufbau Die Ausgangsdateien beinhalten: den Definitionsblock, hier stehen Informationen über das Bildformat, die Parameterblöcke, hier sind alle Betriebsparameter vermerkt, zeitlich zugeordnet den jeweils nachfolgenden Daten, Datenblöcke, hier stehen die Bilddaten, 16 Bit binär kodiert in der Reihenfolge Low-High. Pro Datei gibt es einen Definitionsblock und nachfolgend pro Rahmen einen Parameter- und einen Datenblock. Aufbau der Ausgangsdatei: Rahmen Block Größe (Bytes) - Definitionsblock 512 1 Parameterblock 1 512 Datenblock 1 2 Parameterblock 2 512 Datenblock 2......... N-1 Parameterblock N-1 512 Datenblock N-1 N Parameterblock N 512 Datenblock N Gesamtgröße: 512+N*(512+) Die Ausgangsdateien werden zusammengestellt aus den beiden zugehörigen Dateien auf den internen DSU-Festplatten. Diese umfassen jeweils die Hälfte der Daten (jeden zweiten Rahmen), zur Geschwindigkeitsoptimierung sind hier zwischen die einzelnen Rahmenblöcke Füllblöcke bis zur nächsten 8K-Grenze eingefügt. Aufbau der internen DSU-Dateien: Rahmen Block Größe (Bytes) - Definitionsblock 512 1 (2) Parameterblock 1 (2) 512 Datenblock 1 (2) Füllblock X (bis zur nächsten 8K-Grenze) 3 (4) Parameterblock 3 (4) 512 Datenblock 3 (4) Füllblock X (bis zur nächsten 8K-Grenze)......... N-3 (N-2) Parameterblock N-3 (N-2) 512 Datenblock N-3 (N-2) Füllblock X (bis zur nächsten 8K-Grenze) N-1 (N) Parameterblock N-1 (N) 512 Datenblock N-1 (N) Füllblock X (bis zur nächsten 8K-Grenze) Gesamtgröße: 512+(N*(512+X+))/2 4 19. März 2003
Beispiel Beispiel des Anfangs einer DSU-Datei, in Hexadezimal-Darstellung: 00000000h: 42 72 65 69 74 65 3A 20 35 31 32 2C 20 48 F6 68 ; Breite: 512, Höh --- Definitionsblock 00000010h: 65 3A 20 35 31 32 2C 20 5A 65 69 74 3A 20 35 33 ; e: 512, Zeit: 53 00000020h: 38 36 36 33 35 30 00 00 00 00 00 00 00 00 00 00 ; 866350... 00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000060h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000070h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000080h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000090h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000100h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000110h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000120h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000130h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000140h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000150h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000160h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000170h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000180h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000190h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000200h: 00 00 00 FF 00 FF 00 FF 00 FF 00 FF 00 00 00 FF ;... --- Anfang Parameterblock 1 00000210h: 00 00 00 FF 00 FF 00 FF 00 FF 00 00 00 00 00 FF ;... 00000220h: 00 FF 00 00 00 00 00 FF 00 FF 00 00 00 FF 00 00 ;... 00000230h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000240h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000250h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000260h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000270h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000280h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000290h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000002a0h: 00 66 00 2E 00 35 00 00 00 00 00 00 00 00 00 00 ;... 000002b0h: 20 00 01 08 15 20 46 37 00 00 00 00 00 00 00 07 ;... 000002c0h: 20 00 01 08 15 21 03 00 81 07 00 00 00 00 00 00 ;... 000002d0h: 81 08 00 00 00 00 00 00 81 09 00 00 00 00 00 00 ;... 000002e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000002f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000300h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000310h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000320h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000330h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000340h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000350h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000360h: 00 00 00 00 06 D3 FF FF 00 01 13 57 02 60 00 00 ;... 00000370h: 08 00 24 68 01 00 00 00 E0 F0 70 40 01 00 00 00 ;... 00000380h: 00 4D EC 3F 01 00 00 00 00 FE EF 3F 84 E4 FF FF ;... 00000390h: 3F FF 5F C0 84 E4 FF FF BF FE 5F C0 84 E4 FF FF ;... 000003a0h: 3F FE 5F C0 68 F7 FF FF 7F FF AF C0 68 F7 FF FF ;... 000003b0h: 7F FF AF C0 00 00 00 00 00 90 A4 40 FB FD FF 5F ;... 000003c0h: 7F 08 48 40 E4 F6 FF 7F 1C 7A 26 40 DB 00 00 80 ;... 000003d0h: AB 0E 71 40 00 00 00 00 00 00 18 40 00 00 00 00 ;... 000003e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000003f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... --- Ende Parameterblock 1 00000400h: 06 7E 07 7E 08 7E 09 7E 0A 7E 0B 7E 0C 7E 0D 7E ;... --- Anfang Datenblock 1..... 000803f0h: 06 7E 07 7E 08 7E 09 7E 0A 7E 0B 7E 0C 7E 0D 7E ;... --- Ende Datenblock 1 00080400h: 00 00 00 FF 00 FF 00 FF 00 FF 00 FF 00 00 00 FF ;... --- Anfang Parameterblock 2..... 000805f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... --- Ende Parameterblock 2 00080600h: 06 7E 07 7E 08 7E 09 7E 0A 7E 0B 7E 0C 7E 0D 7E ;... --- Anfang Datenblock 2..... usw. 19. März 2003 5
Definitions-Header Der Definitions-Header steht nur einmal am Anfang einer DSU-Datei und besteht aus 512 Bytes. Er informiert über die Anzahl der ausgelesenen Pixel in der Zeile bezogen auf den CCD-Sensor (Breite, im Beispiel 512), die Anzahl der ausgelesenen Zeilen bezogen auf den CCD-Sensor (Höhe, im Beispiel 512), sowie die Zykluszeit des gewählten Timings (Zeit, im Beispiel 53.866.350ns). Der Rest ist mit Nullen aufgefüllt. 00000000h: 42 72 65 69 74 65 3A 20 35 31 32 2C 20 48 F6 68 ; Breite: 512, Höh 00000010h: 65 3A 20 35 31 32 2C 20 5A 65 69 74 3A 20 35 33 ; e: 512, Zeit: 53 00000020h: 38 36 36 33 35 30 00 00 00 00 00 00 00 00 00 00 ; 866350... 00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000060h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000070h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000080h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000090h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000100h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000110h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000120h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000130h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000140h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000150h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000160h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000170h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000180h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 00000190h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001b0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001c0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 000001f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;... 6 19. März 2003
Parameter-Header Der Parameter-Header besteht aus 512 Bytes und steht vor jedem Rahmen-Datenblock. Im folgenden sind die Positionen und Bedeutungen der einzelnen Parameter aufgeführt, jeweils gefolgt von dem entsprechenden Ausschnitt aus dem Beispiel-Header von Seite 5. Wort- Adr. dez. 000-079 Wort- Adr. hex 00 Byte- Adr. Hex 00 High-Byte (1.) Low-Byte (2.) Format Synchronisierungs-Sequenz -4E -9F 00000000h: 00 00 00 FF 00 FF 00 FF 00 FF 00 FF 00 00 00 FF 00000010h: 00 00 00 FF 00 FF 00 FF 00 FF 00 00 00 00 00 FF 00000020h: 00 FF 00 00 00 00 00 FF 00 FF 00 00 00 FF 00 00 00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000060h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000070h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000080h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000090h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 080 50 A0 Temperatur am A/D-Wandler 081 51 A2 Temperatur am Spiegel 082 52 A4 Temperatur am CCD-Sensor 083-087 53-57 A6 -AF 000000a0h: 00 66 00 2E 00 35 00 00 00 00 00 00 00 00 00 00 - frei - 000000a0h: 00 66 00 2E 00 35 00 00 00 00 00 00 00 00 00 00 Format-Nummer (#) spezielle Datenfolge 9 Bit binär (HiLo) 088 58 B0 BCD, 4stellig (HiLo) Systemzeit / Jahr #2 089 59 B2 Systemzeit / Monat Systemzeit / Tag BCD, 2stellig #2 090 5A B4 Systemzeit / Stunde Systemzeit / Minute BCD, 2stellig #2 091 5B B6 Systemzeit / Sekunde Systemzeit / Hundertstel BCD, 2stellig #2 000000b0h: 20 00 01 08 15 20 46 37 00 00 00 00 00 00 00 07 092-093 094-095 5C -5D 5E -5F B8 -BB BC -BF IGIsys-Zeit (Wochensekunden) 000000b0h: 20 00 01 08 15 20 46 37 00 00 00 00 00 00 00 07 Rahmennummer 000000b0h: 20 00 01 08 15 20 46 37 00 00 00 00 00 00 00 07 32 Bit binär (LoHi) 32 Bit binär (HiLo) 096 60 C0 GPS-Zeit / Jahr BCD, 4stellig (HiLo) #2 097 61 C2 GPS-Zeit / Monat GPS-Zeit / Tag BCD, 2stellig #2 098 62 C4 GPS-Zeit / Stunde GPS-Zeit / Minute BCD, 2stellig #2 099 63 C6 GPS-Zeit / Sekunde - frei - BCD, 2stellig #2 000000c0h: 20 00 01 08 15 21 03 00 81 07 00 00 00 00 00 00 099 63 C7 GPS-Zeit / Sekunde - frei - 000000c0h: 20 00 01 08 15 21 03 00 81 07 00 00 00 00 00 00 100 64-103 -67 104 68-107 -6B 108 6C -111-6F C8 -CF D0 -D7 D8 -DF GPS-Height GPS-Longitude GPS-Latitude 000000c0h: 20 00 01 08 15 21 03 00 81 07 00 00 00 00 00 00 000000d0h: 81 08 00 00 00 00 00 00 81 09 00 00 00 00 00 00 112 70 E0 - frei - -177 -B3-167 000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000100h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000110h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000120h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000130h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000140h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000150h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000160h: 00 00 00 00 06 D3 FF FF 00 01 13 57 02 60 00 00 178 B2 164 Spiegelstellung (Encoderwert) 32 Bit binär (LoHi) #1 #3 #4 19. März 2003 7
Wort- Adr. dez. Wort- Adr. hex Byte- Adr. Hex -179 -B3-167 High-Byte (1.) Low-Byte (2.) Format 00000160h: 00 00 00 00 06 D3 FF FF 00 01 13 57 02 60 00 00 Format-Nummer (#) #6 180 B4 168 Timingnummer BCD, 4stellig (HiLo) #7 00000160h: 00 00 00 00 06 D3 FF FF 00 01 13 57 02 60 00 00 181 B5 16A Flugnummer BCD, 4stellig (HiLo) #7 00000160h: 00 00 00 00 06 D3 FF FF 00 01 13 57 02 60 00 00 182 B6 16C Rahmenintervall (in Zehntel Hz) BCD, 4stellig (HiLo) #8 00000160h: 00 00 00 00 06 D3 FF FF 00 01 13 57 02 60 00 00 183 B7 16E BCD, 8stellig (HiLo) Spiegelstellung (Absolutwert) -184 -B8-171 #9 00000160h: 00 00 00 00 06 D3 FF FF 00 01 13 57 02 60 00 00 00000170h: 08 00 24 68 01 00 00 00 E0 F0 70 40 01 00 00 00 185 B9 172 Gewähltes Filter BCD, 4stellig (HiLo) #7 00000170h: 08 00 24 68 01 00 00 00 E0 F0 70 40 01 00 00 00 186-189 BA -BD 174-17B 190 BE 17C -193 -C1-183 194 C2 184-197 -C5-18B 198 C6 18C -201 -C9-193 202 CA 194-205 -CD -19B 206 CE 19C -209 -D1-1A3 210 D2 1A4-213 -D5-1AB 214 D6 1AC -217 -D9-1B3 218 DA 1B4-221 -DD -1BB 222 DE 1BC -225 -E1-1C3 226 E2 1C4-229 -E5-1CB 230 E6 1CC -233 -E9-1D3 234 EA 1D4-237 -ED -1DB 238-255 EE -FF 1DC -1FF Drift Angle L321 Pitch Angle L324 Roll Angle L325 Body Pitch Rate L326 Body Roll Rate L327 Body Yaw Rate L330 N-S Velocity L366 E-W Velocity L367 Altitude Baro Cor. L204 Pos. Latitude L310 Pos. Longitude L311 True Heading L314 Static Air Temp. L213 00000170h: 08 00 24 68 01 00 00 00 E0 F0 70 40 01 00 00 00 00000180h: 00 4D EC 3F 01 00 00 00 00 FE EF 3F 84 E4 FF FF 00000190h: 3F FF 5F C0 84 E4 FF FF BF FE 5F C0 84 E4 FF FF 000001a0h: 3F FE 5F C0 68 F7 FF FF 7F FF AF C0 68 F7 FF FF 000001b0h: 7F FF AF C0 00 00 00 00 00 90 A4 40 FB FD FF 5F 000001c0h: 7F 08 48 40 E4 F6 FF 7F 1C 7A 26 40 DB 00 00 80 000001d0h: AB 0E 71 40 00 00 00 00 00 00 18 40 00 00 00 00 - frei - 000001d0h: AB 0E 71 40 00 00 00 00 00 00 18 40 00 00 00 00 000001e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000001f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8 19. März 2003
Parameter-Kodierungen Nummer Erläuterung #1 Temperaturen Die Kodierung entspricht der des eingesetzten Temperatur-ICs (DS1820 von Dallas Semiconductor). Dieses verfügt über einen Messbereich von 55..+125 C bei einer Auflösung von 0,5 C. Die Werte sind in die unteren 9 Bits einkodiert (HiLo), die restlichen oberen 7 Bits entsprechen immer dem 9. Bit. Einige Beispiele: Temperatur Wert binär Wert hexadezimal +125,0 C 00000000 11111010 00FA + 25,0 C 00000000 00100011 0023 + 0,5 C 00000000 00000001 0001 + 0,0 C 00000000 00000000 0000-0,5 C 11111111 11111111 FFFF - 25,0 C 11111111 11001110 FFCE - 55,0 C 11111111 10010010 FF92 #2 Systemzeit, GPS-Zeit Die Kodierung ist gepacktes BCD, die Bereiche sind 0000-9999 beim Jahr, 01-12 beim Monat, 01-31 beim Tag, 00-23 bei der Stunde, 00-59 bei Minute und Sekunde, 00-99 bei den Hundertstelsekunden. #3 IGIsys-Zeit Die Kodierung ist binär mit 32 Bit, Low-Byte zuerst. Dieser Wert gibt die Sekunden in der laufenden Woche an. #4 Rahmennummer Die Kodierung ist binär mit 32 Bit, High-Byte zuerst. Dieser Wert gibt die laufende Nummer des aufgenommenen Rahmens an. GPS-Height, -Longitude, -Latitude, ARINC-Daten Dieses sind Double-Precision-Floating-Werte, kodiert in folgendem Format: - das erste Bit gibt das Vorzeichen an (1 = negativ), - die nächsten 11 Bits geben den Exponenten zur Basis 2 an, mit einem Offset von 1023 (0x3FF), gültig im Bereich von 1022 bis +1023, die Werte +1024 und -1023 sind reserviert, - die restlichen 52 Bits geben die (binären) Nachkommastellen der Mantisse an, mit implizit vorangestellter 1. 1. Nachkommastelle = 1/2 1 = 0,5 2. Nachkommastelle = 1/2 2 = 0,25 3. Nachkommastelle = 1/2 3 = 0,125 usw. Einige Beispiele: Kodierung Umsetzung Zahl 00 00 00 00 00 00 00 00 1 * 2 (0-1023) *1.0 2 (reserviert) + 0 80 00 00 00 00 00 00 00-1 * 2 (0-1023) *1.0 2 (reserviert) - 0 7F F0 00 00 00 00 00 00 1 * 2 (2047-1023) *1.0 2 (reserviert) + FF F0 00 00 00 00 00 00-1 * 2 (2047-1023) *1.0 2 (reserviert) - 40 00 00 00 00 00 00 00 1 * 2 (1024-1023) *1.0 2 + 2 C0 00 00 00 00 00 00 00-1 * 2 (1024-1023) *1.0 2 + 2 40 1A 00 00 00 00 00 00 1 * 2 (1025-1023) *1.101 2 + 6,5 C0 1A 00 00 00 00 00 00-1 * 2 (1025-1023) *1.101 2-6,5 40 76 80 00 00 00 00 00 1 * 2 (1031-1023) *1.01101 2 + 360 C0 76 80 00 00 00 00 00-1 * 2 (1031-1023) *1.01101 2-360 40 8F 40 00 00 00 00 00 1 * 2 (1031-1023) *1.111101 2 + 1000 C0 8F 40 00 00 00 00 00-1 * 2 (1031-1023) *1.111101 2-1000 #6 Spiegelstellung (Encoderwert) Die Kodierung ist binär mit 32 Bit, Low-Byte zuerst. Dieser Wert gibt den vom Encoder zurückgelieferten Wert wieder (meistens negativ). #7 Timingnummer, Flugnummer, gewähltes Filter Die Kodierung ist gepacktes BCD vierstellig. Diese Werte werden direkt von den Eingabefeldern im DSU- Programm übernommen. #8 Rahmenintervall Die Kodierung ist gepacktes BCD vierstellig. Dieser Wert gibt den im entsprechenden Eingabefeld im DSU-Programm eingegebenen Wert wieder (um eine Stelle nach links verschoben, wodurch sich die Einheit Zehntel Hz ergibt dies wird momentan bei der Einstellung noch nicht unterstützt). #9 Spiegelstellung (Absolutwert) Die Kodierung ist binär mit 32 Bit, High-Byte zuerst. Dieser Wert gibt den im entsprechenden Eingabefeld im DSU-Programm eingegebenen Wert wieder. 19. März 2003 9
DSU. GPS/ARINC Die ROSIS-DSU und das ROSIS-GPS/ARINC-Interface sind über eine serielle Schnittstelle verbunden, diese wird mit 19200 Baud ( 8 Datenbits, No Parity, 1 Stoppbit ) betrieben. Auf dieser Schnittstelle findet nur bei Bedarf Kommunikation statt, und zwar dann, wenn das DSU- Programm Daten vom GPS/ARINC-Interface benötigt. Zwei Datenblöcke stehen zur Verfügung, der GPS/ARINC-Datenblock und der IGIsys-Datenblock. GPS/ARINC-Datenblock Anforderung Antwort 6E ; n 00000000h: 7B 7B 31 31 31 31 31 31 31 31 32 32 32 32 32 32 ; {{11111111222222 00000010h: 32 32 33 33 33 33 33 33 33 33 34 34 34 34 34 34 ; 2233333333444444 00000020h: 34 34 35 35 35 35 35 35 35 35 36 36 36 36 36 36 ; 4455555555666666 00000030h: 36 36 37 37 37 37 37 37 37 37 38 38 38 38 38 38 ; 6677777777888888 00000040h: 38 38 39 39 39 39 39 39 39 39 30 30 30 30 30 30 ; 8899999999000000 00000050h: 30 30 41 41 41 41 41 41 41 41 42 42 42 42 42 42 ; 00AAAAAAAABBBBBB 00000060h: 42 42 43 43 43 43 43 43 43 43 7D 5B 44 44 45 45 ; BBCCCCCCCC}[DDEE 00000070h: 46 46 47 47 48 48 49 49 4A 4A 4B 4B 4B 4B 4B 4B ; FFGGHHIIJJKKKKKK 00000080h: 4B 4B 4C 4C 4C 4C 4C 4C 4C 4C 4D 4D 4D 4D 4D 4D ; KKLLLLLLLLMMMMMM 00000090h: 4D 4D 5D 7D ; MM]} Die oben aufgeführten Ziffern und Buchstaben stehen jeweils für einen Parameter: Parameter Bedeutung 11111111 ARINC Label 321: Drift Angle, Format () 22222222 ARINC Label 324: Pitch Angle, Format () 33333333 ARINC Label 325: Roll Angle, Format () 44444444 ARINC Label 326: Body Pitch Rate, Format () 55555555 ARINC Label 327: Body Roll Rate, Format () 66666666 ARINC Label 330: Body Yaw Rate, Format () 77777777 ARINC Label 366: N-S Velocity, Format () 88888888 ARINC Label 367: E-W Velocity, Format () 99999999 ARINC Label 204: Altitude Baro Cor., Format () 00000000 ARINC Label 310: Position Latitude, Format () AAAAAAAA ARINC Label 311: Position Longitude, Format () BBBBBBBB ARINC Label 314: True Heading, Format () CCCCCCCC ARINC Label 213: Static Air Temp., Format () DD GPS-Zeit: Tag, Format BCD gepackt (#2) EE GPS-Zeit: Monat, Format BCD gepackt (#2) FF GPS-Zeit: Jahr (High), Format BCD gepackt (#2) GG GPS-Zeit: Jahr (Low), Format BCD gepackt (#2) HH GPS-Zeit: Stunde, Format BCD gepackt (#2) II GPS-Zeit: Minute, Format BCD gepackt (#2) JJ GPS-Zeit: Sekunde, Format BCD gepackt (#2) KKKKKKKK GPS-Height, Format () LLLLLLLL GPS-Longitude, Format () MMMMMMMM GPS-Latitude, Format () IGIsys-Datenblock Anforderung Antwort 69 ; i 7B 28 31 31 31 31 31 31 31 31 29 7D ; {(11111111)} Die oben aufgeführten Ziffern stehen für einen Parameter: Parameter Bedeutung 11111111 IGIsys-Wochensekunden, Format () 10 19. März 2003
DSU. Spiegelsteuerung Die ROSIS-DSU und die Spiegelsteuerung sind über eine serielle Schnittstelle verbunden, diese wird mit 1200 Baud ( 7 Datenbits, Even Parity, 1 Stoppbit ) betrieben. Die Spiegelsteuerung wird beim Start des DSU-Programms komplett initialisiert. Initialisierungssequenz Befehl 02 31 50 30 31 53 30 03 0D 0A ;.1P01S0... 02 31 50 30 32 53 31 03 0D 0A ;.1P02S1... 02 31 50 30 33 53 31 03 0D 0A ;.1P03S1... 02 31 50 30 34 53 35 30 03 0D 0A ;.1P04S50... 02 31 50 30 35 53 35 30 03 0D 0A ;.1P05S50... 02 31 50 30 36 53 33 30 30 03 0D 0A ;.1P06S300... 02 31 50 30 37 53 30 03 0D 0A ;.1P07S0... 02 31 50 30 38 53 35 30 03 0D 0A ;.1P08S50... 02 31 50 30 39 53 33 30 30 03 0D 0A ;.1P09S300... 02 31 50 31 30 53 35 30 03 0D 0A ;.1P10S50... 02 31 50 31 31 53 31 03 0D 0A ;.1P11S1... 02 31 50 31 32 53 30 03 0D 0A ;.1P12S0... 02 31 50 31 33 53 35 30 03 0D 0A ;.1P13S50... 02 31 50 31 34 53 35 30 03 0D 0A ;.1P14S50... 02 31 50 31 35 53 33 30 30 03 0D 0A ;.1P15S300... 02 31 50 31 36 53 35 30 03 0D 0A ;.1P16S50... 02 31 50 31 37 53 30 03 0D 0A ;.1P17S0... 02 31 50 31 38 53 30 03 0D 0A ;.1P18S0... 02 31 50 31 39 53 30 03 0D 0A ;.1P19S0... 02 31 50 32 30 53 30 03 0D 0A ;.1P20S0... 02 31 58 30 49 20 48 20 31 50 32 31 52 03 0D 0A ;.1X0I H 1P21R... 02 31 50 32 31 53 30 03 0D 0A ;.1P21S0... Antwort Bei der Einstellung auf eine Spiegelstellung läuft folgende Sequenz ab: Befehl Antwort 02 31 50 30 31 52 03 0D 0A 02 06 30 03 0D 0A ;.1P01R... ;..0... Dieser Befehl wird sooft wiederholt, bis die Spiegelsteuerung antwortet. Dies dient nur der Synchronisierung, der zurückgegebene Wert wird nicht verwertet. 02 31 50 32 31 52 03 0D 0A 02 06 2D 35 33 03 0D 0A ;.1P21R... ;..-53... Dieser Befehl liest die aktuelle Encoderposition aus ( hier: -53 ) 02 31 41 2B 34 30 30 20 48 20 31 50 32 31 52 03 0D 0A 02 06 2D 35 37 35 39 03 0D 0A ;.1A+400 H 1P21R... ;..-5759... Dieser Befehl übergibt die neue Absolutposition ( hier: 400 ), wartet auf die Ausführung und liest die aktuelle Encoderposition aus ( hier: -5759 ) 19. März 2003 11
DSU. Spektrometerelektronik Die ROSIS-DSU und die Spektrometerelektronik sind über eine serielle Schnittstelle verbunden, diese wird mit 9600 Baud ( 8 Datenbits, No Parity, 1 Stoppbit ) betrieben. Über diese Schnittstelle werden: bei Bedarf die Timingeinheit programmiert und gesteuert, sowie laufend die Temperaturen von CCD-Sensor, Spiegel und ADC-Wandler übermittelt. Temperaturübermittlung 7B 7B 00 66 00 2E 00 35 7D 7D ; {{...}} Die drei Temperaturen werden im Format #1 übertragen ( Wert 9 Bit binär in 2 Bytes/HiLo ). 12 19. März 2003
Copyright 2000 Untere Bahnhofstraße 38a, D-82110 Germering Tel. 089/89427980 Fax. 089/89427982 Email: info@schneidersystem.de 19. März 2003 13