docs.unavlab.com

ГлавнаяГидроакустические навигационные и трекинговые системыZima2 USBL: Протокол информационного сопряжения

logo  
www.unavlab.com
support@unavlab.com
Zima2 USBL - гидроакустическая навигационная система
Протокол информационного сопряжения

Zima2 USBL
Протокол информационного сопряжения

Содержание

1. Введение

1.1. Протокол физического уровеня

Устройства системы Zima2 USBL поддерживают информационное сопряжение при помощи стандарта физического уровня RS-232 для асинхронного интерфейса (UART) c напряжением линии данных 3.3В. Подключение производится при помощи четырехпроводного кабеля, с жилами Tx (трансмиттер), Rx (ресивер), Vcc (питание) и GND (земля). Без применения дополнительных повторителей и преобразователей интерфейса максимальная длинна шины данных, для которой гарантируется корректная работа интерфейса, составляет не более 2 метров.

Настройки порта подключения:

Парметр Значение
Baudrate 9600 bit/s
Data bits 8
Stop bits 1
Parity No
Hardware flow control No

ВНИМАНИЕ! У устройств без преобразователей интерфейса напряжение линии данных составляет 3.3 В.

1.2. Стандарт протокола диалогового уровня NMEA0183

Стандарт NMEA0183 описывает формат текстовых (ASCII) сообщений диалогового уровня.

Пример сообщения:
$PAZM0,,0*06<СR><LF>

Основные элементы посылки (сообщения, sentence) NMEА0183:

Элемент Описание
$ начало сообщения
P Proprietary, проприетарный код
AZM трехбуквенный идентификатор
0 идентификатор сообщения
  первый параметр - пустой
, запятая (разделитель параметров)
0 второй параметр имеет значение ‘0’
* разделитель контрольной суммы
06 контрольная сумма в шестнадцатеричном формате (например FF, 01). Рассчитывается как побитовый XOR всех байт между ‘$’ и ‘*’.
<CR><LF> конец сообщения (перевод строки)

Формат вышеприведенного сообщения описывается следующим образом: $PAZM0,[x],x*06<СR><LF>

x - означает целочисленный параметр, квадратные скобки ‘[]’ - говорят о том, что параметр может быть пустым. Ниже представлен список возможных дескрипторов параметров:

Дескриптор Описание
x Целочисленное значение
xx Целочисленное значение занимающее ровно два символа: от 00 до 99
x.x Вещественное значение
c–c Строка символов
hh шестнадцатеричное значение от 00 до FF

2. Система команд AZM

Префикс D2H в наименовании сообщений означает, что оно передается от устройства (Device) к управляющей системе (Host). Префикс H2D в наименовании сообщений означает, что оно передается от управляющей системы (Host) к устройству (Device). Префикс D2D в наименовании сообщений означает, что оно может передаваться в обе стороны: как от устройства к управляющей системе, так и наоборот.

2.1. D2H_ACK

Сообщение D2H_ACK - реакция устройства на поступивший от управляющей системы запрос.

Формат сообщения: $PAZM0,[x],x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  0 идентификатор сообщения
1 cmdID Идентификатор команды, на которую устройство отреагировало
2 result Код ошибки См. Таблица 3.1. Коды ошибок
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.2. D2D_STRSTP

Сообщение D2D_STRSTP - сообщение для задания параметров запроса маяков-ответчиков.

Передается от управляющей системы к пеленгационной станции для:

Передается от пеленгационной станции к управляющей системе как эхо-подтверждение о принятии команды. Если команда не принимается устройством, то оно сообщает об этом при помощи команды 2.1. D2H_ACK с соответствущим кодом ошибки.

Формат сообщения: $PAZM1,[x],[x.x],[x.x],[x]*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  1 идентификатор сообщения
1 addrMask Маска адреса маяков для опроса, 16-битное цело беззнаковое число, каждый бит от 0 до 15 соответствует одному из маяков, бит = 0 - маяк не участвует в опросе, бит = 1 - маяк участвует в опросе. Если параметр пустой или равен нулю, то опрос останавливается.
2 sty_PSU Соленость воды в PSU в диапазоне от 0 до 40. Если параметр пустой, используется значение по умолчанию (0 PSU)
3 soundSpeed_mps Скорость звука в воде в м/с в диапазоне от 1350 до 1600 м/с. Если параметр пустой, скорость звука будет рассчитываться автоматически на основе данных о солености, температуре и давлении
4 max_dist_m Максимальная дальность в метрах в диапазоне от 500 до 5500. По данному параметру рассчитывается максимальный интервал ожидания ответа маяка.
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.3. D2D_RSTS

Сообщение D2D_RSTS - сообщение для задания настроек маяков-ответчиков.

Передается от управляющей системы к маяку-ответчику для задания его адреса и солености воды. Передается от маяка-ответчика к управляющей системе как эхо-подтверждение о принятии команды и установке параметров. Если команда не принимается устройством, то оно сообщает об этом при помощи команды 2.1. D2H_ACK с соответствущим кодом ошибки.

Формат сообщения: $PAZM2,[x],[x.x]*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  2 идентификатор сообщения
1 addr Адрес маяка в диапазоне от 0 до 15. Если параметр пустой, то адрес не изменяется.
2 sty_PSU Соленость воды в PSU в диапазоне от 0 до 40. Если параметр пустой, используется значение по умолчанию (0 PSU)
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.4. D2H_NDTA

Сообщение D2H_NDTA - статус пеленгационной станции.

Это основное сообщение, передающееся от пеленгационной станции к управляющей системе. При помощи него станция сообщает:

Формат сообщения: $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>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  3 идентификатор сообщения
1 status Статус сообщения, См. Таблица 3.2. Статус сообщения NDTA
2 addr Адрес маяка в диапазоне от 0 до 15. Параметр пустой для сообщений с полем ‘status’ содержащим ‘0’ (Только локальные параметры)
3 rq_code Идентификатор запрошенного у маяка параметра, См. Таблица 3.3. Идентификаторы адресных запросов
4 rs_code Код ответа маяка, См. Таблица 3.5. Идентификаторы ответов
5 msr_dB Параметр, определяющий качество приема ответного сигнала маяка в dB. 14 - порог приема, значения выше 20 dB означают хорошие условия связи
6 p_time_s Время распростренения сигнала в секундах. Умноженное на значение скорости звука дает наклонную дальность
7 s_range_m Наклонная дальность от пеленгационной антенны до маяка в метрах
8 p_range_m Проекция наклонной дальности от пеленгационной антенны до маяка на водную поверхность в метрах
9 r_dpt_m Абсолютное значение глубины маяка-ответчика в метрах
10 a_deg Горизонтальный угол прихода сигнала маяка-ответчика в градусах. Отсчитывается от нулевого направления пеленгационной антенны по часовой стрелке со стороны кабеля
11 e_deg Вертикальный угол прихода сигнала маяка-ответчика в градусах. Отсчитывается от горизонтальной плоскости, проходящей через антенную решетку
12 lprs_mBar Абсолютное давление в миллибарах по данным встроенного датчика пеленгационной антенны
13 ltmp_C Температура в °С по данным встроенного датчика пеленгационной антенны
14 lhdn_deg Параметр не используется, зарезервирован для будущих применений
15 lptc_deg Угол дифферента пеленгационной антенны. Отсчитывается от вертикали, положительные значения - крен на нос (в сторону нулевого направления антенны), отрицательные - крен на корму
16 lrol_deg Угол крена пеленгационной антенны. Отсчитывается от вертикали, положительные значения - на правый борт (относительно нулевого направления антенны), отрицательные значения - на левый борт
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.5. H2D_DPTOVR

Сообщение H2D_DPTOVR - сообщение для задания глубины маякам-ответчикам, не имеющих встроенный датчик глубины. Если команда не принимается устройством, то оно сообщает об этом при помощи команды 2.1. D2H_ACK с соответствущим кодом ошибки.

Формат сообщения: $PAZM4,x.x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  4 идентификатор сообщения
1 dpt_m Значение глубины в метрах
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.6. D2H_RUCMD

Сообщение D2H_RUCMD - передается маяком-ответчиком управляющей системе, если была получена команда телеуправления.

Формат сообщения: $PAZM5,x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  5 идентификатор сообщения
1 cmdID Идентификатор команды, cм. Таблица 3.3. Идентификаторы адресных запросов
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.7. D2H_RBCAST

Сообщение D2H_RBCAST - передается маяком-ответчиком управляющей системе, если была получена широковещательная команда.

Формат сообщения: $PAZM6,x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  6 идентификатор сообщения
1 cmdID Идентификатор команды, cм. Таблица 3.4. Идентификаторы широковещательных команд
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.8. H2D_DINFO_GET

Сообщение H2D_DINFO_GET - служит для запроса информации об устройстве.

Формат сообщения: $PAZM?,x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  ? идентификатор сообщения
1 0 Зарезервированно
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.9. D2H_DINFO

Сообщение D2H_DINFO - информация об устройстве.

Формат сообщения: $PAZM!,x,x,c--c,c--c,x,x,x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  ! идентификатор сообщения
1 d_type Тип устройства (0 - станция пеленгования, 1 - маяк-ответчик)
2 addressOrMask В зависимости от типа устройства - маска адресов маяков-ответчиков или адрес маяка-ответчика
3 serialNumber Серийный номер устройства
4 sys_info Информация о прошивке
5 sys_version Версия прошивки
6 pts_type Тип датчика давления см. Таблица 3.6. Типы датчиков давления
7 ch_id Идентификатор канала связи
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.10. H2D_CREQ

Поддерживается с версии прошивки 1.33

Сообщение H2D_CREQ - запрос пользовательских параметров. Команда поддерживается только станцией пеленгования. Опрос будет проведен однократно, после чего станция продолжит запрашивать глубину маяков-ответчиков.

Формат сообщения: $PAZM7,x,x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  7 идентификатор сообщения
1 addr Адрес маяка-ответчика, если поле пустое, указанный параметр будет запрошен у всех маяков-ответчиков, с которыми в данный момент идет работа
2 user_data_id Идентификатор пользовательского параметра cм. Таблица 3.3. Идентификаторы адресных запросов в диапазоне от CDS_REQ_USER_CMD_27 до CDS_REQ_USER_CMD_0
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

2.11. H2D_CSET

Поддерживается с версии прошивки 1.33

Сообщение H2D_CSET - задание значения пользовательского параметра. Команда поддерживается только маяками-ответчиками.

Формат сообщения: $PAZM8,x,x,x*hh<CR><LF>

Поле/параметр Описание
  $ начало сообщения ‘$’
  PAZM система команд AZM
  8 идентификатор сообщения
1 user_data_id Идентификатор пользовательского параметра cм. Таблица 3.3. Идентификаторы адресных запросов в диапазоне от CDS_REQ_USER_CMD_27 до CDS_REQ_USER_CMD_0
2 user_data_value Если параметр пустой, маяк-ответчик передаст значение данного параметра, если он был установлен. Принимаются значения в диапазоне от 0 до 499
3 Оставить поле пустым. Параметр зарезервирован для будущих применений  
  * разделитель контр. суммы NMEA
  hh контрольная сумма NMEA
  <CR><LF> конец сообщения

3. Таблицы идентификаторов

3.1. Коды ошибок

Код Наименование Описание
0 IC_RES_OK Команда принята без ошибок
1 IC_RES_INVALID_SYNTAX Ошибка синтаксиса
2 IC_RES_UNSUPPORTED_CMD Команда не поддерживается
3 IC_RES_ARGUMENT_OUT_OF_RANGE Значение как минимум одного аргумента вне границ диапазона допустимымх значений
4 IC_RES_INVALID_OPERATION Данная команды не может быть выполнена в текущем состоянии устройства
5 IC_RES_VALUE_UNAVAILABLE Значение запрошенного параметра недоступно в данный момент
6 IC_RES_TX_BUSY Передатчик занят
7 IC_RES_RX_BUSY Приемник занят

3.2. Статус сообщения NDTA

Код Наименование Описание
0 NDTA_LOC_ONLY В сообщении только локальные параметры пеленгационной антенны
1 NDTA_REMR В сообщении присутствуют данные ответа маяка-ответчика и локальные параметры пеленгационной антенны
2 NDTA_REMT в сообщении присутствуют данные о превышении интервала ожидвания маяка-ответчика и локальные параметры пеленгационной антенны

3.3. Идентификаторы адресных запросов

Код Наименование Описание
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  

3.4. Идентификаторы широковещательных команд

Код Наименование Описание
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  

3.5. Идентификаторы ответов

Код Наименование Описание
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  

3.6. Типы датчиков давления

Код Наименование Описание
0 NO SENSOR Устройство не содержит встроенного датчика давления
1 100 BAR Датчик закрытого типа с диапазоном 0 .. 100 Bar
2 30 BAR TYPE 1 Датчик открытого типа с диапазоном 0 .. 30 Bar
3 30 BAR TYPE 2 Датчик открытого типа с диапазоном 0 .. 30 Bar