PSoC – Как начать работать

Для работы понадобятся:

1. Среда разработки, именуемая «PSoC Designer» (позволяет конфигурировать микросхему и писать код).
2. Программатор с соответствующим софтом (загоняет сгенерированный двоичный код в микросхему).
3. И конечно же – ваше целевое устройство с микросхемой PSoC на борту.

Обо всем этом речь пойдет ниже. Существует более простой, но и более дорогостоящий путь – купить готовый отладочный набор, в который обычно входят:
– программирующее устройство (с функциями отладки и эмуляции);
– отладочная («оценочная») плата (Evaluation Board) с установленной микросхемой PSoC, периферией (кнопки, индикаторы и т.д.) и небольшим макетным полем;
– компакт-диск со всей необходимой документацией и софтом.
На сайте Cypress вы найдете большой выбор таких наборов, а также программаторов и отладочных плат по отдельности. Дистрибуцией продукции этой фирмы в России занимается компания «Макро Групп».

Про то, что не следует вначале углубляться в дебри технического описания, я уже говорил. Установите сперва среду разработки «PSoC Designer». Все сразу станет наглядно. В том смысле, что поигравшись с расстановкой модулей и их межсоединениями, быстро создается впечатление о возможностях конфигурирования кристалла.

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

Основной источник информации, которым вам придется пользоваться – это, конечно же, справка по Модулям Пользователя (вызывается из PSoC Designer-а, хотя файлы *.html и *.pdf можно найти в соответствующих папках, расположенных в разделе ...\PSoC Designer\Data\Stdum). Наконец, если вы желаете досконально изучить внутренности PSoC – то читайте Техническое Руководство (Technical Reference Manual, или сокращенно TRM). Этот документ появится в папке ...\PSoC Designer\Documentation после установки PSoC Designer-а, но лучше скачать его последнюю версию с сайта Cypress.

Наконец, чтобы лучше понять работу блоков с переключаемыми конденсаторами (SCB), обязательно прочитайте документ AN2041 – «Understanding Switched Capacitor Analog Blocks».


PSoC Designer

Эта среда разработки распространяется свободно в виде архива объемом более сотни мегабайт. Скачать его можно на сайте Cypress. На момент написания этой статьи была доступна версия 4.4. Отличия от младших версий заключаются, в основном, в поддержке новых продуктов фирмы и в пополнении библиотеки новыми Модулями Пользователя.

Установка программы проблем обычно не вызывает. Вместе с программой утановится и комплект справочной документации. С текстами на ассемблере можно начинать работать сразу, а вот для использования компилятора «C» требуется ввести лицензионный ключ, который является платным. Можно установить версию 4.1 и в образовательных целях использовать ключ WR99228-2hYQLB, применявшийся на конкурсе PSoC Design Contest–2003.

Но не стоит возлагать на компилятор «C» больших надежд – и код он генерирует не очень хороший, и слишком много в нем всяких неприятных заморочек (в частности, будьте осторожны со смешиванием различных типов данных в математических выражениях – иногда бывает полезнее разбить сложное выражение на несколько простых). В связи с этим появился новый компилятор – HI-TECH C, предусматривающий работу в трех режимах: «урезанном» «Lite» (неограниченное бесплатное использование), оценочном «Evaluation» (45 дней бесплатного пользования) и полнофункциональном «PRO».

Еще Cypress выпустила альтернативу PSoC Designer-у – среду разработки PSoC Express. Этот продукт предназначен, так сказать, для «чайников» – предполагается, что можно создавать устройства на базе PSoC без написания кода.


Программаторы

Здесь есть несколько альтернатив.

1. Те, кто собирается заниматься разработкой устройств профессионально, могут купить фирменные отладочные модули разных ценовых категорий и с разными возможностями. Я лично использую ICE Cube, хотя иногда предпочитаю варианты, перечисленные ниже.

2. Программатор на базе USB-микросхемы CY7C64113 можно изготовить самому, воспользовавшись материалами с сайта Cypress (с некоторого момента материалы стали недоступны, так что здесь оставлена копия – схема, прошивка, исходники и программное обеспечение, все в архиве 1,54 МБ).

Этот продукт называется Invention Board, и в свое время бесплатно рассылался для желающих принять участие в конкурсе электронных разработок на базе PSoC. На плате дополнительно установлена микросхема CY8C27443-24PVI, а сама плата оформлена в виде 28-выводного модуля для втыкания в панельку, причем нумерация выводов у платы и у микросхемы совпадают. Предусмотрена возможность как программирования встроенной микросхемы PSoC, так и использования платы в качестве внешнего программатора (для так называемого внутрисистемного программирования – «ISSP»). С этой целью на плате есть пять контактных площадок для установки специального разъема. Питание плата получает от USB-порта компьютера, но может запитываться и от отлаживаемого устройства (выбирается джампером). Недостаток этого программатора – в поддержке исключительно 27-й серии (CY8C27xxx). К тому же отсутствуют возможность программирования 8-выводных кристаллов CY8C27143, которые из-за отсутствущего входа Reset требуют специального вхождения в режим программирования.

3. Простейший программатор, подключаемый к LPT порту компьютера, предлагает собрать Ajithalayam из Индии. Его устройство выполнено на основе микросхемы преобразователей уровня CD4050 (отечественный аналог К561ПУ4) и поддерживает практически все семейство PSoC, включая серию CY8C29xxx. Здесь есть режим Power-On Mode, что дает возможность программировать все 8-выводные микросхемы. Материалы по его программатору (три модификации) можно взять здесь (zip-архив 134 кБ). На основе «программатора 3-го типа» я разработал свой вариант. У меня добавились панелька под корпус DIP8 и контакты для быстрого макетирования.

4. Вполне возможно, что некоторые изготовители универсальных программаторов уже ввели в свои изделия поддержку PSoC. Например, «Фитон» предлагает программаторы «ChipProg+» (интерфейс LPT) и «ChipProg-48» (интерфейс USB) на базе микросхем загружаемой логики, что позволяет расширять список программируемых устройств без аппаратных доработок. В настоящий момент уже поддерживаются серии CY8C24xxx, CY8C27xxx и CY8C29xxx.

5. (добавлено 2022г.) Программатор, подключаемый к USB порту компьютера, можно сделать из китайской платы «CH341A Mini Programmer». Поддерживаются серии CY8C21xxx, CY8C24xxx, CY8C27xxx, CY8C29xxx и оба режима программирования («Reset» и «Power-On»). В приложении, работающем с этим программатором, предусмотрена возможность наблюдения за ножками P1[0] и P1[1], что исключает дополнительные телодвижения при написания учебных программ типа «поморгать светодиодом». Имеется учебный проект, перебрасывающий эти ножки из одного состояния в другое с частотой 2 Гц. Материалы по программатору можно взять здесь: Программатор микросхем PSoC (версия USB) из дешевой китайской платы.


Целевое устройство

Если вы собираетесь «прошивать» микросхемы PSoC через ISSP (т.е. не вынимая их из устройств), то предусмотрите на своей плате соответствующий коннектор, а при разработке устройств не используйте ножки P1[0] и P1[1] – они задействованы в процедуре программирования! В крайнем случае к ним может быть подключен кварц, не мешающий программированию. Но при подсоединенном программаторе (если у последнего не предусмотрен перевод линий в высокоимпедансное состояние) кварц может не запуститься – потребуется всякий раз после прошивки расчленять коннектор ISSP (из положения можно выйти, включив на период отладки режим внутреннего тактового генератора). Более подробно о реализации ISSP рассказано в документе AN2014 – «Design for In-System Serial Programming (ISSP)».

Для исследования функционирования PSoC, проверки идей, отладки отдельных узлов, а также всего устройства целиком, я использую свой вариант отладочной платы, которую назвал «Psoctronic». На ней, кроме 28-выводной микросхемы PSoC, расположены 2-х строчный ЖК-дисплей, четыре кнопки, коннектор для подключения RS-232 и ряд контактов, дублирующий выводы портов микросхемы. Материалы по этой плате находятся здесь.


antiradio.narod.ru/psoc
Дата создания документа: 14.08.2004. Последнее обновление: 15.09.2022.