X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=doc%2Ftelemetry.xsl;fp=doc%2Ftelemetry.xsl;h=2e0b3ea1e9b22d8f452b125725749501cf1cf1fb;hp=e410150742b5caf9d6935e8b17de69885a3b2bfc;hb=4862bec43b29264c361950700f935604f41b840b;hpb=cdd7ad469728fde178c69b9c99d70d6e0ab3f12d 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