This file provides some detail about the echocoef.csv file (comma separated variable) and how Telemetry (TLM) is sent by the Echo Satellite. The echocoef.csv file contains the telemetry point definitions for the Echo Satellite’s originated TLM, and the coefficients used to calculate the engineering values from the raw counts sent on the downlink. An additional TLM record is sent by Echo indicating the status of the 5 I/O registers on the Integrated Flight Computer. Decoding the status of the I/O points from this telemetry record is also discussed.
From this document the user should be able to gain a basic understanding of the TLM sent by Echo, and be able to use decoding software to monitor the status of the satellite. Programmers should be able to develop their own decoding software from this information.
For those interested in developing software to copy and decode Echo TLM there is a Telemetry CSV file output specification included in this document. Software developers who write packages that decode the TLM are encouraged to include the CSV output as part of their software. Echo TLM data gathered by amateur stations is very useful to command stations monitoring the satellite. Users are encouraged to save and then upload their TLM data to a server, which will serve as a storehouse for Echo TLM. Details about uploading TLM and the server location will be added to this specification at a later date.
Telemetry Structure, Coefficient File Structure
Echo’s main telemetry is contained in a binary frame sent by the satellite. The order of the data in the frame is described in the TLMI data format section of this document. The channel layout, names, engineering calculation coefficients, engineering units, and comments (channel descriptions) are located in a comma separated variable file (CSV). This file is used by telemetry software to configure each telemetry channel. Software developers should use this file to initialize their channel configuration. The coefficients may change over time, therefore the CSV file allows for any future modification to the coefficient values. The structure of the CSV file will remain consistent.
The echocoef.csv file has the following structure. The columns are described from left to right:
- Channel number in Hex
- Channel number in Decimal
- Channel Name
- a coefficient
- b coefficient
- c coefficient
- d coefficient
- e coefficient
- f coefficient
- Engineering Units
- Low Limit
- High Limit
- Comment (channel description)
Description of each column field
Channel number in Hex
This is the channel number. It will match the output from the satellite, which is in Hex data. Beginning with channel 0 and counting sequentially in HEX to the last channel.
Channel number in Decimal
Same as Channel number in Hex but counting in Decimal through the last channel.
This is the descriptor (short name) for the channel.
a, b, c, d, e, f coefficient
These are the values used in the polynomial equations to calculate the telemetry channel engineering value. See the Calculation of TLM data section of this document for details on applying these values.
This describes what the value of the telemetry channel represents in engineering terms. Voltage, current, seconds, and counts are a few examples of units found in Echo telemetry.
Below this value the command team considers the telemetry channel to be in a warning or alarm condition.
Above this value the command team considers the telemetry channel to be in a warning or alarm condition.
This is the text description of what the channel represents.
The NOTES field in the echocoef file may be used as an indicator for the end of the data section in the file. Anything after the NOTES field will be information or change notes.
Telemetry Channel Descriptions
Channel numbers are shown in Decimal. Users should note that telemetry channels for systems or modules that are not powered at the time of the telemetry frame might contain invalid data. The analog signals will be floated in an unpowered state and will give invalid data. Often a raw value of 0, 2048, or 4095 can be seen when in this condition. The unpowered telemetry channel may also tend to follow the powered channel that before it.
Channel 0 - TX A Power: UHF Transmitter A Output Power level. Units are in watts.
Channel 1 - TX B Power: UHF Transmitter B Output Power level. Units are in watts.
Channel 2 - Torque Rod Capacitor Voltage: Voltage of the main capacitor in the torque rod subsystem. Units are volts.
Note: The battery voltages are for the group of battery cells indicated. Values can be subtracted to get the voltage of an individual cell.
Channel 3 - Battery Voltage: Voltage of the entire string of 6 battery cells. Units are volts.
Channel 4 - Cell 5 Voltage: Voltage of the first 5 battery cells. Units are volts.
Channel 5 - Cell 4 Voltage: Voltage of the first 4 battery cells. Units are volts.
Channel 6 - Cell 3 Voltage: Voltage of the first 3 battery cells. Units are volts.
Channel 7 - Cell 2 Voltage: Voltage of the first 2 battery cells. Units are volts.
Channel 8 - Cell 1 Voltage: Voltage of the first battery cell. Units are volts.
Channel 9 - 4.6 Volt Experiment Current: Current reading on the 4.6 volt buss. Units are milliamps. The four VHF and the SQRX receivers are powered from this buss.
Channel 10 - 4.6 Volt Experiment Voltage: Voltage reading on the 4.6 volt buss. Units are volts. The four VHF and the SQRX receivers are powered from this buss.
Channel 11 - 3.3 Volt Buss Current: Current reading on the 3.3 volt buss. Units are milliamps. The Integrated Flight Computer is powered from this buss.
Channel 12 - 3.3 Volt Buss Voltage: Voltage reading on the 3.3 volt buss. Units are volts. The Integrated Flight Computer is powered from this buss.
Note: Channel 13 and 14 represent the amount of power the BCR is taking from the Solar Panels. It is not necessarily the full output of the Solar Panel array. Any remaining power from the Solar Panels will be dissipated as heat in the panels.
Channel 13 - Solar Array Current: Total current output of the Solar Panel array subsystem used by the BCR. Units are milliamps.
Channel 14 - Solar Array Voltage: Total voltage output of the Solar Panel array subsystem. Units are volts.
Note: Satellite Z Axis Reference:
+Z is the receiver antenna end of the satellite.
Z is the transmitter antenna end of the satellite.
Channel 15 - +X Solar Panel Current: Individual current reading from the +X Solar Panel. Units are milliamps.
Channel 16 - -X Solar Panel Current: Individual current reading from the -X Solar Panel. Units are milliamps.
Channel 17 - +Y Solar Panel Current: Individual current reading from the +Y Solar Panel. Units are milliamps.
Channel 18 - -Y Solar Panel Current: Individual current reading from the -Y Solar Panel. Units are milliamps.
Channel 19 - +Z Solar Panel Current: Individual current reading from the +Z Solar Panel. Units are milliamps.
Channel 20 - - Z Solar Panel Current: Individual current reading from the -Z Solar Panel. Units are milliamps.
Channel 21 - +X Solar Panel Voltage: Individual voltage reading from the +X Solar Panel. Units are Volts.
Channel 22 - -X Solar Panel Voltage: Individual voltage reading from the -X Solar Panel. Units are Volts.
Channel 23 - +Y Solar Panel Voltage: Individual voltage reading from the +Y Solar Panel. Units are Volts.
Channel 24 - -Y Solar Panel Voltage: Individual voltage reading from the -Y Solar Panel. Units are Volts.
Channel 25 - +Z Solar Panel Voltage: Individual voltage reading from the +Z Solar Panel. Units are Volts.
Channel 26 - -Z Solar Panel Voltage: Individual voltage reading from the -Z Solar Panel. Units are Volts.
Channel 27 - Low Voltage Current: Current for the SQRX receiver. Units are milliamps.
Note: A Positive Battery current will indicate that the BCR is charging the batteries. A negative value will indicate that the BCR is draining power from the batteries to power the satellite.
Channel 28 - Battery I: Battery Charge/Discharge Current. Current input or output rate from the battery chain. Check Telemetry Channel 30 for Positive (charge) or Negative (discharge) sign. Units are milliamps. See special channel 128 below for information on decoding this channel data.
Channel 29 - Transmitter Current: Current drawn for all Transmitters combined. Include UHF TXA and TXB, and the S Band Transmitter. Units are Amps.
Channel 30 - Battery Sign: Battery current position or negative sign. Used to determine if the battery is charging or discharging. Units are counts. Greater than 800 counts indicates a negative current. Less than 800 counts will indicate a positive current.
Channel 31 - SQRX RSSI: The SQRX receiver’s received signal strength. Units are Counts.
Channel 32 - SQRX Speaker: Audio voltage of SQRX receiver. Units are Counts.
Channel 33 - Torque 1.2 Volt Reference: Control voltage in the torque rod subsystem. Units are volts.
Channel 34 - Torque Rod Magnetism Sense: Amount of magnetism in the torque rod. Units are Counts.
Channel 35 Not Used: There was not a suitable location for the thermistor therefore the CPU temp sensor could not be installed
Channel 36 - S Band Temperature: Temperature of the S Band Oscillator/Exciter module. Units are Deg C.
Channel 37 - - UHF Transmitter B Temperature: Sensor located on the heatsink next to the amplifier transistor in the UHF B transmitter housing. Transmitter housing is located in the Transmitter Module, top module of the satellite stack. Units are Degrees C.
Channel 38 - Not Used: The thermistor was not installed. Receiver Tray Temperature. Units are Degrees C.
Channel 39 - S Band Driver Temperature: Units are Degrees C.
Note: Solar Panel Temperature sensors are located on the back of the Solar Panel substraight and attached with thermally conductive epoxy.
Channel 40 - +Z Solar Panel Temperature: Units are Degrees C.
Channel 41 - Not Used: The thermistor was not installed. -Z Solar Panel Temperature. Units are Degrees C.
Channel 42 - +Y Solar Panel Temperature: Units are Degrees C.
Channel 43 - -Y Solar Panel Temperature: Units are Degrees C.
Channel 44 - +X Solar Panel Temperature: Units are Degrees C.
Channel 45 - -X Solar Panel Temperature: Units are Degrees C.
Channel 46 - Battery #1 Temperature: Units are Degrees C.
Channel 47 - Battery #2 Temperature: Units are Degrees C.
Channel 48 - Main Regulator Temperature: Voltage regulator for the main power buss located in the BCR module. Units are Degrees C.
Channel 49 - TX Voltage Regulator Temperature: Voltage regulator located on the BCR module for power feed to Transmitters. Units are volts.
Channel 50 - +4V Buss, Voltage Point #1: TBD
Channel 51 - +4V Buss, Voltage Point #2: TBD
Channel 52 - PHT Time: How often the Data broadcast messages are sent on the digital downlink. Time in seconds.
Channel 53 - Digipeater Status: 1=Digipeater On, 0= Digipeater Off
Channel 54 - Transmit Broadcast Ratio: How often the broadcast message is sent on the digital downlink. This is an integer multiplier of the PHT time. Therefore, if PHT time is set to 10, and Broadcast Ratio to 6, the text will be broadcast every 60 seconds.
Channel 55 - Battery Management: The channel will have a value from 0 to 3 to indicate the state of the satellite’s battery management software. At preset trip points of the battery voltage, various systems on the satellite will be shut down. A value of 0 will indicate no trip point has been reached. A 1 will indicate the first trip point has been reached and the S band PA and Exciter will be powered down. A 2 will indicate the 2nd trip point and UHF TXB will be powered down in addition to level 1. A 3 will indicate the 3rd trip point and UHF TXA power level will be reduced at a minimum value. At a voltage level below the last trip point the BCR will power cycle everything on the satellite.
Channel 56 - WOD State: Indicates the state of the WOD data collection system. A value of 0 indicates that WOD is Off. A 1 indicates that WOD is starting. A 2 indicates that WOD is currently running and collecting data. A 3 indicates that the WOD data collection is complete and stopped.
Channel 57 - EDAC Error: Count of the number of EDAC errors in Main Memory.
Channel 58 - Reserved: For future use.
Channel 59 - Reserved: For future use.
Channel 60 - Reserved: For future use.
Channel 61 - Reserved: For future use.
Channel 62 - Reserved: For future use.
Special Case Telemetry Channels:
Channel 128 - Batt I
Channel 129 - Batt I
Telemetry channels listed in the echocoef.csv file that are greater than 99 are used for special circumstances. For Echo there are two such listings, Channels 128 and 129. Both of these listings relate to the Battery Current (Batt I - channel 28). In order to gain the most accurate engineering measurement there are 3 sets of coefficients used to calculate Battery Current (Telemetry Channel 28). Engineering calculation of Battery Current uses both the Batt I (channel 28) and the Bat Sign (channel 30) to determine which set of polynomial parameters to utilize.
To calculate the Batt I (channel 28) engineering value use the following three (3) conditions to determine the correct polynomial values to use.
- If the raw value of Bat Sign (channel 30) is less than or equal to 800 (channel 30 <= 800) use the polynomial constants listed for Channel 28.
- If the raw value of Bat Sign (channel 30) is greater than 800 (channel 30 > 800) and the raw value of Batt I (channel 28) is greater than or equal to 23 (channel 28 >= 23) use the polynomial constants listed for channel 128.
- If the raw value of Bat Sign (channel 28) is less than 23 (channel 28 < 23) then use the polynomial constants listed for channel 129.
I/O Register Telemetry Structure
The Integrated Flight Computer on Echo has 5 registers (8 bits each) that are available as digital I/O (Input or Output) to control various functions on the satellite. Each individual bit may be configured as either an input or an output. These I/O points are wired to various modules in the satellite to provide the control functions necessary to operate the satellite.
See the TLMS record format section of this document for instruction on decoding the registers and how to find what the state of each I/O point (bit) represents.
The following is a description of the 5 Input/Output registers and what each bit (input or output) of the individual register represents to the satellite.
Bit 0 - BCR DAC Chip Select: Communications Bit between Integrated Flight Computer and DAC in the BCR. It sets the battery charge and solar panel set points.
Bit 1 - Spare, not used.
Bit 2 - TX Bus Power Control: Turn on the power buss to the UHF transmitters. Each transmitter has an individual power enable as well.
Bit 3 - SQRX 4.6V Power Control: Turn on power to the SQRX receiver.
Bit 4 - Spare, not used.
Bit 5 - Torquer Positive Command: Apply the capacitor charge in a positive direction into the torque rod, putting magnetism into the rod.
Bit 6 - Torquer Enable Command: Charges the variable torque rod system capacitor.
Bit 7 - Torquer Negative Command: Apply the capacitor charge in a negative direction into the torque rod, putting magnetism into the rod.
Bit 0 - Spare, not used.
Bit 1 - Spare, not used.
Bit 2 - TX A DAC Power Level CS: Communications bit between Integrated Flight Computer and UHF A transmitter. Used to set the TX power level
Bit 3 - TX A PLL Strobe: Communications bit between Integrated Flight Computer and UHF A transmitter.
Bit 4 - TX SPI Data: Used by software to control the Serial Peripheral Interface.
Bit 5 - TX SPI Clock: Used by software to control the Serial Peripheral Interface.
Bit 6 - TX B DAC Power Level CS: Communications bit between Integrated Flight Computer and UHF B transmitter. Used to set the TX power level.
Bit 7 - TX B PLL Strobe: Communications bit between Integrated Flight Computer and UHF B transmitter.
Bit 0 - RS232 Power Monitor: Used for ground integration. Input line that tells the CPU that the built in serial port for the V53 CPU chip is in use. Powered high only when the satellite is under bench test with the communications adapter connected.
Bit 1 - CTCSS TXA Valid Tone: Indicates if the CTCSS decoder for UHF TXA has received a valid tone. The tone frequency is selectable by command. A Low (0) indicates the correct Tone is being received.
Bit 2 - CTCSS TXB Valid Tone: Indicates if the CTCSS decoder for UHF TXB has received a valid tone. The tone frequency is selectable by command. A Low (0) indicates the correct Tone is being received.
Bit 3 - Spare, not used.
Bit 4 - RX1 Channel Select: Selects between the two available input frequencies for VHF Receiver #1. A High state on this output address indicates the primary frequency is selected, a Low state indicates the secondary frequency.
Bit 5 - RX2 Channel Select: Selects between the two available input frequencies for VHF Receiver #2. A High state on this output address indicates the primary frequency is selected, a Low state indicates the secondary frequency.
Bit 6 - RX3 Channel Select: Selects between the two available input frequencies for VHF Receiver #3. A High state on this output address indicates the primary frequency is selected, a Low state indicates the secondary frequency.
Bit 7 - Spare, not used.
Bit 0 - TXA Standby Power Control: UHF Transmitter A Power Enable Output. Transmitter A will be ON with a High state of this address.
Bit 1 - TXB Standby Power Control: UHF Transmitter B Power Enable Output. Transmitter B will be ON with a High state of this address.
Bit 2 - TXA PTT: UHF Transmitter A Push to Talk Enable Output. Transmitter A will be transmitting a signal with a High state of this address.
Bit 3 - TXB PTT: UHF Transmitter B Push to Talk Enable Output. Transmitter B will be transmitting a signal with a High state of this address.
Bit 4 - Spare, not used.
Bit 5 - RX 4V Power Switch: Control line for the 4V power buss in the satellite. Turned on all the time in Echo.
Bit 6 - SQRX Antenna Select: Relay to switch between the two antennas available to the SQRX receiver. A Low state indicates the SQRX is tied to the L/S antenna. A High state indicates the SQRX is tied to the V antenna.
Bit 7 - Spare, not used.
Bit 0 - S Band Exciter Clock: Used for Serial communication with the S Band Transmitter.
Bit 1 - S Band Exciter Data: Used for Serial communication with the S Band Transmitter.
Bit 2 - S Band Exciter Chip Select: Used for Serial communication with the S Band Transmitter.
Bit 3 - Spare, not used.
Bit 4 - S Band Exciter ON: S Band transmitter Power Enable Output. S band transmitter will be transmitting a signal with a High state of this address.
Bit 5 - S Band PA Enable: Turns on power to the S Band power amplifier.
Bit 6 - S Band Power Setting: Selects the level of the S Band amplifier. Off = Low power, On = High power.
Bit 7 - Spare, not used.
Calculation of TLM Data
The TLM channel engineering value is calculated using the polynomial equation:
Echo TLM Channel engineering value = a + bx + cx^2 + dx^3 + ex^4 + fx^5
x= the channel value computed from the two data bytes (discussed later).
The temperature equation uses all places of the 5th order polynomial equation. Other engineering calculations only use a 2nd order polynomial and have the d, e, and f coefficient set to 0. And finally, certain TLM channels do not require any engineering calculation, and therefore have only a b coefficient value of 1.
TLMI Data Format:
Telemetry frames are sent to the callsign ‘TLMI’.
TLMI packets are AX.25 UI frames. The data portion consists of a 4 byte time stamp followed by the data points. The time stamp is in DOS time format: the number of seconds since January 1, 1970. Echo time is always UTC.
Each data point is 3 bytes. The first byte is the channel number as a hex value, matching the channels in echocoef.csv. The next two bytes contain the counts as read and sent by the satellite software. They are sent high order byte first.
There will be as many data points as there are channels in the echocoef.csv file.
TLMS Data Format
I/O register telemetry frames are sent to the callsign ‘TLMS’.
TLMS packets are AX.25 UI frames. And have the following data format:
TLMS-1 :C0:## C1:## C2:## C3:## C4:##
As an example:
TLMS-1 :C0:05 C1:44 C2:77 C3:27 C4:04
The I/O registers are labeled C0, C1, C2, C3, and C4. The current value in hex follows the register label. For example, C2 is shown with a hex value of 77 in the sample above.
BCR Telemetry Format
The BCR telemetry frame contains information about the battery system. These are the same raw values, converted into decimal format, as in the TLMI frame for the specific channel. The satellite will send these frames even when TLMI frames are turned off. Therefore, the critical battery information may be monitored at all times.
The frame is sent with the callsign ‘BCR-1’ and has the following format.
BCR-1: :BCR: batv=aaa bati=bbb batsense=ccc battop=ddd batlow=eee batt1=fff batt2=ggg sav=hhh sai=iii
The values shown by the letters a thru i, will represent the raw telemetry channel value, in decimal format. The values will be between one (1) and four (4) characters long. The correct engineering coefficients will have to be applied to get a calibrated value. The labels, which are shortened from their individual channel descriptions, represent the following telemetry channels, except for battop and batlow, which are special values calculated by the Echo control software onboard the satellite. Please see the Telemetry Channel Descriptions for details on each channel.
batv: Channel 3
bati: Channel 28
batsense: Channel 30
battop: Highest battery voltage observed since the Satellite software was loaded. Description and decoding same as Channel 3.
batlow: Lowest battery voltage observed since the Satellite software was loaded. Description and decoding same as Channel 3.
batt1: Channel 46
batt2: Channel 47
sav: Channel 14
sai: Channel 13
TLM CSV Output
In order to provide an easy method for telemetry data to be transferred and viewed the Echo Command Team will be using two CSV output files to collect and save telemetry data. It is requested that software developers provide these CSV files when they decode telemetry. Also, the data contained in these files can be used to view telemetry copied from the satellite.
Two CSV file outputs are desired. One will contain the raw telemetry channel data, without the engineering calculation. The other file will have the engineering calculation applied to the raw value before storing in the CSV file.
Both CSV files will have the following 4 rows of header records at the beginning of the file. A header group will contain 3 rows of information from the user, and a final header row for labeling the data columns.
Row 1: Callsign of Station collecting data
Row 2 will be either one of the following:
Row 2: Grid, grid locator
Row 2: Stations Latitude, Stations Longitude
Row 3: Software Name and version number, either “Raw” or “Engineering”, depending on which type of data the file contains.
Header for the TLM data with the format:
Row 4: Echo Time,C00,C01,C02,C03 …….. and on for as many channels as available.
Echo Time will be the time value copied from the satellite’s TLMI telemetry record with the date computed by the ground software. Echo Time Raw will be the raw time copied from the satellite’s TLMI telemetry record stored as an integer (value is in seconds) value. See the TLMI Data Format section for more information on how time is sent by the satellite.
Here are 2 examples:
Grid example with Raw telemetry data:
Echo Time,Echo Time Raw,C00,C01,……..,C59,C60,C61,C62,Last Good I/O Telemetry
Lat/Lon example with Calculated telemetry data:
Following the header, starting with Row 5, each received TLMI record would be loaded into a row of the CSV file. For the Raw file, the channel values are in raw form. They are computed from the two-byte hex values, but do not have engineering calculation applied. This is done so that if the polynomial equation values are ever changed the TLM data stored will be in a usable form, and can have the new calculation applied. For the Engineering CSV file the calculation is applied and the calculated values for each channel are stored in the CSV file. At a minimum accuracy to 2 decimal places is desired. This is done to make the saved telemetry data file easy to work with.
The last TLMS record (I/O Telemetry) sent by the satellite should be attached to the end of the CSV file record as the last field. This will help give a snapshot of the IO system at the point the Telemetry was send by the Satellite. See the last field in the examples below.
Raw CSV file example data line:
0,0,C0:15 C1:44 C2:77 C3:27 C4:04
Engineering CSV file example data line:
0,0,0,C0:15 C1:44 C2:77 C3:27 C4:04
The Date and Time column will be formatted as shown in the examples above.
The formatting for the first column, Echo Time, will be: mm.dd.yyyy hh.mm.ss
mm = 2 digit month
dd = 2 digit day
yyyy = 4 digit year
hh = 2 digit hour
mm = 2 digit minute
ss = 2 digit seconds
Example CSV files will be available for downloading and reviewing, in order to make the format clear.
Files available for downloading
echocoef.csv - TLM coefficient file in zip format
eng.csv - Sample Engineering CSV output file
raw.csv - Sample Raw Value CSV output file
Please note that the echocoef.csv file may change occasionally. Please check for updated files to make sure to use the lasted data. The updated files will be placed on the Amsat website as well as other Echo related sites.
Questions and Comments
Please direct any questions or comments to Mike Kingery, KE4AZN via his callsign @amsat.org
Ver 1.0 - Initial document release.
Ver 1.1 - 4/4/2004, Minor corrections, MEK.
Ver. 1.2 - 6/28/2004, Edit Channel descriptions to match the echocoef file, added satellite axis reference, marked unused telemetry channels, added description of special channels, edit BCR Telemetry Format section, added time descriptions for CSV output, added I/O Tlm record to CSV files, new CSV file examples