Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 19(63)

Рубрика журнала: Технические науки

Секция: Радиотехника, Электроника

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4

Библиографическое описание:
Шарыпов Д.А., Сироткин А.В. РЕАЛИЗАЦИЯ МНОГОЗАДАЧНОСТИ В ЦЕНТРАЛИЗОВАННОЙ АРХИТЕКТУРЕ УПРАВЛЕНИЯ НА БАЗЕ ARDUINO // Студенческий: электрон. научн. журн. 2019. № 19(63). URL: https://sibac.info/journal/student/63/142164 (дата обращения: 18.11.2024).

РЕАЛИЗАЦИЯ МНОГОЗАДАЧНОСТИ В ЦЕНТРАЛИЗОВАННОЙ АРХИТЕКТУРЕ УПРАВЛЕНИЯ НА БАЗЕ ARDUINO

Шарыпов Данил Андреевич

студент, факультет естественных наук и математики, Северо-Восточный государственный университет,

РФ, г. Магадан

Сироткин Андрей Вячеславович

канд. техн. наук, доцент, декан факультета естественных наук и математики, Северо-Восточный государственный университет,

РФ, г. Магадан

Ключевые слова: Ардуино, Arduino, архитектура, многозадачность, многофункциональность.

 

Введение

В настоящее время высокую актуальность приобрела бытовая автоматизация, которая проявляется в концепции “умный дом”. “Умный дом” – это дом, оборудованный освещением, отоплением и электронными устройствами, которые дистанционно контролируются при помощи смартфона или компьютера [6]. Умные дома разрабатывают на различных платформах и на различной элементной базе. Реализация “умного дома” осуществляется множеством микроконтроллеров, каждый из которых отвечает за свою функцию, тем самым реализуя многофункциональность автоматизированной системы. Все микроконтроллеры в “умном доме” должны быть объединены в одну систему и управлять всей этой системой должен центральный модуль. Авторами статьи было предложено решение “централизованной архитектуры” [5] которое было применено для создания робота аниматроника и, в том числе может быть применимо для реализации управления системой “умного дома”. Централизованная архитектура предусматривает реализацию многозадачности для всех подключенных микроконтроллеров и исполнительных цепей, поэтому одной из актуальных задач, решаемых при создании централизованной архитектуры, является задача обеспечения многозадачности.

Цели

Целью работы является реализация многозадачности для централизованный архитектуры Arduino, ориентированной на многофункциональность управления микроконтроллерами.

Популярность микроконтроллеров Ардуино очень высока благодаря ряду достоинств. Arduino представляет собой идеальную платформу для новичков — всё, что можно сделать с Arduino — можно сделать с любым другим микроконтроллером и использовать полученные знания в будущем. Основными достоинствами являются следующие:

1) Небольшие размеры платы.

2) Гибкость программирования.

3) Платы, расширяющие функциональность Arduino для управления различными устройствами, получения данных и т.д. (WiFi, Xbee, Ethernet, Motor Shield).

4) Дешевизна платы, стоимость контроллера варьируется в пределах 1000 р [2].

Централизованная архитектура объединяет в качестве входов подключённые модули, получающие сигналы управления, и исполнительные модули, реализующее управление за счет формируемых управляющих последовательностей. Схема централизованной архитектуры приведена на рисунке 1.

 

Рисунок 1. Схема централизованной архитектуры

 

В архитектуре, представленной на рисунке 1, програмно объединены входы:

  1. ;

где: ƛ – сигналы входов, Λ – множество сигналов входов, ɤ - управляющая последовательность команд, Г – множество управляющих последовательностей, Fi – некоторая функция, устанавливающая преобразование входного сигнала в выходную управляющую последовательность.

В архитектуре, представленной на рисунке 1, мастер-контроллер на основе ATMega выступает в роли центрального процессора, который объединяет все модули в единую многофункциональную систему. Сама реализация работы в мастер-контроллере построена, на основе петли (loop), в которой последовательно и циклично обрабатываются все входящие операции, сама структура петли (loop) имеет линейный характер, с возможным процедурным расширением за счет организации цикличных вызовов процедур. Входными сигналами для централизованной архитектуры являются:

  1. ИК модуль.
  2. Радио модуль.
  3. Bluetooth модуль.
  4. Модуль управления.
  5. Модуль распознавания речи.

Выходные сигналы:

  1. Модуль сердца.
  2. Модуль лица.
  3. Модуль драйвер моторов.
  4. Голосовой модуль.

Реализация

Для реализации многозадачности централизованной архитектуры (рис. 1) стоит задача построения логики обработки входных сигналов и управляющих последовательностей на основе выбранной дисциплины обслуживания. Поскольку сам центральный микроконтроллер ATMega является однозадачным т.е. может выполнять единовременно только одну задачу, встает вопрос о построении системы массового обслуживания (СМО), схема которой представлена на рисунке 2.

 

Рисунок 2. Система массового обслуживания централизованной архитектуры

 

СМО образованна подключенными модулями Ардуино, где:

  • Λ – поток входных сигналов ƛi;
  • ɤ – сформированная управляющая последовательность;
  • F – Функция преобразования входного сигнала в управляемую последовательность, выполняемая, “Решающим прибором” т.е. мастер-контроллером.

 

Рисунок 3. Реализация входа ƛ.

 

Входящий сигнал ƛi формируется путем чтения кода cmd из последовательного порта, имеющего поступившие данные.

Система массового обслуживания (СМО) представляет собой систему специального вида, реализующую многократное выполнение однотипных задач [3].

Элементами СМО являются:

  • входной (входящий) поток требований на обслуживание;
  • приборы (каналы) обслуживания;
  • очередь заявок, ожидающих обслуживания;
  • выходной (выходящий) поток обслуженных заявок;
  • поток не обслуженных заявок;
  • очередь свободных каналов.

В подобной структуре наиболее очевидными являются следующие дисциплины обслуживания, это FIFO и LIFO.

FIFO расшифровывается как «first in, first out», что переводится – «первый пришел, первый ушел». Это означает, что сначала выполняется процедура, которая поступила первой [3].

LIFO или last-in-first-out «последним пришёл — первым ушёл» является полной противоположностью абстракции FIFO, где самая последняя процедура обрабатывается в первую очередь [4].

Необходимо выявить наиболее преимущественную дисциплину обслуживания, для чего следует проанализировать варианты использования FIFO и LIFO в роботизированной системе.

 

Рисунок 4. Программная реализация FIFO.

 

  1. При работе с дисциплиной обслуживания FIFO система массового обслуживания реализована следующим образом. В мастер контроллер поступает сигнал, который сразу же обрабатывается и исполняется предназначенным для него модулем. При поступлении нескольких сигналов сразу, они будут выполняться по очереди создавая при этом задержки. Пример обслуживания FIFO для i = 4 представлен на рисунке 3.

 

Рисунок 5. Формула работы FIFO для 4-го сигнала

 

После каждой ƛi вставляется вызов, соответствующий процедуры обработки, которая срабатывает если поступил входной сигнал, если входной сигнал не поступил, то вызов игнорируется, и петля замыкается.

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

 

Рисунок 6. Программная реализация LIFO.

 

Пример работы LIFO:

  1. Поступили сигналы 1, 7;
  2. Происходит анализ поступивших сигналов;
  3. Передача управления соответствующей процедуре обслуживания;

В данной ситуации передача управления будет осуществлено для 7 процедуры обслуживания. Пример обслуживания LIFO представлена для i = 7 на рисунке 4.

 

Рисунок 7. Формула работы LIFO для 7-го сигнала

 

Заключение

В итоге проведенной работы получены следующие результаты:

  1. Реализована программная многозадачность для централизованной архитектуры на базе Arduino.
  2. Построена математическая модель cистемы массового обслуживания для централизованной архитектуры.
  3. Проанализированы дисциплины обслуживания FIFO и LIFO.

На основе полученных результатов выявлено что дисциплина обслуживания FIFO является более эффективным решением для реализации многозадачности централизованной архитектуры, за счет меньшего времени обработки команд, поступающих в мастер-контроллер.

 

Список литературы:

  1. Баранов В.Н. Применение микроконтроллеров AVR: Схемы, алгоритмы, программы: М. «Додека». 288 с. – 2014.
  2. Arduino и IDE. [электронный ресурс] — Режим доступа. — URL: http://kip-world.ru/dostoinstva-i-nedostatki-arduino-uno-r3.html.
  3. FIFO. Wikipedia [электронный ресурс] — Режим доступа. — URL: https://ru.wikipedia.org/wiki/FIFO.
  4. LIFO. Wikipedia [электронный ресурс] — Режим доступа. — URL: https://ru.wikipedia.org/wiki/LIFO.
  5. Шарыпов Д.А., Сироткин А.В. Реализация централизованной модульно-функциональной архитектуры для роботизированных систем на базе микроконтроллеров AVR // Студенческий: электрон. научн. журн. 2019.
  6. Умный дом – что это такое и что в себя включает. [электронный ресурс] — Режим доступа. — URL: https://www.mckrona.ru/blog/umnyy-dom.

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.