СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №4/2016
РОБОТОТЕХНИКА 12 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 4 2016 Сравнительный анализ плат Arduino В статье проанализированы по своему составу популярные платы Arduino. Рассмотрена их эффективность, основанная на вычислении числа π методом статистического моделирования. Приведены результаты сравнительного анализа эффективности четырёх плат с разными микроконтроллерами фирмы Atmel. Владимир Бартенев (Москва) В ВЕДЕНИЕ Раньше, чтобы собрать программи- руемое устройство на микроконтрол- лере, необходимо было знать основы схемотехники, архитектуру и особен- ности работы конкретного микрокон- троллера, уметь его программировать на ассемблере. Кроме того, требовался программатор, отладчик и другие вспо- могательные устройства. В итоге без огромного объёма знаний и дорогосто- ящего оборудования было не обойтись. Сегодня, с появлением плат Arduino [1], дающих возможность работать с микро- контроллерами без наличия серьёзной материальной базы, всё изменилось. Платы Arduino, а их выпускают уже в большом количестве и на разных микроконтроллерах, представляют со- бойнаборы, состоящие из готового элек- тронногоблокаипрограммногообеспе- чения. Электронныйблок– этопечатная плата с установленным микроконтрол- леромиминимумомэлементов, необхо- димых для егоработы. Фактически, элек- тронныйблокArduino является аналогом материнской платы современного ком- пьютера. На нём имеются разъёмы для подключения внешних устройств, а так- же разъём для связи с компьютером, по которому иосуществляется программи- рование микроконтроллера. Особенности используемых микро- контроллеров фирмы Atmel позволя- ют производить программирование без применения специальных программа- торов. Всё, что нужно для создания ново- го программируемого устройства, – это плата Arduino, USB-кабель связи и ком- пьютер c программным обеспечением, представляющим собой систему проек- тирования нового программируемого устройства. Система проектирования объединила в себе простейшую среду разработки и язык программирования – вариант языка С/С++ для микроконтрол- леров. Поэтому для работы с Arduino достаточно знаний только основ про- граммирования на С/С++. Имеется для Arduino и множество готовых библиотек, содержащих код, работающий с различными внешни- ми устройствами. О популярности плат Arduino говорит и такой факт: фирма MathWorks в MATLAB 15 выпустила при- ложение, позволяющее загружать про- граммы из MATLAB в платы Arduino [2]. Не отстаёт в этом смысле и фирма Labcenter Electronics, которая в вось- мой версии программного комплекса Proteus внесла в библиотеку моделиру- емых схем и платы Arduino [3]. П РОГРАММА РАСЧЁТА π Обладая несомненными преиму- ществами, особенно в учебных целях, платы Arduino позволяют, как и при работе на современном компьютере, не задумываться о функционировании его отдельных частей, а просто запу- скать нужные программы и работать с ними. Нет надобности и в создании законченных плат и модулей. Мож- но воспользоваться готовыми плата- ми расширения или просто напрямую подключить к разъёмам платы Arduino необходимые элементы. Все основные усилия направляются на разработку и отладку программы для микрокон- троллера на языке высокого уровня. Наличие готовых модулей и библи- отек программ позволяет в процес- се обучения создавать новые работа- ющие программируемые устройства для решения учебных задач. Вариан- ты использования Arduino ограниче- ны только возможностями микрокон- троллера и имеющегося варианта пла- ты, а также фантазией пользователя. И вот тут возникает главный вопрос, касающийся возможностей микро- контроллеров, используемых на пла- тах Arduino с точки зрения их произ- водительности. Поскольку сравнитель- ная оценка производительности плат Arduino никем так и не была произве- дена, в данной статье предлагается вос- полнить этот пробел. Применяемые в настоящее время способы оценки производительности цифровых процессоров обработки сиг- налов (ЦПОС) основаны, главным обра- зом, на алгоритме быстрого преобразо- вания Фурье (БПФ) с разным числом точек преобразования. Такие тесты не могут быть использованы для оценки производительности микроконтролле- ров из-за их низкой производительно- сти и ограниченной разрядной сетки по сравнению с ЦПОС. По этой при- чине для оценки производительно- сти плат Arduino предлагается способ вероятностного свойства. В его осно- ве лежит программа расчёта числа π методом статистического моделирова- ния (метод Монте-Карло). Производи- тельность же разных плат оценивается временем расчёта числа π при опреде- лённом одном и том же числе испыта- ний [4]. Данная методика была успешно применена при оценке производитель- ности плат STAMP с ЦПОС Blackfin [5]. Задачи статистического моделиро- вания требуют для получения точного результата достаточно большого чис- ла статистических испытаний. Поэто- му было выбрано 10 000 испытаний. Числовые случайные величины в про- цессе исполнения тестовой програм- мы меняются в широком диапазоне значений, а выходные оценки произ- водительности, в виде времени расчё- та числа π при выполнении заданного числа испытаний, наиболее интеграль- но и полно характеризуют производи- тельность микроконтроллеров, уста- новленных на разных платах Arduino. Более того, по точности расчёта чис- ла при большом количестве испытаний можно судить и о качестве применяе- мого программного обеспечения для компиляции и ассемблировании тек- ста данной тестовой программы и об используемых библиотеках функций. Несколько слов об алгоритме расчё- та числа π . В его основе лежит форми- рование двух независимых случайных чисел x и y, распределённых равнове- роятно в диапазоне от –1 до +1. Суще- ствуют разные алгоритмы генерации случайных чисел. В нашем случае мы воспользуемся датчиком случайных чисел, который входит в систему про- ектирования плат Arduino. Полученная с помощью этого датчика каждая пара
RkJQdWJsaXNoZXIy MTQ4NjUy