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, включая расширенный диапазон или более высокую скорость.
Это первое поколение 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
Другой