Научная статья на тему 'Микроконтроллеры с реконфигурируемой периферией PSoC производства Cypress MicroSystems — восьмиразрядники нового тысячелетия'

Микроконтроллеры с реконфигурируемой периферией PSoC производства Cypress MicroSystems — восьмиразрядники нового тысячелетия Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
345
80
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Емец Сергей

До недавнего времени на рынке отсутствовали устройства, способные заменить низкопроизводительный и малопотребляющий микроконтроллер, аналогичный младшим из PIC, 51-й серии, AVR, MSP с обвязкой из аналоговых и цифровых элементов. Теперь компания Cypress MicroSystems предлагает разработчикам устройства, заполняющие эту нишу.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Микроконтроллеры с реконфигурируемой периферией PSoC производства Cypress MicroSystems — восьмиразрядники нового тысячелетия»

Компоненты и технологии, № 4'2004

Микроконтроллеры с реконфигурируемой периферией PSoC

производства Cypress MicroSystems -восьмиразрядники нового тысячелетия

До недавнего времени на рынке отсутствовали устройства, способные заменить низкопроизводительный и малопотребляющий микроконтроллер, аналогичный младшим из PIC, 51-й серии, AVR, MSP с обвязкой из аналоговых и цифровых элементов. Теперь компания Cypress MicroSystems предлагает разработчикам устройства, заполняющие эту нишу.

Сергей Емец

[email protected]

В настоящее время многие производители предлагают так называемые «системы на кристалле» (system on chip — SoC), включающие в себя вычислительное ядро, стандартную периферию и программируемую логику. Один из вариантов SoC — заказной кристалл, применение которого целесообразно в случае больших партий или когда не существует стандартной микросхемы, подходящей для построения системы. Другой вариант — использование ПЛИС с процессорными ядрами «soft core». Однако существует и промежуточный вариант, называемый «конфигурируемые системы на кристалле» — CSoC. Эти устройства включают процессорное ядро и конфигурируемую логику. CSoC поставляются различными производителями и предназначены для задач разной сложности. Примерами устройств CSoC, предназначенных для сложных задач, являются Xilinx Virtex Pro, имеющие на кристалле несколько вычислительных ядер архитектуры PowerPC и программируемую логику FPGA максимального объема (из доступных на момент написания статьи). CSoC высокой и средней производительности выпускают и другие компании: Altera (Excalibur), Triscend (E5, A7), Atmel (FPSLIC), STMicroelectronics (uPSD) и некоторые другие. Такие устройства являются дорогостоящими и не имеют возможности непосредственной работы с аналоговыми сигналами. Таким образом, до недавнего времени на рынке отсутствовали устройства, способные заменить малопотребляющий микроконтроллер малой производительности и низкой стоимости, аналогичный младшим из семейств PIC, 51-й серии, AVR, MSP с обвязкой из аналоговых и цифровых элементов. Отделившаяся от хорошо известной компании Cypress (или, может, не совсем отделившаяся, так как документация на PSoC расположена на сайте Cypress) компания Cypress MicroSystems предложила разработчикам устройства, заполняющие эту нишу.

Что такое PSoC?

PSoC — это 8-разрядный микроконтроллер с ядром М8С, с конфигурируемой цифровой периферией и конфигурируемыми аналоговыми элементами. Название расшифровывается как «программируемая система на кристалле» (Programmable SoC). Концепция PSoC была разработана специалистами Cypress (Cypress MicroSystems). PSoC имеет небольшой набор стандартной периферии и блок конфигурируемых элементов, который выделяет эти микроконтроллеры из устройств той же ценовой категории. Конфигурируемые элементы (блоки) разделены на две группы:

• аналоговые, предназначенные для построения ЦАП, АЦП, компараторов, активных фильтров и т. п.;

• цифровые, предназначенные для построения счетчиков, ШИМ, последовательных каналов передачи, последовательного интерфейса с периферией (SPI), универсальных асинхронных приемопередатчиков (UART), сдвиговых регистров с обратными связями для генерации псевдослучайной последовательности (ПСП) и вычисления контроля с использованием циклического избыточного кода (CRC) и т. п.

Очень интересной является процедура конфигурации блоков — биты управления расположены в пространстве ввода-вывода ядра, и поэтому конфигурация аналоговой и цифровой периферии представляет запись соответствующих значений в эти регистры во время исполнения программы. Это оригинальное решение, подобного которому нет в других известных автору SoC (кроме Virtex Pro, но это совершенно иная «весовая» категория). То есть во время исполнения программы архитектура системы (набор периферии) может быть изменена! Это означает, что при разработке системы можно предназначить один и тот же конфигуриру-

e

Компоненты и технологии, № 4'2004

емый блок для выполнения разных задач (если задачи разделены по времени) и избежать избыточной траты ресурсов. Нужно отметить, что разработчики Cypress MicroSystems оценили эту возможность и планируют выпуск микросхем с уменьшенным числом блоков и пониженной стоимостью. Если в настоящее время доступны кристаллы стоимостью $2-4, то выпуск новых серий планируется c ценой кристалла меньше $2. Также заявлено о новой серии PSoC (CY8C21000), не имеющей конфигурируемых аналоговых блоков — предполагается, что стоимость чипов этой серии будет еще ниже. Еще одной положительной особенностью PSoC является то, что отсутствуют всяческие «прожигаемые фузы» (fuse), и все специфические установки LVD, POR, тип тактового генератора и т. д. производятся из программы во время исполнения и могут изменяться динамически во время работы.

Интересным дополнительным свойством является наличие SMP (switch mode pump) — механизма, позволяющего PSoC работать от напряжения питания 1 В.

История развития и основные свойства PSoC

Ядро М8С используется не только в PSoC, но и в других микроконтроллерах производства Cypress, в рассмотрении этого семейства автор ограничится только микросхемами, поддерживаемыми PSoC Designer 4.1. Система наименований общая для всех микросхем производства Cypress: автор не встречал официального документа о правилах именования продукции и предлагает неофициальную расшифровку. Название микросхемы PSoC начинается с CY8C2, затем идет цифра, обозначающая функциональность, — автор позволил себе назвать ее серией — 5, 6, 7, 4, 2. Затем идут цифры, обозначающие тип корпуса и размер памяти. В средствах проектирования микросхемы подразделяются на серии CY8C26000, CY8C27000 и т. д. Во внутренней документации и в форумах серии имеют «имена»: например, CY8C27000 — «diamond» , но в настоящее время более прижились цифровые обозначения.

Первыми появились микросхемы 5-й и 6-й серий (это микросхемы с одинаковой структурой). От последующих их отличает незначительная разница в ядре и структуре межблочных соединений. Также в следующих сериях улучшены параметры аналоговых блоков. Автор считает структуру межблочных соединений в микросхемах 5-й и 6-й серий не очень доработанной и сильно ограничивающей возможности конфигурации. Но при одинаковых размерах памяти, количестве конфигурируемых блоков и вычислительных возможностях ядра стоимость этих микросхем ниже, чем аналогичных из 7-й серии, поэтому для некоторых проектов в настоящее время могут оказаться более привлекательными микросхемы 5-й и 6-й серий. Также важно отметить, что в микросхемах этих серий разный объем памяти программ, в то время как в остальных сериях кристалл (во всех микро-

Рис. 1. Семейства PSoC, поддерживаемые в PSoC Designer 4.

схемах данной серии) видимо одинаковый, а различием внутри серии является только тип корпуса. Основой для всех дальнейших серий стала 7-я серия (СУ8С27000), которая имеет расширенные возможности межблочных соединений. Наиболее важное, по мнению автора, отличие— добавлены логические функции (ШТ), позволяющие объединить выход двух блоков, и увеличены возможности межблочных соединений. Новые серии 4 и 2 построены из 7-й уменьшением количества блоков (аналоговых и цифровых) и уменьшением размера БЫИ-памяти программ. Планируется выпуск серии 1 (СУ8С21000), у которой не бу-

дет конфигурируемых аналоговых блоков. Это даст еще большее удешевление и расширенный диапазон питания.

Далее в этом описании автор будет рассматривать микросхемы серии СУ8С27000, а точнее микросхему СУ8С27443, которая выбрана на рис. 1. Эта микросхема выпускается в корпусах РБ1Р, 801С, ввОР, но в любом корпусе расположение выводов одинаковое, как показано справа на рис. 1.

Как упоминалось выше и видно на рис. 1, в новых семействах параметры кристалла одинаковы для всей линейки. Но тип корпуса может накладывать ограничения на функци-

О

SYSTEM BUS <-------►-

ГТТ1

Port 5 і

Port З і

Port 2

П

Global Digital Interconnect

Port 1 Port 0

~r

Global Analog Interconnect

Supervisory ROM (SROM)

Flash Nonvolatile Memory

CPU Core (M8C) Steep and

Watchdog

24 MHz Internal Main Oscillator (IMO) Internal Low Speed Oscillator (ILO) 32 kHz Crystal Oscillator (ECO)

Phased Locked Loop (PLL)

DIGITAL SYSTEM

Digital PSoC Block Array

I DB I I DBI I DC I I DC I

I DBI I DBI I DC I I DC I

Digital Rows

ANALOG SYSTEM

Analog PSoC Block Array

[а][ст]

тш Цс] Цс]

Цс] Цс] Цс] Цс]

Analog Bl-Columns

Analog

Rets

Analog

Input

Muxing

E3

Digital

Clock

Multiply

Accumulate

(MAC)

POR and LVD System Resets

Internal

Voltage

Reference

Switch

Mode

Pump

SYSTEM RESOURCES

Рис. 2. Структура PSoC семейства CY8C27000

e

Компоненты и технологии, № 4'2004

ональность из-за недостаточного количества ножек. То есть могут отсутствовать входы для опорного напряжения, выход SMP, количество портов может быть меньше или больше. В любом случае, микросхема CY8C27443 выбрана для иллюстрации, а текст статьи описывает общие свойства как любой микросхемы 7-й серии, так и других серий. Для серий 2 и 4 должна делаться поправка на количество цифровых и аналоговых блоков, а в 5-й и 6-й при таком же количестве блоков отличаются межблочные соединения. То есть структура микросхем PSoC одинакова, и, разобравшись с какой-либо одной, при переходе на другую не потребуется разбираться с дополнительной документацией. Но следует отметить, что из-за применяемого механизма конфигурации по количеству конфигурационных регистров PSoC значительно превосходит микроконтроллеры такого класса и, соответственно, объем документации значительно больше. Тем не менее для начала работы с PSoC не требуется разбираться с описанием конфигурационных регистров — формирование конфигурации выполняется автоматически средством проектирования.

Ядро М8С и стандартная периферия

Ядро M8C имеет систему команд, позволяющую работать с достаточным комфортом на ассемблере, а также разрабатывать и применять языки высокого уровня. В настоящее время существует компилятор С производства ImageCraft, который интегрирован в среду разработки. Заслуживает внимания сообщество пользователей PSoC, которое ведет разработку программных средств и других языков программирования, например, FORTH. Следует отметить большую активность сообщества пользователей PSoC, направленную на разработку открытых проектов и средств разработки. Это имеет значение, так как среда разработки позволяет включать в себя модули, разработанные пользователями, и чем больше таких модулей, тем больше вероятность найти готовый модуль для решения специфической задачи.

Ядро М8С можно классифицировать как CISC, так как существует возможность использовать в инструкциях операции с памятью, и количество тактов на выполнение инструкции различно для разных инструкций и типов адресации. Из-за применяемого механизма конфигурации требуется большое адресуемое пространство, в котором будут находиться регистры конфигурации. В М8С регистры конфигурации расположены в отдельном пространстве, называемом пространством конфигурации, и для доступа используются специальные инструкции. Пространство конфигурации содержит два банка по 256 регистров. Пространство данных содержит 256 байт и заполнено полностью во всех PSoC. Программная память PSoC имеет две области: постоянную память, в которой хранится код супервизора SROM, и ре-программируемую память пользователя Flash. Код супервизора запускается после сброса по питанию (POR), и, видимо, этим

TMODE-32К Select -TCLK-I32K-

Х32К-

П-н

|_^ Phase

Detector

-> 32 kHz

D

PLL Mode -

Oscillator

CLK48EN

48 MHz

• 24 MHz

SYSCLK-

ҐН омі

►|~ Pivic

Divider (CPU) ~|------------►SPU CLK

Divider (24V1)

I ►! Divii

Divider (24V2)

VC1

VC2

SYSCLKX2 —► 24V3SEL —

Divider (24V3) |-►УСЗ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. З. Общая структура тактовых сигналов

кодом поддерживается режим программирования в системе (ISSP). Из кода пользователя с помощью специальной инструкции может быть вызван код супервизора. Это используется преимущественно для работы с Flash, посредством набора системных функций, параметры которых передаются через аккумулятор и зарезервированные ячейки памяти.

В «стандартную периферию» входят следующие блоки:

1) 8-разрядный умножитель, способный выполнять как умножение, так и умножение с накоплением (MAC);

2) система управления тактовыми сигналами, которые используются как для тактирования ядра и стандартной периферии, так и для конфигурируемых блоков;

3) контроллер I2C, Master/Slave с тактовой частотой до 400 кГц;

4) Decimator — непонятно, почему назван таким образом, но это интегратор (первого или второго порядка), который, видимо, следует включать в петлевые и следящие фильтры типа ФАПЧ, интегрирующие или сигма-дельта АЦП и т.п.;

5) программно управляемая система мониторинга питания POR/LVD;

6) генератор опорного напряжения для работы аналоговых блоков и компараторов POR/LVD;

4) Switch Mode Pump (SMP) — управляемый генератор, который при подключении внешней индуктивности, емкости и диода позволяет сделать повышающий преобразователь напряжения.

Рассмотрим работу некоторых из перечисленных устройств более подробно.

Система тактирования позволяет работать от внутреннего RC-генератора, от кварцевого резонатора 32 кГц (при этом возможна привязка внутреннего генератора на 24 МГц к стабильной опоре посредством ФАПЧ), от внешнего тактового сигнала до 24 МГц. Нужно отметить, что 24 МГц должно подаваться с генератора, а не от кварцевого резонатора. Также необходимо отслеживать напряжение питания при задании тактовой частоты процессора. При 5 В она может быть

до 24 МГц, а при 3 В — до 12 МГц. Также есть сигнал удвоенной частоты (48 МГц), подаваемый на конфигурируемые блоки. Встроенные делители (рис. 3) могут использоваться для формирования требуемой частоты при построении таймеров либо для подачи тактовой частоты на конфигурируемую периферию (например, на универсальный асинхронный приемопередатчик).

Генератор опорного напряжения может использовать внутренний источник (bandgap reference), либо внешние сигналы (только в корпусах, у которых не меньше 28 выводов), либо их комбинацию. В PSoC есть много интересных решений, например, одно из них — подключение опорного источника через цепь выборки и хранения, что позволяет обесточить источник в спящем режиме (sleep).

Для минимизации количества внешних компонентов есть выход SMP, который позволяет поднять выходное напряжение с 1 до 3-5 В (значение программируется и используется в специальном компараторе). После включения питания, при недостаточном уровне питающего напряжения (Vcc<Vref), документирования и сопровождения проекта запускается генератор с частотой 1,2 МГц (выход SMR), который может быть выключен инициализирующей программой при отсутствии необходимости использования SMP. В кристалле есть защитный диод, включенный так же, как показано на рис. 4. Но на форуме разработчиков специалисты Cypress не рекомендуют использовать в преобразователе напряжения этот внутренний диод, а обязательно подключать внешний.

Оес1та1ог (хотя, автору кажется, что правильнее называть этот блок интегратором) предназначен для интегрирования бинарных сигналов (0 соответствует декременту, 1 — инкременту). На вход дециматора подается значение с выхода компараторов аналоговых блоков. Порядок интегратора (1 или 2) конфигурируется. Аккумулятор для хранения результата — 16-разрядный. В стандартных пользовательских модулях дециматор используется для построения сигма-дельта АЦП.

Цифровые блоки и межблочные соединения

Как было сказано в обзоре серий РвоС, количество блоков и межблочные соединения — одно из существенных отличий между сериями. Например, проект, в котором автор использовал Р8оС, не может быть размещен в кристаллах 5-й и 6-й серии, зато может разме-

e

Компоненты и технологии, № 4'2004

. Структура межблочных соединений при работе в PSoC Designer

щаться в 7-й и в будущих кристаллах 4-й, 2-й и 1-й серий. Цифровой блок предлагает несколько предопределенных конфигураций, называемых функциями. Выбор функции определяет тип периферийного устройства, которое может быть размещено в данном блоке, и назначение конфигурационных регистров, связанных с этим блоком. Блоки бывают двух типов: просто блоки (БВ) и коммуникационные блоки (БС). Функции типа счетчиков, ШИМ, генераторов ПСП могут размещаться в блоках любого типа, в то время как функции последовательного интерфейса с периферией, универсальных асинхронных приемопередатчиков могут размещаться только в коммуникационных блоках (БС). РвоС серии 5, 6 и 7 имеют 4 простых и 4 коммуникационных блока. Каждый блок, вернее, размещенная в нем функция, может генерировать прерывание ядру. Блок имеет входы и выходы, которые с помощью межблочных соединений могут соединяться с другими цифровыми блоками, с аналоговыми блоками, с ножками чипа и с глобальными ресурсами, например, с тактовыми сигналами.

С точки зрения программы Р8оС работа с блоком — вернее, с размещенной в нем функцией, которая определяется пользовательским модулем, — осуществляется через АР1 и представляет собой вызов функций С или подпрограмм ассемблера. Тип языка, для которого будет сгенерирована АР1, определяется при создании проекта. Пользовательский модуль может занимать не один, а несколько блоков, при этом могут использоваться как блоки одного типа, так и разные. Например, для построения 32-разрядного счетчика потребуется 4 цифровых блока, для универсального асинхронного приемопередатчика — 2 коммуникационных, для аналогового фильтра 2-го порядка — 2 аналоговых, а для ЦАП/АЦП — и аналоговые и цифровые блоки. На первом этапе проектирования пользовательские модули выбираются из библиотеки. Потом пользовательские модули размещаются в подходящих блоках, соединяются между собой и подключаются к ножкам чипа специальным редактором, вид которого показан на рис. 5.

Аналоговые блоки

Аналоговые блоки используются как для построения различных типов ЦАП и АЦП, так и для работы в качестве аналоговой схе-

мы, например, активного фильтра. Часть модулей реализована на операционных усилителях с резистивными обратными связями, а часть — на схемах с переключающимися конденсаторами. Есть аналоговые мультиплексоры, коммутирующие соединения между аналоговыми блоками. Также возможно подключение выходов компараторов и тактовых входов к цифровым блокам или глобальным ресурсам, например, к децима-тору. Входы и выходы аналоговых блоков могут подключаться к предопределенным выводам чипа. Если такой вывод используется в аналоговой цепи, то вход или выход должен быть сконфигурирован как аналоговый. Вообще следует отметить большую гибкость выходов PSoC. Любой пользовательский порт может быть сконфигурирован как вход с большим сопротивлением (HiZ), подтягивающий резистор «вверх» или «вниз», открытый коллектор тоже «вверх» или «вниз», выход (push-pull) и выход с медленной скоростью нарастания (slow slew rate).

Методика разработки и средство проектирования PSoC Designer

Статья проиллюстрирована скриншотами из средства проектирования PSoC — PSoC Designer 4.1. В этой части следует рассмотреть «идеологию» разработки проекта с использованием конфигурируемого микроконтроллера. Вначале пользователь выбирает из библиотеки готовые пользовательские модули, которые могут размещаться в одном или нескольких блоках. Каждый блок имеет документацию и описание API, то есть набора функций, которые следует вызывать для работы с модулем. Также среди пользовательских модулей есть модули, являющиеся обычными библиотечными функциями и не изменяющие конфигурацию блоков и межблочных соединений. Примером является модуль ЖКД для подключения к HD44780. При выборе блока показывается, сколько ресурсов (конфигурируемых блоков, памяти программ, переменных в памяти данных) потребуется при использовании данного модуля.

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

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

После этого запускается процесс генерации приложения, который создает библиотеки и заголовочные файлы. Во время генерации приложения проверяется отсутствие ошибок проектирования. Также создается «скелет» приложения (программы), который будет использоваться при написании программы для работы с полученной периферией. Конфигурация, как процесс, представляет собой программу загрузки соответствующих значений в регистры конфигурационного пространства. Если используется одна конфигурация, то эта программа исполняется один раз при запуске. Если создано несколько конфигураций, то, вызывая соответствующие функции API, их можно загружать и выгружать по необходимости. По мнению автора, это очень сильное средство. Учитывая то, что конфигурация занимает немного программной памяти, возможности PSoC даже с маленьким количеством конфигурируемых блоков могут

быть очень неплохими.

Следующим шагом является разработка программы пользователя, которая ведется так же, как и в устройстве с «жесткой» периферией. После этого выполняется процедура сборки кода «make».

Для отладки требуется внутрисхемный эмулятор, так как программного симулятора для PSoC в настоящее время нет. Эмулятор не использует принятую де-факто методику использования JTAG, а основывается на эму-ляционных кристаллах. Минусом такого подхода является более высокая стоимость средств разработки. Но такой эмулятор не ограничен скоростью обмена по JTAG и обеспечивает трассировку исполнения без влияния на отлаживаемую программу. То есть отладка таким способом ведется в реальном времени. Внешне эмулятор представляет коробочку, подключаемую к LPT-порту (новые версии комплектуются переходником для подключения к USB); к этой коробочке подключается эмуляционная головка (POD) с установленным эмуляционным кристаллом. К эмуляционной головке подключаются различные переходники (адаптеры),

e

Компоненты и технологии, № 4'2004

которые позволяют отлаживать устройство с любым типом корпуса. Еще один элемент, входящий в комплект эмулятора, — это маска (MASK). Эта маска закрывает неиспользуемые контакты эмуляционной головки при работе с адаптерами микросхем, имеющими разное количество ножек.

Средство проектирования бесплатно доступно на сайте производителя, так что ознакомиться с возможностями кристаллов можно без затрат. Как было отмечено, отсутствует программный симулятор и для отладки проекта нужно приобретать внутрисхемный эмулятор. Но работа над симулятором идет, и в версии 4.0 была возможность воспользоваться бета-версией симулятора. В настоящее время проект симулятора развивается сообществом пользователей (www.psocdeveloper.com) и отладочные версии симулятора, а также FAQ, форум и дополнительную информацию можно найти там. Но возможна работа без эмулятора — алгоритм программирования PSoC открыт и существует возможность сделать программатор и использовать метод burn&try — прошивать кристалл отлаживаемой программой и смотреть на то, как он заработал. Для простых проектов такой подход может быть оправдан.

Краткий обзор пользовательских модулей

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

Модуль асинхронного приемопередатчика, показанный на рис. 8, занимает 2 цифровых коммуникационных блока, то есть в PSoC с четырьмя такими блоками можно разместить 2 одновременно работающих дуплексных приемопередатчика. Также есть модули, реализующие только приемник или передатчик, занимают такие модули по одному блоку, то есть в PSoC можно разместить 4 модуля. Если используются полудуплексные протоколы, то возможность реконфигурации позволяет реализовать 4 полудуплексных модуля асинхронного приемопередатчика в одном кристалле.

Модули счетчиков или модуль LFSR (рис. 9) могут работать с данными до 32-х разрядов. При этом 1 цифровой блок тратится на 8 бит.

Модули, использующие аналоговые блоки, требуют рассмотрения аналоговых параметров, что выходит за рамки статьи. Следует отметить, что параметры ЦАП/АЦП получаются достаточно скромными, но возможно достаточными для систем, где целесообразно использовать PSoC. При использовании модулей аналоговых фильтров доступно приложение для редактирования параметров фильтра.

При использовании того или иного пользовательского модуля в среде проектирования доступна документация. Также могут быть сгенерированы XML-документы по всему проекту пользователя. Это дает дополнительные удобства документирования и сопровождения проекта при использовании PSoC Designer.

Дополнительные модули могут быть загружены как «сервис-паки» или «патчи» и установлены в среду разработки. Но из-за фиксированной структуры блоков не следует ожидать значительного увеличения количества пользовательских модулей. Возможно, библиотеки пользовательских модулей будут пополняться со временем различными «виртуальными» устройствами, которые будут полностью реализованы программным кодом. Такой подход используют, например, производители микроконтроллеров Scenix.

Выводы

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

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

Несомненным плюсом является возможность реконфигурирования периферии во время работы.

Имеется удобное средство разработки, обеспечивающее наглядное проектирование различных «конфигураций» периферии. Есть С-компилятор и символьный отладчик, работающий с внутрисхемным эмулятором.

Следует отметить хорошо написанную документацию на кристалл, на алгоритм программирования в системе (что позволяет раз-

Рис. S. Блок-схема модуля асинхронного приемопередатчика

PRS Block Diagram, Data Path width n = 8,16,24 or 32

Рис. 9. Блок-схема генератора ПСП

. в «

С*» Ь*

n Q ^І’ОЮ zi t¥? H Й ffl П И (f 0 * - і * 3|acowi? 3 Ы a

с и; гг n (7 :*

S«tecMd Uw ModJ*t _lt і,,. i«,l І В Cor#4l |

Рис. 7. Рабочее поле PSoC Designer при размещении модулей

Ro*_Ct_(Mpul_3

...a £

H^Z/Wsik СхмЫ» K^ZAn* Dut*

НфгЬчк h<6k H0>Z«rafc OuUi ОмЫр Нф7А~к Г-ш**. H&Ztmtlc DmHe Out*

W.O.O РЦО| PwJU Pqi| Kw.O.J «С1 pw_o_: Ptoi Pw.0.4 «HI **.o_s pqsi

Лж_0_* ИГО

U

ПММ_0 P1|U|

PW.1.1 P1(11

*0.2 Pi PI

FW.1.J Pip) PWJ.« P1|«l

ErfSr«0 H»Z РмЫ.

e

Компоненты и технологии, № 4'2004

работать программатор) и средства автоматической генерации документации по проекту пользователя.

Существенным минусом является отсутствие симулятора и необходимость приобретения внутрисхемного эмулятора для отладки проектов. Разработка симулятора ведется и доступны «неофициальные» версии. Многими разработчиками применяется методика «burn and try».

Из-за большого количества возможностей кристалла для успешной работы требуется ознакомиться с немалым объемом технической информации. Также не следует рассчитывать на получение возможностей проектирования, сравнимых с предоставляемыми средствами разработки ПЛИС. В случае PSoC возможна только реконфигурация предопре-

2-Pole Band Pass Filter Design Procedure

С«пя 4lmktC2 «МСJ » ->»•ft nj j to

Ели pot Mac R«tokaon я utai

jmo V* *w uaon I» m**t омпои w PSoC Dnfw

Сттт Гпмп, (HnFST

R«n»*«<»ei |ЗП 1 &аиЯ«*ок*зп £15 0«иМВ) М |

.«•> 'j*tn c>irmn

Щ ” ■ Р»

кмв f им>моо*С*аф1

с» Щ

СЖ р СВ '

cj F* !: А

04 р :

СЛОММО с» jjr».) н ртТТГТ

Рис. 10. Редактор аналоговых фильтров

деленных модулей. Схемотехнический ввод или использование языков НБЬ невозмож-

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

Таким образом, PSoC — очень интересные кристаллы (можно даже сказать, новая концепция), и разработчикам устройств малой стоимости, использующим 8-разрядные микроконтроллеры, следует обратить на них внимание.

Источники

1. http://www.cypressmicro.com

2. http://www.psocdeveloper.com

i Надоели баннеры? Вы всегда можете отключить рекламу.