PSoC

In PSoC ( Programmable System on Chip) is 3 different 8-bit and 32 -bit microcontroller family, which are manufactured by Cypress Semiconductor. Since 2001, the first products on the market are available, since 2010, there is the PSoC 3 and since 2011 the based on an ARM Cortex- M3 PSoC 5 Meanwhile, all three families have been expanded and there are well over 100 different PSoC devices. In addition to the model developed by Cypress Semiconductor " M8C " processor core, come in PSoC 3, a single-cycle 8051 and PSoC 5 an ARM Cortex -M3 used. These cores also come in many variants of the USB controllers from Cypress Semiconductor for use.

The strength of PSoC over typical microcontrollers is that the resources required to be individually produced and adjusted in the periphery according to the needs. Thus, the controller's hardware can be reconfigured from a UART on pulse -width modulation, or vice versa, for example simple. This is true for both digital and analog functions. In addition, the inputs / outputs of the peripherals can almost any pins are assigned. This flexibility makes it possible to manufacture boards without the final specifications to have.

Basics

The two main components of a PSoC consist initially of a standard microcontroller to the calculator, flash memory, RAM, various onChip - RC oscillators with PLL, watchdog, voltage reference, I / O ports and much more, as well as newer models with integrated peripherals such as I ² C or USB. Furthermore, there is the so-called PSoC digital and analog "blocks", which can be individually assigned by the developer with peripheral functions. The PSoC are available with flash memory 2-256 Kbytes, RAM 128 bytes to 32 Kbytes, as well as in cases of 8 pins to 100 pins. The designations for the PSoC 1 family of Cypress Semiconductor loud CY8C2xxxx, for the PSoC 3 family CY8C3xxx and for the PSoC 5 family CY8C5xxx.

The various families are:

  • CY8C25xxx, CY8C26xxx: the first generation of PSoC, with 4 to 16 Kbytes of Flash memory, 256 bytes of RAM, 8 digital and 12 analog blocks, housing sizes 8-44 pins. This family should no longer be used for new developments, successors are the products of the CY8C27x43 family.
  • CY8C27x43: the second generation of PSoC, with 16 Kbytes of Flash memory, 256 bytes of RAM, 8 digital and 12 analog blocks, housing sizes 8-44 pins.
  • CY8C29x43: with 32 Kbytes of Flash memory, 2 Kbytes of RAM, 16 digital and 12 analog blocks, frame sizes 28-100 pins.
  • CY8C28xxx: with 16 Kbytes of Flash memory, 1 KB RAM, very different in the peripheral configuration of up to 12 digital and 12 analog blocks, some with 10-bit ADC, CapSense (see below), housing sizes 28-48 pins.
  • CY8C24x23: 4 Kbytes of Flash memory, 256 bytes of RAM, 4 digital and 6 analog blocks, housing sizes 8 to 28 pins.
  • CY8C22x13: with 2 Kbytes of Flash memory, 256 bytes of RAM, 4 digital and 3 analog blocks, housing sizes 8 to 20 pins. This family should no longer be used for new developments, alternatives are the products of the CY8C24x23 family.
  • CY8C21x34: with 8 Kbytes of Flash memory, 512 bytes of RAM, 4 digital and 4 analog blocks modified with these controllers CapSense is possible (see below), housing sizes 20-32 pins.
  • CY8C21x23: 4 Kbytes of Flash memory, 256 bytes of RAM, 4 digital and 4 analog modified blocks, housing sizes 8 to 24 pins.
  • CY8C20x34: with 8 Kbytes of Flash memory, 512 bytes of RAM, I ² C / SPI but no blocks, with these controllers CapSense is possible (see below), enclosure sizes from 16 to 32 pins.
  • CY8C20xx6: also CapSense Express, with pre-installed CapSense and communication firmware, 2 Kbytes of RAM, I ² C / SPI but no blocks, with these controllers CapSense is possible (see below), enclosure sizes from 16 to 48 pins.
  • CY8C24x94: with 16 Kbytes of Flash memory, 1 KB RAM, USB, 4 digital and 6 analog blocks, with these controllers CapSense is possible (see below), housing sizes from 56 to 100 pins.
  • CY8CTMA1xx, CY8CTMG1xx, CY8CTST1xx: also PSoC TrueTouch, with special features such as 2-point gesture recognition or multi-touch all-point up to 10 fingers, with 8 to 16 Kbyte Flash memory, 512c to 1024 bytes RAM, cabinet sizes 32-100 pins.
  • CY8CLED0xx0x: also PowerPSoC, with special power features: up to 4 times 0.5 or 1 amp MOSFET or only with external gate drivers, with 16 Kbytes of Flash memory, 1 KB RAM, case size 56 pins.
  • CY8CNP1xxB also PSoCnv: is a CY8C29xxx with 100 pins, but a non-volatile memory 64-256 Kbytes is also included (a combination of RAM with shadow EEPROM ).
  • CYWUSB6953: is a CY8C27643 48-pin, however, is an additional, even by Cypress Semiconductor discrete deliverable, Wireless USB chip in the package with integrated.

Memory Layout

The memory allocation is performed according to the Harvard architecture, where program and data memory are accessed via separate buses.

Access to the data store, the RAM is directly possible with the PSoC 1 only up to 256 bytes of RAM, access to higher memory addresses must be made through banking. PSoC 3 offers between 2-8 KB RAM / 16-64 KB Flash and PSoC 5 between 16-64 KB RAM / 64-256 KB Flash.

Periphery in the blocks

The ' blocks ' in the PSoC are small, separate self, arrays. These arrays are preconfigured in program development, but can get the other functions during operation; this is easy to do by changing some registry by the program. In addition to the main distinguishing analog and digital, there are other small distinguishing characteristics.

  • Digital blocks, these are designed as 8-bit functional unit with register. Thus, such a block to record a timer or counter is 8 bits. Do I need a 16 or 32-bit timer has to turn several blocks together. Other functions that may be incorporated into the digital blocks are UART, SPI, PWM with or without dead time, CRC generator, random number generator and many more. It should be noted that the communication functions ( UART, SPI) can be stored in only half of the available units, as the other half is missing a communication line.
  • Analog Blocks: There is a difference between so-called, Switch Capacitor 'and' Continuous Time ' to map different analog functions in them can. However, the CY8C21xxx families have only a reduced functionality. In the analog blocks can be, for example, AD converter ( according to SAR, incremental or delta-sigma method ), DA converter, depict operational amplifier, comparator, filter functions, and more.

CapSense

This is a special new function for several families of PSoC. CapSense is supported in the standard Micros CY8C21x34, the specially designed CY8C20x34 and at the micros with USB, the CY8C24x94. With CapSense can be realized in a simple manner keys, one-dimensional slider ( slider ) or two-dimensional fields (touchpad ), consist the input elements of pure interconnect pads on a circuit board with no other hardware elements, such as capacitors or the like, are required. The developer is assisted by a, Wizard ' in PSoC Designer. The board can then, depending on the version, also a film or glass are mounted so as not to bring the user to the circuit or device to the board in direct contact.

Program development

In order to use the microcontroller in an application by the developer, a program needs to be developed first. The program development can using assembler or a high-level language, such as C happen. The PSoC is in the industry today mostly C used because the program code is later, and better to maintain. Cypress provides for the development of free software, PSoC Designer ' on their home page, the designer includes a graphical interface for integrating and configuring the required peripheral modules, the assembler and a C compiler. With the PSoC Express is also available free of Cypress program development is complete on a graphical level possible, it is particularly suitable for the assessment of feasibility, known as feasibility studies or for beginners in electronics development, which have little or no experience with programming languages.

  • Programming in C
  • Troubleshooting - Emulator
  • Programming
  • PSoC Creator for PSoC 3 and PSoC 5
662071
de