Для работы понадобятся:
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».
Эта среда разработки распространяется свободно в виде архива объемом более сотни мегабайт. Скачать его можно на сайте 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.