Технические науки/11. Робототехника
Угай И.А., Заурбеков
Д.Л., Турсунов И.Э., Пак И.Е.
Национальная научная
лаборатория коллективного пользования информационных и космических технологий
Казахского национального технического университета
имени К.И. Сатпаева
СРАВНИТЕЛЬНЫЙ ОБЗОР
ПРОИЗВОДИТЕЛЬНОСТИ ПЛАТ ARDUINO
Робототехника, как наука, появилась
несколько столетий назад, за данный период времени человечеством было создано
множество автоматизированных систем. Изначально роботы создавались и,
использовались исключительно в производственной сфере, что позволяет снизить
человеческий фактор, увеличить производительность и т.д. Однако в последнее
десятилетие наблюдается рост популярности разработки и применения роботов в
следующих сферах деятельности: осуществление наблюдения и охраны каких-либо
территорий; осуществление военных действий; спасательные операции и т.п.
Однако, перед
созданием подобных роботов, разработчики сталкиваются с проблемой выбора
платформы реализации. На данный момент, наиболее
дешевой и обладающей потенциально огромными возможностями является платформа Arduino.
Сотрудниками Национальной научной лаборатории коллективного пользования
информационных и космических технологий КазНТУ имени К.И. Сатпаева (далее –
ННЛКП ИКТ), было проведено изучение данной
платформы.
По данным за июнь 2014 года существуют следующие
основные, управляющие платы (далее – платы/микроконтроллеры):
–
Arduino UNO R3;
–
Arduino DUE;
–
Arduino Mega;
–
Arduino Mega 2560;
–
Arduino Intel Galileo.
Плата Arduino UNO R3 (рис. 1) создана
компанией Arduino Software на
базе
микропроцессора ATmega328P. Данный
микропроцессор обладает 32 Кбайтной флэш-памятью, постоянно запоминающим
устройством (далее – ПЗУ) объёмом 1024 байт, статической оперативной памятью
(далее – СОП) объёмом 2048 байт и тактовой частотой 16 МГц.

Рисунок 1 – Плата Arduino UNO
R3
Также, данная
плата работает под напряжением 5 В и имеет 14 цифровых портов ввода/вывода. Для
обеспечения корректной работы компанией Arduino Software
рекомендуется передавать на вход от 7 до 12 В [1].
Плата Arduino DUE
(рис. 2) построена на базе микропроцессора Atmel SAM3X8E
ARM Cortex-M3
(далее – ARM Cortex-M3).
Микропроцессор ARM Cortex-M3
флэш-памятью объёмом в 512 Кбайт, СОП – 96 Кбайт (состоит из двух блоков: 64
Кбайт и 32 Кбайт) и тактовой частотой – 84 МГц.

Рисунок 2 – Плата Arduino DUE
Аналогично ранее рассмотренной плате Arduino
DUE работает под напряжением 5 В и имеет 14 цифровых портов
ввода/вывода [2].
Плата Arduino Mega
основана на микропроцессоре ATmega1280. Микропроцессор
имеет следующие характеристики:
– флэш-память объёмом 128 Кбайт (из которых
разработчику доступны 124 Кбайт);
– ПЗУ объёмом 4 Кбайт;
– СОП объёмом 8 Кбайт;
– тактовая частота – 16 МГц.
Также данная плата работает под напряжением 5 В,
но в отличие от ранее рассмотренных ранее плат имеет 54 цифровых порта
ввода/вывода (смотреть рис. 3) [3].

Рисунок 3 – Плата Arduino Mega
Плата Arduino Mega
2560 работает под управлением микропроцессора ATmega2560. Данный
микропроцессор имеет работает под напряжением 5 В и имеет 54 цифровых порта
ввода/вывода (смотреть рис. 4).

Рисунок 4 – Плата Arduino Mega
2560
Микропроцессор ATmega2560 имеет следующие
характеристики: флэш-память объёмом 256 Кбайт; ПЗУ объёмом 4 Кбайт; СОП объёмом
8 Кбайт; тактовой частотой 16 МГц [4].
Плата Arduino Intel
Galileo основана на микропроцессоре Intel
Quark SoC X1000.
Данный микропроцессор имеет флэш-память объёмом 8 Мбайт, ПЗУ объёмом 11 Кбайт,
СОП объёмом 512 Кбайт, динамическую оперативную память (ДОП) объёмом 256 Мбайт и
тактовой частотой 400 МГц (смотреть рис. 5) [5].

Рисунок 5 – Плата Arduino Intel
Galileo
Ознакомившись с вышеперечисленными платами Arduino,
сотрудниками ННЛКП ИКТ были построены сводные диаграммы (смотреть рис. 6).

Рисунок 6 – Сводные данные плат Arduino
Согласно рис. 6 аббревиатурой CPU
обозначается
тактовая частота микропроцессора, на котором основана та или иная плата Arduino
(приведена в МГц), а SRAM обозначает объём статической
оперативной памяти (исчисляется в Кбайт).
Как видно из сводной диаграммы (рис. 6),
наименьшей производительностью обладает плата Arduino UNO
R3, а самой высокой производительностью обладает плата,
основанная на базе микропроцессора Intel – Arduino
Intel Galileo.
Наиболее близкими по производительности являются
платы Arduino UNO R3, Arduino
Mega и Arduino Mega
2560. Как видно из рис. 6, тактовая частота микропроцессоров,
на которых основаны рассматриваемые платы, является
одинаковой – 16 МГц. Отличительными особенностями (влияющими на
производительность) между данными платами являются объём статической
оперативной памяти между платами Arduino Mega,
Arduino Mega 2560 (объём 8 Кбайт) и
платой Arduino UNO R3
(объём 2 Кбайт), несмотря на то, что тактовая частота микропроцессоров является
эквивалентной, можно наблюдать 4-х кратную разницу в объёме статической
оперативной памяти. Однако флэш-память на Arduino UNO
R3, Arduino Mega
и Arduino Mega 2560 имеет следующий
объём (соответственно): 32 Кбайт, 128 Кбайт и 256 Кбайт. Ввиду этого можно
выстроить цепочку плат в соответствии с их производительностью (смотреть рис.
7).
Согласно пирамиде производительности плат Arduino
(рис. 7), они расположены в порядке
возрастания их производительности.

Рисунок 7 – Пирамида производительности плат Arduino
Заключение.
Выполнив
обзор плат Arduino,
сотрудниками ННЛКП ИКТ были определены платы, имеющие низкую производительность
и высокую производительность. Что в будущем позволит определять, какую плату
применять в том или ином случае. Путём вычисления приблизительной трудоёмкости
задач, которые должна выполнять плата и сравнения с её производительностью.
Литература:
1. Arduino
Software, «Arduino Uno», http://arduino.cc/en/Main/ArduinoBoardUno;
2. Arduino
Software, «Arduino Due», http://arduino.cc/en/Main/ArduinoBoardDue;
3. Arduino
Software, «Arduino Mega», http://arduino.cc/en/Main/arduinoBoardMega;
4. Arduino
Software, «Arduino Mega 2560», http://arduino.cc/en/Main/ArduinoBoardMega2560;
5. Arduino
Software, «Intel Galileo», http://arduino.cc/en/ArduinoCertified/IntelGalileo.