HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL
РадиоЛоцман - Все об электронике

Сравнение популярных отладочных платформ

Arduino Uno Arduino Due MBED Discovery Raspberry Pi MK802II MK802III

На портале open-electronics.org опубликована довольно интересная статья, в которой сравниваются несколько популярных отладочных платформ, представленных сегодня на рынке. Материал будет полезен как радиолюбителям и разработчикам, стоящим перед выбором следующей отладочной платформы, так и всем, кто интересуется микроконтроллерами.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Для сравнения были отобраны следующие отладочные платформы:

Существует множество других платформ, но мы решили представить краткий обзор некоторых из наиболее доступных.

Arduino До последнего времени более известной из всех представленных в списке является платформа Arduino Uno – это простая плата на основе 8-раззрядных микроконтроллеров, широкому распространению которой по всему миру поспособствовали поклонники мировой культуры открытой аппаратной платформы. Платформа Arduino позволяет новичкам в электронике и микроконтроллерах получить ощутимые результаты в освоении этой сферы благодаря постепенному и относительно быстрому обучению, большому объему документации, руководств, примеров, книг и полезных советов на форумах и блогах.

Следующим шагом для команды Arduino стала разработка более функциональной платы Arduino Due – первой платы на мощном 32-разрядном ARM микроконтроллере с ядром Cortex-M3. Этот выбор также заставил команду создать новую версию интегрированной среды разработки Arduino IDE 1.5, содержащей компилятор ARM в дополнение к AVR.

Платформа MBED

Реальной альтернативой Arduino Due является платформа MBED от компании NXP, на которую устанавливаются микроконтроллеры с ядром ARM Cortex-M0 или Cortex-M3. В модели, сравнимой с Arduino Due, установлен микроконтроллер LPC1768.

При непосредственном сравнении стоимости двух плат Arduino Due кажется более дешевой, но это не совсем верно. Если детально рассмотреть принципиальные схемы, мы сразу заметим, что обе платы используют чип с ядром Cortex-M3, в который интегрирован уровень Ethernet MAC, совместимый со стандартом IEEE 802.3. Но, в отличие от Arduino Due, MBED разработана таким образом, чтобы обеспечить непосредственное и простое подключение к сети. Для этой цели на плате установлена микросхема однопортового интерфейса физического уровня Ethernet 10/100  DP83848J (Texas Instruments).

Глядя на официальные проектные файлы платы Arduino Due в среде Eagle, вы можете заметить, что команда приняла во внимание этот функционал микроконтроллера. Вы можете видеть подключение соответствующих линий микроконтроллера к коннектору «ETH» (Рисунок 1). Коннектор также отчетливо виден в проекте печатной платы с правой стороны, но за ее пределами. Другими словами, подключение платы к Ethernet не предусмотрено.

Разъем ETH на схеме платы Arduino Due
Рисунок 1.

На схеме платы Arduino Due изображен разъем ETH, который предназначен для подключения интерфейса физического уровня Ethernet, однако на печатной плате данный разъем отсутствует.

Мы можем предположить, что на разработку соответствующих программных библиотек потребовалось бы много времени и это отсрочило бы выпуск платы Due, реализация которой и так началась спустя 14 месяцев после официального анонса (также заметьте, что это третья редакция, которая только вступила на рынок).

Другим важным отличие MBED от Due является то, что при напряжении питания 3.3 В первая имеет 5 В совместимые выходы, а вторая нет.

Если рассматривать необходимость использования микросхем преобразования уровней для обеспечения полной совместимости с платами расширения, разработанными для отладочной платы Arduino Uno, и отсутствие интерфейса Ethernet… фактически стоимость платы Arduino Due становится значительно выше MBED. Кроме того, Due не может на данный момент считаться завершенным решением с точки зрения среды разработки и программных библиотек. Желание сохранить обратную совместимость с кодом и библиотеками, написанными для Arduino Uno, делает разработку кода для Due довольно сложной ввиду значительных различий этих двух плат.

STMicroelectronics

В то же время компанией STMicroelectronics (ST) создано несколько отладочных плат практически для любого выпускаемого ею микроконтроллера ARM. Мы рассмотрим плату Discovery F0 с микроконтроллером серии STM32F0 на ядре Cortex-M0, котрый по производительности сопоставим с микроконтроллером LPC11U24, установленным на плате MBED.

Сразу видно, что особенностью платы является очень низкая цена, около 8 Евро. Тогда почему мы должны платить 65 Евро за MBED или 47 Евро за Due, если можем получить производительность 32-разрядного микроконтроллера серии STM32F0 по значительно более низкой цене? В первую очередь, на что стоит обратить внимание, это отсутствие интегрированной среды разработки для платформы Discovery. Компания предоставляет только список рекомендованных инструментов разработки и программирования:

  • среда IAR Embedded Workbench for ARM (EWARM);
  • набор программных инструментов RealView Microcontroller Development Kit (MDK-ARM) компании Keil;
  • среда Atollic TrueSTUDIO STM32;
  • инструменты TASKING VX-toolset for ARM Cortex-M от компании Altium.

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

Но давайте дальше проанализируем аппаратную часть. Размер платы тоже имеет значение, и решение от компании ST примерно в три раза больше по габаритам, чем MBED. Это легко понять, ведь за среду разработки и миниатюризацию приходится платить.

Рассмотрим теперь простой пример кода – сбор и отображение данных о температуре с помощью аналогового сенсора, в роли которого может выступать, к примеру, MCP9700A. Использовать будем библиотеки, разработаные для обеспечения совместимости кода Arduino с платой от ST. Код для платы Discovery будет выглядеть так:

uint16_t G_ADCValue = 0;
G_ReadVal float = 0;
G_SendBuff char [64]; void setup (void)
{uint16_ti = 0;
char L_readChar;
Serial.begin (115200);}
void loop () {
delay (2000);
while (1)
{delay(2000);
G_ADCValue = analogRead (A2);
G_ReadVal = (float) (* POWER_SUPPLY G_ADCValue) / 4095;
sprintf (G_SendBuff, "% f Volts", G_ReadVal);
Serial. print ("ADC read:");
Serial.println (G_SendBuff)
i + +
if(i> 10) i = 0
while(Serial.available ())
{L_readCharSerial.read = ();
Serial.write (L_readChar );}
Serial.println
("");}}

Этот же код для платформы Arduino:

# define TEMP 2
float val = 0.0,
T = float 0.0,
float VADC = 5;
STAMPA_T double = 0;
void setup ()
{Serial.begin(9600);}
void loop (){
STAMPA_T= (temp ());
Serial.print (STAMPA_T);
}
float temp (){
doublenread = 10.0,
double sum = 0.0 ;
for (int i = 0; i< nread; i + +){
val = analogRead (TEMP),
T = (((VADC/1024.0 * val) -0.5) * 100);
sum + =T; }
delay (100) ;
return (sum / nread);
}

Как мы видим, структура и элементы управления похожи на те, которые мы используем с Arduino, но есть нюансы. Чтобы использовать код написанный для Arduino с платой Discovery нам нужно сделать небольшие изменения, которые имеют важное значение для корректной компиляции и выполнения. Снова замечаем, что плата от ST не подходит для новичков и вы можете столкнуться с трудностями при компиляции кода при наличии в нем ошибок.

Сегодня все говорят о платформе Raspbery PI – об одноплатном компьютере, который позиционируется на рынке как дешевое решение для начинающих разработчиков. На сегодняшний день на плате установлено 512 Мбайт ОЗУ и стоимость этого варианта платы (более мощной из двух выпускаемых) всего около 32 Евро.

Raspberry PI

«Сердцем» платы является мощная система-на-кристалле Broadcom BCM2835, в состав которой входит ядро ARM11, работающее на частоте до 700 МГц, и графический процессор, способный воспроизводить видео с качеством BlueRay. Мощность процессора сопоставима со старым Pentium III, но энергопотребление в 10 раз меньше (5 Вт против 50 Вт). На плате также установлены 3.5 мм коннектор аудио интерфейса, RCA коннектор для подключения к аналоговому телевизору и современный HDMI порт для передачи цифрового потока видео и аудио. Также установлены коннектор Ethernet RJ45 и сдвоенный порт USB A для подключения , к примеру, клавиатуры и мышки. Используемая операционная система Linux, несколько дистрибутивов которой специально оптимизированы под Raspberry PI, запускается с карты памяти microSD. В то время как Arduino была задумана как инструмент для быстрого прототипирования электронных устройств, Raspberry PI преследует цель дать полный доступ к разработке доступных компьютеров. По этой и другим причинам сравнение Arduino и Raspberry PI будет несправедливым, но привлекательность высокой вычислительной мощности и большого количества интерфейсов на Raspberry PI, в сочетании с универсальностью Linux, дала мощный импульс к творчеству фанатов, и сейчас уже имеется возможность использования плат расширения Arduino с платформой Raspberry PI.

Raspberry PI

Последний, но не менее важный представитель, о котором стоит рассказать: миникомпьютер на Android MK802II, разработанный, чтобы раскрыть весь потенциал системы-на-кристалле Allwinner A10 с ядром Cortex A8, работающий на частоте 1 ГГц, с ОЗУ 1 Гбайт и Flash-памятью 4 Гбайт. Миниатюрное устройство имеет встроенный Wi-Fi (благодаря поддержке стандарта 802.11 b/g/n), поддерживает подключение к проводной сети через адаптер USB/Ethernet и способно воспроизводить HD видео.

Предустановленная ОС Android 4.0.4 (Ice Cream Sandwitch) позволяет получить доступ к ресурсам и приложениям Google, что делает систему гибкой и простой в использовании. Для тех, кто не доволен ОС Android или планирует в дальнейшем использовать весь потенциал устройства и готов экспериментировать, MK802II позволяет запустить Linux с microSD карты памяти.

Тестирование ОС Linux может быть реализовано безопасно, без риска изменения текущей прошивки. Однако, в случае возникновения проблем, вы всегда сможете переустановить прошивку на MK802 с использованием инструментов и инструкций, доступных на официальном сайте rikomagic.com.

Из протестированных нами дистрибутивов более стабильным, совершенным и полным оказался Fedora Linux.

Rikomagic разработала также усовершенствованную версию миникомпьютера, получившей название MK802III, на новом двухъядерном процессоре Rockchip RK3066 с ядром Cortex A9 и рабочей частотой 1.6 ГГц. Объем Flash-памяти был увеличен до 8 Гбайт.

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

open-electronics.org

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: The Ultimate Comparison of IOT Development Boards

Элитан
Россия
Arduino-Uno-R3-Atmega1 301 ₽
T-electron
Россия и страны СНГ
ARDUINOUNO240 963 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя