Унификация команд навигационных модулей Telit
Традиционно все модули спутниковой навигации (независимо от используемой аппаратной платформы) поддерживают протокол NMEA 0183, но в достаточно лимитированном объеме, ограниченном обычно четырьмя предложениями NMEA: GGA, GSA, GSV и RMC [3]. Эти предложения содержат информацию о координатах объекта, текущем времени, точности обсервации и параметрах космических аппаратов, по которым осуществляются вычисления. Любые настройки навигационного модуля выполняются с помощью проприетарных протоколов производителя вычислительного ядра (чипсета). Компания Telit, в отличие от большинства других изготовителей навигационных модулей, которые выпускают свои изделия на базе чипсета одного производителя, использует чипсеты трех известных брендов: MTK, ST Microelectronics и Qualcomm (SiRF). Естественно, данные вендоры имеют собственные протоколы управления навигационным модулем. В большинстве случаев такие протоколы являются конфиденциальными и представляют собой набор из нескольких документов, нередко противоречащих друг другу. По указанным причинам тонкая настройка модулей спутниковой навигации зачастую становится нетривиальной задачей с несколькими неизвестными.
Уже сейчас Telit имеет решение, позволяющее управлять модулями спутниковой навигации простыми AT-командами [4]. Однако в этом случае существует привязка к модулю сотовой связи, что не всегда удобно, а в ряде случаев — и избыточно. Поэтому разработчики Telit приняли решение создать дополнительный набор команд, универсальных для любых модулей спутниковой навигации. В результате потребитель сможет переходить с одной платформы на другую, не изменяя программу, управляющую модулем. Далее мы рассмотрим список уже реализованных и перспективных проприетарных команд Telit, а также одну из них более подробно.
На рис. 1 показана структура программного обеспечения навигационных модулей. Как видим, она в общем идентична для любых платформ. Верхние два уровня и являются проприетарным протоколом Telit и могут быть в значительной степени унифицированы.
Формат проприетарных команд Telit
$PTWSxxx…[,attrib],action[,param1,param2…,paramN][*CS]<CR><LF>
где:
- $PTWSxxx — собственно тип команды;
- attrib — необязательный буквенно-цифровой код, показывающий, на какие подмножества параметров распространяется команда;
- action — действие, которое будет выполняться по команде;
- param1,param2…,paramN — набор параметров команды;
- CS — контрольная сумма NMEA.
Краткий список проприетарных команд Telit
- $PTWSVER— версия прошивки модуля:
- $PTWSVER,GET,TELIT*57
- $PTWSVER,TELIT,V13-2.3.0-STD-5.1.5-N96-000200*78
В данном случае это прошивка V13-2.3.0-STD-5.1.5-N96-000200 для модулей на основе чипсета MT3333 (SL869 V2/SL871).
$PTWSANT — управление детектированием антенны (обрыв/короткое замыкание).
$PTWSLNA — управление работой малошумящего усилителя (МШУ). В большинстве модулей Telit есть малошумящий усилитель, позволяющий работать с пассивной антенной. Если же антенна активная, МШУ должен быть отключен во избежание перенасыщения входных каскадов.
$PTWSMODE — режимы работы модуля. Могут быть заданы разнообразные режимы энергопотребления, конфигурации работы со спутниками, стационарный режим и т. д.
$PTWSINIT — перезапуск модуля, задание начальных координат и времени. Последняя задача весьма нетривиальна — хотя проприетарные протоколы всех производителей и позволяют задавать координаты и время, по факту эти данные не всегда могут быть эффективно переданы в модуль в связи с особенностями архитектуры чипсетов. Использование же команды Telit позволит существенно сократить время первого определения координат [5].
$PTWSPORT — задание перечня формируемых предложений NMEA, а также скорости передачи данных по последовательному порту. Следует отметить, что, помимо стандартных GGA, GSA, GSV и RMC, возможно формировать предложения EPE (Estimated Positioning Error) и RLM (Return Link Message) [6].
$PTWSSAT — задание фильтрации данных спутников по углу над горизонтом, мощности сигнала и DOP (потере точности). Такая фильтрация необходима в ряде применений, в частности это одно из требований для терминалов ЭРА-ГЛОНАСС.
$PTWSPOS, $PTWSVEL, $PTWSTIME — запрос координат, скорости и времени соответственно. Команды могут быть полезны, если необходимо выдавать данные не периодически, а по запросу.
$PTWSFENCE — контроль зоны (геофенсинг). Рассмотрим эту команду чуть более подробно.
Геофенсинг (геозона) — это функция, позволяющая определить географические границы, которые впоследствии будут использованы для слежения за положением объекта и генерации событий. На сегодня программное обеспечение Telit позволяет конфигурировать до шести зон круговой формы. В перспективе ожидается, что можно будет задавать геозоны произвольной формы. На рис. 2–5 показаны варианты применения геофенсинга: контроль маршрута (рис. 2), контроль местоположения на больших (рис. 3), средних (рис. 4) и малых (рис. 5) территориях.
Как видно из примеров, геозоны могут быть разнесены в пространстве, пересекаться или даже быть вложены одна в другую. Команда $PTWSFENCE позволяет задавать конфигурацию шести геозон, включая допуски по вероятности нахождения объекта в точке. На рис. 6 показаны варианты формирования событий геофенсинга в зависимости от местоположения объекта и вероятности нахождения в заданной точке. Варианты местоположения объекта:
- IN — объект находится внутри зоны с заданной вероятностью;
- OUT — объект находится вне зоны с заданной вероятностью;
- ON — объект находится вблизи границы зоны;
- UNK — местоположение не определено либо геофенсинг отключен.
На рис. 7 показан реальный пример использования геофенсинга при движении объекта. Как видим, при правильном выборе геозон, в зависимости от постановки задачи, возможно довольно точно контролировать траекторию движения. При этом удается существенно сократить объем информации, передаваемой от объекта, и тем самым уменьшить расходы (как финансовые, так и энергетические) на передачу данных.
В перспективе в модулях Telit появятся геозоны произвольной формы, их число будет увеличено, будет предусмотрена возможность периодической выдачи статуса геозон, а также формирование событий в виде сигналов GPIO.
Таким образом, использование проприетарных команд Telit не только существенно увеличивает функционал модулей спутниковой навигации, но и делает программно совместимыми модули, выпущенные на основе чипсетов разных производителей. Вкупе с аппаратной совместимостью различных модулей Telit это дает возможность с минимумом затрат переходить от применения одного модуля к другому, чтобы обеспечить оптимальные характеристики конечного изделия.
- Рудневский А. Telit xE910: один дизайн — множество применений // Беспроводные технологии. 2013. № 2.
- Рудневский А. Новая концепция унификации Telit: «гнездовая» система в семействе xE866 // Беспроводные технологии. 2016. № 2.
- www.atoma.spb.ru/sites/default/files/documents/telit_mt_gnss_software_user_guide_r2.pdf
- Рудневский А. Новые возможности определения координат с использованием M2M-модулей компании Telit // Беспроводные технологии. 2014. № 3.
- Рудневский А. Технология A-GPS и ее реализация в мультисистемных навигационных модулях Telit // Беспроводные технологии. 2014. № 2.
- www.nmea.org/Assets/201508016%20rlm%20amendment%20version%204.10.pdf