Psoc Intro
Psoc Intro
Semiconductor. These chips include a CPU core and mixed-signal arrays of configurable integrated
analog and digital peripherals.
History[edit]
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 (OpAmps, 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, I2C), 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, using CapSense, controls the touch-sensitive scroll wheel on
the Apple iPod click wheel
Overview[edit]
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 SONOStechnology.
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[edit]
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 resources 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[edit]
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[edit]
PSoC is a software configured, mixed-signal array with a built-in microcontroller core.
There are four different families of devices, each based around a different microcontroller core:
PSoC 1 - CY8C2xxxx series - M8C core.
PSoC 3 - CY8C3xxxx series - 8051 core.
PSoC 4 - CY8C4xxxx series - ARM Cortex-M0 core.
[4]
PSoC 5 - CY8C5xxxx series - ARM Cortex-M3 core.
Summary[edit]
PSoC 1 PSoC 3 PSoC 4 PSoC 5
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 67 MHz, 84 MIPS
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 32 KB
SRAM: 4 KB
Flash: 32 KB to 256 KB
SRAM: 16 KB to 64 KB
IC, SPI, UART,
FS USB 2.0
IC, SPI, UART,
FS USB 2.0, LIN, IS,
CAN
IC, SPI, UART
.
IC, SPI, UART,
FS USB 2.0, LIN, IS
1 Delta-Sigma ADC (6
to 14-bit)
131 ksps @ 8-bit;
Up to two DACs (6 to 8-
bit);
Voltage Precision
1.53%
1 Delta-Sigma ADC (8
to 20-bit)
192 ksps @ 12-bit;
Up to four DACs (8-bit);
Voltage Precision
0.1%
1 SAR ADC (12-bit)
1 Msps @ 12-bit;
Up to two DACs (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);
Voltage Precision
1.0%
Up to 64 I/O Up to 72 I/O Up to 36 I/O Up to 72 I/O
Operation: 1.7 V to
5.25 V
Active: 2 mA,
Operation: 0.5 V to
5.5 V
Active: 1.2 mA,
Operation: 1.71 V to
5.5 V
Active: 1.6 mA,
Operation: 2.7 V to
5.5 V
Active: 2 mA,
Sleep: 3 A
Hibernate: ?
Sleep: 1 A,
Hibernate: 200 nA
Sleep: 1.3 A,
Hibernate: 150 nA
Sleep: 2 A,
Hibernate: 300 nA
Requires ICE Cube and
FlexPods
On-chip JTAG, SWD,
SWV,
Debug and Trace
On-chip JTAG, SWD,
SWV,
Debug and Trace
PSoC 1 Featured Kits
CY8CKIT-001
Development Kit
PSoC 3 Featured Kits
CY8CKIT-001
Development Kit
CY8CKIT-030
Development Kit
PSoC 4 Featured Kits
CY8CKIT-042 Pioneer
Kit
PSoC 5 Featured Kits
CY8CKIT-001
Development Kit
CY8CKIT-050
Development Kit
Development tools[edit]
PSoC Designer[edit]
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[edit]
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 that 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 to create own application specific peripherals in hardware. On top of that,
Cypress publishes component packs several times a year. Basically PSoC users get new
peripherals for their existing hardware without being charged or having to buy new hardware. PSoC
Creator also lets users connect any peripheral to any pin (except supply pins)