вторник, 31 января 2012 г.

Халява или маркетинговый ход?


На рынке отладочных средств для микроконтроллеров в последнее время все большую популярность приобретают миниатюрные платы, оснащенные отладчиком и минимумом периферийных устройств. Благодаря низкой стоимости, такие платы доступны самому широкому кругу профессионалов и любителей. Еще одним достоинством подобных устройств является отсутствие необходимости в дополнительных элементах, если только пользователь не захочет подключить к ним какие-либо свои периферийные устройства.
Некоторые производители пошли дальше, чем просто изготовление дешевых устройств. В последнее время прошло несколько акций, когда желающие могли получить бесплатно простейшие отладочные платы. Среди производителей отметились STMicroelectronics (Вернее ее представитель EVB), TI, Renessas, NXP. У каждого из них были разные условия, но как показало время, чем проще подход тем больше результат. Анализируя информацию на форумах в Интернете, можно констатировать, что STMicroelectronics существенно укрепила позиции на российском рынке.
При проведении акции STM предлагала свою плату STM32Discovery. При этом получить ее мог любой желающий, достаточно было заполнить анкету. Некоторые умудрялись получать по нескольку штук. На фоне такого подхода несколько бледно выглядели другие производители, ставившие дополнительные условия. Например, NXP требовала видеоролик с уничтожением 8-ми битного процессора. Хотя в дальнейшем и стала отсылать платы без него, видимо раздавая остатки запасов. Как итог, процент изучающих LPCXpresso гораздо ниже, чем STM32. Хотя возможно это связано с большей простотой процессора, ставящего меньше вопросов перед начинающими.
Успех STMicroelectronics задал новую планку производителям. Теперь недостаточно просто выпускать микросхемы и отладочные платы. Нужно предоставлять бесплатные устройства. Конечно не трудно заплатить 800-1000 рублей за плату, но сам факт внимания со стороны электронного гиганта стоит гораздо больше. Ну и само знакомство с новой техникой проходит гораздо проще без каких-либо финансовых затрат.
Так, только после получения первой бесплатной платы, у меня отпали сомнения в возможностях и ценности 32-разрядных систем. До этого долго не получалось решиться начать их изучать. Сдерживало отсутствие железа, программ и англоязычная документация. Зато после получения платы был снят главный барьер и дело пошло. Сейчас уже есть задумки на первый самостоятельный проект, для которого уже приобретены парочка микропроцессоров LPC1114.

четверг, 19 января 2012 г.

ЖКИ дисплей и LPCXpresso.

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

В качестве ЖКИ индикатора подключаемого к LPCXpresso был выбран Винстаровский WH1602B. Если не считать что только он один и был в наличии, то у него можно найти множество достоинств. Главные из них:

  • входа, работоспособные при напряжении 3.3 вольта
  • встроенный преобразователь отрицательного напряжения для контрастности

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

вторник, 6 декабря 2011 г.

V850 против ARM

Получив набор V850 Starter Kit, потихоньку изучаю процессор. Информации не очень много, но в принципе достаточно. Появились первые выводы, особенно если сравнивать с архитектурой ARM.
1. Процессор V850 выполнен по Гарвардской RISC архитектуре. Это означает разделение памяти программ и данных, при сокращенном наборе команд. Теоретически, V850 должен работать быстрее, при этом его проще программировать.
2. Набор периферийных устройств у обеих архитектур примерно одинаков и не содержит больших особенностей. Это значит что можно решать одинаковые задачи.
3. Объем памяти программ в старших моделях V850 достигает 1Мб. Здесь преимущество на стороне V850, так как больший объем позволяет решать более сложные задачи.
4. V850 поддерживает 32 и 16 разрядные команды, тогда как ARM семейства Cortex работает только с 16-разрядными. Такой подход повышает производительность, хотя большой разницы для обычного пользователя нет, так как большую часть забот берет на себя компилятор.
5. V850 поддерживает битовые инструкции и аппаратное умножение 16-разрядных чисел. А вот здесь уже ARM сильно отстает, так как не содержит подобных команд.

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

четверг, 1 декабря 2011 г.

Штыревой ARM.

ARM микроконтроллеры при всей их мощности, создают впечатление обилия недостатков. Здесь  можно отметить и отсутствие битовых операций и тяжелые среды разработки. Но пожалуй главным недостатком в радиолюбительской практике является отсутствие микросхем в корпусах штыревого монтажа. Во всяко случае нигде такие устройства не попадались, может быть их кто-то и производит. Конечно при некоторых навыках можно создать в домашних условиях плату и  в нее запаять корпус TQFP, но усилий такой вариант потребует много при высокой вероятности неудачи.
Подобная ситуация видимо стала понятна инженерам NXP, и они объявили о разработке ARM-микроконтроллера в корпусе DIL-28. В этом корпусе будет выпускаться один из вариантов LPC1114, устанавливаемый в платы LPCXpresso.
Пока о сроках выхода ничего не известно, но хочется надеяться что это произойдет достаточно быстро. Появление подобного варианта может существенно поднять популярность ARM и упростить разработку любительских устройств.

пятница, 21 октября 2011 г.

Отладочная плата V850ES/Jx3-L Starter Kit.

Увидев на одном из сайтов, объявление о новом микроконтроллере и возможности заказать бесплатную отладочную плату, сразу же заинтересовался. микроконтроллером оказался V850, выпускаемый фирмой Renesas. Регистрация на ихнем сайте прошла без проблем, но через некоторое время мне пришло письмо, что отладочных плат нет в наличии и ничего отправить мне не смогут.
Какое же было удивление, когда через три месяца, пришел пакет с платой  V850ES/Jx3-L Starter Kit!  Видимо господа из Renesas передумали. 

В комплекте с платой идет компакт-диск, чего не было у других подобных устройств. На диске записано программное обеспечение - IAR для V850, программатор, документация и примеры. В общем комплектация порадовала.
Сама плата  V850ES/Jx3-L Starter Kit имеет практически стандартную схемотехнику. На ней присутствуют целевой процессор и процессор отладчика, а также все необходимые элементы обвязки. Установлен большой разъем USB (Тип А), что позволяет подключать плату непосредственно к порту компьютера, без дополнительного кабеля. К особенностям платы можно отнести установленный датчик влажности SHT21 и некий аналог корпуса, позволяющий удобно оперировать с подключением к ПК. Из недостатков - отверстия под периферийные разъемы маленькие, с частым шагом, что усложняет подключение самодельных устройств.
В целом плата достаточно стандартна и несколько напоминает LPCXpresso и STM32Discovery. Радует наличие документации и программ. Буду запускать и пробовать программировать.

пятница, 30 сентября 2011 г.

Дисплейный шилд.

Наконец-то руки дошли окончательно завершить дисплейный шилд для отладочных плат типа Arduino. В процессе работы несколько изменилась плата. Кнопок теперь стало всего три, но в принципе и этого достаточно. Тут увидел контроллер тепловой автоматики, так там вообще кнопок нет, только поворотный энкодер. В принципе все то же самое управление можно сделать тремя кнопками.

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

пятница, 23 сентября 2011 г.

Оптимизация кода.

Одной из проблем использования языков высокого уровня является объем получаемого в результате компиляции машинного кода. Особенно остро эта проблема ощущается для микроконтроллеров. Если для больших ПК, с их гигабайтами памяти и HDD, объем кода практически не имеет значения, то ограниченность ресурсов даже топовых МК предъявляет особые требования. Так, например, объем одного и того же алгоритма на ассемблере и языке высокого уровня может отличаться в десятки раз. В качестве примера можно привести IDE Arduino, в которой даже простейший код занимает очень много места.
К счастью, многие разработчики стали встраивать в свои компиляторы оптимизаторы кода. Так в системе программирования Amicus18 IDE, оптимизатор идет дополнительной опцией, при этом глубину оптимизации можно настраивать. Несколько иной подход в среде MicroPascal, предлагаемой фирмой Microelectronica. Оптимизация там выполняется в процессе компилирования. при этом более новые версии имеют более компактный код. Для опыта была откомпилирована одна и та же программа термометра на микроконтроллере PIC12F629. Использовались среды MicroPascal ver.6 и MicroPascalPro ver.4.6. В первом случае объем кода составил 844 команды, во втором 743. Прогресс явный, хотя все то же самое можно вполне уместить пару сотен ассемблерных команд. Меньший объем у версии PRO порадовал, учитывая ограничение в бесплатной версии на 2 кб.