Cypress PSoC

Last updated

PSoC 1 IC chips Some PSoC nr.jpg
PSoC 1 IC chips
PSoC 1 capacitive sensing development board with MiniProg programmer / debugger CY3212-CapSense.jpg
PSoC 1 capacitive sensing development board with MiniProg programmer / debugger
PSoC 5LP development kit CY8CKIT-050.JPG
PSoC 5LP development kit

PSoC (programmable system on a chip) is a family of microcontroller integrated circuits by Cypress Semiconductor. These chips include a CPU core and mixed-signal arrays of configurable integrated analog and digital peripherals.

Contents

History

In 2002, Cypress began shipping commercial quantities of the PSoC 1. [1] To promote the PSoC, Cypress sponsored a "PSoC Design Challenge" in Circuit Cellar magazine in 2002 and 2004. [2]

In April 2013, Cypress released the fourth generation, PSoC 4. The PSoC 4 features a 32-bit ARM Cortex-M0 CPU, with programmable analog blocks (operational amplifiers and comparators), programmable digital blocks (PLD-based UDBs), programmable routing and flexible GPIO (route any function to any pin), a serial communication block (for SPI, UART, I²C), a timer/counter/PWM block and more. [3]

PSoC is used in devices as simple as Sonicare toothbrushes and Adidas sneakers, and as complex as the TiVo set-top box. One PSoC implements capacitive sensing for the touch-sensitive scroll wheel on the Apple iPod click wheel.[ citation needed ]

In 2014, Cypress extended the PSoC 4 family by integrating a Bluetooth Low Energy radio along with a PSoC 4 Cortex-M0-based SoC in a single, monolithic die.

In 2016, Cypress released PSoC 4 S-Series, featuring ARM Cortex-M0+ CPU. [4]

Overview

A PSoC integrated circuit is composed of a core, configurable analog and digital blocks, and programmable routing and interconnect. The configurable blocks in a PSoC are the biggest difference from other microcontrollers.

PSoC has three separate memory spaces: paged SRAM for data, Flash memory for instructions and fixed data, and I/O registers for controlling and accessing the configurable logic blocks and functions. The device is created using SONOS technology.

PSoC resembles an ASIC: blocks can be assigned a wide range of functions and interconnected on-chip. Unlike an ASIC, there is no special manufacturing process required to create the custom configuration — only startup code that is created by Cypress' PSoC Designer (for PSoC 1) or PSoC Creator (for PSoC 3 / 4 / 5) IDE.

PSoC resembles an FPGA in that at power up it must be configured, but this configuration occurs by loading instructions from the built-in Flash memory.

PSoC most closely resembles a microcontroller combined with a PLD and programmable analog. Code is executed to interact with the user-specified peripheral functions (called "Components"), using automatically generated APIs and interrupt routines. PSoC Designer or PSoC Creator generate the startup configuration code. Both integrate APIs that initialize the user selected components upon the users needs in a Visual-Studio-like GUI.

Configurable analog and digital blocks

PsoC Block Example Psoc blocks.PNG
PsoC Block Example

Using configurable analog and digital blocks, designers can create and change mixed-signal embedded applications. The digital blocks are state machines that are configured using the blocks registers. There are two types of digital blocks, Digital Building Blocks (DBBxx) and Digital Communication Blocks (DCBxx). Only the communication blocks can contain serial I/O user modules, such as SPI, UART, etc.

Each digital block is considered an 8-bit resource that designers can configure using pre-built digital functions or user modules (UM), or, by combining blocks, turn them into 16-, 24-, or 32-bit resources. Concatenating UMs together is how 16-bit PWMs and timers are created.

There are two types of analog blocks. The continuous time (CT) blocks are composed of an op-amp circuit and designated as ACBxx where xx is 00–03. The other type is the switch cap (SC) blocks, which allow complex analog signal flows and are designated by ASCxy where x is the row and y is the column of the analog block. Designers can modify and personalize each module to any design.

Programmable routing and interconnect

PSoC mixed-signal arrays' flexible routing allows designers to route signals to and from I/O pins more freely than with many competing microcontrollers. Global buses allow for signal multiplexing and for performing logic operations. Cypress suggests that this allows designers to configure a design and make improvements more easily and faster and with fewer PCB redesigns than a digital logic gate approach or competing microcontrollers with more fixed function pins.

Series

There are five different families of devices, each based around a different microcontroller core:

Bluetooth Low Energy

Starting in 2014, Cypress began offering PSoC 4 BLE devices with integrated Bluetooth Low Energy (Bluetooth Smart). This can be used to create connected products leveraging the analog and digital blocks. [7] Users can add and configure the BLE module directly in PSoC creator. Cypress also provides a complete Bluetooth Low Energy stack licensed from Mindtree with both Peripheral and Central functionality. [8] The PSoC 6 series includes versions with BLE including Bluetooth 5 features including extended range or higher speed.

Summary

PSoC 1PSoC 3PSoC 4PSoC 5/5LPPSoC 6
8-bit M8C core
up to 24 MHz, 4 MIPS
8-bit 8051 core (single-cycle)
up to 67 MHz, 33 MIPS
32-bit ARM Cortex-M0
up to 48 MHz, ? MIPS
32-bit ARM Cortex-M3
up to 80 MHz, 84 MIPS
32-bit ARM Cortex-M4 (up to 150 MHz)
32-bit ARM Cortex-M0+ (opt. up to 100 MHz)
Flash: 4 KB to 32 KB
SRAM: 256 bytes to 2 KB
Flash: 8 KB to 64 KB
SRAM: 3 KB to 8 KB
Flash: 16 KB to 256 KB
SRAM: 2 KB to 32 KB
Flash: 32 KB to 256 KB
SRAM: 8 KB to 64 KB
Flash: 512 KB to 2048 KB
SRAM: 128 KB to 512 KB
expandable using quad 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 (opt.), FS USB 2.0 (opt. host & device)
16 digital PSoC blocks16 to 24 UDBs (Universal Digital Blocks)4 to 8 UDBs20 to 24 UDBs0 to 12 UDBs
1 Delta-Sigma ADC (6 to 14-bit)

131 ksps @ 8-bit;

1 Sigma-Delta ADC (for capacitive sensing)

Up to two DACs (6 to 8-bit)

1 Delta-Sigma ADC (8 to 20-bit)

192 ksps @ 12-bit;

Up to four DACs (8-bit)

1 SAR ADC (12-bit)

1 Msps @ 12-bit;

Up to two DACs (7 to 8-bit)

1 Delta-Sigma ADC (8 to 20-bit)

192 ksps @12-bit;

2 SAR ADCs (12-bit)

1 Msps @ 12-bit;

Up to four DACs (8-bit)

1 SAR ADC (12-bit) 1 MSPS

1 12 Bit Voltage Mode DAC

Up to 64 I/OUp to 72 I/OUp to 98 I/OUp to 72 I/OUp to 104 I/O
Operation: 1.7 V to 5.25 V
Active: 2 mA,
Sleep: 3 μA
Hibernate: ?
Operation: 0.5 V to 5.5 V
Active: 1.2 mA,
Sleep: 1 μA,
Hibernate: 200 nA
Operation: 1.71 V to 5.5 V
Active: 1.6 mA,
Sleep: 1.3 μA,
Hibernate: 150 nA
Operation: 2.7 V to 5.5 V
Active: 2 mA,
Sleep: 2 μA,
Hibernate: 300 nA
Requires ICE Cube and FlexPodsOn-chip SWD, DebugOn-chip JTAG, SWD, SWV,
Debug, Trace
CY8CKIT-001 Development KitCY8CKIT-001 Development Kit
CY8CKIT-030 Development Kit
CY8CKIT-040 4000 Pioneer Kit
CY8CKIT-042 4200 Pioneer Kit

CY8CKIT-043 4200M Prototyping Kit

CY8CKIT-044 4200M Pioneer Kit

CY8CKIT-046 4200L Pioneer Kit
CY8CKIT-049 4100 Prototype Kit

CY8CKIT-001 Development Kit
CY8CKIT-050 Development Kit
CY8CKIT-059 Prototype Kit
CY8CKIT-062-BLE Pioneer Kit

Development tools

PSoC Designer

This is the first generation software IDE to design and debug and program the PSoC 1 devices. It introduced unique features including a library of pre-characterized analog and digital peripherals in a drag-and-drop design environment which could then be customized to specific design needs by leveraging the dynamically generated API libraries of code.

PSoC Creator

PSoC Creator is the second generation software IDE to design debug and program the PSoC 3 / 4 / 5 devices. The development IDE is combined with an easy-to-use graphical design editor to form a powerful hardware/software co-design environment. PSoC Creator consists of two basic building blocks. The program allows the user to select, configure and connect existing circuits on the chip and the components which are the equivalent of peripherals on MCUs. What makes PSoC intriguing is the possibility of creating its own application-specific peripherals in hardware. Cypress publishes component packs several times a year. PSoC users get new peripherals for their existing hardware without being charged or having to buy new hardware. PSoC Creator also allows much freedom in the assignment of peripherals to I/O pins.

Cortex-M

Generic ARM development tools for PSoC 4 and PSoC 5.

Documentation

PSoC 4 / 5

The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer (Cypress Semiconductor) and documents from CPU core vendor (ARM Holdings).

A typical top-down documentation tree is: manufacturer website, manufacturer marketing slides, manufacturer datasheet for the exact physical chip, manufacturer detailed reference manual that describes common peripherals and aspects of a physical chip family, ARM core generic user guide, ARM core technical reference manual, ARM architecture reference manual that describes the instruction set(s).

PSoC 4 / 5 documentation tree (top to bottom)
  1. PSoC website.
  2. PSoC marketing slides.
  3. PSoC datasheet.
  4. PSoC reference manuals.
  5. ARM core website.
  6. ARM core generic user guide.
  7. ARM core technical reference manual.
  8. ARM architecture reference manual.

Cypress Semiconductor has additional documents, such as: evaluation board user manuals, application notes, getting started guides, software library documents, errata, and more. See External Links section for links to official PSoC and ARM documents.

See also

Related Research Articles

<span class="mw-page-title-main">Microcontroller</span> Small computer on a single integrated circuit

A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.

<span class="mw-page-title-main">Nordic Semiconductor</span> Norwegian multinational semiconductors manufacturer

Nordic Semiconductor ASA was founded in 1983 and is a Norwegian fabless technology company with its headquarters in Trondheim, Norway. The company specializes in designing ultra-low-power wireless communication semiconductors and supporting software for engineers developing and manufacturing Internet of Things (IoT) products.

<span class="mw-page-title-main">Blackfin</span> Family of 16-/32-bit microprocessors

The Blackfin is a family of 16-/32-bit microprocessors developed, manufactured and marketed by Analog Devices. The processors have built-in, fixed-point digital signal processor (DSP) functionality performed by 16-bit multiply–accumulates (MACs), accompanied on-chip by a microcontroller. It was designed for a unified low-power processor architecture that can run operating systems while simultaneously handling complex numeric tasks such as real-time H.264 video encoding.

Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology, that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.

ARM9 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use. The ARM9 core family consists of ARM9TDMI, ARM940T, ARM9E-S, ARM966E-S, ARM920T, ARM922T, ARM946E-S, ARM9EJ-S, ARM926EJ-S, ARM968E-S, ARM996HS. Since ARM9 cores were released from 1998 to 2006, they are no longer recommended for new IC designs, instead ARM Cortex-A, ARM Cortex-M, ARM Cortex-R cores are preferred.

EEMBC, the Embedded Microprocessor Benchmark Consortium, is a non-profit, member-funded organization formed in 1997, focused on the creation of standard benchmarks for the hardware and software used in embedded systems. The goal of its members is to make EEMBC benchmarks an industry standard for evaluating the capabilities of embedded processors, compilers, and the associated embedded system implementations, according to objective, clearly defined, application-based criteria. EEMBC members may contribute to the development of benchmarks, vote at various stages before public distribution, and accelerate testing of their platforms through early access to benchmarks and associated specifications.

EFM32 Gecko MCUs are a family of mixed-signal 32-bit microcontroller integrated circuits from Energy Micro based on ARM Cortex-M CPUs, including the Cortex-M0+, Cortex-M3 and Cortex-M4.

<span class="mw-page-title-main">Arm Holdings</span> British multinational semiconductor and software design company

Arm Holdings plc is a British semiconductor and software design company based in Cambridge, England, whose primary business is the design of central processing unit (CPU) cores that implement the ARM architecture family of instruction sets. It also designs other chips, provides software development tools under the DS-5, RealView and Keil brands, and provides systems and platforms, system-on-a-chip (SoC) infrastructure and software. As a "holding" company, it also holds shares of other companies. Since 2016, it has been owned by Japanese conglomerate SoftBank Group.

<span class="mw-page-title-main">ARM Cortex-M</span> Group of 32-bit RISC processor cores

The ARM Cortex-M is a group of 32-bit RISC ARM processor cores licensed by ARM Limited. These cores are optimized for low-cost and energy-efficient integrated circuits, which have been embedded in tens of billions of consumer devices. Though they are most often the main component of microcontroller chips, sometimes they are embedded inside other types of chips too. The Cortex-M family consists of Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, Cortex-M52, Cortex-M55, Cortex-M85. A floating-point unit (FPU) option is available for Cortex-M4 / M7 / M33 / M35P / M52 / M55 / M85 cores, and when included in the silicon these cores are sometimes known as "Cortex-MxF", where 'x' is the core variant.

<span class="mw-page-title-main">STM32</span> ARM Cortex-M based Microcontrollers by STMicroelectronics

STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.

Mbed is a development platform and real-time operating system (RTOS) designed for internet-connected devices that utilize 32-bit ARM Cortex-M microcontrollers. These internet-enabled devices are often categorized under the Internet of Things (IoT) umbrella. The Mbed project is a collaborative effort led by Arm Holdings, in partnership with various technology companies and contributors.

SmartFusion is a family of microcontrollers with an integrated FPGA of Actel. The device includes an ARM Cortex-M3 hard processor core and analog peripherals such as a multi-channel ADC and DACs in addition to their flash-based FPGA fabric.

XMC is a family of microcontroller ICs by Infineon. The XMC microcontrollers use the 32-bit RISC ARM processor cores from ARM Holdings, such as Cortex-M4F and Cortex-M0. XMC stands for "cross-market microcontrollers", meaning that this family can cover due to compatibility and configuration options, a wide range in industrial applications. The family supports three essential trends in the industry: It increases the energy efficiency of the systems, supports a variety of communication standards and reduces software complexity in the development of the application's software environment with the parallel released eclipse-based software tool DAVE.

<span class="mw-page-title-main">NXP LPC</span> Family of 32-bit microcontroller integrated circuits

LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.

<span class="mw-page-title-main">Arduino Uno</span> Microcontroller board

The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller as the Arduino Nano board, and the same headers as the Leonardo board. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.

<span class="mw-page-title-main">Micro Bit</span> Single-board computer designed by the BBC for use in computer education

The Micro Bit is an open source hardware ARM-based embedded system designed by the BBC for use in computer education in the United Kingdom. It was first announced on the launch of BBC's Make It Digital campaign on 12 March 2015 with the intent of delivering 1 million devices to pupils in the UK. The final device design and features were unveiled on 6 July 2015 whereas actual delivery of devices, initially planned for September 2015 to schools and October 2015 to general public, began on 10 February 2016.

<span class="mw-page-title-main">Apache Mynewt</span> Real-time operating system

Apache Mynewt is a modular real-time operating system for connected Internet of things (IoT) devices that must operate for long times under power, memory, and storage constraints. It is free and open-source software incubating under the Apache Software Foundation, with source code distributed under the Apache License 2.0, a permissive license that is conducive to commercial adoption of open-source software.

In computing, autonomous peripheral operation is a hardware feature found in some microcontroller architectures to off-load certain tasks into embedded autonomous peripherals in order to minimize latencies and improve throughput in hard real-time applications as well as to save energy in ultra-low-power designs.

<span class="mw-page-title-main">RP2040</span> ARM-architecture microcontroller by the Raspberry Pi Foundation

RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board.

References

  1. Reuters: "Cypress Hits Half-Billion Mark in Shipments of PSoC Programmable system on a chip Devices" 2009
  2. Circuit Cellar:"PSoC Design Challenge 2002" [ dead link ]
  3. "Fully Qualified Production Silicon for Cypress's First Two PSoC® 4 Product Families Is Now Available". yahoo.com. Retrieved April 12, 2018.
  4. Corp., Cypress Semiconductor. "Cypress Offers Complete Portfolio of Flexible PSoC ARM Cortex-M0 and Cortex-M0+ Solutions to Replace Legacy 8-Bit and 16-Bit Platforms". www.prnewswire.com (Press release). Retrieved March 4, 2016.
  5. "Custom Peripherals Surround Cortex-M0 Platform". April 16, 2013.
  6. "PSoC 6 CY8CKIT-062 Pioneer Kit - Cypress - DigiKey". www.digikey.com. Retrieved April 12, 2018.
  7. "PSoC® 4 BLE (Bluetooth Smart)" . Retrieved February 12, 2015.
  8. "Cypress offering BLE chipset, Here's what you need to know" . Retrieved February 12, 2015.

Further reading

PSoC Official Documents
ARM Official Documents for PSoC 4 / 5
Other