Этот короткий пост может слегка напомнить некое исследование рынка по теоретической заметке "Микроконтроллеры устарели?".
На исследование микроконтроллеров и готовых плат натолкнула одна из небольших поделок, над которой сейчас работаю. В частности, необходим довольно компактный контроллер с 20 входами/выходами, и позволяющий выступать в роли ведомого USB устройства. Первый взгляд упал на Teensy, довольно компактный, на чипе Atmega32U4. Смутила только цена, $24 за устройство с распаянными ножками плюс доставка. Всего лишь чуть менее, чем вдвое дешевле, чем мне обошёлся, заказанный в апреле и пришедший лишь сегодня, Raspberry model B (ура!).
Цены на Arduino, Propeller также неприятно удивили.
Собственно, посетила мысль просто поставить сам чип на печатную плату и не заморачиваться с отдельным контроллером, но и Atmega32U не дёшев, около 4 евро за штуку (32U2) 5.5 евро за 32U4, и цены на них не снижаются, а, наоборот, растут.
С AVR'ами серии USB (90USB, 8U. 16U. 32U) смущает ещё то, что те пробные прошивки, что я делал по примерам, занимали около 18КБ, в основном занимаемые кодом работы с USB (LUFA/какое-то доморощенное от Teensy), а флеш памяти в половине этих устройств уже меньше. Что там с потреблением оперативной памяти, вообще сказать тяжело, хватит ли 1КБ? Без какого-то либо опыта оптимизации кода на C лезть в эти дебри совершенно не хотелось.
И тут внезапно я наткнулся на анонс новой линейки процессоров XMC4000 на базе ARM M4F от Infineon с заялвенной ценой от $1.5 до $4, очень впечатляющими (относительно AVR) характеристиками, как 120МГц, 1МБ флеш-памяти и 160КБ оперативной. MSP430 слегка занервничал.
И там же, на странице, рекламирующей процессоры, нашлась такая удивительная вещь, как набор для начинающих на базе старшего (XMC4500) из этих процессоров, да всего за 10 евро, включающий много прелестей, таких как USB, SPI, 3 x I2C, 3 x I2S, 3 x UART, 2 x CAN, 17 x 12 бит АЦП, 2 x ЦАП, 31 x ШИМ. Намного более, чем мне требуется. Ко всему прочему, на плате целых два чипа, один из которых можно использовать для режима отладки через второй USB порт, а можно буквально отломать от платы и использовать каким-то другим образом. Входов и выходов, конечно меньше, чем на Arduino Mega, а цена в 4 раза ниже, чем на Arduino Due. Для ценителей есть вариант с распаянным Ethernet, защёлкой для SD карт и флеш-памятью на 4МБ, но уже дороже, за 30 евро.
Оказалось, что чудо-устройство не одиноко, и следом нашлась плата Freescale Freedom Board с аналогичной ценой в 10 евро, процессором на базе Cortex M0+, да ещё и совместимый по распиновке с Arduino, с какими-то невероятными приблудами, такими как акселерометр.
Не стоит оставлять вниманием и платы STM32F0DISCOVERY (Cortex M0) и STM32F3DISCOVERY (Cortex M4) с ценами в 8 и 12 евро, от STM.
Ко всем прелестям процессоров на Cortex M0/M4 можно отнести то, что их делают не только в корпусах, которые никак не поддаются пайке вручную, есть даже в корпусе DIP8.
Согласитесь, стоит сильно задуматься над выбором микроконтроллера в своё следующее собранное руками устройство.
Автор: philpirj