Main ❯ Navigation & tracking systems ❯ Zima2 USBL: Protocol specification
www.unavlab.com support@unavlab.com |
Zima2 USBL - Underwater tracking system Communication protocol specification |
Devices of the Zima2 USBL system support data interfacing using the RS-232 physical layer standard for asynchronous interface (UART) with 3.3V data line voltage. The connection is made with a four-wire cable, with Tx cores. (transmitter), Rx (receiver), Vcc (power) and GND (ground). Without the use of additional repeaters and interface converters the maximum length of the data bus, for which the correct operation of the interface is guaranteed, is no more than 2 meters.
Connection port settings:
Parameter | Value |
---|---|
Baudrate | 9600 bit/s |
Data bits | 8 |
Stop bits | 1 |
Parity | No |
Hardware flow control | No |
WARNING! For devices without interface converters, the data line voltage is 3.3 V.
The NMEA0183 standard describes the format for text (ASCII) messages (sentences).
Sentence example:
$PAZM0,,0*06<СR><LF>
The main parts of an NMEA 0183 sentence:
Item | Description |
---|---|
$ | Sentence start |
P | Proprietary |
AZM | Protocol ID |
0 | Sentence ID |
The first parameter is empty | |
, | comma (parameter delimiter) |
0 | the second parameter has value ‘0’ |
* | Checksum delimiter |
06 | Checksum in hex (e.g. FF, 01). Calculates as byte by byte XOR for all bytes between ‘$’ и ‘*’. |
<CR><LF> | End of sentence |
The format of the above sentence is described as follows:
$PAZM0,[x],x*06<СR><LF>
x - means an integer parameter, square brackets ‘[]’ - indicate that the parameter can be empty. The following is a list of possible parameter descriptors:
Descriptors | Description |
---|---|
x | Integer value |
xx | Integer value spanning exactly two characters: from 00 to 99 |
x.x | Real value |
c–c | Character string |
hh | hex value from 00 to FF |
The D2H prefix in the sentence name means that it is transmitted from the device (Device) to the host system (Host). The H2D prefix in the sentence name means that it is transmitted from the control system (Host) to the device (Device). The D2D prefix in the sentence name means that it can be transmitted in both directions: from the device to the control system, and vice versa.
Sentence D2H_ACK - response of the device to a request received from the control system.
Sentence format:
$PAZM0,[x],x*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
0 | Sentence ID | |
1 | cmdID | ID of the command to which the device responded |
2 | result | Error code see Table 3.1. Error codes |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
The D2D_STRSTP message is a sentence for setting the autorequest (polling) parameters for beacons-responders.
Transmitted from the control system to the direction finding station for:
Transmitted from the direction finding antenna to the control system as an echo confirmation of the acceptance of the command. If the command is not accepted by the device, then it reports this using the command 2.1. D2H_ACK with the corresponding error code.
Sentence format:
$PAZM1,[x],[x.x],[x.x],[x]*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
1 | Sentence ID | |
1 | addrMask | Address mask for polling, 16-bit unsigned integer, each bit from 0 to 15 corresponds to one of the responders, bit = 0 - the responder does not participate in the poll, bit = 1 - the responder participates in the poll. If the parameter is empty or equal to zero, then polling stops. |
2 | sty_PSU | Salinity of water in PSU in the range from 0 to 40. If the parameter is empty, the default value (0 PSU) is used. |
3 | soundSpeed_mps | The speed of sound in water in m/s in the range from 1350 to 1600 m/s. If the parameter is empty, the speed of sound will be calculated automatically based on salinity, temperature and pressure data |
4 | max_dist_m | Maximum range in meters in the range from 500 to 5500. This parameter is used to calculate the maximum interval for waiting for a responder response |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
D2D_RSTS message - a message for setting the settings of responder beacons.
It is transmitted from the control system to the responding beacon to set its address and water salinity. It is transmitted from the responder beacon to the control system as an echo confirmation that the command has been accepted and the parameters have been set. If the command is not accepted by the device, then it reports this using the command 2.1. D2H_ACK with the corresponding error code.
Sentence format:
$PAZM2,[x],[x.x]*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
2 | Sentence ID | |
1 | addr | Responder address in the range from 0 to 15. If the parameter is empty, then the address does not change. |
2 | sty_PSU | Salinity of water in PSU in the range from 0 to 40. If the parameter is empty, the default value (0 PSU) is used. |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
D2H_NDTA message - direction-finding antenna status.
This is the main message transmitted from the direction finding antenna to the control system. With it, the station reports:
Sentence format:
$PAZM3,x,[x],[x],[x],[x.x],[x.x],[x.x],[x.x],[x.x],[x.x],[x.x],[x.x],[x.x],[x.x],[x.x],[x.x]*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
3 | Sentence ID | |
1 | status | Sentence status see Table 3.2. NDTA sentence status |
2 | addr | Responder address from 0 to 15. Parameter empty for sentences with ‘status’ field containing ‘0’ (Local parameters only) |
3 | rq_code | Identifier of the parameter requested from the responder beacon, see Table 3.3. Addressed requests |
4 | rs_code | Response code, see Table 3.5. Response identifiers |
5 | msr_dB | A parameter that determines the quality of receiving the beacon’s response signal in dB. 14 - reception threshold, values above 20 dB indicate good communication conditions |
6 | p_time_s | Signal propagation time in seconds. Multiplied by the speed of sound gives the slant range |
7 | s_range_m | Slant range from DF antenna to responder in meters |
8 | p_range_m | Projection of the slant range from the direction finding antenna to the responder on the water surface in meters |
9 | r_dpt_m | The absolute value of the depth of the responder beacon in meters |
10 | a_deg | Horizontal angle of arrival of the responder signal in degrees. Counted from the zero direction of the direction finding antenna clockwise from the cable side |
11 | e_deg | Vertical angle of arrival of the responder signal in degrees. Counted down from a horizontal plane passing through the antenna array |
12 | lprs_mBar | Absolute pressure in millibars according to the built-in DF antenna sensor |
13 | ltmp_C | Temperature in °C according to the built-in sensor of the DF antenna |
14 | lhdn_deg | Parameter not used, reserved for future use |
15 | lptc_deg | DF antenna pitch angle. Counted from the vertical, positive values - pitch to the bow (towards the zero direction of the antenna), negative - pitch to the stern |
16 | lrol_deg | Angle of roll of the DF antenna. Measured from the vertical, positive values - to starboard (relative to the zero direction of the antenna), negative values - to port |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
The H2D_DPTOVR sentence is for setting the depth for responder beacons that do not have a built-in depth sensor. If the command is not accepted by the device, then it reports this using the command 2.1. D2H_ACK with the corresponding error code.
Sentence format:
$PAZM4,x.x*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
4 | Sentence ID | |
1 | dpt_m | Depth in meters |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
Sentence D2H_RUCMD - transmitted by the responder beacon to the control system if a telecontrol command was received.
Sentence format:
$PAZM5,x*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
5 | Sentence ID | |
1 | cmdID | Addressed request ID, see Table 3.3. Addressed requests |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
D2H_RBCAST sentence - sent by the responder beacon to the control system if a broadcast command has been received.
Sentence format:
$PAZM6,x*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
6 | Sentence ID | |
1 | cmdID | Request ID, see Table 3.4. Broadcast requests |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
H2D_DINFO_GET sentence - is used to request information about the device.
Sentence format:
$PAZM?,x*hh<CR><LF>
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
? | Sentence ID | |
1 | 0 | Reserved |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
Sentence D2H_DINFO - device information.
Sentence format:
$PAZM!,x,x,c--c,c--c,x,x,x*hh<CR><LF>
d_type,address,serialNumber,sys_info,sys_version,pts_type,ch_id
№ | Field/Parameter | Description |
---|---|---|
$ | Sentence start ‘$’ | |
PAZM | AZM protocol | |
! | Sentence ID | |
1 | d_type | Device type (0 - DF-antenna, 1 - responder beacon) |
2 | addressOrMask | Depending on the type of device - a mask of responder beacon addresses or an address of a responder beacon |
3 | serialNumber | Device serial number |
4 | sys_info | Firmware information |
5 | sys_version | Firmware version |
6 | pts_type | Pressure sensor type see Table 3.6. Pressure sensors |
7 | ch_id | Code channel ID |
* | NMEA Checksum delimiter | |
hh | NMEA Checksum | |
<CR><LF> | End of sentence |
Code | Name | Description |
---|---|---|
0 | IC_RES_OK | Command accepted. No errors |
1 | IC_RES_INVALID_SYNTAX | Syntax error |
2 | IC_RES_UNSUPPORTED_CMD | Command not supported |
3 | IC_RES_ARGUMENT_OUT_OF_RANGE | The value of at least one argument is out of the range of valid values |
4 | IC_RES_INVALID_OPERATION | This command cannot be executed in the current state of the device |
5 | IC_RES_VALUE_UNAVAILABLE | The value of the requested parameter is not available at the moment |
6 | IC_RES_TX_BUSY | Transmitter is busy |
7 | IC_RES_RX_BUSY | Receiver is busy |
Code | Name | Description |
---|---|---|
0 | NDTA_LOC_ONLY | The sentence contains only local parameters of the direction finding antenna |
1 | NDTA_REMR | The sentence contains the response data of the responding beacon and the local parameters of the direction-finding antenna |
2 | NDTA_REMT | The sentence contains data on exceeding the waiting interval of the response of the requested responder beacon and local parameters of the direction-finding antenna |
Code | Name | Description |
---|---|---|
0 | CDS_REQ_DPT | |
1 | CDS_REQ_TMP | |
2 | CDS_REQ_VCC | |
3 | CDS_REQ_USER_CMD_27 | |
4 | CDS_REQ_USER_CMD_26 | |
5 | CDS_REQ_USER_CMD_25 | |
6 | CDS_REQ_USER_CMD_24 | |
7 | CDS_REQ_USER_CMD_23 | |
8 | CDS_REQ_USER_CMD_22 | |
9 | CDS_REQ_USER_CMD_21 | |
10 | CDS_REQ_USER_CMD_20 | |
11 | CDS_REQ_USER_CMD_19 | |
12 | CDS_REQ_USER_CMD_18 | |
13 | CDS_REQ_USER_CMD_17 | |
14 | CDS_REQ_USER_CMD_16 | |
15 | CDS_REQ_USER_CMD_15 | |
16 | CDS_REQ_USER_CMD_14 | |
17 | CDS_REQ_USER_CMD_13 | |
18 | CDS_REQ_USER_CMD_12 | |
19 | CDS_REQ_USER_CMD_11 | |
20 | CDS_REQ_USER_CMD_10 | |
21 | CDS_REQ_USER_CMD_9 | |
22 | CDS_REQ_USER_CMD_8 | |
23 | CDS_REQ_USER_CMD_7 | |
24 | CDS_REQ_USER_CMD_6 | |
25 | CDS_REQ_USER_CMD_5 | |
26 | CDS_REQ_USER_CMD_4 | |
27 | CDS_REQ_USER_CMD_3 | |
28 | CDS_REQ_USER_CMD_2 | |
29 | CDS_REQ_USER_CMD_1 | |
30 | CDS_REQ_USER_CMD_0 |
Code | Name | Description |
---|---|---|
497 | CDS_BCAST_FUNC_0 | |
498 | CDS_BCAST_FUNC_1 | |
499 | CDS_BCAST_FUNC_2 | |
500 | CDS_BCAST_FUNC_3 | |
501 | CDS_BCAST_FUNC_4 | |
502 | CDS_BCAST_STY_SET_0 | |
503 | CDS_BCAST_STY_SET_5 | |
504 | CDS_BCAST_STY_SET_10 | |
505 | CDS_BCAST_STY_SET_15 | |
506 | CDS_BCAST_STY_SET_20 | |
507 | CDS_BCAST_STY_SET_25 | |
508 | CDS_BCAST_STY_SET_30 | |
509 | CDS_BCAST_STY_SET_35 | |
520 | CDS_BCAST_STY_SET_40 |
Code | Name | Description |
---|---|---|
500 | CDS_ERR_RES_0 | |
501 | CDS_ERR_RES_1 | |
502 | CDS_ERR_RES_2 | |
503 | CDS_ERR_RES_3 | |
504 | CDS_ERR_RES_4 | |
505 | CDS_ACK | |
506 | CDS_ERR_NAVAIL | |
507 | CDS_ERR_NSUPP | |
508 | CDS_ERR_BAT_LOW | |
509 | CDS_RSYS_STRT |
Code | Name | Description |
---|---|---|
0 | NO SENSOR | The device does not contain a built-in pressure sensor |
1 | 100 BAR | Closed type sensor with range 0 .. 100 Bar |
2 | 30 BAR TYPE 1 | Open type sensor with range 0 .. 30 Bar |
3 | 30 BAR TYPE 2 | Open type sensor with range 0 .. 30 Bar |