From: Keith Packard Date: Sat, 7 Mar 2015 20:33:36 +0000 (-0800) Subject: doc: Update telemetry docs to include new packet formats X-Git-Tag: 1.6.0.3~106 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=4862bec43b29264c361950700f935604f41b840b doc: Update telemetry docs to include new packet formats Add TeleMega TeleMetrum v2 and companion data packet formats. List which radio parts each product uses. Document modulation parameters for new data rates. Signed-off-by: Keith Packard --- diff --git a/doc/telemetry.xsl b/doc/telemetry.xsl index e4101507..2e0b3ea1 100644 --- a/doc/telemetry.xsl +++ b/doc/telemetry.xsl @@ -110,7 +110,7 @@
- Sensor Data + TeleMetrum v1.x, TeleMini and TeleNano Sensor Data @@ -124,7 +124,7 @@ 0x01 - TeleMetrum Sensor Data + TeleMetrum v1.x Sensor Data 0x02 @@ -138,7 +138,7 @@ - TeleMetrum, TeleMini and TeleNano share this same packet + TeleMetrum v1.x, TeleMini and TeleNano share this same packet format for sensor data. Each uses a distinct packet type so that the receiver knows which data values are valid and which are undefined. @@ -213,6 +213,316 @@
+
+ TeleMega Sensor Data + + + + + + + Type + Description + + + + + 0x08 + TeleMega IMU Sensor Data + + + 0x09 + TeleMega Kalman and Voltage Data + + + + + + TeleMega has a lot of sensors, and so it splits the sensor + data into two packets. The raw IMU data are sent more often; + the voltage values don't change very fast, and the Kalman + values can be reconstructed from the IMU data. + + + IMU Sensor Data packets are transmitted once per second on the + ground, 10 times per second during ascent and once per second + during descent and landing + + + Kalman and Voltage Data packets are transmitted once per second on the + ground, 5 times per second during ascent and once per second + during descent and landing + + + The high-g accelerometer is reported separately from the data + for the 9-axis IMU (accel/gyro/mag). The 9-axis IMU is mounted + so that the X axis is "across" the board (along the short + axis0, the Y axis is "along" the board (along the long axis, + with the high-g accelerometer) and the Z axis is "through" the + board (perpendicular to the board). Rotation measurements are + around the respective axis, so Y rotation measures the spin + rate of the rocket while X and Z rotation measure the tilt + rate. + + + The overall tilt angle of the rocket is computed by first + measuring the orientation of the rocket on the pad using the 3 + axis accelerometer, and then integrating the overall tilt rate + from the 3 axis gyroscope to compute the total orientation + change of the airframe since liftoff. + + + TeleMega IMU Sensor Packet Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_torientAngle from vertical in degrees + + + 6int16_taccelHigh G accelerometer + + + 8int32_tprespressure (Pa * 10) + + + 12int16_ttemptemperature (°C * 100) + + + 14int16_taccel_xX axis acceleration (across) + + + 16int16_taccel_yY axis acceleration (along) + + + 18int16_taccel_zZ axis acceleration (through) + + + 20int16_tgyro_xX axis rotation (across) + + + 22int16_tgyro_yY axis rotation (along) + + + 24int16_tgyro_zZ axis rotation (through) + + + 26int16_tmag_xX field strength (across) + + + 28int16_tmag_yY field strength (along) + + + 30int16_tmag_zZ field strength (through) + + + 32 + + + +
+ + TeleMega Kalman and Voltage Data Packet Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_tstateFlight state + + + 6int16_tv_battbattery voltage + + + 8int16_tv_pyropyro battery voltage + + + 10int8_t[6]sensepyro continuity sense + + + 16int32_tground_presAverage barometer reading on ground + + + 20int16_tground_accelAverage accelerometer reading on ground + + + 22int16_taccel_plus_gAccel calibration at +1g + + + 24int16_taccel_minus_gAccel calibration at -1g + + + 26int16_taccelerationm/s² * 16 + + + 28int16_tspeedm/s * 16 + + + 30int16_theightm + + + 32 + + + +
+
+
+ TeleMetrum v2 Sensor Data + + + + + + + Type + Description + + + + + 0x0A + TeleMetrum v2 Sensor Data + + + 0x0B + TeleMetrum v2 Calibration Data + + + + + + TeleMetrum v2 has higher resolution barometric data than + TeleMetrum v1, and so the constant calibration data is + split out into a separate packet. + + + TeleMetrum v2 Sensor Data packets are transmitted once per second on the + ground, 10 times per second during ascent and once per second + during descent and landing + + + TeleMetrum v2 Calibration Data packets are always transmitted once per second. + + + TeleMetrum v2 Sensor Packet Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_tstateFlight state + + + 6int16_taccelaccelerometer + + + 8int32_tprespressure sensor (Pa * 10) + + + 12int16_ttemptemperature sensor (°C * 100) + + + + 14int16_taccelerationm/s² * 16 + + + 16int16_tspeedm/s * 16 + + + 18int16_theightm + + + + 20int16_tv_battbattery voltage + + + 22int16_tsense_ddrogue continuity sense + + + 24int16_tsense_mmain continuity sense + + + 26pad[6]pad bytes + + + 32 + + + +
+ + TeleMetrum v2 Calibration Data Packet Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5pad[3]pad bytes + + + 8int32_tground_presAverage barometer reading on ground + + + 12int16_tground_accelAverage accelerometer reading on ground + + + 14int16_taccel_plus_gAccel calibration at +1g + + + 16int16_taccel_minus_gAccel calibration at -1g + + + 18pad[14]pad bytes + + + 32 + + + +
+
Configuration Data @@ -315,7 +625,7 @@ This packet provides all of the information available from the - Venus SkyTraq GPS receiver—position, time, speed and precision + GPS receiver—position, time, speed and precision estimates. @@ -604,62 +914,169 @@
+
+ Companion Data Data + + + + + + + Type + Description + + + + + 0x07 + Companion Data Data + + + + + + When a companion board is attached to TeleMega or TeleMetrum, + it can provide telemetry data to be included in the + downlink. The companion board can provide up to 12 16-bit data + values. + + + The companion board itself specifies the transmission rate. On + the ground and during descent, that rate is limited to one + packet per second. During ascent, that rate is limited to 10 + packets per second. + + + Companion Data Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_tboard_id + Type of companion board attached + + + 6uint8_tupdate_period + How often telemetry is sent, in 1/100ths of a second + + + 7uint8_tchannels + Number of data channels supplied + + + 8uint16_t[12]companion_data + Up to 12 channels of 16-bit companion data + + + 32 + + + +
+
Data Transmission - Altus Metrum devices use the Texas Instruments CC1111 - microcontroller which includes an integrated sub-GHz digital - transceiver. This transceiver is used to both transmit and - receive the telemetry packets. This section discusses what - modulation scheme is used and how this device is configured. + Altus Metrum devices use Texas Instruments sub-GHz digital radio + products. Ground stations use parts with HW FEC while some + flight computers perform FEC in software. TeleGPS is + transmit-only. + + Altus Metrum Radio Parts + + + + + + + Part Number + Description + Used in + + + + + CC111110mW transceiver with integrated SoC + TeleDongle v0.2, TeleBT v1.0, TeleMetrum v1.x, TeleMini + + + CC112035mW transceiver with SW FEC + TeleMetrum v2, TeleMega + + + CC120035mW transceiver with HW FEC + TeleDongle v3.0, TeleBT v3.0 + + + CC115L14mW transmitter with SW FEC + TeleGPS + + + +
Modulation Scheme Texas Instruments provides a tool for computing modulation parameters given a desired modulation format and basic bit - rate. For AltOS, the basic bit rate was specified as 38 kBaud, - resulting in the following signal parmeters: + rate. + + While we might like to use something with better low-signal + performance like BPSK, the radios we use don't support that, + but do support Gaussian frequency shift keying (GFSK). Regular + frequency shift keying (FSK) encodes the signal by switching + the carrier between two frequencies. The Gaussian version is + essentially the same, but the shift between frequencies gently + follows a gaussian curve, rather than switching + immediately. This tames the bandwidth of the signal without + affecting the ability to transmit data. + + For AltOS, there are three available bit rates, 38.4kBaud, + 9.6kBaud and 2.4kBaud resulting in the following signal + parmeters: + Modulation Scheme - - - + + + - Parameter - Value - Description + Rate + Deviation + Receiver Bandwidth - Modulation - GFSK - Gaussian Frequency Shift Keying - - - Deviation - 20.507812 kHz - Frequency modulation - - - Data rate - 38.360596 kBaud - Raw bit rate + 38.4kBaud + 20.5kHz + 100kHz - RX Filter Bandwidth - 93.75 kHz - Receiver Band pass filter bandwidth + 9.6kBaud + 5.125kHz + 25kHz - IF Frequency - 140.62 kHz - Receiver intermediate frequency + 2.4kBaud + 1.5kHz + 5kHz @@ -668,10 +1085,12 @@
Error Correction - The cc1111 provides forward error correction in hardware, - which AltOS uses to improve reception of weak signals. The - overall effect of this is to halve the available bandwidth for - data from 38 kBaud to 19 kBaud. + The cc1111 and cc1200 provide forward error correction in + hardware; on the cc1120 and cc115l that's done in + software. AltOS uses this to improve reception of weak + signals. As it's a rate 1/2 encoding, each bit of data takes + two bits when transmitted, so the effective data rate is half + of the raw transmitted bit rate.
Error Correction