AVR и Arduino
32-разрядные платы Arduino.
Микроконтроллерная платформа Arduino популярна во всем мире. Благодаря бесплатной среде разработки, простому языку программирования и неплохой архитектуре, эту платформу выбирают множество пользователей. В сети интернет можно найти огромное количество разнообразных проектов, практически на любой вкус. В последнее время интерес разработчиков смещается в сторону 32-разрядных систем. Следует веяниям моды и платформа Arduino.
Проект Arduino появился сравнительно давно, чем объясняется использование в нем 8-битного микроконтроллера серии AVR. Хотя вычислительных возможностей, особенно у последних моделей, вполне достаточно для начинающих, опытные разработчики могут испытывать нехватку ресурсов. Проблема частично снимается вариантом MEGA, но и его быстродействие не велико. К тому же в последнее время на рынке появилось большое число моделей 32-разрядных микроконтроллеров, по очень привлекательной цене. Учитывая общую идеологию проекта Arduino, нацеленную на минимальную зависимость разработчика от аппаратных ресурсов, использование современных процессоров стало вопросом времени.
Пробным шагом, на пути внедрения 32-разрядных микроконтроллеров в архитектуру Arduino-подобных систем, выступил NETDuino. Базовая плата этого проекта совместима по разъемам с платформой UNO, но построена вокруг чипа AT91SAM7X512-AU. Несмотря на название, созвучное с итальянским наименованием исходной платформы, этот проект не является полноценной реализацией идеологии Arduino. Причиной тому - применение технологии .NET для разработки программ. Но несмотря на поддержку Microsoft, NETDuino не получил большой популярности, которую можно было бы сравнить с прототипом.
Первой, полностью совместимой с Arduino платформой (по заявлениям производителя), стал проект ChipKIT32. При этом разработчики несколько отошли от базового форм-фактора, увеличив количество периферийных выводов. Платы ChipKIT32 существуют в двух вариантах – UNO32 и MAX32. Их основу составляют микроконтроллеры PIC32 со 128 кБ памяти программ. Программирование производится в среде mpIDE, представляющей фактически родную IDE от Arduino с добавленным компилятором для контроллеров Microchip.
Микроконтроллер PIC32 использован для еще одного проекта под названием PINGUINO-PIC32, предлагаемого одним из крупнейших производителей отладочных плат – Olimex. В отличие от ChipKIT32, данная плата полностью совпадает с форм-фактором Arduino UNO, зато содержит несколько дополнительных устройств, среди которых, например, контроллер заряда Li-Ion аккумуляторов и держатель карт SD/MMC. Программирование PINGUINO производится в одноименной среде, опять же повторяющей ArduinoIDE.
Еще одной разработкой от OLIMEX стала плата OLIMEXINO-STM32. При почти полностью одинаковой с PINGUINO-PIC32 начинке, данный проект базируется на микроконтроллере STM32, модели STM32F103 от STMicroelectronics. Среда программирования для этой платы носит название MAPLE IDE.
Не отстают от других разработчиков и сами создатели Arduino. В своем проекте под названием Arduino Due, они использовали 32-разрядный контроллер Atmel SAM3U. Проект выполнен в форм-факторе MAX, и соответственно предлагает расширенные возможности. Этому способствуют и 256кБ памяти программ.
Похоже, что в ближайшем будущем полностью произойдет переход на 32-разрядные процессоры. Большая вычислительная мощность позволит создавать новые интересные устройства. Платы типа Arduino станут еще более востребованными. Последнее связано не столько с широкими возможностями, сколько со сложностью монтажа современных электронных компонентов. Некоторым недостатком становится увеличение разнообразных средств программирования, которые постепенно отходят от стандартов классической системы, что скорее всего приведет к появлению нескольких ветвей устройств, не совместимых между собой.