![]() |
|
|---|---|
| www.unavlab.com support@unavlab.com |
RedGTR - модем кодовой гидроакустической связи Протокол информационного сопряжения |
Гидроакустические модемы RedGTR поддерживают информационное сопряжение при помощи стандарта физического уровня RS-232 для асинхронного интерфейса (UART) c напряжением линии данных 3.3В. Подключение производится при помощи четырехпроводного кабеля, с жилами Tx (трансмиттер), Rx (ресивер), Vcc (питание) и GND (земля). Без применения дополнительных повторителей и преобразователей интерфейса максимальная длинна шины данных, для которой гарантируется корректная работа интерфейса, составляет не более 2 метров.
Настройки порта подключения по умолчанию1:
Baudrate: 9600 bit/s
Data bits: 8
Stop bits: 1
Parity: No
Hardware flow control: No
ВНИМАНИЕ! Питание модемов осуществляется от источника постоянного тока 12 Вольт, при этом напряжение линии данных составляет 3.3 В.
Стандарт NMEA0183 описывает формат текстовых (ASCII) сообщений диалогового уровня.
Пример сообщения: $PTNT0,0*hh<СR><LF>
Основные элементы посылки (сообщения, sentence) NMEА0183:
Префикс D2H в наименовании сообщений означает, что оно передается от устройства (Device) к управляющей системе (Host). Префикс H2D в наименовании сообщений означает, что оно передается от управляющей системы (Host) к устройству (Device).
Данным сообщением устройство сигнализирует о принятии команды или о возникновении ошибки (в зависимости от значения параметра errorCode, (см. п. 3.2).
Формат сообщения: $PTNT0,x*hh <CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| 0 | Идентификатор сообщения |
| errorCode | Код ошибки (см. п. 3.2) |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Запросить значение локального параметра. При помощи данного сообщения управляющая система может запросить значение локального параметра (см. п. 3.3).
Формат сообщения: $PTNT4,xx,00*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| 4 | Идентификатор сообщения |
| Requested data ID | Идентификатор данных (см. п. 3.3) |
| Reserved | Зарезервированно, всегда должно быть ‘00’ |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Задать значение локального параметра. При помощи данного сообщения управляющая система может запросить задание значения локального параметра (см. п. 3.3).
Формат сообщения: $PTNT7,xx,00*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| 7 | Идентификатор сообщения |
| Requested data ID | Идентификатор данных (см. п. 3.3) |
| Reserved | Зарезервированно, всегда должно быть ‘00’ |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Значение локального параметра. При помощи данного сообщения модем возвращает значение запрошенного (при помощи сообщения IC_H2D_LOC_DATA_GET) управляющей системой локального параметра.
Формат сообщения: $PTNT5,x,x.x*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| 5 | Идентификатор сообщения |
| Requested data ID | Идентификатор данных (см. п. 3.3) |
| Requested data value | Значение |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Информация об устройстве. При помощи данного сообщения устройство сообщает свои данные: тип устройства, версию прошивки и серийный номер.
Формат сообщения: $PTNT!,c--c,x,x,c--c,x,c--c*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| ! | Идентификатор сообщения |
| System moniker | Строка наименование системы |
| System version | Версия системы |
| Device type | Тип устройства (см. п. 3.1) |
| Communication subsystem moniker | Строка наименования подсистемы связи с наименованием релиза в квадратных скобках ‘[]’ |
| Communication subsystem version | Версия подсистемы связи |
| Serial number | 96-битный серийный номер (строка в шестнадцатеричном формате) |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Запрос на выполнение сервисной операции.
Формат сообщения: $PTNT6,xx,00*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| 6 | Идентификатор сообщения |
| Action ID | Идентификатор операции (см. п. 3.4) |
| Reserved | Зарезервировано ‘00’ |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Передача кодового сообщения удаленному абоненту.
Формат сообщения: $PTNT8,x,ч*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| 8 | Идентификатор сообщения |
| Subscriber ID | Адрес абонента от 0 до 25 (25 - широковещательное сообщение) |
| Message ID | Идентификатор сообщения, (см. п. 3.5) |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Пинг удаленного абонента.
Формат сообщения: $PTNTA,x,x*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| A | Идентификатор сообщения |
| Subscriber ID | Адрес абонента от 0 до 24 |
| Timeout | Максимальное время ожидание ответа в мсек (целое число) |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Пинг удаленного абонента (расширенная версия).
Формат сообщения: $PTNTE,x,x*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| E | Идентификатор сообщения |
| Subscriber ID | Адрес абонента от 0 до 24 |
| Message ID | Идентификатор запрашиваемого параметра удаленного абонента (см. п. 3.5) |
| Timeout | Максимальное время ожидание ответа в мсек (целое число) |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Принято сообщение.
Формат сообщения: $PTNT9,x,x.x,x.x*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| 9 | Идентификатор сообщения |
| Message ID | Идентификатор принятого сообщения (см. п. 3.5) |
| SNR | Соотношение сигнал-помеха при приеме, дБ |
| Dpl | Доплероское смещение, Гц |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Превышен интервал ожидания удаленного абонента.
Формат сообщения: $PTNTB,x*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| B | Идентификатор сообщения |
| Subscriber ID | Идентификатор запрошенного абонента |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Принят ответ удаленного абонента на запрос REM_PING.
Формат сообщения: $PTNTC,x,x.x,x.x,x.x,x.x,x.x,x.x*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| C | Идентификатор сообщения |
| Subscriber ID | Идентификатор запрошенного абонента |
| MSR | Соотношение сигнал-помеха при приеме, дБ |
| Dpl | Доплеровское смещение, Гц |
| pTime | Время распросранения сигнала до запрошенного абонента, сек |
| Dist | Дистанция до запрошенного абонента, м (только для исполнения со встроенным датчиком глубины) |
| Dpt | Собственная глубина, м (только для исполнения со встроенным датчиком глубины) |
| Tmp | Собственная температура, °С (только для исполнения со встроенным датчиком глубины) |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
Принят ответ удаленного абонента на запрос REM_PINGEX.
Формат сообщения: $PTNTD,x,x,x.x,x.x,x.x,x.x,x.x,x.x,x.x*hh<CR><LF>
| Поле/параметр | Описание |
|---|---|
| $ | Начало сообщения ‘$’ |
| PTNT | Система команд TNT |
| D | Идентификатор сообщения |
| Subscriber ID | Идентификатор запрошенного абонента |
| Requested data ID | Идентификатор запрошенного значения (см.п. 3.5) |
| Requested data | Запрошенное значение |
| MSR | Соотношение сигнал-помеха при приеме, дБ |
| Dpl | Доплеровское смещение, Гц |
| pTime | Время распросранения сигнала до запрошенного абонента, сек |
| Dist | Дистанция до запрошенного абонента, м (только для исполнения со встроенным датчиком глубины) |
| Dpt | Собственная глубина, м (только для исполнения со встроенным датчиком глубины) |
| Tmp | Собственная температура, °С (только для исполнения со встроенным датчиком глубины) |
| * | Разделитель конт. суммы NMEA |
| hh | Контрольная сумма NMEA |
| <CR><LF> | Конец сообщения |
| Значение | Тип устройства | Описание |
|---|---|---|
| ‘0’ | DEVICE_REDBASE | RedWave гидроакустический буй-ретранслятор |
| ‘1’ | DEVICE_REDNODE | RedWave навигационный приемник |
| ‘2’ | DEVICE_REDNAV | RedWave навигатор водолаза |
| ‘3’ | DEVICE_REDGTR | RedWave кодовый модем |
| ‘10’ | DEVICE_REDLINE | RedLine ГА модем |
| ‘11’ | DEVICE_NATRIX | Natrix ГА модем |
| Значение | Наименование | Описание |
|---|---|---|
| ‘0’ | NO_ERROR | Запрос принят |
| ‘1’ | INVALID_SYNTAX | Ошибка синтаксиса |
| ‘2’ | UNSUPPORTED | Команда не поддерживается |
| ‘3’ | TRANSMITTER_BUSY | Передатчик занят |
| ‘4’ | ARGUMENT_OUT_OF_RANGE | Аргумент/параметр вне диапазона допустимых значений |
| ‘5’ | INVALID_OPERATION | Невозможно выполнить операцию в данный момент |
| ‘6’ | UNKNOWN_FIELD_ID | Неизвестное/неподдерживаемое поле |
| ‘7’ | VALUE_UNAVAILIBLE | Запрошенное значение недоступно |
| ‘8’ | RECEIVER_BUSY | Приемник занят |
| Значение | Наименование | Описание |
|---|---|---|
| ‘0’ | DEVICE_INFO | Информация об устройстве |
| ‘1’ | MAX_REM_TOUT | Максимальное значение интервала ожидания удаленного ответа, мсек |
| ‘2’ | MAX_SUBS | Максимально возможное число адресов абонентов |
| ‘3’ | PTS_PRESSURE | Значение давления по показаниям встроенного датчика (при наличии такового), мБар |
| ‘4’ | PTS_TEMP | Значение температуры воды по показаниям встроенного датчика (при наличии такового), °С |
| ‘5’ | PTS_DEPTH | Глубина (расстояние от поверхности воды) по показаниям встроенного датчика (при наличии такового) |
| ‘6’ | CORE_TEMP | Температура ядра процессора, °С |
| ‘7’ | BAT_VOLTAGE | Напряжение питания, В |
| ‘8’ | PRESSURE_RATING | Максмально допустимое внешнее давление, Бар |
| ‘9’ | SURFACE_PRESSURE | Давление у поверхности воды, мБар |
| ‘10’ | WATER_DENSITY | Плотность воды, кг/м3 |
| ‘11’ | SALINITY | Соленость воды, PSU |
| ‘12’ | SOUND_SPEED | Скорость звука в воде, м/с |
| ‘13’ | GRAVITY_ACC | Ускорение свободного падения, м/с2 |
| ‘14’ | Резерв | |
| ‘15’ | Резерв | |
| ‘16’ | Резерв | |
| ‘17’ | Резерв | |
| ‘18’ | Резерв | |
| ‘19’ | Резерв | |
| ‘20’ | SUB_ID | Адрес абонента |
| Значение | Наименование | Описание |
|---|---|---|
| ‘0’ | LOC_INVOKE_FLASH_WRITE | Сохранение настроечных полей во внутренний флеш |
| ‘1’ | LOC_INVOKE_DPT_ZERO_ADJUST | Принять текущие показания давления за давление у поверхности воды |
| ‘2’ | LOC_INVOKE_RESTART | ‘Теплая’ перезагрузка устройства |
| Наименование | Код | Описание |
|---|---|---|
| CDS_CMD_PING | 0 | Пинг-запрос |
| CDS_CMD_PONG | 1 | Ответ на пинг |
| CDS_CMD_DPT | 2 | Глубина |
| CDS_CMD_TMP | 3 | Температура |
| CDS_CMD_BAT | 4 | Напряжение батареи |
| CDS_CMD_USR_0 | 5 | Пользовательская команда |
| CDS_CMD_USR_1 | 6 | Пользовательская команда |
| CDS_CMD_USR_2 | 7 | Пользовательская команда |
| CDS_CMD_USR_3 | 8 | Пользовательская команда |
| CDS_CMD_USR_4 | 9 | Пользовательская команда |
| CDS_CMD_USR_5 | 10 | Пользовательская команда |
| CDS_CMD_USR_6 | 11 | Пользовательская команда |
| CDS_CMD_USR_7 | 12 | Пользовательская команда |
| CDS_CMD_USR_8 | 13 | Пользовательская команда |
| CDS_CMD_USR_9 | 14 | Пользовательская команда |
| CDS_CMD_USR_10 | 15 | Пользовательская команда |
| CDS_CMD_USR_11 | 16 | Пользовательская команда |
| CDS_CMD_USR_12 | 17 | Пользовательская команда |
| CDS_CMD_USR_13 | 18 | Пользовательская команда |
| CDS_CMD_USR_14 | 19 | Пользовательская команда |
| CDS_CMD_USR_15 | 20 | Пользовательская команда |
| CDS_CMD_USR_16 | 21 | Пользовательская команда |
| CDS_CMD_USR_17 | 22 | Пользовательская команда |
| CDS_CMD_USR_18 | 23 | Пользовательская команда |
| CDS_CMD_USR_19 | 24 | Пользовательская команда |
| CDS_CMD_USR_20 | 25 | Пользовательская команда |
| CDS_CMD_USR_21 | 26 | Пользовательская команда |
| CDS_CMD_USR_22 | 27 | Пользовательская команда |
| CDS_CMD_USR_23 | 28 | Пользовательская команда |
| CDS_CMD_USR_24 | 29 | Пользовательская команда |
| CDS_CMD_USR_25 | 30 | Пользовательская команда |
| CDS_CMD_USR_26 | 31 | Пользовательская команда |
| CDS_CMD_USR_27 | 32 | Пользовательская команда |
| CDS_CMD_USR_28 | 33 | Пользовательская команда |
| CDS_CMD_USR_29 | 34 | Пользовательская команда |
| CDS_CMD_USR_30 | 35 | Пользовательская команда |
| CDS_CMD_USR_31 | 36 | Пользовательская команда |
| CDS_CMD_USR_32 | 37 | Пользовательская команда |
| CDS_CMD_USR_33 | 38 | Пользовательская команда |
| CDS_CMD_USR_34 | 39 | Пользовательская команда |