Перейти к содержанию

NEO-6M — GPS-модуль u-blox 6

NEO-6M — приёмник GPS u-blox 6 в модуле 16 × 12,2 × 2,4 мм, на котором построены самые распространённые платы GPS для Arduino и ESP32. Карточка по даташиту NEO-6 и описанию протокола u-blox 6: варианты NEO-6G/6Q/6M/6P/6V/6T, чувствительность и время старта, выводы, питание и уровни, настройки по умолчанию, сообщения RMC и GGA, кадр UBX.

Обновлено Редакция GAW

NEO-6M — модуль GPS-приёмника на движке u-blox 6: 50 каналов, 2 миллиона корреляторов для поиска спутников, антенный вход, UART, USB, SPI и I²C-совместимый DDC в корпусе 16 × 12,2 × 2,4 мм для пайки на плату. Именно он стоит на недорогих платах GPS с керамической антенной для Arduino и ESP32. Модуль сам считает координаты, скорость и время и раз в секунду отправляет их строками NMEA по UART на 9600 бит/с. Подключение готовых плат, антенна и батарейка разобраны в статье «GPS-модули NEO-6M и NEO-M8N»; здесь — характеристики и выводы модуля по документам u-blox.

Коротко

  • Приёмник — GPS L1 C/A, 50 каналов, SBAS; точность 2,5 м (CEP), с SBAS — 2,0 м.
  • Старт — холодный и тёплый 27 с, горячий 1 с, с A-GPS менее 3 с (при −130 дБм).
  • Чувствительность — слежение −161 дБм, повторный захват −160 дБм, холодный старт −147 дБм.
  • Обновление — до 5 Гц, таймпульс 0,25 Гц – 1 кГц, по умолчанию 1 Гц.
  • Питание — 2,7–3,6 В, 39 мА при слежении, 47 мА при поиске, 67 мА пиковый; резерв V_BCKP 1,4–3,6 В, 22 мкА.
  • Интерфейсы — UART (9600 8N1 по умолчанию), USB 2.0 FS, SPI и DDC до 100 кбит/с; NMEA 0183 2.3, UBX, RTCM 2.3 на вход.

Варианты NEO-6

МодульОтличиеСтарт холодный / горячийСлежениеОбновление
NEO-6Mкварцевый генератор, базовый27 с / 1 с−161 дБм5 Гц
NEO-6GTCXO, питание 1,8 В26 с / 1 с−162 дБм5 Гц
NEO-6QTCXO26 с / 1 с−162 дБм5 Гц
NEO-6TTCXO, точное время, таймпульс до 10 МГц26 с / 1 с−162 дБм5 Гц
NEO-6PPPP, точность < 1 м (2D) с SBAS32 с / 1 с−160 дБм1 Гц
NEO-6Vсчисление пути по датчикам автомобиля27 с / 1 с−161 дБм1 Гц

Данные — таблица 2 даташита при сильном сигнале. TCXO у 6G/6Q/6T ускоряет захват слабого сигнала; NEO-6M обходится кварцем, поэтому на 1 дБ менее чувствителен и на секунду медленнее стартует. Режим Power Save есть у 6G/6Q/6M, но не у 6P/6T/6V.

Выводы

Модуль — 24 контакта по периметру (табл. 8 даташита); готовые платы выводят наружу обычно только VCC, GND, TXD, RXD и иногда PPS.

№НазваниеНаправлениеНазначение
1Reservedвходне использовать
2SS_Nвходвыбор ведомого SPI
3TIMEPULSEвыходтаймпульс 1PPS: 1 Гц, фронт по секунде, длительность 100 мс по умолчанию
4EXTINT0входвнешнее прерывание
5USB_DMвход/выходUSB D−
6USB_DPвход/выходUSB D+, подтяжка встроена
7VDDUSBвходпитание USB 3,0–3,6 В
8Reserved—соединить с выводом 9
9VCC_RFвыходпитание ВЧ-части и активной антенны, VCC − 0,1 В, до 50 мА; соединить с выводом 8
10GND—общий
11RF_INвходантенна, 50 Ом; не больше 15 дБм
12GND—общий
13GND—общий
14MOSI/CFG_COM0выход/входSPI MOSI или бит конфигурации порта; не используется — оставить свободным
15MISO/CFG_COM1входSPI MISO или бит конфигурации порта; не используется — оставить свободным
16CFG_GPS0/SCKвходрежим питания при старте или SCK SPI; не используется — оставить свободным
17Reservedвходне использовать
18SDA2вход/выходданные DDC (I²C)
19SCL2вход/выходтакт DDC (I²C)
20TxD1выходUART, передача
21RxD1входUART, приём
22V_BCKPвходрезервное питание 1,4–3,6 В: батарейка или суперконденсатор
23VCCвходпитание 2,7–3,6 В
24GND—общий

Вывода RESET у NEO-6 нет: сброс и типы старта (горячий, тёплый, холодный) делаются командой UBX-CFG-RST. Выводы 14–16 при старте читаются как биты конфигурации: CFG_COM1 = CFG_COM0 = 1 (свободные выводы) даёт NMEA на 9600 бит/с; 1 0 — 38 400; 0 1 — 4800 с GSV каждый пятый цикл; 0 0 — UBX на 57 600 бит/с. CFG_GPS0 = 1 — режим максимальной производительности (по умолчанию), 0 — Eco. Статическая установка этих выводов несовместима с SPI.

Электрические характеристики

ПараметрМин.Тип.Макс.Условия
Питание VCC (NEO-6Q/M/P/V/T)2,7 В3,0 В3,6 ВNEO-6G: 1,75–1,95 В
Резерв V_BCKP1,4 В3,6 В22 мкА при 1,8 В и VCC = 0
Напряжение на входах0VCC
Низкий / высокий уровень входа0,2 · VCC / от 0,7 · VCC
Низкий / высокий уровень выхода0,4 В / от VCC − 0,4 В4 мА
VCC_RFVCC − 0,1 Вдо 50 мА
Пиковый ток67 мАдля расчёта источника
Ток при поиске / слежении47 / 39 мАVCC = 3,0 В; Eco — 37 мА
Ток в Power Save, 1 Гц11 мАNEO-6M
Рабочая температура−40 °C+85 °C

Предельные значения (табл. 9): VCC, V_BCKP, VDDUSB и входы −0,5…3,6 В, ток любого вывода 10 мА, мощность на RF_IN 15 дБм; защиты от перенапряжения и переполюсовки нет. Антенна — пассивная или активная с усилением 15–50 дБ и шумом не более 1,5 дБ; активную питают от VCC_RF.

Подключение

  • Питание. 3,3 В с запасом по току 70 мА. У готовых плат стабилизатор 3,3 В обычно стоит на плате — проверить по её описанию; сам модуль 5 В не переживёт.
  • Уровни. Входы — не выше VCC, значит TX 5-вольтового микроконтроллера на RxD1 — через делитель или преобразователь уровней; с 3,3-вольтовыми микроконтроллерами — напрямую. Кадр 9600 8N1 — в статье «Интерфейс UART» и термине «Скорость передачи».
  • Батарейка. V_BCKP хранит эфемериды, время и сохранённую конфигурацию: 22 мкА при 1,8 В — литиевая батарейка или суперконденсатор, как резервный домен микроконтроллера.
  • Таймпульс. На выводе 3 — 1PPS: фронт в начале секунды, импульс 100 мс, частота настраивается от 0,25 Гц до 1 кГц, точность 30 нс (скз).

NMEA и UBX

По умолчанию модуль выдаёт GGA, GLL, GSA, GSV, RMC, VTG и TXT и принимает NMEA и UBX вперемешку без настройки. Два главных сообщения:

  • RMC — рекомендуемый минимум: $GPRMC,hhmmss,status,latitude,N,longitude,E,spd,cog,ddmmyy,mv,mvE,mode*cs. Время UTC, флаг A (данные верны) или V (данные недействительны), широта и долгота в формате ггмм.мммм, скорость в узлах, курс в градусах, дата.
  • GGA — данные решения: $GPGGA,hhmmss.ss,Latitude,N,Longitude,E,FS,NoSV,HDOP,msl,m,Altref,m,DiffAge,DiffStation*cs. Статус решения, число используемых спутников (до 12), HDOP, высота над уровнем моря и поправка геоида.

Координаты записаны как градусы и минуты (4717,11399 = 47° 17,11399′), а не десятичные градусы; перевод и проверку контрольной суммы делает разбор NMEA онлайн. Для настройки служит двоичный протокол UBX: кадр начинается с байтов 0xB5 0x62, дальше класс (NAV 0x01, CFG 0x06, ACK 0x05), ID, длина нагрузки (2 байта, младший первым), нагрузка и контрольная сумма CK_A, CK_B; на команды CFG приёмник отвечает ACK или NAK. Текущая конфигурация живёт до выключения; UBX-CFG-CFG с маской save переносит её в батарейную память BBR, с маской clear — сбрасывает сохранённую к заводской. Другие модули — в разделе «Модули».

Частые вопросы

Можно ли подключить NEO-6M к Arduino на 5 В?

Питание — только через стабилизатор: сам модуль работает от 2,7 до 3,6 В, абсолютный максимум на VCC — 3,6 В; у большинства готовых плат стабилизатор 3,3 В уже стоит, что нужно проверить по описанию платы. Линию RX модуля к выходу TX Arduino напрямую подключать нельзя: напряжение на любом входе по даташиту не выше VCC — нужен делитель или преобразователь уровней. Выход TX модуля даёт не меньше VCC − 0,4 В при 4 мА; хватит ли этого входу 5-вольтового микроконтроллера — по его порогу VIH.

Почему NEO-6M долго ищет спутники?

Холодный старт без сохранённых данных занимает по даташиту 27 с при сильном сигнале от всех спутников (−130 дБм) и открытом небе; чувствительность холодного старта — всего −147 дБм против −161 дБм при слежении, поэтому у окна или под деревьями старт растягивается на минуты. Горячий старт — 1 с, если эфемериды и время сохранены в памяти с батарейкой на V_BCKP (1,4–3,6 В, ток 22 мкА). Без батарейки каждое включение — холодный старт.

Какие строки NMEA выдаёт NEO-6M по умолчанию?

На UART 9600 бит/с, 8N1, раз в секунду: GGA, GLL, GSA, GSV, RMC, VTG и TXT (NMEA 0183 версии 2.3). Координаты и время — в RMC и GGA; в GGA также число спутников, HDOP и высота над уровнем моря. Пример из описания протокола u-blox: $GPGGA,092725.00,4717.11399,N,00833.91590,E,1,8,1.01,499.6,M,48.0,M,,0*5B. Разобрать строку по полям можно в онлайн-разборе NMEA.

Как изменить скорость UART или частоту обновления NEO-6M?

Командами UBX: UBX-CFG-PRT задаёт порт и скорость, UBX-CFG-RATE — период решения (до 5 Гц у NEO-6M), UBX-CFG-MSG — набор сообщений. Настройки действуют до выключения; чтобы сохранить, отправляют UBX-CFG-CFG с маской save — в память с батарейным питанием BBR, которая живёт, пока есть напряжение на V_BCKP. Без батарейки и без внешней EEPROM после выключения модуль вернётся к заводским 9600 бит/с.

Источники

  1. u-blox. NEO-6 u-blox 6 GPS Modules. Data Sheet (GPS.G6-HW-09005-E, 05/12/2011, Released) — разд. 1.1 — 50 каналов, 2 млн корреляторов, 16 × 12,2 × 2,4 мм; табл. 2 — время старта, чувствительность, частота обновления, точность, таймпульс, пределы; табл. 4 — протоколы; разд. 1.12 — UART, USB, SPI, DDC; табл. 5 — антенна; табл. 6–7 — выводы CFG_COM и CFG_GPS0; табл. 8 — выводы модуля; табл. 9 — предельные значения; табл. 10 — рабочие условия; табл. 11 — токи; табл. 15 — настройки по умолчанию; табл. 18 — коды заказа
  2. u-blox. u-blox 6 Receiver Description Including Protocol Specification (GPS.G6-SW-10018-F, 18 Apr 2013, Public Release, FW 7.03) — разд. 20.3 GGA и 20.10 RMC — структура и примеры строк; разд. 23 — кадр UBX (0xB5 0x62, класс, ID, длина, контрольная сумма); разд. 24 — классы UBX; разд. 5 — текущая и постоянная конфигурация, UBX-CFG-CFG, BBR; разд. 7 — типы старта и UBX-CFG-RST
Страница помогла?

Нашли ошибку? ·