Новый законченный ГНСС-модуль для «Интернета вещей» Teseo-LIV3F производства STMicroelectronics
Первый модуль на базе собственного чипа
Один из ведущих мировых производителей активных электронных компонентов STMicroelectronics в конце 2018 года объявил о начале массовых продаж ГНСС-модуля Teseo-LIV3F, изготовленного на базе собственного чипа Teseo-III [1].
Одна из причин, побудивших STMicroelectronics заняться производством ГНСС-модулей, была связана с возрастающей популярностью рынка оборудования для «Интернета вещей» (IoT). Все изделия для IoT должны удовлетворять трем базовым принципам: минимально необходимая функциональность, минимальное энергопотребление, минимальные габаритные размеры. Именно эти требования и были положены в основу при разработке модуля Teseo-LIV3F.
Основные технические характеристики модуля Teseo-LIV3F
Модуль Teseo-LIV3F спроектирован таким образом, чтобы максимально упростить его использование в конечном изделии. В самом простейшем варианте для запуска модуля достаточно подать на него напряжение питания, подключить пассивную антенну и вывести две линии для связи с управляющим микроконтроллером — Rx и Tx (рис. 1) [5].
Простота интеграции Teseo-LIV3F и совместимость с Arduino открывает широкие возможности для использования этого модуля в профессиональных и любительских устройствах, работающих в сетях LPWAN, таких, например, как GNSS-LoRa [6, 7].
Модуль выполнен в конструктиве LCC-18. Внешний вид модуля Teseo-LIV3F показан на рисунке 2.
Из основных отличительных черт модуля Teseo-LIV3F нужно, прежде всего, отметить следующие:
- Одновременная работа с космическими навигационными системами — GPS L1C/A, SBAS L1C/A, QZSS L1C/A, GLONASS L1OF, BeiDou B1, Galileo E1B/C.
- Чувствительность — минус 163 дБм.
- Погрешность определения координат в режиме Standalone — 1,5 м (CEP).
- Встроенная память — Flash, 16 Мбит для хранения ПО, результатов определения местоположения, скорости, времени, а также информации, необходимой для Assisted GNSS.
- Встроенное программное обеспечение управления, выполняющее все операции GNSS, включая поиск спутников, отслеживание, навигацию и вывод данных в NMEA.
- Три режима работы даталоггера.
- Программируемая конфигурация режимов работы и протоколов вывода данных.
- Контроль геозон (Geofencing).
- Поддержка одометра.
- Поддержка интерфейсов UART и I2C.
- Режим работы Positioning Sensor.
- Работа в режиме Differential-GPS в соответствии с RTCM; Commission for Maritime Services.
- Широкий диапазон напряжений питания — от 2,1 до 4,3 В.
- Встроенный генератор реального времени – 32 кГц (RTC).
- Миниатюрный корпус LCC — 9,7×10,1×2,5 мм.
- Интервал рабочих температур: –40…+85 °C.
- Потребляемая мощность в режиме Standby — 17 мкВт.
- Потребляемая мощность в режиме Tracking — 75 мВт.
Блок-схема модуля Teseo-LIV3F показана на рисунке 3 [8].
Базовым элементом модуля служит ГНСС чип Teseo-III производства STMicroelectronics.. Радиочастотный тракт включает входной каскад (RF Front-End) и сигнальный процессор (Baseband processor-BBP) последнего поколения G3BB+.
Во входном каскаде (RF) чипа Teseo-III используется метод понижения частоты до промежуточной с дальнейшей цифровой обработкой сигнала. Цифровой конвертер DDC снижает частоту сигналов спутников до промежуточной: GPS-Galileo — от 1575,42 МГц до 4,092 МГц; GLONASS — от 1601,718 МГц до 8,57 МГц; BeiDou — от 1561,098 МГц до 10,23 МГц. Сигнальный процессор обрабатывает сигналы на промежуточной частоте, выполняет операции дискретизации и кодирование данных.
Кварцевый генератор с термокомпенсацией TCXO вырабатывает ультра-стабилизированную тактовую частоту 26 МГц, которая необходима для контроля процесса работы понижающего конвертера в RF-блоке.
Все функциональные блоки базового чипа управляются с помощью мощного процессорного ядра ARM946 в соответствии со стандартом AMBA.
Блок питания модуля содержит схему SMPS (switched-mode power supply), обеспечивающую распределенный вариант электропитания с переключением режимов работы, и микромощный LDO-стабилизатор STMicroelectronics с малым падением напряжения – BKLDO (Backup low-dropout).
Модуль оснащен схемой реального времени RTC и резервной статической памятью ОЗУ 32 кбайт. Эти схемы, которые всегда находятся под напряжением питания, используется для вывода модуля из экономичного режима энергопотребления, а также обеспечивают дальнейший теплый или горячий старт при выходе на нормальный режим работы.
Модуль Teseo-LIV3F имеет два коммуникационных порта UART и I2C (рис. 4).
Последовательный порт UART, предназначенный для обмена данными в NMEA-формате с удаленным хостом, удовлетворяет стандарту 16C650 UART.
Он работает с классическими коммуникационными параметрами, например 8 data bits; No parity; 1 stop bit; 9600 bauds rate. Скорость передачи данных выбирается программно и может принимать значения: 9600, 14400, 19200, 38400, 57600, 115200, 230400, 460800, 921600 бит/с.
Этот интерфейс имеет две линии RX0 и TX0 pin, с помощью которых реализуется прием и передача данных с использованием буферной памяти предварительного хранения FIFO. Буферная память позволяет передавать и принимать до 64 байт информации с четырьмя статусными битами (break, frame, parity, overrun). Структура фреймов для обоих направлений передачи подробно описана в документе [9].
Модуль Teseo-LIV3F оснащен встроенным программируемым 2-проводным интерфейсом I2C, который использует только две двунаправленные линии с открытым коллектором и подтягивающими резисторами: Serial Data Line (pin SDA) и Serial Clock Line (pin SCL),
Так же, как и UART-интерфейс I2C поддерживает сообщения NMEA. Модуль Teseo-LIV3F поддерживает протоколы NMEA 0183 Version 4.0 и RTCM Version 2.3 [10, 11].
Целесообразно отметить назначение остальных контактных площадок модуля Teseo-LIV3F. На ввод RF_IN (pin10) подается сигнал от внешнего малошумящего антенного усилителя. Схема подключения внешней антенны через LNA- усилитель показана на рисунке 5.
Внешний малошумящий усилитель (LNA) подразумевает использование пассивной антенны с усилителем на той же самой плате, на которой расположен модуль Teseo-LIV3F.
В этом случае наилучший результат будет достигнут, если разместить LNA и SAW-фильтр непосредственно перед RF-входом модуля.
Для оптимизации режима экономного энергопотребления в спящем режиме следует предусмотреть возможность выключения LNA через вывод, совместимый с линией питания VCC_IO. Для этой цели используется GPIO модуля AntOFF (pin13). Кроме того, с помощью этого вывода можно отключать ток активной антенны (рис. 5). Подтягивающий резистор 10 кОм необходим для поддержания низкого уровня в спящем режиме.
Контакт PPS (pin4) предназначен для секундной метки времени (One Pulse Per Second). Период импульсов на этом выводе может быть установлен с помощью специальной команды. Рекомендуется предусмотреть вариант шунтирования этого вывода на землю с помощью емкости 56 пФ.
Вывод Wake_Up (pin5) используется для подачи внешнего сигнала прерывания, выводящего модуль из режима экономии энергопотребления.
Аппаратная перезагрузка модуля реализуется через линию SYS_RESETn (pin9) с помощью подачи на него сигнала низкого уровня.
Основные технические характеристики модуля Teseo-LIV3F приведены в таблице 1.
В модуле Teseo-LIV3F поддерживаются режимы экономного энергопотребления.
Библиотека программного обеспечения модуля Low Power Management поддерживает два перестраиваемых режима экономного энергопотребления (Adaptive Low Power Modes — LPM): активный (Active Low Power Mode — A LPM) и ждущий (Standby Periodic Low — Power Mode — SP LPM).
Программное обеспечение модуля Teseo-LIV3F
Модуль Teseo-LIV3F поставляется с полным комплектом программного обеспечения STMicroelectronics, позволяющим реализовать следующие базовые функции GNSS: обработка сигналов всех крупных спутниковых систем навигации; поиск, слежение и сопровождение спутников; вычисление, навигационные параметры и оформление протокола в стандартном формате NMEA или в бинарном формате STM. Кроме того, ПО модуля Teseo-LIV3F включает поддержку таких важных приложений, как: Assisted GNSS (ST-AGNSS), Data Logging, Geofencing, Odometer, Adaptive Low Power Modes.
С помощью команды $ PSTMGETSWVER можно в формате NMEA выбрать все возможные приложения программного обеспечения: GNSS Library , GPS App Version, Binary Image Version, Sw configuration Version, WAAS Library Version, AGPS Library Version, Chip Version, Log message.
Модуль Teseo-LIV3F поддерживает протоколы NMEA 0183 Version 3.1 и RTCM Version 2.3. также модуль обрабатывает сигналы ССН и выдает результаты в виде стандартных NMEA-сообщений: GNS, GPGGA, $GPGLL, GSA, GSV, GPRMC, $GPVTG, GPZDA, GPGST, DTM.
Кроме того, концерн STMicroelectronics разработал специальные проприетарные сообщения ST NMEA, показанные в таблице 2. Эти сообщения выводят важную дополнительную информацию о зарегистрированных спутниках, которая не была определена в стандартном протоколе NMEA. Все специальные сообщения начинаются с символов $PSTM.
Программное обеспечение Teseo-LIV3F поддерживает системные конфигурирующие команды в соответствии с NMEA 0183 v 3.1. Перечень стандартных конфигурирующих команд, используемых модулем, приведен в таблице 3.
Каждая команда содержит адрес, параметр и контрольную сумму. На рисунке 6 схематически показан процесс конфигурирования модуля Teseo-LIV3F с использованием протокола NMEA.
Все параметры конфигурации сгруппированы в конфигурирующие блоки данных (Configuration Data Blocks — CDB). Настройка по умолчанию для блока данных конфигурации задана специальным двоичным файлом. При стартовой загрузке ПО возможны три состояния системы, в зависимости от конкретных CDB.
Текущая конфигурация (Current configuration), записанная в RAM, определяет каждый конкретный параметр, заданный пользователем.
Конфигурация по умолчанию (Default configuration) хранится в флэш-памяти и соответствует заводским настройкам.
Кроме конфигурирующих, ПО модуля поддерживает специальные команды ST NMEA Command, позволяющие за одно действие провести несколько операций (таблица 4).
Модуль Teseo-LIV3F поддерживает работу с корректирующими поправками реального времени в соответствии с протоколом RTCM 2.3. Модуль обеспечивает прием сигналов от всех навигационных спутников, находящихся в зоне его радиовидимости.
При работе в автономном режиме STAGNSS™ autonomous модуль использует ранее полученные реальные эфемериды, сохраненные в его внутренней памяти. Эти данные можно с некоторой ошибкой использовать в течение пяти дней при холодном и теплом старте. По мере поступления новых данных они загружаются в память модуля. Работа в этом режиме запускается командой с удаленного сервера $PSTMSTAGPSONOFF. Выбор NMEA-формата сообщения модуля при этом определяется командами $PSTMAGPS и $PSTMAGLO.
При работе с ассистирующим сервером используется режим Predicted AGNSS — PAGNSS, при котором модуль имеет доступ к сети связи этого сервера. Уникальная методика моделирования эфемерид GPStream увеличивает зону приема сигнала GPS в городской местности и уменьшает время загрузки навигационного приложения до нескольких секунд при холодном и теплом старте.
В режиме Network Assisted сеть ассистирующих станций через GPStream снабжает модуль информацией, на основе которой формируется прогноз оперативных эфемерид на следующие 14 суток для ССН ГЛОНАСС и GPS.
В модуле Teseo-LIV3F поддерживается версия PGPS 7.x seeds, в которой данные по спутникам ГЛОНАСС и GPS в бинарном формате передаются в отдельных пятидесяти шести блоках. Каждый блок данных, соответствующий отдельному спутнику, пересылается модулю с помощью специальных NMEA-команд.
Подробное описание работы модуля Teseo-LIV3F с сообщениями и командами стандартов NMEA, RTCM и Binary приведено в [14].
Разработчикам собственных приложений для устройств на базе модуля Teseo-LIV3F следует обратить внимание на программное обеспечение «ST TESEO-SUITE», предназначенное для работы с устройствами на базе чипов семейства Teseо. Программа имеет несколько интерфейсов, позволяющих конфигурировать модуль, отслеживать в режиме реального времени видимые спутники, а также обмениваться информацией с каждым из спутников [16].
Графический пользовательский интерфейс дает возможность сравнивать сигналы различных группировок спутников и оптимальным образом настраивать оборудование.
Программа ST TESEO-SUITE предоставляет пользователю расширенный интерфейс для работы с NMEA-сообщениями и командами (рис. 7). Пользователь может выбрать из списка в левой части экрана необходимые команды и передать их конкретному спутнику. При этом в правой части экрана будет наблюдаться реакция спутника в виде ответных NMEA-сообщений.
В программу встроен картографический блок, позволяющий наблюдать положение модуля на карте местности в реальном времени.
Подробная техническая информация, а также демоверсия программы находятся на сайте [16].
Отладочные средства модуля Teseo-LIV3F
Наиболее простой вариант для начальных работ с модулем Teseo-LIV3F может быть реализован с помощью отладочного модема EVB-LIV3F [18]. Внешний вид модема EVB-LIV3F показан на рисунке 8.
Модем EVB-LIV3F имеет следующие интерфейсы (рис. 8):
- Кнопка Включение/выключение питания.
- Кнопка Reset.
- Разъем микро-USB для подключения интерфейса UART модуля Teseo-LIV3F.
- Напряжение питания 2×2-штырьковый разъем.
- Разъем SMA Female для ГНСС-антенны.
- Сигналы Teseo-LIV3F-I2C 4×1-штырьковый разъем.
Для контроля режима работы на торцевой стороне модема размещены светодиодные индикаторы (рис. 8): PWR Red LED (питание включено); PPS Green LED (нормальный режим работы).
Интерфейс UART организован через разъем USB, используется для работы с командами и сообщениями NMEA, а также для загрузок файлов двоичного формата.
Разъем CN302 используется для подключения четырех сигнальных линий интерфейса I2C.
К разъему SMA можно подключать как активную, так и пассивную ГНСС-антенны. Для питания активной антенны нужно предусмотреть дополнительное питание 3,3 В.
Шопша Анастасия, инженер по внедрению департамента активных компонентов
anastasiya.shopsha@ptelectronics.ru
Teseo-LIV3F является первым законченным навигационным модулем от компании STMicroelectronics. Модуль становится универсальным для применения в самых различных областях навигации благодаря возможности работать одновременно с несколькими системами – GPS L1C/A, SBAS L1C/A, QZSS L1C/A, GLONASS L1OF, BeiDou B1, Galileo E1B/C. Малое энергопотребление 17 мкВт в режиме «Standby» и компактные размеры корпуса делают данный модуль идеальным для применения в изделиях IoT.
Напряжение питания модема подается на выводы №1 и №3 четырех-контактного разъема (рис. 8). Другие два вывода этого разъема предназначены для контроля тока потребления [18].
Еще одно отладочное средство X-NUCLEO-GNSS1A1 expansion board with TESEO-LIV3F предоставляет разработчикам дополнительные возможности при проектировании новых оригинальных устройств [20]. В частности, этот комплект разработчика совместим с отладочной платой STM32 Nucleo boards [21] и с Arduino Uno R3 [22].
Отладочная плата X-NUCLEO-GNSS1A1 представляет собой законченное устройство в виде печатной платы, на которой размещены: модуль GNSS Teseo-LIV3F, интерфейсы для связи с внешними устройствами и система электропитания.
Основные технические характеристики отладочной платы X-NUCLEO-GNSS1A1:
• Рабочее напряжение питания 3,3–5 В.
• Температура окружающей среды –40/+85°C.
• Чувствительность ГНСС-приемника не менее – 162 дБм (режим слежения);
• Интерфейсы:
– порт UART;
– порт I²C;
– программируемые цифровые вводы/выводы;
– EXTINT линия выхода из состояния энергосбережения.
• Поддержка протокола NMEA.
• Работа в режиме A-GNSS.
• Совместимость с платами STM32 Nucleo.
• Совместимость с разъемом Arduino™ Uno R3.
• Фильтры LNA и SAW РЧ-блока.
• Разъем SMA для подключения внешней ГНСС- антенны.
• Держатель батареи автономного питания.
• Соответствие стандартам RoHS и WEEE.
Функциональные возможности отладочной платы могут быть расширены за счет разнообразных модулей, совместимых с Arduino Uno Rev3, ST morpho.
Перечисленные в этой статье свойства и характеристики модуля Teseo-LIV3F позволяют использовать его в самых разнообразных приложениях «Интернета вещей», таких, например, как: системы контроля перемещения детей, пожилых людей, животных, мелких грузов; автоматизированные производственные линии; беспилотные машины и механизмы; дроны и многие другие приложения.
- https://www.st.com/content/st_com/en/products/positioning/gnss-modules/teseo-liv3f.html#samplebuy-scroll
- https://www.everythingrf.com/search/gps-gnss-modules
- https://www.endrich.com/fm/2/ST-1612-DG_datasheet_v0.pdf
- https://www.gpsworld.com/quectel-launches-dead-reckoning-gnss-module-l26-dr/
- https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/a5/d6/03/c4/b2/26/46/d4/DM00399112/files/DM00399112.pdf/jcr:content/translations/en.DM00399112.pdf
- http://ztrackmap.com/
- https://www.instructables.com/id/Dragino-LoRa-GPS-Tracker-1/
- https://www.st.com/resource/en/datasheet/teseo-liv3f.pdf
- https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/5b/f7/86/c6/95/c7/49/20/DM00398983/files/DM00398983.pdf/jcr:content/translations/en.DM00398983.pdf
- http://geostar-navi.com/files/docs/geos5/GeoS_NMEA_protocol_v4_0_rus.pdf
- http://www.rtcm.org/differential-global-navigation-satellite—dgnss—standards.html
- https://www.st.com/content/ccc/resource/technical/document/application_note/group0/bf/e0/1d/7c/93/51/45/90/DM00528962/files/DM00528962.pdf/jcr:content/translations/en.DM00528962.pdf
- https://www.st.com/content/ccc/resource/sales_and_marketing/presentation/application_presentation/group0/1d/27/24/da/c9/3a/45/06/TESEO_LIV3F_pres/files/I2C_GNSS_Sensor.pdf/jcr:content/translations/en.I2C_GNSS_Sensor.pdf
- https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/5b/f7/86/c6/95/c7/49/20/DM00398983/files/DM00398983.pdf/jcr:content/translations/en.DM00398983.pdf
- https://www.st.com/content/ccc/resource/technical/document/application_note/group0/07/cc/a0/9d/d3/f4/44/37/DM00496876/files/DM00496876.pdf/jcr:content/translations/en.DM00496876.pdf
- https://www.st.com/en/embedded-software/teseo-suite.html
- https://github.com/github
- https://www.st.com/content/ccc/resource/technical/document/user_manual/group0/51/21/3a/b3/a5/15/48/49/DM00460636/files/DM00460636.pdf/jcr:content/translations/en.DM00460636.pdf
- https://www.ftdichip.com/FTDrivers.htm
- https://www.st.com/en/ecosystems/x-nucleo-gnss1a1.html
- https://www.st.com/en/ecosystems/stm32-nucleo.html?querycriteria=productId=SC2003
- http://robotechshop.com/shop/arduino/arduino-board/arduino-uno-r3-china/?v=f9308c5d0596
- https://www.goldmansachs.com/insights/topics/drones.html