Main ❯ Underwater acoustic modems ❯ RedLine: Communication protocol specification
![]() |
|
|---|---|
| www.unavlab.com support@unavlab.com |
RedLine - family of underwater acoustic communication devices Communication protocol specification |
RedLine underwater acoustic modems support data communication using the RS-232 physical layer standard for an asynchronous interface (UART) with a 3.3 V data line voltage. The connection is made using a four-wire cable with Tx (transmitter), Rx (receiver), Vcc (power) and GND (ground) wires. Without additional repeaters and interface converters, the maximum data bus length for which correct interface operation is guaranteed is no more than 2 meters.
Default port settings1:
Baudrate: 9600 bit/s
Data bits: 8
Stop bits: 1
Parity: No
Hardware flow control: No
CAUTION! The modems are powered by a 12 V DC source, while the data line voltage is 3.3 V.
The NMEA0183 standard describes the format of text (ASCII) sentences at the dialog layer.
Sentence example: $PTNT0,0*hh<CR><LF>
Main elements of an NMEA0183 sentence:
The D2H prefix in a sentence name means that it is transmitted from the device (Device) to the control system (Host). The H2D prefix in a sentence name means that it is transmitted from the control system (Host) to the device (Device).
The IC_D2H_ACK sentence is the device response to a request received from the control system.
Sentence format: $PTNT0,x*hh<CR><LF>
| Field/Parameter | Description |
|---|---|
| $ | Sentence start ‘$’ |
| PTNT | TNT |
| 0 | Sentence identifier |
| errCode | Error code (see 4.1) |
| * | NMEA checksum separator |
| hh | NMEA checksum |
| <CR><LF> | End of sentence |
Get the value of a local variable.
Sentence format: $PTNT4,xx,00*hh<CR><LF>
| Field/Parameter | Description |
|---|---|
| $ | Sentence start ‘$’ |
| 4 | Sentence identifier |
| Requested data ID | Data identifier (see 4.2) |
| Reserved | Reserved; must always be ‘00’ |
| * | NMEA checksum separator |
| hh | NMEA checksum |
| <CR><LF> | End of sentence |
Value of a local variable.
Sentence format: $PTNT5,x,x.x*hh<CR><LF>
| Field/Parameter | Description |
|---|---|
| $ | Sentence start ‘$’ |
| 5 | Sentence identifier |
| Requested data ID | Data identifier (see 4.2) |
| Requested data value | Value |
| * | NMEA checksum separator |
| hh | NMEA checksum |
| <CR><LF> | End of sentence |
This command allows the user to configure the modem settings.
Sentence format: $PTNT7,x,x,x,x*hh <CR><LF>
| Field/Parameter | Description |
|---|---|
| $ | Sentence start ‘$’ |
| PTNT | TNT |
| 7 | Sentence identifier |
| rxChID | Receive channel identifier |
| txChID | Transmit channel identifier |
| isRTX | ‘1’ – relaying is enabled, ‘0’ – relaying is disabled |
| isRVRS | ‘1’ – by default, when the modem receives data from the control system via UART, it transmits the data on the reverse channel, ‘0’ – on the forward channel |
| * | NMEA checksum separator |
| hh | NMEA checksum |
| <CR><LF> | End of sentence |
This command allows the user to read the modem settings.
Sentence format: $PTNT8,x*hh <CR><LF>
| Field/Parameter | Description |
|---|---|
| $ | Sentence start ‘$’ |
| PTNT | TNT |
| 8 Sentence identifier | |
| reserved | Reserved. Must be ‘0’ |
| * | NMEA checksum separator |
| hh | NMEA checksum |
| <CR><LF> | End of sentence |
The device uses this command to report its current settings to the control system.
Sentence format: $PTNT9,x,x,x,x*hh <CR><LF>
| Field/Parameter | Description |
|---|---|
| $ | Sentence start ‘$’ |
| PTNT | TNT |
| 9 | Sentence identifier |
| rxChID | Receive channel identifier |
| txChID | Transmit channel identifier |
| isRTX | ‘1’ – relaying is enabled, ‘0’ – relaying is disabled |
| isRVRS | ‘1’ – by default, when the modem receives data from the control system via UART, it transmits the data on the reverse channel, ‘0’ – on the forward channel |
| * | NMEA checksum separator |
| hh | NMEA checksum |
| <CR><LF> | End of sentence |
The device uses this sentence to report its data: device type, firmware version and serial number.
Sentence format: $PTNT!,c--c,x,x,c--c,x,c--c*hh<CR><LF>
| Field/Parameter | Description |
|---|---|
| $ | Sentence start ‘$’ |
| PTNT | TNT |
| ! | Sentence identifier |
| System moniker | System name string |
| System version | System version |
| Device type | Device type |
| Communication subsystem moniker | Communication subsystem name string with the release name in square brackets ‘[]’ |
| Communication subsystem version | Communication subsystem version |
| Serial number 96-bit serial number (a string in hexadecimal format) | |
| * | NMEA checksum separator |
| hh | NMEA checksum |
| <CR><LF> | End of sentence |
RedLine modems provide the user with a so-called “transparent channel”: all data supplied to the device input is transmitted to the underwater acoustic channel without modification or analysis, then received by another modem and passed unchanged to the user at the receiving end. For this reason, a service mode is provided to allow the modems to be configured.
The modems analyze input data only in service mode. To enter service mode, the “service” wire must be pulled to +3.3 V. Then, to exit service mode, the “service” wire must be pulled to ground.
CAUTION! The “service” wire must be pulled ONLY to 3-5 V or ground; connecting it to a higher voltage will cause IRREPARABLE damage to the device that is NOT COVERED BY THE WARRANTY.
CAUTION! Before switching on the device, the “service” wire must be pulled to ground; otherwise, the device will enter firmware update mode.
| Value | Name | Description |
|---|---|---|
| 0 | NO_ERROR | Request accepted |
| 1 | INVALID_SYNTAX | Syntax error |
| 2 | UNSUPPORTED | Command not supported |
| 3 | TRANSMITTER_BUSY | Transmitter is busy |
| 4 | ARGUMENT_OUT_OF_RANGE | Argument/parameter outside the range of permissible values |
| 5 | INVALID_OPERATION | The operation cannot be performed at this time |
| 6 | UNKNOWN_FIELD_ID | Unknown/unsupported field |
| 7 | VALUE_UNAVAILIBLE | Requested value is unavailable |
| 8 | RECEIVER_BUSY | Receiver is busy |
| Value | Name | Description |
|---|---|---|
| 0 | DEVICE_INFO | Device information |
| 2 | MAX_SUBSCRIBERS | Maximum possible number of subscribers |
| 6 | PRESSURE_RATING | Maximum operating external hydrostatic pressure in bar |