Пользователь
0,0
рейтинг
27 января 2014 в 13:18

Разработка → Arduino ли единым. Part 1 из песочницы

C*

В последнее время Arduino-подобными платами уже никого не удивить, как и китайскими клонами оных. В этой статье речь пойдет о Arduino-совместимой платой от Cypress Semiconductor — CY8CKIT-042 PSoC 4 Pioneer Kit, которая может быть хорошей альтернативой как благодаря своим возможностям, так и благодаря весьма функциональной IDE.

Что это такое


Данный кит основан на чипе PSoC 4, который, в свою очередь, построен на базе ядра Cortex M0 и располагает 4k RAM и 32k ROM. Кроме этого, на борту весьма много аналоговой периферии – два операционных усилителя, 12-битный АЦП (SAR ADC), поддержка емкостных сенсоров, один из которых есть на плате, два компаратора и не только. Более подробные сведения можно получить из даташита. Стоит сразу отметить, что когда речь идет о совместимости имеется в виду только своеобразная 'pin-to-pin' совместимость, а о программной речь пойдет дальше.

Заказ и доставка


Оформить заказ можно на сайте http://ru.farnell.com/, больше, вроде как, и негде. Получилось без проблем оплатить заказ карточкой украинского банка и ждать прибытия заказа. Отправка производилась через UPS, и, как ни странно, заказ был уже на Украине через двое суток, учитывая что отправной точной была Великобритания. Кстати, при всей стоимости заказа (я заказывал две платы) в 43€, доставка обошлась в еще ~20€. Ну, хоть долго ждать не пришлось.

Упаковка


Весь кит упакован в пластиковый кейс. На вид весьма прочный:



И вот что внутри:



И что дальше?


Дальше стоит загрузить фирменную IDE PSoC Creator – на данный момент последняя версия – 3.0 с пакетом обновлений Component Pack 7. Загрузить можно с торрента с официального сайта: http://www.cypress.com/go/psoccreator, только там нужна регистрация. Потом стоит загрузить образ диска со страницы с описанием кита: http://www.cypress.com/?rID=77780, это будет полезно тем, что на этом образе есть примеры, которые помогут разобраться с IDE и разработкой проектов под данный кит.
Кстати о примерах, на странице element14 проходила акция «100 Projects in 100 Days», нам это может быть интересно тем, что все эти проекты есть в открытом доступе.

PSoC Creator




В общем-то для описания этой IDE стоило бы написать отдельную статью, так как функционал довольно широк, учитывая то, что IDE бесплатная. Так что если эта тема будет интересна, постараюсь в отдельной статье остановиться на этом подробнее. Ну а пока что кратко:
После установки IDE можно подключить кит к ПК. В принципе, можно и до этого, но только драйвера программатора все равно установятся только с PSoC Creator. Итак, откроем какой-нибудь проект из тех, которые присутствуют в образе, предварительно скопировав его куда-нибудь, где возможна будет перезапись. Я начал с PWM Example Project, который присутствует на образе диска со страницы кита:



И нас приветствует окно обновления компонент. Несколько неожиданно, но ничего страшного. Просто соглашаемся, отключая опцию архивации.
После обновления компонент можно подключить кит, если он еще не подключен и запрограммировать его при помощи вот этой кнопки:



После ёё нажатия проект скомпилируется и будет зашит… В результате, 3-х цветный светодиод, который есть на плате начнет перебирать разные цвета и их комбинации, благодаря 3м независимым ШИМ'ам, которые присутствуют в проекте.
В общем-то сам проект написан на С и разобраться с ним не составит труда, так что на самом проекте останавливаться я не буду, вместо этого немного расскажу немного про саму среду разработки – PSoC Creator и о общей структуре проекта.

Итак, сам проект состоит из высокоуровневого дизайна – “TopDesign” на который можно ставить, так называемые, компоненты, которые представляют код, который генерируется средой разработки и помогает реализовывать тот или иной функционал, при этом могут быть задействованы аппаратные блоки, которые есть на PSoC 4:



Каждая компонента имеет свой даташит, в котором содержится довольно подробное описание как самой компоненты и ёё функционала так и API, которые содержаться в сгенерированном коде для этой компоненты. Также для многих компонент есть примеры использования, которые могут помочь как в конфигурировании компоненты так и в написании кода, который будет ёё использовать. Да, с конфигурированием компонент не так все просто, потому что, как правило, функционал довольно широк, и сформулировать (читай настроить) то, что нужно, может оказаться не так и просто с первого раза. Для того чтобы что-то поменять в настройках компоненты, нужно из контекстного меню вызвать конфигуратор компоненты, выглядит это как-то так:



В принципе, «даблклик» будет иметь точно такой же результат. Итак, окно конфигурирования, казалось бы, простого PWM:



Так вот, к чему это я — без «курения» мануалов и просмотра примеров использования может быть довольно трудно, учитывая обилие параметров и настроек.
Также есть *.cydwr файл, который содержит параметры проекта и настройки чипа, на которых в этой статье я останавливаться не буду.
Ну, а кроме всего этого есть еще и «обычный» main.c, ну, и сгенерированный код, который автоматически перегенерируеться при каждой полной перекомпиляции проекта, если он был изменен, или же если изменились настройки проекта…

Сам кит аппаратно совместим с периферией (шилдами) от/для Arduino, а с программной реализацией поддержки проблем возникнуть не должно, а сам PSoC 4 может работать на частотах до 48Мгц, так что с производительностью проблем также быть не должно…

Кроме всего вышеописанного на плате есть еще один чип — PSoC 5LP, который судя из даташитов на сам кит является программатором для PSoC 4 а также переходником UART<->UBS и USB<->I2C. В добавок ко всему вышеперечисленному он также может быть использован как отдельный программируемый Cortex M3 микроконтроллер, согласно даташиту на плату: http://www.cypress.com/?docID=47035.

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

Тех, кто осилил всю статью до конца я хотел бы спросить, стоит ли написать цикл статей, посвященных PSoC 4 Pioneer kit и PSoC Creator?
@xsemperx
карма
12,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (23)

  • +3
    > Тех, кто осилил всю статью до конца я хотел бы спросить, стоит ли написать цикл статей, посвященных PSoC 4 Pioneer kit и PSoC Creator?

    Да, тема, имхо, интересная.
    • +1
      + интересно
  • 0
    а сам для чего собираешься использовать сие чудо?
    • 0
      Тяжело сказать однозначно. Амбициозных задумок много, к тому же они слишком неконкретны, для начала стоял выбор комплектующих. Интересно было попробовать что-то новое. Вот и решил поделиться впечатлениями.
      Идея фикс — сделать что-то радиоуправляемое. Для тех же целей покупались радиомодули APC220, и датчики HC-SR04…
  • 0
    Подобные платы всегда были интересны. Надеюсь на продолжение статей от вас. Сам думаю о переходе с msp430 на ARM, и подобные статьи помогут решить, на что именно лучше переходить. И я бы попробовал данный хотя бы из-за названия производителя, схожего с названием страхующего прибора у парашютистов (http://www.cypres.cc/), чтобы было о чем поговорить на дропзоне (-:
    • 0
      Еще MIPS посмотрите. Я вот в последнее время от AR9331 в восторге. :-)
  • 0
    Как у них сейчас с дебагером? А то когда то давно получал их халявный кит но пользоваться не смог при пошаговой отладке на один шаг надо было ждать 2-3 минуты.
    • 0
      Особых проблем я не замечал, кроме того, что время от времени есть шансы вывалиться в деассемблированный код, особенно, если код компилировался с оптимизацией. Но это бывает не часто…
  • 0
    Интересно, конечно, но 21 евро — дороговато… Чуток добавить — и «вездессущую» малинку можно взять — а там линукс — ковыряй и кодь как хочешь.
    • –1
      Я так понимаю, что как у малинки, так и у этого решения есть один заметный недостаток: если хочется получить «тиражный» продукт (ну, например, 1000 единиц), да еще хотя бы слегка кастомизированный — то увы. Т.е. для экспериментов и обучения использовать можно, а вот в качестве технологической платформы для какого-то своего проекта не получится…
      • 0
        Ну почему же не получится? Маленькая, ног куча для подключения, и монитор подключать можно, и сеть есть… Проекты разные бывают.
        • –1
          Свою плату не развести, чипов на рынке не купить. Разве нет?
          Можно, конечно, попробовать купить 1000 штук девбордов по розничной цене, только это уже за гранью добра и зла.
          • 0
            Ну если с нуля на камне голом собирать — то да. Но когда есть периферия готовая и отлаженная, которая нужна в проекте — зачем изобретать велосипед?
            • 0
              Еще раз: зависит от тиража. Сами же пишете — «21 евро дороговато» (и для огромного количества задач это действительно так). А малинка-то еще дороже…
              • –1
                Ардуинка дешевле ;)
                • +1
                  Да, но при этом менее функциональна. А IDE и сравнивать даже не стоит… :)
      • 0
        А кто мешает заказать 1000 единиц самого PSoC 4? Т.е. сам чип? Тут-то не возникнет проблем с тем, чтобы это все дело развести. Двухслойной платы тут хватит с головой, к тому же это не BGA…
        Да и с Broadcom BCM2835 (тот, что на малинке) особых проблем быть не должно, правда уже двухслойной платой тут явно не обойдется… Было бы желание…
        • 0
          Посмотрел. Да, чип от PSoC 4 купить можно. Лишь бы даташиты были доступны.
          Что касается малинового бродкомовского чипа — его в открытой продаже не было и нет. 1000 таких чипов купить просто негде.
          • 0
            бродком в таких количествах точно не купишь, а с сайпресом все просто
  • –1
    На мой взгляд лучше окунуться с головой в ARMы тех же STM.
    Плюсы — широкая линейка процессоров, самый дешевый, 32 битный процессор стоит порядка 30р — 1USD.
    Наличие большого количества отладок. К примеру последняя отладка под F429 будет стоит всего 30$, и при том у нее на борту полноценный LCD дисплей.
    На STM достаточно много документации, есть русское сообщество. И много примеров.

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

    Из личного опыта — пересесть с ардуино либо с msp430 на STM Cortex M4, достаточно легко, стоит только задаться такой целью.
    • 0
      Согласен, но Cortex M4F это более серьезное решение, и просто как альтернатива ардуино… Но за наводку спасибо, посмотрю на их киты, выглядит интересно…
    • 0
      PSoC как проект существует с 2002 года, точнее идут отгрузки микросхем. В нем есть куча фишек, это совсем другое, отличное от STM32 устройство. Смысл в том, что внутри не жестко фиксированный набор периферии а подобие ПЛИС и готовыен IP блоки периферии от производителя, которые вы «прошиваете» в контроллер. Можно сделать МК с огромным количеством CAN-ов или таймеров или еще чего-то.

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

      А STM — это классно и сообщество действительно большое, но стоит ли зацикливаться и в каждом посте о чем то менее банальном советовать переключиться на них.

      Чем больше разных подходов тем лучше.
      Да и у сайпресс намного лучше поддержка, документация и есть множество обучающих видео, а ST это классический дешевый вариант, все необходимое есть(доки), но не более того да и не на таком высоком уровне как у лучших Cortex.

      По поводу цены — так ли это важно 30 или 60 рублей?
      Это все равно копейки в цене устройства, да и в России большие серии на не вертикальных рынках я не видел.
  • –1
    У STM есть и более простые вещи, необязательно в простое устройство ставить F4, можно поставить и F3, они бюджетней и проще в пайке.
    Суть в том, чтобы перейти на эту платформу, освоится с ней и тогда вопрос масштабирования не будет перед вами стоять.
    А изучать параллельно 2-3 платформы — можно начать путаться да и времени уйдет порядочно.
    Что касается отладки STM32F429I-Disco тем что с ней можно освоится за несколько часов, например начать работать с дисплеем.
    Так же STM дополнила линейку процессоров F0, интересной серией, почитать можно тут. Стоимость проца составит $1,3, а отладка под нее будет стоить $10. По мне так очень достойная замена ардуине.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.