Особенности программирования микроконтроллера GPS-модуля A9G | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №50 (445) декабрь 2022 г.

Дата публикации: 12.12.2022

Статья просмотрена: 109 раз

Библиографическое описание:

Малих, А. А. Особенности программирования микроконтроллера GPS-модуля A9G / А. А. Малих. — Текст : непосредственный // Молодой ученый. — 2022. — № 50 (445). — С. 9-12. — URL: https://moluch.ru/archive/445/97605/ (дата обращения: 26.04.2024).



В статье автор рассматривает особенности программирования модуля Ai-Thinker A9G для работы в качестве GPS датчика для автономных навигационных систем.

Ключевые слова: программирование, GPS-модуль, Ai-Thinker A9G.

Микроконтроллер в чипе модуля A9G программируется на языке C с использованием собственных специализированных библиотек. Микроконтроллер может выполнять множество параллельных процессов, что позволяет выполнять множество задач параллельно. Специальной среды для разработки программ для микроконтроллера нет. Код программы пишется в любом редакторе кода С, а затем компилируется в HEX файл при помощи SDK (Software Development Kit). HEX файл образовывается согласно параметрам, прописанным в конфиге Makefile, относящемся к данной программе. HEX файл прошивается на микроконтроллер с помощью специального инструмента через интерфейс UART, через порты HST_RX и HST_TX [1].

Перед использованием GPS датчика необходимо инициализировать компоненты, ответственные за работу с GPS. Из-за особенностей конструкции модуля до инициализации GPS необходимо дождаться завершения инициализации GPRS, иначе возможны сбои в питании GPS модуля. При включении модуль автоматически начинает инициализацию GPRS и при ее завершении подает на обработчик событий событие, свидетельствующее о завершении инициализации.

Данные о местоположении записываются в структуру GPS_Info_t описываемую одной из библиотек. Структура включает в себя переменные с плавающей запятой rmc.latitude.value и rmc.longitude.value. Переменные хранят в себе значения широты.

После инициализации и открытия канала GPS и проверки его работы начинается считывание местоположения используя команду Gps_GetInfo(). Короткий пример кода представлен на рисунке (Рисунок 1)

Использование GPS датчика

Рис. 1. Использование GPS датчика

Выходной формат данных с датчика неприменим, так как не соответствует ни одному распространенному стандарту передачи данных GPS,и не удобен для считывания пользователем. Есть необходимость перевода данных в стандартный формат долготы и широты (Рисунок 2).

Перевод данных GPS в стандартный формат

Рис. 2. Перевод данных GPS в стандартный формат

В то же время для передачи данных между устройствами получил широкое распространение формат данных NMEA 0183 (National Marine Electronics Association). Сообщение формата NMEA включает в себя множество данных и контрольную сумму, исключающую возможность ошибки при передаче данных. Сообщение NMEA имеет следующую структуру (Таблица 1) [2]:

Таблица 1

Структура сообщения NMEA

Начало сообщения

Адресная строка

Поля данных

Контрольная сумма

Символ конца строки

$

CNRMC или GNGGA и др.

[данные], [данные],

…,

[данные]

Контрольная сумма, сформированная по данным из 3х средних ячеек

Стандарт NMEA включает множество видов сообщений, из которых был выбран вид GNRMC. Сообщение --RMC (Recommended Minimum Specific GNSS Data) имеет вид:

$--RMC,hhmmss.sss,x,llll.lll,a,yyyyy.yyy,a,x.x,u.u,xxxxxx,,,v*hh , где:

hhmmss.ss — время снятия показаний (от 000000.00 до 235959.999);

x — статус (V — Ошибка датчика, A — Данные валидны);

llll.lll — широта в формате ddmm.mmm (с ведущими нулями);

A — индикатор направления отчета (N — North (Север), S — South (Юг));

yyyyy.yy — долгота в формате dddmm.mmm (с ведущими нулями);

A — индикатор направления отчета (E — East (Восток), W– West (Запад));

x.x — скорость над поверхностью земли в узлах;

u.u — курс над поверхностью земли в градусах;

xxxxxx — дата снятия показаний;

A — индикатор режима (N — не валидные данные, A — автономный режим, D — дифференциальный режим, E — оценочный режим);

hh — контрольная сумма в виде шестнадцатеричного числа.

Для получения информации о времени с помощью средств GPRS используется следующий набор команд (Рисунок 3):

Набор команд для работы со временем

Рис. 3. Набор команд для работы со временем

Для формирования строки NMEA используется функция snprintf() для составления выражений. Часть кода представлена ниже (Рисунок 4).

Составление выражения NMEA

Рис. 4. Составление выражения NMEA

При составлении выражения формата NMEA необходимо находить контрольную сумму. Контрольная сумма генерируется применением операции XOR побитно, записи всех символов в формате ASCII. Контрольная сумма представляется в виде двух шестнадцатеричных символов. Принимающее устройство также рассчитывает контрольную сумму и, в случае несовпадения с принятой от передатчика, сообщает об ошибке [22]. Часть программного кода, реализующая составление контрольной суммы представлена ниже (Рисунок 5).

Генерация контрольной суммы

Рис. 5. Генерация контрольной суммы

Сгенерированное сообщение стандарта NMEA может быть направлено с модуля A9G на основной микроконтроллер. Таким образом, задачи обработки входных данных и формирования сообщения для отправки выполняются на микроконтроллере модуля A9G, не используя вычислительные мощности основного микроконтроллера.

Литература:

  1. A9G GPRS/GSM+GPS/BDS Module [Электронный ресурс]: Datasheet / Ai-Thinker — Электронные данные. — Режим доступа: https://www.makerfabs.com/desfile/files/a9g_product_specification.pdf (дата обращения 11.12.2022)
  2. SiRF Tecnology Inc. NMEA Reference Manual. — San Jose, 2005.
Основные термины (генерируются автоматически): GPS, NMEA, контрольная сумма, GPRS, HEX, RMC, данные, ASCII, CNRMC, GNGGA.


Ключевые слова

программирование, GPS-модуль, Ai-Thinker A9G

Похожие статьи

Некоторые технологии шифрования, применяемые в сотовых...

Технология беспроводной связи в сотовых сетях и передачи данных по таким сетям (например, GPRS, EDGE, WCDMA и HSPA) остается оптимальным для обеспечения связи. Данная технология и сейчас продолжает совершенствоваться, особенно это касается передачи данных.

Радиосигналы в спутниковых радионавигационных системах...

Частоты ƒм и ƒc обычно кратны опорной синхрочастоте ƒоп (для системы GPS ƒоп=1,023 МГц), поэтому используют запись BOC(2,1) для частоты кода 1,023 МГц и частоты меандра 2,046 МГц. На рис. 1 меандр r(t) накладывается на ПСП g(t) — получается результирующий сигнал d(t).

Алгоритмы помехоустойчивого кодирования и их аппаратная...

Триггер-защелка применяется для защелкивания входных данных. Регистр контрольной суммы используется для инициализации контрольной суммы, приема данных, для которых вычисляется контрольная сумма и считывания полученного значения контрольной суммы.

Система автоматизированного контроля остаточного ресурса...

Программы на сервере ИВС, формирующие пакеты данных для передачи в ВК САКОР, должны производить выборку из своих баз данных показаний только тех датчиков, которые необходимы для работы САКОР (по предварительно разработанному перечню штатных датчиков).

Исследование нейросетевых технологий для выявления...

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

Обычно для обучения и тестирования ИНС имеющиеся экспериментальные данные разбиваются на обучающую БД и контрольную БД.

Особенности работы с приемопередатчиком NRF24L01+

Для этого используется протокол ShockBurst™. При использовании данного протокола биты контроля пакета не передаются, а контрольная сумма может не передаваться, что увеличивает скорость передачи данных до 2 Мбит/с но снижает надежность безошибочной передачи данных.

Отправка SMS-сообщений через GSM-модем | Статья в журнале...

Для реализации требуется связка компьютер — модем. В качестве модема выступает специальное устройство для работы в сети GSM (GPRS-модем с функцией отправки SMS). Также подойдет мобильный телефон, подключенный к компьютеру через USB или Bluetooth.

Программно-аппаратный комплекс регистрации пользователей...

Более подробно принцип работы описан в официальном тексте стандарта; ‒ GPRS (англ. General Packet Radio Service — «пакетная радиосвязь общего пользования») — надстройка над технологией мобильной связи GSM, осуществляющая пакетную передачу данных.

«Бегущая строка» на микроконтроллере pic с помощью flowcode

Рис. 3. Блок-схема Flowcode с микроконтроллером PIC16F877A и диодами. Программа Flowcode позволяет перевести «блок-схему» на языке С и ASM. Полученный в результате компиляции файл с расширением *.hex, можно записать с помощью программатора в микроконтроллер.

Похожие статьи

Некоторые технологии шифрования, применяемые в сотовых...

Технология беспроводной связи в сотовых сетях и передачи данных по таким сетям (например, GPRS, EDGE, WCDMA и HSPA) остается оптимальным для обеспечения связи. Данная технология и сейчас продолжает совершенствоваться, особенно это касается передачи данных.

Радиосигналы в спутниковых радионавигационных системах...

Частоты ƒм и ƒc обычно кратны опорной синхрочастоте ƒоп (для системы GPS ƒоп=1,023 МГц), поэтому используют запись BOC(2,1) для частоты кода 1,023 МГц и частоты меандра 2,046 МГц. На рис. 1 меандр r(t) накладывается на ПСП g(t) — получается результирующий сигнал d(t).

Алгоритмы помехоустойчивого кодирования и их аппаратная...

Триггер-защелка применяется для защелкивания входных данных. Регистр контрольной суммы используется для инициализации контрольной суммы, приема данных, для которых вычисляется контрольная сумма и считывания полученного значения контрольной суммы.

Система автоматизированного контроля остаточного ресурса...

Программы на сервере ИВС, формирующие пакеты данных для передачи в ВК САКОР, должны производить выборку из своих баз данных показаний только тех датчиков, которые необходимы для работы САКОР (по предварительно разработанному перечню штатных датчиков).

Исследование нейросетевых технологий для выявления...

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

Обычно для обучения и тестирования ИНС имеющиеся экспериментальные данные разбиваются на обучающую БД и контрольную БД.

Особенности работы с приемопередатчиком NRF24L01+

Для этого используется протокол ShockBurst™. При использовании данного протокола биты контроля пакета не передаются, а контрольная сумма может не передаваться, что увеличивает скорость передачи данных до 2 Мбит/с но снижает надежность безошибочной передачи данных.

Отправка SMS-сообщений через GSM-модем | Статья в журнале...

Для реализации требуется связка компьютер — модем. В качестве модема выступает специальное устройство для работы в сети GSM (GPRS-модем с функцией отправки SMS). Также подойдет мобильный телефон, подключенный к компьютеру через USB или Bluetooth.

Программно-аппаратный комплекс регистрации пользователей...

Более подробно принцип работы описан в официальном тексте стандарта; ‒ GPRS (англ. General Packet Radio Service — «пакетная радиосвязь общего пользования») — надстройка над технологией мобильной связи GSM, осуществляющая пакетную передачу данных.

«Бегущая строка» на микроконтроллере pic с помощью flowcode

Рис. 3. Блок-схема Flowcode с микроконтроллером PIC16F877A и диодами. Программа Flowcode позволяет перевести «блок-схему» на языке С и ASM. Полученный в результате компиляции файл с расширением *.hex, можно записать с помощью программатора в микроконтроллер.

Задать вопрос