Введение

Тип интегральной схемы

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

История

В 2002 году Cypress начала коммерческие поставки PSoC 1. Для продвижения PSoC, Cypress спонсировала конкурс "PSoC Design Challenge" в журнале Circuit Cellar в 2002 и 2004 годах. В апреле 2013 года Cypress представила четвертое поколение PSoC 4. PSoC 4 оснащен 32-битным процессором ARM Cortex M0, программируемыми аналоговыми блоками (операционными усилителями и компараторами), программируемыми цифровыми блоками (UDB на основе ПЛД), программируемой маршрутизацией и гибкими портами GPIO (возможность назначения любой функции на любой вывод), блоком последовательной связи (для SPI, UART, I²C), блоком таймера/счетчика/ШИМ и многим другим. PSoC используется в устройствах, начиная от простых зубных щеток Sonicare и кроссовок Adidas, и заканчивая сложными приставками TiVo. Один PSoC обеспечивает емкостное сенсорное управление колесом прокрутки на колесе Click Wheel Apple iPod. В 2014 году Cypress расширила семейство PSoC 4, интегрировав радиомодуль Bluetooth Low Energy вместе с SoC на основе PSoC 4 Cortex M0 в единый монолитный кристалл. В 2016 году Cypress выпустила PSoC 4 S Series, оснащенную процессором ARM Cortex M0+.

Обзор

Интегрированная схема PSoC состоит из ядра, конфигурируемых аналоговых и цифровых блоков, а также программируемой маршрутизации и межсоединений. Конфигурируемые блоки в PSoC – главное отличие от других микроконтроллеров. PSoC имеет три отдельных пространства памяти: страничная SRAM для данных, флэш-память для инструкций и фиксированных данных, и регистры ввода-вывода для управления и доступа к конфигурируемым логическим блокам и функциям. Устройство создано с использованием технологии SONOS. PSoC похож на ASIC: блокам можно назначить широкий спектр функций и соединять их внутри чипа. В отличие от ASIC, для создания индивидуальной конфигурации не требуется специальный производственный процесс – только загрузочный код, создаваемый средой разработки PSoC Designer (для PSoC 1) или PSoC Creator (для PSoC 3 / 4 / 5) от Cypress. PSoC похож на FPGA тем, что требует настройки при включении питания, но эта настройка происходит путем загрузки инструкций из встроенной флэш-памяти. PSoC наиболее близок к комбинации микроконтроллера, PLD и программируемой аналоговой схемы. Код выполняется для взаимодействия с периферийными функциями, заданными пользователем (называемыми "компонентами"), с использованием автоматически генерируемых API и подпрограмм обработки прерываний. PSoC Designer или PSoC Creator генерируют загрузочный код конфигурации. Обе среды разработки интегрируют API, которые инициализируют выбранные пользователем компоненты в соответствии с его потребностями, используя графический интерфейс, подобный Visual Studio.

Конфигурируемые аналоговые и цифровые блоки

Используя конфигурируемые аналоговые и цифровые блоки, разработчики могут создавать и изменять встраиваемые приложения со смешанными сигналами. Цифровые блоки представляют собой конечные автоматы, которые настраиваются с помощью регистров блоков. Существует два типа цифровых блоков: цифровые строительные блоки (DBBxx) и цифровые коммуникационные блоки (DCBxx). Только коммуникационные блоки могут содержать последовательные пользовательские модули ввода-вывода, такие как SPI, UART и т. д. Каждый цифровой блок рассматривается как 8-битный ресурс, который разработчики могут конфигурировать, используя предварительно заданные цифровые функции или пользовательские модули (UM), либо, объединяя блоки, превращать их в 16-, 24- или 32-битные ресурсы. Объединение пользовательских модулей (UM) позволяет создавать 16-битные ШИМ-контроллеры и таймеры. Существует два типа аналоговых блоков. Блоки непрерывного времени (CT) состоят из схемы операционного усилителя и обозначаются как ACBxx, где xx – от 00 до 03. Другой тип – блоки с переключающими конденсаторами (SC), которые обеспечивают сложные схемы обработки аналоговых сигналов и обозначаются как ASCxy, где x – номер строки, а y – номер столбца аналогового блока. Разработчики могут изменять и адаптировать каждый модуль под конкретную задачу.

Программируемая маршрутизация и взаимосвязь

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

Дизайнер PSoC

Это первая программная среда разработки (IDE) для проектирования, отладки и программирования устройств PSoC 1. Она представила уникальные возможности, включая библиотеку предварительно настроенных аналоговых и цифровых периферийных устройств в среде проектирования с использованием технологии перетаскивания, которые затем можно было адаптировать к конкретным требованиям проекта, используя динамически генерируемые библиотеки кода API.

Создатель PSoC

PSoC Creator – это интегрированная среда разработки (IDE) второго поколения для проектирования, отладки и программирования устройств PSoC 3 / 4 / 5. Эта среда разработки объединена с удобным графическим редактором, образуя мощную платформу для совместного проектирования аппаратной и программной частей. PSoC Creator состоит из двух основных блоков. Программа позволяет пользователю выбирать, конфигурировать и соединять существующие схемы на чипе, а также компоненты, эквивалентные периферийным устройствам в микроконтроллерах. Уникальность PSoC заключается в возможности создания собственных специализированных периферийных устройств непосредственно в аппаратной части. Cypress регулярно, несколько раз в год, выпускает пакеты компонентов. Пользователи PSoC получают новые периферийные устройства для имеющегося оборудования бесплатно, без необходимости приобретать новое. PSoC Creator также предоставляет широкие возможности по назначению периферийных устройств на выводы ввода-вывода.

Кортекс-М

Общие инструменты разработки ARM для PSoC 4 и PSoC 5.