Исследование времени обработки сигналов в задаче беспроводной связи на базе микроконтроллера 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
...Подобные документы
Создание микропроцессорной системы на базе микроконтроллера, предназначенного для функциональной диагностики цифровых и интегральных микросхем. Разработка и расчёт блоков микроконтроллера, сопряжения, управления, питания, цифровой и диодной индикации.
курсовая работа [1,5 M], добавлен 28.01.2016Модернизация более ранней разработки устройства на базе микроконтроллера MCS-48, предназначенного для увлажнения дыхательной смеси. Проектная процедура ПЛИС типа SOPC, реализованная на базе микроконтроллера MCS-48. Проектирование структурной схемы.
курсовая работа [523,2 K], добавлен 03.05.2015Разработка системы адаптивного аналого-цифрового преобразования (АЦП) на базе однокристального микроконтроллера. Сравнение АЦП различных типов. Анализ способов реализации системы, описание ее структурной схемы, алгоритма работы, программного обеспечения.
дипломная работа [3,0 M], добавлен 29.06.2012Методика проектирования, разработки, практической апробации цифрового регулятора температуры на базе микросхемы-термометра DS1620, который совмещает температурный датчик, схему управления и АЦП в одном кристалле, и микроконтроллера фирмы Atmel AT90S2313.
курсовая работа [755,6 K], добавлен 19.06.2010Описание структурной и функциональной схем электронных часов, выбор элементной базы. Разработка счетчика времени с системой управления на базе микроконтроллера. Экономический расчет затрат на проектирование, разработку и сборку макета электронных часов.
дипломная работа [223,5 K], добавлен 26.07.2015Изучение протоколов 2-го, канального уровня OSI модели, оперирующих кадрами. Оценка эффективности использования протоколов в каналах с различными техническими характеристиками. Условия рационального применения тех или иных версий канальных протоколов.
лабораторная работа [154,5 K], добавлен 06.07.2009Особенности микроконтроллера ATTINY семейства AVR. Описание ресурсов микроконтроллера ATTINY12: описание процессора, порты ввода/вывода, периферийные устройства, архитектура ядра. Разработка устройства со световыми эффектами на базе микроконтроллера.
курсовая работа [2,1 M], добавлен 24.06.2013Разработка устройства преобразования аналоговых сигналов на базе микроконтроллера PIC16F877 и ЦАП AD5346, осуществляющее преобразование в последовательность двоичных кодов, обработку кодов и преобразование результатов обработки в аналоговые сигналы.
курсовая работа [1,6 M], добавлен 06.06.2012Функциональная спецификация, описание объекта, структура системы и ресурсов микроконтроллера. Ассемблирование, программирование микроконтроллера и разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы.
курсовая работа [2,2 M], добавлен 02.01.2010Проектирование устройства контроля функционального состояния на базе беспроводной передачи сигналов от первичных преобразователей, размещаемых на обследуемом пациенте, к системе автоматизированной обработки данных, его практическое использование.
дипломная работа [2,6 M], добавлен 25.12.2010Условия эксплуатации микропроцессорного устройства "Светодиодные фонари с электронным управлением" на базе МК ATtiny 15. Техническое описание микроконтроллера. Разработка структурной и электрической принципиальной схем, интерфейса управления и индикации.
курсовая работа [267,5 K], добавлен 01.05.2015Разработка малогабаритного автомобильного термометра на базе микроконтроллера и требования к нему. Проектирование функциональной схемы, работа измерителя. Выбор элементной базы. Схема включения усилителя. Архитектура и элементы микроконтроллера.
контрольная работа [841,4 K], добавлен 22.05.2015Анализ создания электрической принципиальной схемы. Программные средства разработки для микроконтроллера. Описание технологии изготовления печатной платы. Мероприятия по устранению или уменьшению влияния вредных факторов при производстве печатных плат.
дипломная работа [855,4 K], добавлен 13.06.2021Разработка и исследование системы многоканального полосового анализа речевых сигналов на основе полосовых фильтров и на базе квадратурной обработки. Принципы организации и программирования цифровых сигнальных процессоров (ЦСП), разработка программ ЦОС.
курсовая работа [3,5 M], добавлен 27.10.2012Структурная схема устройства управления. Алгоритм работы микроконтроллера в его составе. Строение центрального процессорного элемента – микроконтроллера AVR семейства Classic. Принципиальная схема устройства, расчет временных параметров ее работы.
курсовая работа [636,5 K], добавлен 03.12.2013Функциональная спецификация и структурная схема электронных автомобильных часов-термометра-вольтметра. Разработка алгоритма работы и принципиальной электрической схемы. Получение прошивки программы для памяти микроконтроллера в результате ассеблирования.
курсовая работа [2,0 M], добавлен 26.12.2009Описание объекта и функциональная спецификация. Описание ресурсов МК: расположение выводов; исполнение микроконтроллера; особенности микроконтроллеров. Разработка алгоритмов устройства. Описание функциональных узлов МПС и алгоритма их взаимодействия.
курсовая работа [5,2 M], добавлен 27.12.2009Роль микроконтроллерных технологий в развитии микроэлектроники. Алгоритм разработки микропроцессорной системы термометр-часы на базе микроконтроллера PIC16F84A. Разработка схемы электрической принципиальной устройства и программы для микроконтроллера.
курсовая работа [584,1 K], добавлен 19.03.2012Принцип работы кодового замка. Проектирование кодового замка с возможностью звуковой сигнализации при попытке подбора кода, на базе микроконтроллера с архитектурой MCS-51. Функциональная схема устройства, составление программы для микроконтроллера.
курсовая работа [3,2 M], добавлен 14.11.2010Функциональная спецификация и преимущества термометрического датчика. Структурная схема микроконтроллера РIС16F84A. Алгоритм работы программы, описание функциональных узлов, выбор элементной базы и принципиальная схема терморегулятора для аквариума.
курсовая работа [4,7 M], добавлен 27.12.2009