Запускаем ГЛОНАСС-плату X-NUCLEO-GNSS1A1: пошаговая инструкция

Оценочная плата X-NUCLEO-GNSS1A1 позволяет начать работу с многосистемнымGPS/Galileo/Glonass/BeiDou/OZSS-приемником Teseo III от STMicroelectronics, используя Arduino™ UNOR3, STMorpho, STM32 Nucleo
397
В избранное

st.png (2 KB)Оценочная плата X-NUCLEO-GNSS1A1 позволяет начать работу с многосистемным GPS/Galileo/Glonass/BeiDou/OZSS-приемником Teseo III от STMicroelectronics, используя Arduino™ UNOR3, STMorpho, STM32 Nucleo. 

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

Teseo-LIV3F — простой в использовании малогабаритный модуль на основе однокристального многосистемного приемника Teseo III, работающего с сигналами GPS, Galileo, Glonass, BeiDou, QZSS [1…3].

Обладая небольшими размерами – всего 9,7×10,1 мм – Teseo-LIV3F имеет встроенную Flash-память на 16 Мбит, позволяющую ему выполнять роль логгера, а также дающую модулю возможность составлять и хранить прогнозы размещения спутников на семь дней вперед на основе их текущего положения. Встроенная перезаписываемая память также позволяет модулю хранить текущую конфигурацию программного обеспечения и производить его обновление.

Термокомпенсированный тактовый генератор 26 МГц и независимый генератор часов реального времени уменьшают временные промежутки между включением модуля и первым определением координат. Заявленный рабочий диапазон температур модуля составляет -40…85°С, чувствительность приемника равна -163 дБм.

Внешний вид и структурная схема модуля представлены на рисунке 1.

Структурная схема модуля Teseo-LIV3F

Рис. 1. Структурная схема модуля Teseo-LIV3F

Изучить возможности навигационного модуля можно с помощью оценочной платы X-NUCLEO-GNSS1A1 производства компании STMicroelectronics (рисунок 2). Данная плата по разъемам совместима с Arduino™ UNOR3и STMorpho, может подключаться к отладочной плате STM32 Nucleo и дает возможность подсоединить дополнительные платы расширения (рисунок 3).

Оценочная плата X-NUCLEO-GNSS1A1

Рис. 2. Оценочная плата X-NUCLEO-GNSS1A1

Напряжение питания Teseo-LIV3F находится в пределах  3,3…5 В, модуль имеет интерфейсы I2C, UART, конфигурируемый тактовый выход, вход EXTINT для активации модуля, разъем для подключения антенны и слот для батареи.

Распиновка разъемов подключения платы X-NUCLEO-GNSS1A1

Рис. 3. Распиновка разъемов подключения платы X-NUCLEO-GNSS1A1 – Ардуино-совместимые разъемы и разъемы для расширения STmorpho

Экосистема разработчика для X-NUCLEO-GNSS1A1 (рисунок 4) состоит из отладочной платы STM Nucleo, программного пакета X-CUBE-GNSS1, примеров прикладных программ.

Экосистема разработчика для X-NUCLEO-GNSS1A1

Рис. 4. Экосистема разработчика для X-NUCLEO-GNSS1A1

Пакет расширения X-CUBE-GNSS1 для STM32Cube [5, 6] работает на контроллерах семейства STM32 и включает в себя драйверы для навигационного модуля Teseo-LIV3F (Глобальная навигационная спутниковая система GNSS), программное обеспечение промежуточного уровня для разбора сообщений протокола NMEA и операционную систему FreeRTOS. Так как X-CUBE-GNSS1 построен на базе фреймворка/программной технологии STM32Cube, между различными микроконтроллерами STM32 обеспечивается взаимозаменяемость [7, 8].

Примеры прикладного программного обеспечения реализованы для оценочной платы X-NUCLEO-GNSS1A1, подключенной к одной из отладочных плат серии STM32 Nucleo – NUCLEO-F401RE, NUCLEO-L476RG или NUCLEO-L073RZ.

Также представлен пример приложения для оценочной платы IoT-устройства – B-L475EIOT01A Discoverykit [8].

Для работы с X-NUCLEO-GNSS1A1 потребуются (рисунок 5):

Комплектующие для начала работы

Рис. 5. Комплектующие для начала работы

  • сама плата X-NUCLEO-GNSS1A1;
    • отладочная плата STM32 Nucleo (NUCLEO-F401RE/NUCLEO-L476RG/NUCLEO-L073RZ/BL475E-IOT01) [4];
    • антенна GPS/GLONASS/Beidou;
    • USB-кабель (type A в Mini-B);
  • компьютер с операционной системой Windows 7 и выше.

Также потребуется установить следующее программное обеспечение:

  • драйвер STSW-LINK009: ST-LINK/V2-1 USB driver;
  • пакет обновления для драйверов STSW-LINK007: ST-LINK/V2-1 firmware upgrade;
  • пакет X-CUBE-GNSS1 (расширение программного пакета STM32Cube; предполагается, что сам программный пакет уже предустановлен);
  • одну из сред разработки, поддерживающую микроконтроллеры STM (коммерческие IAR, Keil, свободная фирменная среда AC6 System Workbenchfor STM32).

Процесс установки и начало работы со средой AC6 System Workbench и конфигуратором STM32Cube MX описаны в статье «CubeMX и Workbench: создание проекта на базе STM32 с помощью бесплатного ПО».

Дальнейшая подготовка состоит из нескольких шагов.

Необходимо перейти на страницу, где в разделе «Tool&Software» будут доступны три программных пакета – два для узлов-трекеров интернета вещей и пакет X-CUBE-GNSS1. После короткой процедуры регистрации (если она ранее не производилась) пакет доступен для скачивания.

Для дальнейшего применения пакета достаточно распаковать его в папку “c:\ProgramFiles (x86)\STMicroelectronics\” (рисунок 6).

Структура папок пакета X_CUBE-GNSS

Рис. 6. Структура папок пакета X_CUBE-GNSS

Далее необходимо установить на ПК драйверы USB driver для отладочных плат STM32 Nucleo ST-LINK/V2-1, открыть и откомпилировать любой из примеров, скажем,  базовый GetPos.

В принципе, особенной необходимости в перекомпиляции проектов нет (если требуется только посмотреть их функциональность) – предварительно скомпилированные образы доступны в папках “Binary” проектов (рисунок 7). Если установка драйверов и подключение платы прошло успешно, то она отобразится как дополнительный диск с меткой “Nucleo”, и загрузка проекта в нее осуществится простым копированием (рисунок 8).

Варианты предварительно скомпилированных образов проекта GetPos

Рис. 7. Варианты предварительно скомпилированных образов проекта GetPos

Для следующего шага потребуется программа-терминал для работы с СОМ-портом, в данном случае – виртуальным. Нужно ее запустить, выбрать порт, соответствующий виртуальному СОМ-порту платы STM32 Nucleo и настроить на скорость 115200 бит/с, 8 бит данных, 1 стоп-бит, без контроля потока.

Копирование образа приложения на отладочную плату

Рис. 8. Копирование образа приложения на отладочную плату

После сброса платы STM32 Nucleo в окне терминала выведется текстовое «меню», в котором будут отображены возможные варианты действий (рисунок 9). На рисунке 10 – пример ответа от STM32 Nucleo при выборе опции «1 – getpos» (при первом включении GPS-модуля до первого корректного определения координат может пройти достаточно длительное время – до нескольких минут).

Меню возможных действий в проекте GetPos

Рис. 9. Меню возможных действий в проекте GetPos

Пример выдачи результата при выборе опции «1 – getpos»

Рис. 10. Пример выдачи результата при выборе опции «1 – getpos»

GetPos построен как приложение поверх операционной системы FreeRTOS и состоит и двух задач: одна – для приема и парсинга сообщений, приходящих от модуля Teseo-LIV3F, вторая – для разбора и выполнения команд, поступающих с последовательного терминала.

Также приложение демонстрирует три опции, поддерживаемые модулем Teseo-LIV3F:

  • определение геозон позволяет приемнику Teseo-LIV3F выдавать сообщение, когда позиция GNSS близка к заданной области либо модуль входит или выходит из нее;
  • одометр предоставляет информацию о пройденном расстоянии;
  • ведение лога данных позволяет приемнику Teseo-LIV3F локально сохранять на Flash-памяти свои текущие координаты.

Модуль Teseo-LIV3F периодически генерирует и передает сообщения GNSS (протокол NMEA 0183 версии 4.0) по интерфейсу UART или I2C (интерфейс можно выбрать во время компиляции проекта в файле gnss_app_cfg.h).

GetPos:

  • позволяет устанавливать последовательное соединение между STM32 Nucleo, X-NUCLEO-GNSS1 и ПК;
  • может выдавать различные данные о местоположении и спутниках в приемлемом для пользователя формате: координаты, количество и положение спутников, активные спутники и прочее;
  • дает пользователю возможность обновлять прошивку Teseo-LIV3F (опция «0» в меню приложения).

Прошивку Teseo-LIV3F также можно обновить при помощи специальной утилиты из поставки пакета X-CUBE-GNSS1 – FWUPG.jar. Необходимо запустить утилиту. После выбора правильного последовательного порта нажать кнопку «Открыть», чтобы установить соединение с платами расширения STM32 Nucleo и X-NUCLEO-GNSS1A1. Если версия FW на модуле Teseo-LIV3F не самая последняя – нажать кнопку «Обновить FW», чтобы начать процесс обновления прошивки (нужно будет удерживать кнопку сброса на плате Nucleo до тех пор, пока не начнется процедура обновления).

Заключение

Программно-аппаратная экосистема разработчика от STMicroelectronics позволяет достаточно быстро освоить новые решения, предлагаемые компанией. Связка оценочных плат STM32 Nucleo и X-NUCLEO-GNSS1 дает возможность опробовать макетные образцы устройств и приложений, связанных с работой с данными о местоположении и перемещении, а также служит отличной платформой для учебных задач.

Постепенная модификация или комбинация примеров приложений поможет начинающему разработчику сократить время на получение приложения с нужным функционалом и перейти к его оптимизации под конкретную задачу.

Производитель: STMicroelectronics
Наименование
Производитель
Описание Корпус/
Изображение
Цена, руб. Наличие
TESEO-LIV3F
TESEO-LIV3F
STMicroelectronics
Арт.: 2590521 ИНФО AN RD RND DT
Доступно: 38 шт. 1440,00
Получение координат объекта и точного времени путем приема сигналов спутниковых группировок GPS/Galileo/Glonass/BeiDou/QZSS
TESEO-LIV3F 1440,00 от 3 шт. 1230,00 от 7 шт. 1110,00 от 13 шт. 1030,00 от 35 шт. 977,00
13 шт.
(на складе)
25 шт.
(под заказ)
X-NUCLEO-GNSS1A1
X-NUCLEO-GNSS1A1
STMicroelectronics
Арт.: 3041522 ИНФО PDF AN RD
Доступно: 18 шт. 3830,00
Плата расширения X-NUCLEO-GNSS1A1 для STM32 NUCLEO.
X-NUCLEO-GNSS1A1 3830,00 от 2 шт. 3450,00 от 5 шт. 3190,00 от 12 шт. 3030,00 от 23 шт. 3020,00
4 шт.
(на складе)
14 шт.
(под заказ)
TESEO-LIV3R
TESEO-LIV3R
STMicroelectronics
Арт.: 3416443 ИНФО
Доступно: 41 шт. 1410,00
GPS MODULE. RF Receiver BeiDou, GLONASS, GNSS, GPS 1.561GHz, 1.575MHz -163dBm 18-LCC (9.7x10.1)
TESEO-LIV3R 1410,00 от 3 шт. 1210,00 от 7 шт. 1090,00 от 14 шт. 1010,00 от 36 шт. 959,00
7 шт.
(на складе)
34 шт.
(под заказ)

Сравнение позиций

  • ()