PSoC (программируемая система на кристалле ) — это семейство микроконтроллерных интегральных схем компании Cypress Semiconductor . Эти чипы включают в себя ядро ЦП и массивы смешанных сигналов настраиваемых интегрированных аналоговых и цифровых периферийных устройств.
В 2002 году Cypress начала поставки коммерческих партий PSoC 1. [1] Для продвижения PSoC Cypress спонсировала «PSoC Design Challenge» в журнале Circuit Cellar в 2002 и 2004 годах. [2]
В апреле 2013 года Cypress выпустила четвертое поколение, PSoC 4. PSoC 4 оснащен 32-битным процессором ARM Cortex-M0 с программируемыми аналоговыми блоками ( операционными усилителями и компараторами), программируемыми цифровыми блоками ( UDB на основе PLD ), программируемой маршрутизацией и гибким GPIO (назначение любой функции на любой вывод), блоком последовательной связи (для SPI, UART, I²C ), блоком таймера/счетчика/ШИМ и многим другим. [3]
PSoC используется в таких простых устройствах, как зубные щетки Sonicare и кроссовки Adidas, и таких сложных, как приставка TiVo . Один PSoC реализует емкостное считывание для сенсорного колеса прокрутки на колесе управления Apple iPod . [ необходима цитата ]
В 2014 году компания Cypress расширила семейство PSoC 4, интегрировав радиомодуль Bluetooth Low Energy вместе с SoC на базе PSoC 4 Cortex-M0 в единый монолитный кристалл.
В 2016 году Cypress выпустила PSoC 4 S-Series с процессором ARM Cortex-M0+ . [4]
Интегральная схема PSoC состоит из ядра, настраиваемых аналоговых и цифровых блоков, а также программируемой маршрутизации и межсоединений. Настраиваемые блоки в PSoC являются самым большим отличием от других микроконтроллеров.
PSoC имеет три отдельных пространства памяти: страничное SRAM для данных, флэш-память для инструкций и фиксированных данных, а также регистры ввода-вывода для управления и доступа к настраиваемым логическим блокам и функциям. Устройство создано с использованием технологии SONOS .
PSoC напоминает ASIC : блокам можно назначить широкий спектр функций и соединить их на кристалле. В отличие от ASIC, для создания пользовательской конфигурации не требуется специального производственного процесса — только код запуска, который создается IDE PSoC Designer (для PSoC 1) или PSoC Creator (для PSoC 3 / 4 / 5) от Cypress .
PSoC напоминает ПЛИС тем, что при включении питания ее необходимо настроить, но эта настройка происходит путем загрузки инструкций из встроенной флэш-памяти.
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 предполагает, что это позволяет разработчикам настраивать дизайн и вносить улучшения проще и быстрее, а также с меньшим количеством переделок печатных плат, чем подход с цифровыми логическими вентилями или конкурирующие микроконтроллеры с большим количеством фиксированных функциональных контактов.
Существует пять различных семейств устройств, каждое из которых основано на отдельном ядре микроконтроллера:
Bluetooth с низким энергопотреблением
Начиная с 2014 года Cypress начала предлагать устройства PSoC 4 BLE со встроенным Bluetooth Low Energy (Bluetooth Smart). Это можно использовать для создания подключенных продуктов, использующих аналоговые и цифровые блоки. [7] Пользователи могут добавлять и настраивать модуль BLE непосредственно в PSoC creator. Cypress также предоставляет полный стек Bluetooth Low Energy, лицензированный Mindtree , с периферийной и центральной функциональностью. [8] Серия PSoC 6 включает версии с BLE, включая функции Bluetooth 5, включая расширенный диапазон или более высокую скорость.
PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5/5LP | PSoC 6 |
---|---|---|---|---|
8-битное ядро M8C до 24 МГц, 4 MIPS | 8-битное ядро 8051 (однотактное) до 67 МГц, 33 MIPS | 32-битный ARM Cortex-M0 до 48 МГц, ? MIPS | 32-битный ARM Cortex-M3 до 80 МГц, 84 MIPS | 32-бит ARM Cortex-M4 (до 150 МГц) 32-бит ARM Cortex-M0+ (опц. до 100 МГц) |
Флэш-память: от 4 КБ до 32 КБ SRAM: от 256 байт до 2 КБ | Флэш-память: от 8 КБ до 64 КБ SRAM: от 3 КБ до 8 КБ | Флэш-память: от 16 КБ до 256 КБ SRAM: от 2 КБ до 32 КБ | Флэш-память: от 32 КБ до 256 КБ SRAM: от 8 КБ до 64 КБ | Флэш-память: от 512 КБ до 2048 КБ SRAM: от 128 КБ до 512 КБ с возможностью расширения с помощью четырех SPI |
I²C, SPI, UART, FS USB 2.0 | I²C, SPI, UART, LIN, FS USB 2.0, I²S, CAN | I²C, SPI, UART, CAN . | I²C, SPI, UART, LIN, CAN, FS USB 2.0, I²S | I²C, SPI, UART, LIN, BLE (опц.), FS USB 2.0 (опц. хост и устройство) |
16 цифровых блоков PSoC | От 16 до 24 UDB (универсальных цифровых блоков) | От 4 до 8 UDB | 20–24 UDB | от 0 до 12 UDB |
1 дельта-сигма АЦП (от 6 до 14 бит) 131 тыс. выборок в секунду при 8 бит; 1 сигма-дельта АЦП (для емкостного измерения) До двух ЦАП (от 6 до 8 бит) | 1 дельта-сигма АЦП (от 8 до 20 бит) 192 тыс. выборок в секунду при 12 бит; До четырех ЦАП (8-бит) | 1 АЦП последовательного приближения (12 бит) 1 Мбит/с при 12 бит; До двух ЦАП (от 7 до 8 бит) | 1 дельта-сигма АЦП (от 8 до 20 бит) 192 тыс. выборок в секунду при 12 битах; 2 АЦП последовательного приближения (12 бит) 1 Мбит/с при 12 бит; До четырех ЦАП (8-бит) | 1 АЦП последовательного приближения (12 бит) 1 Мвыб./с 1 12-битный ЦАП с напряжением |
До 64 операций ввода-вывода | До 72 операций ввода-вывода | До 98 операций ввода-вывода | До 72 операций ввода-вывода | До 104 операций ввода-вывода |
Работа: от 1,7 В до 5,25 В Активный режим: 2 мА, Спящий режим: 3 мкА Спящий режим: ? | В рабочем режиме: от 0,5 до 5,5 В. В активном режиме: 1,2 мА, в спящем режиме: 1 мкА, в спящем режиме: 200 нА. | В рабочем режиме: от 1,71 до 5,5 В. В активном режиме: 1,6 мА, в спящем режиме: 1,3 мкА, в спящем режиме: 150 нА. | В рабочем режиме: от 2,7 до 5,5 В. В активном режиме: 2 мА, в спящем режиме: 2 мкА, в спящем режиме: 300 нА. | |
Требуется ICE Cube и FlexPods | Встроенный SWD, отладка | Встроенный JTAG, SWD, SWV, отладка, трассировка | ||
Комплект разработчика CY8CKIT-001 | Комплект разработчика CY8CKIT-001 Комплект разработчика CY8CKIT-030 | CY8CKIT-040 4000 Комплект пионера CY8CKIT-042 4200 Комплект пионера CY8CKIT-043 4200M Комплект для прототипирования CY8CKIT-044 4200M Комплект Pioneer CY8CKIT-046 4200L Pioneer Kit | Комплект разработчика CY8CKIT-001 Комплект разработчика CY8CKIT-050 Комплект прототипа CY8CKIT-059 | CY8CKIT-062-BLE Комплект пионера |
Это первое поколение IDE для проектирования, отладки и программирования устройств PSoC 1. Оно представило уникальные функции, включая библиотеку предварительно охарактеризованных аналоговых и цифровых периферийных устройств в среде проектирования с функцией перетаскивания, которую затем можно было настраивать в соответствии с конкретными потребностями проектирования, используя динамически генерируемые библиотеки API кода.
PSoC Creator — это второе поколение IDE для разработки, отладки и программирования устройств PSoC 3 / 4 / 5. IDE для разработки объединена с простым в использовании графическим редактором дизайна, образуя мощную среду совместного проектирования оборудования и программного обеспечения. PSoC Creator состоит из двух основных строительных блоков. Программа позволяет пользователю выбирать, настраивать и подключать существующие схемы на чипе и компоненты, которые являются эквивалентом периферийных устройств на микроконтроллерах. Что делает PSoC интригующим, так это возможность создания собственных периферийных устройств для конкретных приложений в оборудовании. Cypress выпускает пакеты компонентов несколько раз в год. Пользователи PSoC получают новые периферийные устройства для своего существующего оборудования без необходимости взимать плату или покупать новое оборудование. PSoC Creator также предоставляет большую свободу в назначении периферийных устройств на контакты ввода-вывода.
Общие инструменты разработки ARM для PSoC 4 и PSoC 5.
PSoC 4 / 5
Объем документации для всех чипов ARM пугает, особенно для новичков. Документация для микроконтроллеров прошлых десятилетий легко могла бы быть включена в один документ, но по мере развития чипов документация росла. Общая документация особенно сложна для понимания для всех чипов ARM, поскольку она состоит из документов от производителя ИС ( Cypress Semiconductor ) и документов от поставщика ядра ЦП ( ARM Holdings ).
Типичное нисходящее дерево документации выглядит следующим образом: веб-сайт производителя, маркетинговые слайды производителя, технический паспорт производителя для конкретного физического чипа, подробное справочное руководство производителя, в котором описываются общие периферийные устройства и аспекты семейства физических чипов, общее руководство пользователя ядра ARM, техническое справочное руководство ядра ARM, справочное руководство по архитектуре ARM, в котором описывается набор(ы) инструкций.
Cypress Semiconductor имеет дополнительные документы, такие как: руководства пользователя оценочной платы, заметки по применению, руководства по началу работы, документы библиотеки программного обеспечения, исправления и многое другое. См. раздел Внешние ссылки для ссылок на официальные документы PSoC и ARM.
Официальные документы PSoC
Официальные документы ARM для PSoC 4 / 5
Другой