Исследование времени обработки сигналов в задаче беспроводной связи на базе микроконтроллера ESP8266

Исследование протоколов Wi-Fi и ESP-NOW на базе микроконтроллера ESP8266. Анализ возможности использования протоколов для синхронизации нескольких модулей. Определение времени обработки и доставки пакетов на базе полученных экспериментальных данных.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид статья
Язык русский
Дата добавления 30.08.2021
Размер файла 496,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Исследование времени обработки сигналов в задаче беспроводной связи на базе микроконтроллера ESP8266

Зинкевич А.В. - канд. техн. наук, доц. кафедры «Вычислительная техника», (ТОГУ)

Рассмотрена работа протоколов Wi-Fi и ESP-NOW на базе микроконтроллера ESP8266. Исследована возможность использования протоколов для синхронизации нескольких модулей. Время обработки и доставки пакетов было рассчитано на основе полученных экспериментальных данных.

Ключевые слова:ESP8266, ESP-NOW, Wi-Fi, UDP, синхронизация.

Abstract

Research of the Signal Processing Time in the Problem of Wireless Communication Based on ESP8266 Microcontroller

Zinkevich A. V. - Pacific National University, Khabarovsk, Russian Federation

The work of the Wi-Fi and ESP-NOW protocols based on the ESP8266 microcontroller is considered. The possibility of using protocols to synchronize several modules has been investigated. The time of packet processing and delivery has been calculated based on the obtained experimental data.

Keywords: ESP8266, ESP-NOW, Wi-Fi, UDP, synchronization.

Введение

Популярный сегодня микроконтроллер ESP8266 основное применение находит в управлении бытовыми приборами через беспроводные сети [1, 2]. Концепцию такого управления называют IoT(от англ. InternetofThings- интернет вещей). Однако технические характеристики (табл. 1) и низкая стоимость (порядка 300 руб.) дают возможность использования таких микроконтроллеров в связке друг с другом или с сервером.

Таблица 1 Основные технические характеристики ESP8266

Параметр

Значение

Процессор

32 бит, 80 МГц (160 МГц)

Wi-Fi протоколы

802.11 b/g/n

Напряжение питания

3,0 - 3,6 В

Максимальный ток

220мА

Встроенная flash память

4 Мб

Периферийные шины

UART/HSPI/I2C/I2S

Сетевые протоколы

IPv4, TCP/UDP/HTTP/FTP

При этом ключевым фактором, определяющим область применения, зачастую являются потребляемая мощность и стабильность работы. Например, построение беспроводной системы на базе совместно работающих ESP8266 может являться частью задачи локальной системы позиционирования, управления роем беспилотных летательных аппаратов, в робототехнике или других [3, 4]. В таких системах особое место занимает синхронизация модулей между собой.

В работе рассматриваются два протокола беспроводной связиWi -Fi и ESP-NOW с помощью которых можно обеспечить синхронизацию модулей, а также дается оценка их возможного использования в проектах.

Задача обмена синхропакетами

Обмен синхропакетами предполагает взаимный обмен пакетами как минимум между двумя микроконтроллерами, один из которых является Master- инициатор обмена, второй - Slave. Для учета ошибок и передачи полезных данных синхропакет обычно содержит следующие данные:

1. Порядковый номер синхропакета.

2. Время локального счетчика (в микросекундах).

Обмен синхропакетами (рис.1) происходит по следующему алгоритму:

1. Masterзаписывает свое текущее локальное время tm1в синхропакетM1 и отправляет сообщение.

2. В момент получения сообщения MlSlaveзаписывает свое текущее локальное время ts2. Таким образом мы получаем tnb ts2.

3. Slaveзаписывает свое текущее локальное время ts3и отправляет сообщение S1.

4. Masterзаписывает свое текущее локальное время tm4в синхропакет M2 и отправляет обратно.

5. Получив все временные метки tm1, ts2, ts3, tm4Slaveвычисляет время доставки и время обработки пакета.

Рис. 1. Обмен пакетами для расчета задержки

Из рис. 1 видно, что в момент времени ts2принятый от Masterпакет прошел по сети и был обработан Slave'омза некоторое время А - сумма времени отправки пакета Master'ом, задержки пакета в сети и времени обработки пакета Slave'ом. Поскольку временная база MasterиSlaveне синхронизирован- на, то имеет место смещение времени Ф - разница между локальными счетчиками Masterи Slave.

Можно записать обмен пакетами (рис. 1) в виде формул:

Откуда можно получить ? и д:

Для сбора статистических данных в каждом тесте проводилось по 5000 обменов пакетами, далее рассчитывались Д и 5. В качестве среды разработки использовалась Arduino IDE. Исследование проводилось при изменении рабочей частоты микроконтроллера (80 МГц и 160 МГц), а также используемой версии библиотеки, предоставляющей программный интерфейс приложения (API) для ESP-8266 (Non-OSSDK2.2.1 и Non-OSSDKpre-3).

Протокол UDPв сети Wi-Fi

Протокол UDP (UserDatagramProtocol) выбран для передачи данных, поскольку ему не обязательно устанавливать соединение между отправителем и получателем. Информация передается без предварительной проверки готовности принимающей стороны. Это делает протокол менее надежным, но позволяет добиться более высокой скорости передачи данных.

Для реализации обмена пакетами в среде ArduinoIDEбыли использованы стандартные библиотеки. Первая библиотека (ESP8266WiFi.h) нужна для организации передачи данных по WiFi. Вторая (WiFiUdp.h) используется для программирования UDP-функционала. Программный код для Master и Slave, обменивающихся пакетами по протоколу UDPв сети Wi-Fi802.11 b/g/n, соответствует приведенному ранее (рис. 1) алгоритму. Оба модуля подключены к внешней точке доступа Wi-Fi.

Результаты исследования Д и 5 на частоте 80 МГц, размере пакета 50 байт и Non-OSSDK2.2.1 приведены на рис. 2 и рис. 3, соответветственно. Пакеты следуют с интервалом 100 мс.

Рис. 2. Зависимость смещения ?от номера синхропакета (частота 80 МГц, размер пакета 50 байт, Non-OS SDK 2.2.1), мкс

Рис. 3.Зависимость времени задержки Д от номера синхропакета (частота 80 МГц, размер пакета 50 байт, Non-OSSDK2.2.1), мкс

Сравнительный анализ при передаче UDPсинхропакета с другими настройками микроконтроллера не приведен в работе поскольку полученные данные имеют сильный разброс даже для текущих параметров. Анализ полученных данных позволяет оценить расхождение внутренних счетчиков микроконтроллеров, что связано с несинхронностью работы генераторов, установленных на модуле. Согласно полученным данным (рис. 2) эта разница составляет порядка 1 мс на 1 минуту работы модулей. Сильный разброс Д связан с работой протокола Wi-Fi, а именно с арбитражем работы через внешнюю точку доступа.

Протокол ESP-NOW Espressif

Технология ESP-NOW-- это упрощенный протокол связи WiFiс передачей коротких пакетов между парами сопряженных устройств, разработанный и выпущенный компанией Espressif 2016 для микроконтроллеров ESP32 и ESP8266. После того, как соединение выполнено, оно является постоянным, одноранговым, и повторной аутентификации для его возобновления не требуется. Протокол достаточно энергоэффективен, прост и удобен, при этом дополнительные процедуры, связанные с поддержкой протокола WiFi не используются, что ускоряет процесс обмена пакетами. При отправке данных следует учитывать, что за один раз можно отправлять не более 200 байт информации.

Для реализации обмена пакетами в среде Arduino IDE были использованы стандартные библиотеки. Основная библиотека (esp_now.h) нужна для организации передачи данных, а также определения функций обратного вызова при посылке/отправке пакетов. Программный код для Master и Slave, обменивающихся пакетами по протоколу ESP-NOW, соответствует приведенному ранее (рис.1) алгоритму. В отличие от предыдущей схемы, где оба модуля были подключены к внешней точке доступа Wi-Fi, в этой модули обмениваются пакетами напрямую, однако работают на той же частоте и каналах, что и точка доступа [5].

Результаты исследования А и 5 на частоте 80 МГц, размере пакета 8 байт и Non-OSSDK2.2.1 приведены на рис. 4 и рис. 5, соответственно. Пакеты следуют с интервалом 30 - 40 мс.

Рис. 4. Зависимость смещения 5 от номера синхропакета (частота 80 МГц, размер пакета 8 байт, Non-OSSDK2.2.1), мкс

Рис. 5. Зависимость времени задержки Д от номера синхропакета (частота 80 МГц, размер пакета 8 байт, Non-OS SDK 2.2.1), мкс

Рис. 6. Процентное отношение синхропакетов с уникальным Д (частота 80 МГц, размер пакета 8 байт, Non-OS SDK 2.2.1), мкс

Для удобства можно сгруппировать значения по уникальным Д и вычислить процентное отношение количества пакетов в каждой группе, к общему числу отправленных синхропакетов по формуле:

где Ni - количество пакетов в уникальной группе.

Исходными данными для расчета приняты результаты, приведенные на рис. 5. Поскольку большинство уникальных групп содержат по одному значению, то приводятся только десять наиболее часто встречающихся значений (рис. 6). По данным рис. 5 и рис.6 видно, что порядка 74% всех синхропакетов имеют время обработки равное 510 мкс, при этом среднее время обработки для 5000 пакетов составляет примерно 550 мкс.

Сравнительный анализ при передаче синхропакета с другими настройками микроконтроллера дает схожие результаты, которые зависят от размера пакета. Зависимость среднего времени задержки Асинхропакета при различных размерах пакета, частоте и версии SDKмикроконтроллера приведена на рис. 7.

Для обеспечения синхронной работы отправку синхропакетов нужно выполнять периодически, либо передавать данные синхропакета в поле з-ных пакетах. Однако количество байт полезной части пакета будет влиять на время обработки пакета, что должно учитываться.

Как в случае с протоколом Wi-Fiпри передаче UDPпакетов, так и в случае с протоколом ESP-NOWимеет место программная обработка данных, основанная на APIпроизводителя. Зачастую некорректное описание функций и обработки прерываний приводит к значительной разнице во времени обработки, что наглядно видно на рис. 2 - 5.

Заключение

Результат вычисления А может быть использован для синхронизации устройств, а результат вычисления 5 для подстройки локального счетчика Slave. При этом следует учитывать, что девиация времени обработки по результатам исследования не может быть меньше 40 мс для Wi-FiUDP и не меньше 11 мс для ESP-NOW. Полученные значения А и 5 имеют наилучшие результаты для коротких пакетов при использовании протокола ESP-NOW, однако даже в отсутствии ошибок передачи/приема можно получить их отклонение практически в 25% случаях. В некоторых случаях такое отклонение в 20 раз превышает среднее значение.

Библиографические ссылки

микроконтроллер протокол синхронизация

1. S. Fu.,P. C. Bhavsar. Robotic Arm Control Based on Internet of Things // 2019 IEEE Long Island Systems, Applications and Technology Conference (LISAT), Farmingdale. NY, USA. 2019. p. 1-6.

2. Assessing the ESP8266 WiFi module for the Internet of Things / J. Mesquita, D. Guimarдes, C. Pereira, F. Santos, L. Almeida // 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA). Turin, 2018.p. 784-791. URL: https://ieeexplore.ieee.org/document/850256(дата обращения:10.10.2020).

3. C. M. de A. Lima, E. A. da Silva, P. B. Velloso. Performance Evaluation of 802.11 IoT Devices for Data Collection in the Forest with Drones // 2018 IEEE Global Communications Conference (GLOBECOM). Abu Dhabi, United Arab Emirates, 2018. p. 1-7.

4. D. Yukhimets, A. Sych, A. Sakhnenko. Designing a Method for Constructing Distributed Open ACS Based on the ESP-NOW Wireless Protocol // 2020 International Russian Automation Conference (RusAutoCon). Sochi, Russia, 2020. p. 642-647.

5. API Reference. ESP-NOW. URL: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_now.html (дата обращения: 18.10.2020).

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.