University of Southern California

AENEAS Telemetry Data & QSL Card

To download our beacon decoder, please use the link below

(Right click and save) AeneasBeaconDecoder.zip

 

Fields of the AENEAS Beacon Packets

This document describes the fields of the AENEAS satellite automatic beacon packet and how to use the decoder program.

BEACON DECODER USAGE

ISI supplies a Java program, as a JAR file with the name BeaconDecoder.jar, that can be used to display the values in a packet. It can be used only in a shell or command window. A Java runtime environment compatible with Java 6 is required.

The decoder program is run by submitting the JAR file and a file of captured data packets to the java command.

java -jar BeaconDecoder.jar sample.dat

Optional Arguments

Beacon data packets contain a checksum. The decoder calculates a checksum from the data it sees and compares it to the checksum in the packet. If the checksums do not match, no attempt is made to decode the data. This behavior may be overridden using the switch "-i" as shown:

java -jar BeaconDecoder.jar sample.dat -i

PACKET EXAMPLE

The packet below, stored in the file sample.dat, is used for illustration. The ASCII characters represent hexadecimal digits. How the bit patterns encoded by these digits is interpreted depends on their position in the packet.

sample.dat: 4341455255531D0040020001010B06000732FF070000001000F07500003E330041C0A50BC1CFD3

Breakdown of the packet by byte:

	Bytes                   Label                        Offset
-----                   -----                        ------
43 41 45 52 55 53       Packet Header                 0 -  5
1D 00                   Packet Length                 6 -  7
40                      Packet Type                   8 -  8
02 00                   Unused Bytes                  9 - 10
01 01 0B 06 00 07 32    Date/Time Encoding           11 - 17
FF 07                   Reboot Counter               19 - 20
00 00                   Reboot Reason Code           21 - 22
00 10                   Flash Status Flags           23 - 24
00 F0 75 00             Telemetry Pointer            25 - 28
00 3E 33 00             Payload Write Pointer        29 - 32
41                      Radio Status                 33 - 33
C0 A5 0B C1             Miscellaneous Write Pointer  34 - 37
CF D3                   Checksum                     38 - 39

The first six bytes represent a marker token that signals that a packet follows. For AENEAS, the word "CAERUS" is used. (CAERUS is the name of a previous USC spacecraft, the "older sibling" of AENEAS.) The marker will always be 434145525553, CAERUS in ASCII.

The final two bytes of the packet are a checksum. The decoder calculates the checksum and compares it to this value to validate the data.

Neither the marker header nor the checksum are included in the data display.

PACKET DISPLAY

The printed decoding of the packet in sample.dat:

	$ java -jar BeaconDecoder.jar sample.dat 
AENEAS Beacon Data Decoder, Rev 1.1
Opening file at sample.dat
AENEAS Beacon TLM Packet found:
---------TELEMETRY-BEGIN----------
Total length: 29
Type:64
Unused: 0x02 0x00 
Time: 1/1/11-6-0:7:50
Reboots: 2047
Last Reboot Cause: 0
Flash Status: 0
Bit 0 = 0 : Device is ready.
Bit 1 = 0 : Device is NOT write-enabled.
Bit3&4= 1 : All sectors software-protected.
Bit 4 = 0 : WP is asserted.
Bit 5 = 0 : Last op successful.
Bit 7 = 0 : Sector Protection Registers unlocked.
Payload Write Pointer: 3358208
Telemetry Pointer: 7729152
Radio Status: 65
No detailed Radio info yet
Misc Write Pointer: -1056201280
---------TELEMETRY-END----------
Done: End of stream reached.

Packet Fields

Each line of the decoder output is described below.

	"AENEAS Beacon Data Decoder, Rev 1.1
Opening file at sample.dat"

These lines display the name and revision of the decoder program itself and display the name of the file from which data will be read.

	"AENEAS Beacon TLM Packet found:
---------TELEMETRY-BEGIN----------"

These lines show that a packet marker was recognized.

		"Total length: 29"

The packet should contain 29 bytes. This is encoded in the packet as "1D00." The length does not include the marker, packet length and checksum bytes.

		"Type: 64"

The packet type tells the decoder how to interpret the rest of the packet. Currently, only type 64 packets are transmitted.

		"Unused: 0x02 0x00"

The next two bytes, "0200," are unused and are skipped over by the decoder.

		"Time: 1/1/11-6-0:7:50"

The next seven bytes encode a date and time. The bytes are: month, day, year, weekday, hour of day, minute of hour, seconds of minute.

At launch, the default date after a boot is January 1, 2011 at midnight. Planed updates for Aeneas include adjusting the clock so that the date and time survive a reboot.

		"Reboots: 2047"

The two bytes after the date encode the count of reboots. This should be a low number.

		"Last Reboot Cause: 0"

The next two bytes encode the reason for the most recent reboot. The set of possible values is:

		0: RESTART_POWER_UP
         1: RESTART_BROWNOUT
         4: RESTART_WATCHDOG
         6: RESTART_SOFTWARE
         7: RESTART_MCLR
         14: RESTART_ILLEGAL_OP
         15: RESTART_TRAP_CONFLICT
		"Flash Status: 0"

The flash status code. The individual bits have these meanings:

		Bit 0 = 0 : Device is ready.
  Bit 1 = 0 : Device is NOT write-enabled.
  Bit3&4= 1 : All sectors software-protected.
  Bit 4 = 0 : WP is asserted.
  Bit 5 = 0 : Last op successful.
  Bit 7 = 0 : Sector Protection Registers unlocked.
		"Payload Write Pointer: 3358208"

This is the address used by the iTag processing software, the main experiment. As the experiment makes progress, this address should move. Payload base address and allocation are, respectively:

		0x75F000 = 7729152 decimal
    0x0A0000
		"Telemetry Pointer: 7729152"

After launch, the Telemetry write pointer should move at the rate of 572 bytes a minute while the spacecraft is awake. This rate can be used, over successive beacon recordings, to determine how long the spacecraft is active on orbit. The rate of advance for this telemetry pointer can be changed using ground commands, depending on mission requirements.

The Telemetry base address and allocation are, respectively:

		0x137000 = 1273856 decimal
  0x628000 = 6455296 decimal

It can go up to 7729152 (the start of payload area) before wrapping around.

		"Radio Status: 65
No detailed Radio info yet"

Code for status of the radio antenna. The value "65" means system is responding normally. The eight bits represent these conditions:

		0: MHX_PWR
          1: MHX_OUTPUT_ENABLE
          2: MHX_DATA_TERMINAL_READY
          3: MHX_DATA_SEND_READY
          4: MHX_REQUEST_TO_SEND
          5: MHX_CLEAR_TO_SEND
          6: MHX_CARRIER_DETECT

The sample packet does not contain detailed radio status.

"Misc Write Pointer: -1056201280"

The Miscellaneous Write address is where spacecraft diagnostic data is stored until a connection with main antenna is established and the data can be downloaded. Base address and allocation are, respectively:

		0x010000 =  65536 decimal
    0x022000 = 139264 decimal
		"---------TELEMETRY-END----------"

The decoder prints this line to indicate the end of each packet in the file.

		"Done: End of stream reached."

The decoder reached the end of the file.

QUESTIONS

Questions about the software or the Aeneas spacecraft may be sent to:

aeneas@astronautics.usc.edu

 

 

 

 

Groups: