Научная статья на тему 'Tsip протокол для взаимодействия с GPS приемником thunderbolt'

Tsip протокол для взаимодействия с GPS приемником thunderbolt Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
214
67
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОТОКОЛ / ДАННЫЕ / ИДЕНТИФИКАТОР / БАЙТ / КОДИРОВКА / ДЕСКРИПТОР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шевский Владислав Сергеевич

В статье описывается принцип работы с GPS приемником Thunderbolt в соответствии с правилами протокола TSIP.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Tsip протокол для взаимодействия с GPS приемником thunderbolt»

TSIP ПРОТОКОЛ ДЛЯ ВЗАИМОДЕЙСТВИЯ С GPS ПРИЕМНИКОМ THUNDERBOLT

Шевский В.С.

Шевский Владислав Сергеевич - студент, кафедра математического обеспечения электронно-вычислительных машин, факультет компьютерных технологий и информатики, Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина), г. Санкт-Петербург

Аннотация: в статье описывается принцип работы с GPS приемником Thunderbolt в соответствии с правилами протокола TSIP.

Ключевые слова: протокол, данные, идентификатор, байт, кодировка, дескриптор.

Аббревиатура TSIP расшифровывается как Trimble Standard Interface Protocol. Как следует из названия, протокол разработала компания Trimble, работающая в направлении разработки аппаратных и программных продуктов в области навигационных систем, таких как GPS. Протокол описывает набор правил для взаимодействия с GPS приемником. В данной статье в качестве приемника приведено устройство Thunderbolt-E GPS Disciplined Clock. Приемник взаимодействует с программным приложением посредством отправки сообщений в формате запрос -ответ через Com порт компьютера.

Для начала работы с Thunderbolt, к нему сперва необходимо подключиться. Для этого существуют различные средства, в зависимости от языка, на котором вы пишете программу. Например: в C++ можно использовать дескриптор HANDLE, платформа .NET предлагает класс SerialPort. Последний вариант является более предпочтительным в связи с тем, что класс уже содержит набор готовых методов для манипуляций с портом. Далее, при подключении необходимо указать параметры соединения. По умолчанию, TSIP определяет следующие параметры:

- скорость передачи данных (в бодах): 9600;

- использование проверки на возможные ошибки: отключить проверку;

- количество передаваемых бит: 8;

- количество стоповых/стартовых бит: 1.

Таким образом, на языке, поддерживающем .NET (например - C#), код подключения к порту будет выглядеть следующим образом:

SerialPort port = new SerialPort ("COM1", 9600, Parity.None, 8, StopBits.One);

port.Open();

После подключения, работа происходит посредством записи и считывания набора байт из внутреннего потока созданного объекта port. Для этого имеются соответствующие методы: Read(), ReadByte(), Write(). WriteLine() и другие.

Правильно сформированный для отправки или получения набор данных обозначается в TSIP как пакет. TSIP протокол определяет два вида пакетов данных:

- Command packet - пакет для отправки на GPS устройство;

- Response packet - пакет для получения от GPS в оперативную память приложения.

Протокол подразумевает работу с устройством по принципу запрос-ответ. Это означает, что определенный Response пакет может быть отправлен в ответ на запрос соответствующего Request пакета. Однако некоторые пакеты могут быть получены без запроса. Пакеты 0x8F-AB и 0x8F-AC (идентификатор каждого состоит из двух элементов) отправляются клиенту по умолчанию и несут в себе основную информацию о GPS приемнике: его текущая дата, время; координаты широты, долготы, высоты и прочее.

Данные в пределах одного пакета представляют собой текст в кодировке ASCII. Поэтому единица данных определяется в виде числа в шестнадцатеричной системе счисления. Для каждого пакета существуют признаки начала и окончания. Ниже представлен стандартный формат пакета:

0x10 id data 0x03 0x10.

Здесь: первый элемент (0x10) определяет начало пакета; id - определяет идентификатор текущего пакета; data - данные, которые содержит пакет; замыкающая последовательность элементов (0x03 0x10) - признак окончания пакета [1, с. 56]. Можно заметить, что id не всегда состоит из одного элемента. Например, TSIP определяет Response пакет с идентификатором 0x8F 0xAB. Член пакета data является необязательным и может содержать произвольное количество элементов или отсутствовать вовсе. Такое поведение очень часто встречается для Command пакетов. Например, Command пакет 0x24, запрашивающий список спутников, использовавшихся для определения текущего местоположения GPS приемника, не содержит данных (data) и, таким образом, имеет вид:

0x10 0x24 x03 0x10.

За исключением идентификатора 0x24, в тексте выше приведен минимальный набор данных, который содержит каждый пакет, определенный в TSIP.

Помимо простого запроса, Command пакеты могут изменять настройки приемника. Например, используя пакет 0x35 можно установить требуемые опции ввода/вывода (отключение/включение LLA, ECEF; выбор GPS или UTC счетчика времени).

После формирования или получения целевых данных, их требуется преобразовать в правильный формат.

Как было сказано ранее, в пакете опционально хранится его содержимое, условно обозначенное как data. Некоторые единицы содержимого (байты) пакета самостоятельно хранят определенное значение, которое напрямую можно использовать в программе. Другие связаны с соседними байтами. Последние требуют преобразования в один из определенных протоколом типов [2, с. 48]. Протокол TSIP описывает всего 6 таких типов:

- Short: аналог в C# - short;

- UShort: аналог в C# - ushort;

- Long: аналог в C# - long;

- ULong: аналог в C# - ulong;

- Single: аналог в C# - float;

- Double: аналог в C# - double.

Short и UShort используют 2 соседних байта; Long, ULong и Single - 4; Double - 8 байт.

Список литературы

1. Trimble. ThunderBolt™ GPS Disciplined Clock Manual version 3.0, 2000.

2. Trimble. User Guide Acutime GG Multi-GNSS Smart Antenna version 1.0, 2013.

i Надоели баннеры? Вы всегда можете отключить рекламу.