2024-04-16 15:48:47


r00t.cz


Satellites

My Software

Hardware

Misc stuff

Links

Vaisala RS92

Page: Radiosondes.RS92 - Last Modified : Sun, 15 Dec 19

Hardware variants

NameSensorsWindBandModulationUpdate rate
RS92-AGPPTUGPS400MHzGMSK/direct 4800Bd2x/sec
RS92-SGPPTUGPS400MHzGMSK/Manchester/8N1 2400Bd1x/sec
RS92-DPTUNone1680MHzGMSK/Manchester/8N1 2400Bd1x/sec
RS92-KLPTULoran400MHzFM/Tone frequencies1x/sec

Different battery types

Appended to the type listed above, fe. RS92-SGPD

DDry 6xAA cells
WWater activated
A3xCR123 cells
JSpecial version for Japan, 6xAA

Programming connector

On the bottom side, card edge "slot" connector behind plastic flap with serial number sticker:

(Looking from the bottom, antenna on the left, flap opens up)

1Direct battery + voltage
2Ground
3CPU UART TX
4CPU UART RX
5not connected
6CPU PIN 46 (unknown use)
7EEPROM SPI CS
8CPU PIN 46 (unknown use)
9EEPROM SPI CLK
10EEPROM MOSI
11CPU RESET (pull down to reset CPU)
12EEPROM MISO

UART protocol

All communication over UART is using 8N1 serial framing and always starts at 2400Bd. Baudrate can be changed using commands to 115200Bd (makes reading EEPROM and values much faster).

Frame format

Request:   Reply:
[CMD] [DATALEN] (data bytes) [CHKSUM]   [ACK/ERROR]
  • [CMD] is command byte
  • [DATALEN] is number of data bytes that follow
  • [CHKSUM] is XOR of all preceding data bytes (doesn't include CMD or DATALEN)
  • [ACK/ERROR] is result code:
0x06Success
0xA0Invalid Command
0xA1Invalid Checksum
0xA2Invalid Coeff. Block
0xA3Invalid Addr
0xA4Invalid Baudrate
0xA5Invalid Frequency
0xA6Invalid Time
0xA8Error Writing Data
0xA9Error Writing Status
0xAFUnspecified Error
  • Radiosonde will always ACK all commands and same is expected from the host.
  • All multi-byte values are using little-endian (Intel) representation

Commands

Radiosonde can be in two modes:

SOUNDING MODEThis is normal mode when in flight, transmitter is activated and radiosonde is operating normally
PROGRAMMING MODEIn this mode, transmitter is stopped and parameters can be changed

Common commands

These commands work in both operating modes


0x61 - Get sonde serial number

Host request:   Sonde result:
0x61 0x00 0x00   [ACK/ERROR]
Cmd DataLen ChkSum   Result
Sonde reply:   Host ACK:
0x61 [len] 0xVV 0xVV ASCII SN... [chk]   0x06
Cmd DataLen Hardware version Serial number ChkSum   ACK

0x62 - Switch to programming mode

Host request:   Sonde result:
0x62 0x00 0x00   [ACK/ERROR]
Cmd DataLen ChkSum   Result

0x6E - Switch to sounding mode

Host request:   Sonde result:
0x6E 0x00 0x00   [ACK/ERROR]
Cmd DataLen ChkSum   Result

Sounding mode commands

These commands are only available in normal operation (sounding) mode


0x67 - Set transmitter power level

Host request:   Sonde result:
0x67 0x01 0xLL [chk]   [ACK/ERROR]
Cmd DataLen Power level ChkSum   Result
  • Power level values:
0x00Power amplifier off
0x01Low
0x02High
0x03Forced high
  • This command only changes current transmitter setting, doesn't affect any EEPROM bytes

0x68 - Send telemetry data over UART

Host request:   Sonde result:
0x68 0x01 0xST [chk]   [ACK/ERROR]
Cmd DataLen State ChkSum   Result
  • State values:
0x00Disabled, UART at 2400Bd
0x01Enabled, UART at 115200Bd
  • When enabled, only valid command is 0x68 to disable it
  • Baudrate change happens after ACK is send from radiosonde

Programming mode commands

These commands are only available in programming mode


0x64 - Get radiosonde status code

Host request:   Sonde result:
0x64 0x00 0x00   [ACK/ERROR]
Cmd DataLen ChkSum   Result
Sonde reply:   Host ACK:
0x64 0x02 0xST 0xST [chk]   0x06
Cmd DataLen Status ChkSum   ACK
  • Status is a bitfield:
bit0Bad EEPROM values
bit1Low battery voltage
bit3Bad PTU values

0x6A - Set UART baudrate

Host request:   Sonde result:
0x6A 0x01 0xRR [chk]   [ACK/ERROR]
Cmd DataLen Baudrate ChkSum   Result
  • Baudrate values:
0x002400Bd
0x03115200Bd
  • Change happens after radiosonde ACKs this command

0x80 - Disable EEPROM write protection

Host request:   Sonde result:
0x80 0x00 [chk]   [ACK/ERROR]
Cmd DataLen ChkSum   Result
  • Note: this command may not be needed, other commands that write to EEPROM seems to disable/enable protection automatically

0x81 - Enable EEPROM write protection

Host request:   Sonde result:
0x81 0x00 [chk]   [ACK/ERROR]
Cmd DataLen ChkSum   Result

0x82 - Recalculate and write EEPROM checksum

Host request:   Sonde result:
0x82 0x00 [chk]   [ACK/ERROR]
Cmd DataLen ChkSum   Result
  • Only needed if you write to EEPROM manually, standard functions correct the checksum automatically

0x63 - Set humidity sensor heating mode

Host request:   Sonde result:
0x63 0x01 0xMM [chk]   [ACK/ERROR]
Cmd DataLen Mode ChkSum   Result
  • Warning: When enabled, sensors get very hot (over 100°C) and if used for longer period, they will be damaged

0x6B - Set KillTimer value

Host request:   Sonde result:
0x6B 0x02 0xTT 0xTT [chk]   [ACK/ERROR]
Cmd DataLen Time ChkSum   Result
  • Sets KillTimer value in seconds, writes to EEPROM. When zero, KillTimer is disabled.

0x66 - Set frequency

Host request:   Sonde result:
0x66 0x02 0xFR 0xFR [chk]   [ACK/ERROR]
Cmd DataLen Frequency ChkSum   Result
  • Sets transmitter frequency in EEPROM. Value is in 10KHz steps from 400MHz for 400MHz radiosondes. Allowed range is 400-406MHz.

0x69 - Read bytes from EEPROM

Host request:   Sonde result:
0x69 0x03 0xAD 0xDR 0xNN [chk]   [ACK/ERROR]
Cmd DataLen Address Length ChkSum   Result
Sonde reply:   Host ACK:
0x69 [len] 0xXX... [chk]   0x06
Cmd DataLen Read bytes ChkSum   ACK
  • Can read up to 255 bytes at once from any valid address

0x83 - Write single EEPROM byte

Host request:   Sonde result:
0x83 0x03 0xAD 0xDR 0xBY [chk]   [ACK/ERROR]
Cmd DataLen Address Byte ChkSum   Result

0x65 - Get calibration data block

Host request:   Sonde result:
0x65 0x02 0xBL 0xNN [chk]   [ACK/ERROR]
Cmd DataLen Block nr. Length ChkSum   Result
Sonde reply:   Host ACK:
0x65 [len] 0xXX... [chk]   0x06
Cmd DataLen Read bytes ChkSum   ACK
  • This command simply reads calibration block from EEPROM

0x90 - Get PTU measurements

Host request:   Sonde result:
0x90 0x00 0x00   [ACK/ERROR]
Cmd DataLen ChkSum   Result
Sonde reply:   Host ACK:
0x90 0x0C 0xTE 0xTE 0xTI 0xTI 0xH1 0xH1 0xH2 0xH2 0xPP 0xPP 0xPP 0xPP [chk]   0x06
Cmd DataLen Ext.Temp. Int.Temp. Humidity 1 Humidity 2 Pressure ChkSum   ACK
  • To get actual value: (x/100.0)-100.0
  • This command reads fully calibrated values from PTU sensors, result is in °C for temperature, rel. % for humidity and hPa for pressure.

All content on this webpage is published for personal use only.
You are using any software downloaded from this page at your own risk. Some software may be illegal to use in your country.


© r00t 2009-2021 (email: r00t@<this domain>)