器件类别:半导体    嵌入式处理器和控制器   
厂商名称:Cypress Semiconductor


8-bit Microcontrollers - MCU 32K Flash 50MHz 8051 1.71V to 5.5V


Product AttributeAttribute Value
Cypress Semiconductor
Product Category:
8-bit Microcontrollers - MCU
Mounting Style:
封装 / 箱体:
Package / Case:
Data Bus Width:8 bit
Maximum Clock Frequency:50 MHz
Program Memory Size:32 kB
Data RAM Size:8 kB
Number of I/Os:28 I/O
Operating Supply Voltage:
1.71 V to 5.5 V
Maximum Operating Temperature:
+ 85 C
Interface Type:
Program Memory Type:Flash
Cypress Semiconductor
Data RAM Type:SRAM
Moisture Sensitive:Yes
Number of Timers/Counters:4 Timer
Processor Series:CY8C34
Product Type:
8-bit Microcontrollers - MCU
Factory Pack Quantity:
Microcontrollers - MCU
Unit Weight:
0.023175 oz


                                                                                                                PSoC® 3: CY8C34 Family

                                                                                                                                              Data Sheet

                                                 Programmable System-on-Chip (PSoC®)

General Description

With its unique array of configurable blocks, PSoC® 3 is a true system level solution providing microcontroller unit (MCU), memory,

analog, and digital peripheral functions in a single chip. The CY8C34 family offers a modern method of signal acquisition, signal

processing, and control with high accuracy, high bandwidth, and high flexibility. Analog capability spans the range from thermocouples

(near DC voltages) to ultrasonic signals. The CY8C34 family can handle dozens of data acquisition channels and analog inputs on

every general-purpose input/output (GPIO) pin. The CY8C34 family isalso a high-performance configurable digital system with some
part numbers including interfaces such as USB, multimaster inter-integrated circuit (I2C), and controller area network (CAN). In

addition to communication interfaces, the CY8C34 family has an easy to configure logic array, flexible routing to all I/O pins, and a

high-performance single cycle 8051 microprocessor core. You can easily create system-level designs using a rich library of prebuilt

components and boolean primitives using PSoC Creator™, a hierarchical schematic design entry tool. The CY8C34 family provides

unparalleled opportunities for analog and digital bill of materials integration while easily accommodating last minute design changes

through simple firmware updates.


„ Single cycle 8051 CPU core                                                                   ‡ Library of standard peripherals

‡ DC to 50 MHz operation                                                                       • 8-, 16-, 24-, and 32-bit timers, counters, and PWMs

‡ Multiply and divide instructions                                                             • Serial peripheral interface (SPI), universal asynchronous
                                                                                               transmitter receiver (UART), I2C
‡ Flash program memory, up to 64 KB, 100,000 write cycles,

    20 years retention, and multiple security features                                         • Many others available in catalog

‡ Up to 8-KB flash error correcting code (ECC) or configuration                                ‡ Library of advanced peripherals

    storage                                                                                    • Cyclic redundancy check (CRC)

‡ Up to 8 KB SRAM                                                                              • Pseudo random sequence (PRS) generator

‡ Up to 2 KB electrically erasable programmable read-only                                      • Local interconnect network (LIN) bus 2.0

    memory (EEPROM), 1 M cycles, and 20 years retention                                        • Quadrature decoder

‡ 24-channel direct memory access (DMA) with multilayer                                     „  Analog peripherals (1.71 V ≤ VDDA ≤ 5.5 V)
    AHB[1] bus access
                                                                                               ‡ 1.024 V±0.9-percent internal voltage reference across –40 °C
    • Programmable chained descriptors and priorities
                                                                                               to +85 °C (14 ppm/°C)
    • High bandwidth 32-bit transfer support
                                                                                               ‡ Configurable delta-sigma ADC with 8- to12-bit resolution

„ Low voltage, ultra low-power                                                                 • Programmable gain stage: ×0.25 to ×16

‡ Wide operating voltage range: 0.5 V to 5.5 V                                                 • 12-bit mode, 192-ksps, 66-dB signal to noise and distortion

‡ High efficiency boost regulator from 0.5-V input through 1.8-V                               ratio (SINAD), ±1-bit INL/DNL

    to 5.0-V output                                                                            ‡ Two 8-bit, 8-Msps IDACs or 1-Msps VDACs

‡ 0.8 mA at 3 MHz, 1.2 mA at 6 MHz, and 6.6 mA at 50 MHz                                       ‡ Four comparators with 95-ns response time

‡ Low-power modes including:                                                                   ‡ Two uncommitted opamps with 25-mA drive capability

    • 1-µA sleep mode with real-time clock (RTC) and                                           ‡ Two configurable multifunction analog blocks. Example

       low-voltage detect (LVD) interrupt                                                      configurations are programmable gain amplifier (PGA),

    • 200-nA hibernate mode with RAM retention                                                 transimpedance amplifier (TIA), mixer, and sample and hold

„ Versatile I/O system                                                                         ‡ CapSense support

‡ 28 to 72 I/O (62 GPIOs, eight special input/outputs (SIO),                                „  Programming, debug, and trace
    two USBIOs[2])
                                                                                               ‡ JTAG (4-wire), serial wire debug (SWD) (2-wire), and single

‡ Any GPIO to any digital or analog peripheral routability                                     wire viewer (SWV) interfaces
‡ LCD direct drive from any GPIO, up to 46×16 segments[2]
‡ CapSense® support from any GPIO[3]                                                           ‡ Eight address and one data breakpoint

                                                                                               ‡ 4-KB instruction trace buffer
                                                                                               ‡ Bootloader programming supportable through I2C, SPI,
‡ 1.2-V to 5.5-V I/O interface voltages, up to four domains

‡ Maskable, independent interrupt request (IRQ) on any pin or                                  UART, USB, and other interfaces

    port                                                                                    „  Precision, programmable clocking

‡ Schmitt-trigger transistor-transistor logic (TTL) inputs                                     ‡ 3- to 24-MHz internal oscillator over full temperature and

‡ All GPIOs configurable as open drain high/low,                                               voltage range

    pull-up/pull-down, High Z, or strong output                                                ‡ 4- to 25-MHz crystal oscillator for crystal PPM accuracy

‡ Configurable GPIO pin state at power-on reset (POR)                                          ‡ Internal PLL clock generation up to 50 MHz

‡ 25 mA sink on SIO                                                                            ‡ 32.768-kHz watch crystal oscillator

„ Digital peripherals                                                                          ‡ Low-power internal oscillator at 1, 33, and 100 kHz

‡ 16 to 24 programmable logic device (PLD) based universal                                  „  Temperature and packaging

    digital blocks (UDB)                                                                       ‡ –40 °C to +85 °C degrees industrial temperature
‡ Full CAN 2.0b 16-receive (Rx), 8-transmit (Tx) buffers[2]
‡ Full-speed (FS) USB 2.0 12 Mbps using internal oscillator[2]                                 ‡ 48-pin SSOP, 48-pin QFN, 68-pin QFN, and 100-pin TQFP

‡ Up to four 16-bit configurable timer, counter, and PWM blocks                                package options


1.  AHB – AMBA (advanced microcontroller bus architecture) high-performance bus, an ARM data transfer bus

2.  This feature on select devices only. See Ordering Information on page 115 for details.

3.  GPIOs with opamp outputs are not recommended for use with CapSense.

Cypress Semiconductor Corporation             •  198 Champion Court                            •  San Jose,        CA  95134-1709          •  408-943-2600

Document Number: 001-53304 Rev. *L                                                                                                      Revised May 20, 2011
                                                                                                PSoC® 3: CY8C34 Family

                                                                                                                     Data Sheet


1.  Architectural Overview    ..................................................... 3           8.6 LCD Direct Drive ...................................................... 58

2.  Pinouts  ............................................................................... 5  8.7 CapSense ................................................................. 59

3.  Pin Descriptions .............................................................. 10          8.8 Temp Sensor ............................................................ 59

                                                                                                8.9 DAC .......................................................................... 59

4.  CPU ................................................................................... 11  8.10 Up/Down Mixer ....................................................... 59

    4.1 8051 CPU ................................................................. 11           8.11 Sample and Hold .................................................... 60

    4.2 Addressing Modes .................................................... 11                9. Programming, Debug Interfaces, Resources ................ 60

    4.3 Instruction Set  .......................................................... 12          9.1 JTAG Interface ......................................................... 61

    4.4 DMA and PHUB     ....................................................... 16             9.2 Serial Wire Debug Interface ..................................... 62

    4.5 Interrupt Controller  ................................................... 17            9.3 Debug Features ........................................................ 63

5.  Memory ............................................................................. 21     9.4 Trace Features ......................................................... 63

    5.1 Static RAM  ............................................................... 21          9.5 Single Wire Viewer Interface .................................... 63

    5.2 Flash Program Memory ............................................ 21                    9.6 Programming Features ............................................. 63

    5.3 Flash Security ........................................................... 21           9.7 Device Security  ........................................................ 63

    5.4 EEPROM .................................................................. 21            10. Development Support ................................................... 64

    5.5 Nonvolatile Latches (NVLs) ...................................... 22                    10.1 Documentation ....................................................... 64

    5.6 External Memory Interface ....................................... 23                    10.2 Online ..................................................................... 64

    5.7 Memory Map       ............................................................ 23        10.3 Tools ....................................................................... 64

6.  System Integration .......................................................... 25            11. Electrical Specifications ............................................... 65

    6.1 Clocking System ....................................................... 25              11.1 Absolute Maximum Ratings .................................... 65

    6.2 Power System .......................................................... 28              11.2 Device Level Specifications .................................... 66

    6.3 Reset ........................................................................ 31       11.3 Power Regulators ................................................... 70

    6.4 I/O System and Routing ........................................... 32                   11.4 Inputs and Outputs ................................................. 74

7.  Digital Subsystem ........................................................... 38            11.5 Analog Peripherals ................................................. 82

    7.1 Example Peripherals ................................................ 39                 11.6 Digital Peripherals .................................................. 99

    7.2 Universal Digital Block .............................................. 42               11.7 Memory ................................................................ 102

    7.3 UDB Array Description ............................................. 45                  11.8 PSoC System Resources ..................................... 108

    7.4 DSI Routing Interface Description ............................ 46                       11.9 Clocking ................................................................ 111

    7.5 CAN .......................................................................... 47       12. Ordering Information ................................................... 115

    7.6 USB .......................................................................... 49       12.1 Part Numbering Conventions ............................... 116

    7.7 Timers, Counters, and PWMs .................................. 49

    7.8 I2C ............................................................................ 49     13. Packaging ..................................................................... 117

8.  Analog Subsystem .......................................................... 50              14. Acronyms ..................................................................... 120

    8.1 Analog Routing ......................................................... 52             15. Reference Documents ................................................. 121

    8.2 Delta-sigma ADC ...................................................... 54               16. Document Conventions .............................................. 122

    8.3 Comparators ............................................................. 55            16.1 Units of Measure .................................................. 122

    8.4 Opamps .................................................................... 56          17. Revision History .......................................................... 123

    8.5 Programmable SC/CT Blocks   .................................. 56

                                                                                                18. Sales, Solutions, and Legal Information .................127

Document Number: 001-53304 Rev. *L                                                                                   Page 2 of 127
                                                                                                                                                                 PSoC® 3: CY8C34 Family

                                                                                                                                                                                            Data Sheet

1.           Architectural Overview

Introducing the CY8C34 family of ultra low-power, flash Programmable System-on-Chip (PSoC®) devices, part of a scalable

8-bit PSoC 3 and 32-bit PSoC 5 platform. The CY8C34 family provides configurable blocks of analog, digital, and interconnect circuitry

around a CPU subsystem. The combination of a CPU with a flexible analog subsystem, digital subsystem, routing, and I/O enables

a high level of integration in a wide variety of consumer, industrial, and medical applications.

                                                                           Figure 1-1. Simplified Block Diagram

                                                                                                                                  Analog Interconnect

                                                                       Digital Interconnect

                          GPIOs  System Wide                                                                              Digital System                                                    SIO

                                 Resources                                        Universal Digital Block Array ( 24x UDB)                                             CAN          I2C

             4- 25 MHz                                                 8- Bit     Quadrature Decoder  Sequencer  16- Bit  16- Bit PRS                                  2.0         Master/

                                                        UDB            Timer                                     PWM                     UDB        UDB                             Slave

             ( Optional)                                                   UDB            UDB                    UDB      UDB

                                 Xtal                   for                                                                                                                                        22 Ω

                                 Osc        Clock Tree                                                                    UDB            UDB        UDB                          FS USB     USB

                                                        Usage Example      UDB            UDB                    UDB      8- Bit                                 4x                         PHY

                                                                                         8- Bit SPI                       Timer   Logic                          Timer              2.0

                                                                       I2C Slave                      12- Bit SPI

                                                                                                                                         UDB        UDB          Counter

                          GPIOs                                            UDB            UDB                    UDB      UDB                                    PWM


                                                                                                      Logic                                                                                 GPIOs

    32.768         KHz                                                     UDB            UDB                    UDB      UDB            UDB        UDB

             ( Optional)

                                                                           UART                       12- Bit PWM



                                                                                                                      System      Bus

                                                                                  Memory System                                                   CPU    System             Program &       GPIOs

                                       WDT                                                                                               8051 or                                Debug

                                       and                             EEPROM                         SRAM                               Cortex M3         Interrupt            Program

                                 Wake                                                                                                    CPU               Controller

                          GPIOs                                                                                                                                                 Debug &


                                                                           EMIF                       FLASH                                                PHUB             Boundary

                                       ILO                                                                                                                 DMA                      Scan

                                 Clocking System

                                                                                                                                         Analog System                                      GPIOs

                          SIOs   Power Management                          LCD Direct

                                 System                                           Drive                                                                                          +

                                                                                                                                              ADC                           2x

                                 POR and                                                                                                                                    Opamp           3 per

                                 LVD                                                                                                                                             -          Opamp

                                                                                  2 x SC/ CT Blocks

                                 Sleep                                           (TIA, PGA, Mixer etc)

                                 Power                                                                                                            Del Sig

    1.71 to                                                                Temperature                                                              ADC                          +

             5.5V                1.8V LDO                                         Sensor                                                                                    4x              GPIOs

                                                                                                      2x DAC                                                                CMP


                                 SMP                                             CapSense

    0. 5 to5.5V

    ( Optional)

Figure 1-1 illustrates the major components                            of  the    CY8C34                                  PSoC’s digital subsystem provides half of its unique

family. They are:                                                                                                         configurability. It connects a digital signal from any peripheral to

„ 8051 CPU subsystem                                                                                                      any pin through the digital system interconnect (DSI). It also

                                                                                                                          provides functional flexibility through an array of small, fast, low-

„ Nonvolatile subsystem                                                                                                   power UDBs. PSoC Creator provides a library of prebuilt and

„ Programming, debug, and test subsystem                                                                                  tested standard digital peripherals (UART, SPI, LIN, PRS, CRC,

                                                                                                                          timer, counter, PWM, AND, OR, and so on) that are mapped to

„ Inputs and outputs                                                                                                      the UDB array. You can also easily create a digital circuit using

                                                                                                                          boolean primitives by means of graphical design entry. Each

„ Clocking                                                                                                                UDB contains programmable array logic (PAL)/PLD functionality,

„ Power                                                                                                                   together with a small state machine engine to support a wide

                                                                                                                          variety of peripherals.

„ Digital subsystem                                                                                                       In addition to the flexibility of the UDB array, PSoC also provides

„ Analog subsystem                                                                                                        configurable digital blocks targeted at specific functions. For the

Document Number: 001-53304 Rev. *L                                                                                                                                                                 Page 3 of 127
                                                                                             PSoC® 3: CY8C34 Family

                                                                                                                                 Data Sheet

CY8C34 family these blocks can include four 16-bit timer,                          See the “Analog Subsystem” section on page 50 of this data
counter, and PWM blocks; I2C slave, master, and multi-master;
                                                                                   sheet for more details.

Full-Speed USB; and Full CAN 2.0b.                                                 PSoC’s 8051 CPU subsystem is built around a single cycle

For more details on the peripherals see the “Example                               pipelined 8051 8-bit processor running at up to 50 MHz. The

Peripherals” section on page 39 of this data sheet. For                            CPU subsystem includes a programmable nested vector

information on UDBs, DSI, and other digital blocks, see the                        interrupt controller, DMA controller, and RAM. PSoC’s nested

“Digital Subsystem” section on page 38 of this data sheet.                         vector interrupt controller provides low latency by allowing the

PSoC’s analog subsystem is the second half of its unique                           CPU to vector directly to the first address of the interrupt service

configurability. All analog performance is based on a highly                       routine, bypassing the jump instruction required by other

accurate absolute voltage reference with less than 0.9-percent                     architectures. The DMA controller enables peripherals to

error over temperature and voltage. The configurable analog                        exchange data without CPU involvement. This allows the CPU

subsystem includes:                                                                to run slower (saving power) or use those CPU cycles to improve

                                                                                   the performance of firmware algorithms. The single cycle 8051

„ Analog muxes                                                                     CPU runs ten times faster than a standard 8051 processor. The

„ Comparators                                                                      processor speed itself is configurable, allowing you to tune active

                                                                                   power consumption for specific applications.

„ Voltage references                                                               PSoC’s nonvolatile subsystem consists of flash, byte-writeable

„ Analog-to-digital converter (ADC)                                                EEPROM, and nonvolatile configuration options. It provides up

                                                                                   to 64 KB of on-chip flash. The CPU can reprogram individual

„ Digital-to-analog converters (DACs)                                              blocks of flash, enabling bootloaders. You can enable an error

All GPIO pins can route analog signals into and out of the device                  correcting code (ECC) for high reliability applications. A powerful

using the internal analog bus. This allows the device to interface                 and flexible protection model secures the user's sensitive

up to 62 discrete analog signals. The heart of the analog                          information, allowing selective memory block locking for read

subsystem is a fast, accurate, configurable delta-sigma ADC                        and write protection. Up to 2 KB of byte-writeable EEPROM is

with these features:                                                               available on-chip to store application data. Additionally, selected

                                                                                   configuration options such as boot speed and pin drive mode are

„ Less than 100 µV offset                                                          stored in nonvolatile memory. This allows settings to activate

„ A gain error of 0.2 percent                                                      immediately after power-on reset (POR).

„ INL less than ±1 LSB                                                             The three types of PSoC I/O are extremely flexible. All I/Os have

                                                                                   many drive modes that are set at POR. PSoC also provides up

„ DNL less than ±1 LSB                                                             thoafsoaunr aI/lOogvoI/lOta,gLeCdDomdraivines[4t],hCroaupgShetnhseeV[5D],DfIlOexpiibnlse.  Every GPIO


„ SINAD better than 66 dB                                                          generation, slew rate control, and digital I/O capability. The SIOs

This converter addresses a wide variety of precision analog                        on PSoC allow VOH to be set independently of VDDIO when used

applications, including some of the most demanding sensors.                        as outputs. When SIOs are in input mode they are high

                                                                                   impedance. This is true even when the device is not powered or

Two high-speed voltage or current DACs support 8-bit output                        when the pin voltage goes above the supply voltage. This makes

signals at update rate of 8 Msps in current DAC (IDAC) and                         the SIO ideally suited for use on an I2C bus where the PSoC may

1 Msps in voltage DAC (VDAC). They can be routed out of any                        not be powered when other devices on the bus are. The SIO pins

GPIO pin. You can create higher resolution voltage PWM DAC                         also have high current sink capability for applications such as

outputs using the UDB array. This can be used to create a pulse                    LED drives. The programmable input threshold feature of the

width modulated (PWM) DAC of up to 10 bits, at up to 48 kHz.                       SIO can be used to make the SIO function as a general purpose

The digital DACs in each UDB support PWM, PRS, or                                  analog comparator. For devices with Full-Speed USB the USB

delta-sigma algorithms with programmable widths.                                   physical interface is also provided (USBIO). When not using

In addition to the ADC and DACs, the analog subsystem                              USB these pins may also be used for limited digital functionality

provides multiple:                                                                 and device programming. All of the features of the PSoC I/Os are

„ Uncommitted opamps                                                               covered in detail in the “I/O System and Routing” section on

                                                                                   page 32 of this data sheet.

„ Configurable switched capacitor/continuous time (SC/CT)                          The PSoC device incorporates flexible internal clock generators,

blocks. These support:                                                             designed for high stability and factory trimmed for high accuracy.

‡ Transimpedance amplifiers                                                        The Internal Main Oscillator (IMO) is the master clock base for

‡ Programmable gain amplifiers                                                     the system, and has 1-percent accuracy at 3 MHz. The IMO can

‡ Mixers                                                                           be configured to run from 3 MHz up to 24 MHz. Multiple clock

‡ Other similar analog components                                                  derivatives can be generated from the main clock frequency to

                                                                                   meet application needs.


4.  This feature on select devices only. See Ordering Information on page 115 for  details.

5.  GPIOs with opamp outputs are not recommended for use with CapSense.

Document Number: 001-53304 Rev. *L                                                                                                                                            Page 4 of 127
                                                                                                                 PSoC® 3: CY8C34 Family

                                                                                                                                      Data Sheet

The device provides a PLL to generate system clock frequencies                        The details of the PSoC power modes are covered in the “Power

up to 50 MHz from the IMO, external crystal, or external                              System” section on page 28 of this data sheet.

reference clock. It also contains a separate, very low-power                          PSoC uses JTAG (4-wire) or SWD (2-wire) interfaces for

Internal low-speed oscillator (ILO) for the sleep and watchdog                        programming, debug, and test. The 1-wire SWV may also be

timers. A 32.768-kHz external watch crystal is also supported for                     used for ‘printf’ style debugging. By combining SWD and SWV,

use in RTC applications. The clocks, together with                                    you can implement a full debugging interface with just three pins.

programmable clock dividers, provide the flexibility to integrate                     Using these standard interfaces enables you to debug or

most timing requirements.                                                             program the PSoC with a variety of hardware solutions from

The CY8C34 family supports a wide supply operating range from                         Cypress or third party vendors. PSoC supports on-chip break

1.71 V to 5.5 V. This allows operation from regulated supplies                        points and 4 KB instruction and data race memory for debug.

such as 1.8 V ± 5 percent, 2.5 V ±10 percent, 3.3 V ± 10 percent,                     Details of the programming, test, and debugging interfaces are

or 5.0 V ± 10 percent, or directly from a wide range of battery                       discussed in the “Programming, Debug Interfaces, Resources”

types. In addition, it provides an integrated high efficiency                         section on page 60 of this data sheet.

synchronous boost converter that can power the device from                            2.  Pinouts

supply voltages as low as 0.5 V. This enables the device to be

powered directly from a single battery or solar cell. In addition,

you can use the boost converter to generate other voltages                            The Vddio pin that supplies a particular set of pins is indicated

required by the device, such as a 3.3-V supply for LCD glass                          by the black lines drawn on the pinout diagrams in Figure 2-1

drive. The boost’s output is available on the VBOOST pin, allowing                    through Figure 2-4. Using the Vddio pins, a single PSoC can

other devices in the application to be powered from the PSoC.                         support multiple interface voltage levels, eliminating the need for

PSoC supports a wide range of low-power modes. These include                          off-chip level shifters. Each Vddio may sink up to 100 mA total to

a 200-nA hibernate mode with RAM retention and a 1-µA sleep                           its associated I/O pins and opamps. On the 68-pin and 100-pin

mode with RTC. In the second mode the optional 32.768-kHz                             devices each set of Vddio associated pins may sink up to 100

watch crystal runs continuously and maintains an accurate RTC.                        mA. The 48-pin device may sink up to 100 mA total for all Vddio0

                                                                                      plus Vddio2 associated I/O pins and 100 mA total for all Vddio1

Power to all major functional blocks, including the programmable                      plus Vddio3 associated I/O pins.

digital and analog peripherals, can be controlled independently

by firmware. This allows low-power background processing

when some peripherals are not in use. This, in turn, provides a

total device current of only 1.2 mA when the CPU is running at

6 MHz, or 0.8 mA running at 3 MHz.

                                    Figure 2-1. 48-pin                                SSOP Part Pinout

                                    (SIO) P12[2]               1                          48  Vdda

                                    (SIO) P12[3]               2                          47  Vssa

                                    (OpAmp2out, GPIO) P0[0]    3    Lines show            46  Vcca

                                    (OpAmp0out, GPIO) P0[1]    4    Vddio to I/O          45  P15[3] (GPIO, kHz XTAL: Xi)

                                    (OpAmp0+, GPIO) P0[2]      5    supply                44  P15[2] (GPIO, kHz XTAL: Xo)


                           (OpAmp0-/Extref0, GPIO) P0[3]       6                          43  P12[1] (SIO, I2C1: SDA)

                                                    Vddio0     7                          42  P12[0] (SIO, I2C1: SCL)

                                    (OpAmp2+, GPIO) P0[4]      8                          41  Vddio3

                                    (OpAmp2-, GPIO) P0[5]      9                          40  P15[1] (GPIO, MHz XTAL: Xi)

                                    (IDAC0, GPIO) P0[6]        10                         39  P15[0] (GPIO, MHz XTAL: Xo)

                                    (IDAC2, GPIO) P0[7]        11                         38  Vccd

                                                    Vccd       12   SSOP                  37  Vssd

                                                    Vssd       13                         36  Vddd                         [6]

                                                    Vddd       14                         35  P15[7] (USBIO, D-, SWDCK) [6]

                                    (GPIO) P2[3]               15                         34  P15[6] (USBIO, D+, SWDIO)

                                    (GPIO) P2[4]               16                         33  P1[7] (GPIO)

                                                    Vddio2     17                         32  P1[6] (GPIO)

                                    (GPIO) P2[5]               18                         31  Vddio1

                                    (GPIO) P2[6]               19                         30  P1[5] (GPIO, nTRST)

                                    (GPIO) P2[7]               20                         29  P1[4] (GPIO, TDI)

                                                    Vssb       21                         28  P1[3] (GPIO, TDO, SWV)

                                                    Ind        22                         27  P1[2] (GPIO, configurable XRES)

                                                    Vboost     23                         26  P1[1] (GPIO, TCK, SWDCK)

                                                    Vbat       24                         25  P1[0] (GPIO, TMS, SWDIO)


6.  Pins are Do Not Use (DNU) on devices without USB. The pin must be left floating.

Document Number: 001-53304 Rev. *L                                                                                                    Page 5 of 127
                                                                                                                                                                                                                                                                                                          PSoC® 3:                 CY8C34 Family

                                                                                                                                                                                                                                                                                                                                   Data Sheet

                                    Figure                         2-2.                        48-pin QFN Part                                                                                                                                                         Pinout[8]

                                                     P2[5] (GPIO)  Vddio2        P2[4] (GPIO)  P2[3] (GPIO)               Vddd                       Vssd  Vccd  P0[7] (IDAC2, GPIO)  P0[6] (IDAC0, GPIO)          P0[5] (OpAmp2-, GPIO)        P0[4] (OpAmp2+, GPIO)  Vddio0

                                    (GPIO) P2[6]  148              47            46            45                         44                         43    42    41                   40                           39                           38                     37  36                       P0[3] (OpAmp0-/Extref0, GPIO)

                                    (GPIO) P2[7]  2                                                                                                  Lines show                                                                                                            35                       P0[2] (OpAmp0+, GPIO)

                                    Vssb          3                                                                                                  Vddio to I/O                                                                                                          34                       P0[1] (OpAmp0out, GPIO)

                                    Ind           4                                                                                                  supply                                                                                                                33                       P0[0] (OpAmp2out, GPIO)

                                    Vboost        5                                                                                                  association                                                                                                           32                       P12[3] (SIO)

                                    Vbat          6                                                                                                  QFN                                                                                                                   31                       P12[2] (SIO)

       (GPIO, TMS, SWDIO) P1[0]                   7                                                                       ( Top View)                                                                                                                                      30                       Vdda

       (GPIO, TCK, SWDCK) P1[1]                   8                                                                                                                                                                                                                        29                       Vssa

       (GPIO, Configurable XRES) P1[2]            9                                                                                                                                                                                                                        28                       Vcca

       (GPIO, TDO, SWV) P1[3]                     10                                                                                                                                                                                                                       27                       P15[3] (GPIO, kHz XTAL: Xi)

       (GPIO, TDI) P1[4]                          11                                                                                                                                                                                                                       26                       P15[2] (GPIO, kHz XTAL: Xo)

       (GPIO, nTRST) P1[5]                        12  13           14            15            16                         17                         18    19    20                   21                           22                           23                     24                       25  P12[1] (SIO, I2C1: SDA)

                                                   Vddio1          (GPIO) P1[6]  (GPIO) P1[7]  (USBIO, D+, SWDIO) P15[6]  (USBIO, D-, SWDCK) P15[7]  Vddd  Vssd  Vccd                 (GPIO, MHz XTAL: Xo) P15[0]  (GPIO, MHz XTAL: Xi) P15[1]  Vddio3                 (SIO, I2C1: SCL) P12[0]

                                                                                 [7]               [7]


7.  Pins are Do Not Use (DNU) on devices without USB. The pin must be left floating.

8.  The center pad on the QFN package should be connected to digital ground (VSSD) for best mechanical, thermal, and electrical performance. If not connected to ground,

    it should be electrically floated and not connected to any other signal.

Document Number: 001-53304 Rev. *L                                                                                                                                                                                                                                                                                                 Page 6 of 127
                                                                                                                                                                                                                                                                                                                                                                                                 PSoC® 3: CY8C34 Family

                                                                                                                                                                                                                                                                                                                                                                                                                                Data Sheet

                                            Figure 2-3. 68-Pin QFN                                                                                                                                                                                                     Part                               Pinout[10]

                                                P2[5] (GPIO)  Vddio2        P2[4] (GPIO)  P2[3] (GPIO)  P2[2] (GPIO)               P2[1] (GPIO)                  P2[0] (GPIO)  P15[5] (GPOI)  P15[4] (GPIO)  Vddd                         Vssd                         Vccd          P0[7] (GPIO, IDAC2)  P0[6] (GPIO, IDAC0)    P0[5] (GPIO, OpAmp2-)  P0[4] (GPIO, OpAmp2+)  Vddio0

                                                68            67            66            65            64                         63                            62            61             60             59                           58                           57            56                   55                     54                     53                     52

       (GPIO) P2[6]                         1                                                                                                                                                                                                                                                                                                                                                51  P0[3] (GPIO, OpAmp0-/Extref0)

       (GPIO) P2[7]                         2                                                                                                                                                                                                                                                                                                                                                50  P0[2] (GPIO, OpAmp0+)

       (I2C0: SCL, SIO) P12[4]              3                                                                                                                                                                                                                                                                                                                                                49  P0[1] (GPIO, OpAmp0out)

       (I2C0: SDA, SIO) P12[5]              4                     Lines show Vddio                                                                                                                                                                                                                                                                                                           48  P0[0] (GPIO, OpAmp2out)

                                    Vssb    5                     to I/O supply                                                                                                                                                                                                                                                                                                              47

                                                                  association                                                                                                                                                                                                                                                                                                                    P12[3] (SIO)

                                    Ind     6                                                                                                                                                                                                                                                                                                                                                46  P12[2] (SIO)

                                    Vboost  7                                                                                                                                                                                                                                                                                                                                                45  Vssd

                                    Vbat    8                                                                                                                                  QFN                                                                                                                                                                                                           44  Vdda

                                    Vssd    9                                                                                                                                                                                                                                                                                                                                                43  Vssa

                                    XRES    10                                                                                                                   (Top View)                                                                                                                                                                                                                  42  Vcca

       (TMS, SWDIO, GPIO) P1[0]             11                                                                                                                                                                                                                                                                                                                                               41  P15[3] (GPIO, kHz XTAL: Xi)

       (TCK, SWDCK, GPIO) P1[1]             12                                                                                                                                                                                                                                                                                                                                               40  P15[2] (GPIO, kHz XTAL: Xo)

       (configurable XRES, GPIO) P1[2]      13                                                                                                                                                                                                                                                                                                                                               39  P12[1] (SIO, I2C1: SDA)

       (TDO, SWV, GPIO) P1[3]               14                                                                                                                                                                                                                                                                                                                                               38  P12[0] (SIO, 12C1: SCL)

       (TDI, GPIO) P1[4]                    15                                                                                                                                                                                                                                                                                                                                               37  P3[7] (GPIO)

       (nTRST, GPIO) P1[5]                  16                                                                                                                                                                                                                                                                                                                                               36  P3[6] (GPIO)

                                    Vddio1  17                                                                                                                                                                                                                                                                                                                                               35  Vddio3

                                                18            19            20            21            22                         23                            24            25             26             27                           28                           29            30                   31                     32                     33                     34

                                                (GPIO) P1[6]  (GPIO) P1[7]  (SIO) P12[6]  (SIO) P12[7]  (USBIO, D+, SWDIO) P15[6]  [9](USBIO, D-, SWDCK) P15[7]  Vddd          Vssd           Vccd           (MHz XTAL: Xo, GPIO) P15[0]  (MHz XTAL: Xi, GPIO) P15[1]  (GPIO) P3[0]  (GPIO) P3[1]         (Extref1, GPIO) P3[2]  (GPIO) P3[3]           (GPIO) P3[4]           (GPIO) P3[5]



9.  Pins are Do Not Use (DNU) on devices without USB. The pin must be left floating.

10. The center pad on the QFN package should be connected to digital ground (Vssd) for best mechanical, thermal, and electrical performance. If not connected to ground,

    it should be electrically floated and not connected to any other signal.

Document Number: 001-53304 Rev. *L                                                                                                                                                                                                                                                                                                                                                                                              Page 7 of 127
                                                                                                                                                                                                                                                                                                                                                                                                                                              PSoC® 3: CY8C34 Family

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Data Sheet

                                                               Figure 2-4. 100-pin TQFP                                                                                                                                                                                  Part                                                                    Pinout

                                                       Vddio2  P2[4] (GPIO)  P2[3] (GPIO)  P2[2] (GPIO)  P2[1] (GPIO)  P2[0] (GPIO)  P15[5] (GPIO)  P15[4] (GPIO)  P6[3] (GPIO)  P6[2] (GPIO)              P6[1] (GPIO)                  P6[0] (GPIO)  Vddd  Vssd  Vccd  P4[7] (GPIO)  P4[6] (GPIO)                 P4[5] (GPIO)                 P4[4] (GPIO)  P4[3] (GPIO)  P4[2] (GPIO)           P0[7] (GPIO, IDAC2)  P0[6] (GPIO, IDAC0)  P0[5] (GPIO, OpAmp2-)  P0[4] (GPIO, OpAmp2+)

              (GPIO) P2[5]                             100     99            98            97            96            95            94             93             92            91                        90                            89            88    87    86    85            84                           83                           82            81            80                     79                   78                   77                     76                     Vddio0

                                                   1                                                                                                                                                                                                                                                                                                                                                                                                                 75

              (GPIO) P2[6]                         2                                                                                                                                                                                                                                                                                                                                                                                                                 74                     P0[3] (GPIO, OpAmp0-/Extref0)

              (GPIO) P2[7]                         3                                                                                                                                                                                                                                                                                                                                                                                                                 73                     P0[2] (GPIO, OpAmp0+)

              (I2C0: SCL, SIO) P12[4]              4                         Lines show Vddio                                                                                                                                                                                                                                                                                                                                                                        72                     P0[1] (GPIO, OpAmp0out)

              (I2C0: SDA, SIO) P12[5]              5                         to I/O supply                                                                                                                                                                                                                                                                                                                                                                           71

                                                                             association                                                                                                                                                                                                                                                                                                                                                                                                    P0[0] (GPIO, OpAmp2out)

              (GPIO) P6[4]                         6                                                                                                                                                                                                                                                                                                                                                                                                                 70                     P4[1] (GPIO)

              (GPIO) P6[5]                         7                                                                                                                                                                                                                                                                                                                                                                                                                 69                     P4[0] (GPIO)

              (GPIO) P6[6]                         8                                                                                                                                                                                                                                                                                                                                                                                                                 68                     P12[3] (SIO)

              (GPIO) P6[7]                         9                                                                                                                                                                                                                                                                                                                                                                                                                 67                     P12[2] (SIO)

              Vssb                                 10                                                                                                                                                                                                                                                                                                                                                                                                                66                     Vssd

                                         Ind       11                                                                                                                                                                                                                                                                                                                                                                                                                65                     Vdda

              Vboost                               12                                                                                                                                                                                                                                                                                                                                                                                                                64                     Vssa

              Vbat                                 13                                                                                                                                                                                    TQFP                                                                                                                                                                                                                        63                     Vcca

              Vssd                                 14                                                                                                                                                                                                                                                                                                                                                                                                                62                     NC

              XRES                                 15                                                                                                                                                                                                                                                                                                                                                                                                                61                     NC

              (GPIO) P5[0]                         16                                                                                                                                                                                                                                                                                                                                                                                                                60                     NC

              (GPIO) P5[1]                         17                                                                                                                                                                                                                                                                                                                                                                                                                59                     NC

              (GPIO) P5[2]                         18                                                                                                                                                                                                                                                                                                                                                                                                                58                     NC

              (GPIO) P5[3]                         19                                                                                                                                                                                                                                                                                                                                                                                                                57                     NC

              (TMS, SWDIO, GPIO) P1[0]             20                                                                                                                                                                                                                                                                                                                                                                                                                56                     P15[3] (GPIO, kHz XTAL: Xi)

              (TCK, SWDCK, GPIO) P1[1]             21                                                                                                                                                                                                                                                                                                                                                                                                                55                     P15[2] (GPIO, kHz XTAL: Xo)

              (configurable XRES, GPIO) P1[2]      22                                                                                                                                                                                                                                                                                                                                                                                                                54                     P12[1] (SIO, I2C1: SDA)

              (TDO, SWV, GPIO) P1[3]               23                                                                                                                                                                                                                                                                                                                                                                                                                53                     P12[0] (SIO, I2C1: SCL)

              (TDI, GPIO) P1[4]                    24                                                                                                                                                                                                                                                                                                                                                                                                                52                     P3[7] (GPIO)

              (nTRST, GPIO) P1[5]                  25  26      27            28            29            30            31            32             33            34            35                         36                            37            38    39    40  41              42                           43                           44            45            46                     47                   48                   49                     51                     P3[6] (GPIO)

                                                       Vddio1  (GPIO) P1[6]  (GPIO) P1[7]  (SIO) P12[6]  (SIO) P12[7]  (GPIO) P5[4]  (GPIO) P5[5]   (GPIO) P5[6]  (GPIO) P5[7]  (USBIO, D+, SWDIO) P15[6][11] (USBIO, D-, SWDCK) P15[7]  Vddd          Vssd  Vccd  NC  NC              (MHz XTAL: Xo, GPIO) P15[0]  (MHz XTAL: Xi, GPIO) P15[1]  (GPIO) P3[0]  (GPIO) P3[1]  (Extref1, GPIO) P3[2]  (GPIO) P3[3]         (GPIO) P3[4]         (GPIO) P3[5]  Vddio3



11. Pins are  Do Not Use (DNU) on devices without  USB.        The pin must be left floating.

Document      Number: 001-53304 Rev. *L                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Page 8 of 127
                                                                                                                                                                                                                                                                                                                                                  PSoC® 3: CY8C34 Family

                                                                                                                                                                                                                                                                                                                                                                                          Data Sheet

Figure 2-5 and Figure 2-6 on page 10 show an example schematic and an example PCB layout, for the 100-pin TQFP part, for optimal

analog performance on a two-layer board.

„ The two pins labeled Vddd must be connected together.

„ The two pins labeled Vccd must be connected together, with capacitance added, as shown in Figure 2-5 and Power System on

page 28. The trace between the two Vccd pins should be as short as possible.

„ The two pins labeled Vssd must be connected together.

For information on circuit board layout issues for mixed signals, refer to the application note AN57821 - Mixed Signal Circuit Board

Layout Considerations for PSoC® 3 and PSoC 5.

      Figure 2-5. Example Schematic for 100-pin TQFP Part With Power Connections

                                                                                                                       Vddd                                                        Vddd

                                                                                                                               C1                                                            C2

                                     Vddd                                                                                      1 uF                                                          0.1 uF

                                                   Vddd                                                                                                                                                                                Vccd

                                     C6                                                                                Vssd                                           Vddd   Vssd              Vssd

                                     0.1 uF

                                                   100   99     98     97     96                        95  94  93     92      91     90              89                     88  87      86  85      84  83            82              81            80            79                      78       77                       76             U2

                                     Vssd                                                                                                                                                                                                                                                                                                         CY8C55xx

                                                        Vddio2  P2[4]  P2[3]  P2[2]        P2[1]        P2[0]  P15[5]  P15[4]  P6[3]  P6[2]           P6[1]           P6[0]  Vddd  Vssd  Vccd  P4[7]  P4[6]            P4[5]           P4[4]         P4[3]         P4[2]              IDAC2, P0[7]  IDAC0, P0[6]  OA2-, P0[5]  OA2+, P0[4]                                          Vdda


                                 1         P2[5]                                                                                                                                                                                                                                                                                            Vddio0          75

                                 2         P2[6]                                                                                                                                                                                                                                      OA0-, REF0, P0[3]                                                     74

                                 3         P2[7]                                                                                                                                                                                                                                                                               OA0+, P0[2]                  73            C8              C17

                                 4         P12[4], SIO                                                                                                                                                                                                                                                            OA0out, P0[1]                             72      0.1 uF            1 uF

                                 5         P12[5], SIO                                                                                                                                                                                                                                                            OA2out, P0[0]                             71

                                 6         P6[4]                                                                                                                                                                                                                                                                                                  P4[1]     70

                                 7         P6[5]                                                                                                                                                                                                                                                                                                  P4[0]     69      Vssd

                                 8         P6[6]                                                                                                                                                                                                                                                                               SIO, P12[3]                  68                      Vssa

                                 9         P6[7]                                                                                                                                                                                                                                                                               SIO, P12[2]                  67                Vssd

                                 10        Vssb                                                                                                                                                                                                                                                                                                   Vssd      66      Vssd            Vdda

                                 11        Ind                                                                                                                                                                                                                                                                                                    Vdda      65      Vdda

                                 12        Vboost                                                                                                                                                                                                                                                                                                 Vssa      64      Vssa

Vssd                             13        Vbat                                                                                                                                                                                                                                                                                                   Vcca      63      Vcca

      Vssd                       14        Vssd                                                                                                                                                                                                                                                                                                   NC        62

                                 15        XRES                                                                                                                                                                                                                                                                                                   NC        61            C9              C10

                                 16        P5[0]                                                                                                                                                                                                                                                                                                  NC        60            1 uF            0.1 uF

                                 17        P5[1]                                                                                                                                                                                                                                                                                                  NC        59

                                 18        P5[2]                                                                                                                                                                                                                                                                                                  NC        58

                                 19        P5[3]                                                                                                                                                                                                                                                                                                  NC        57

                                 20        P1[0], SWIO, TMS                                                                                                                                                                                                                                                       kHzXin, P15[3]                            56                Vssa

                                 21        P1[1], SWDIO, TCK                                                                                                                                                                                                                                        kHzXout, P15[2]                                         55

                                 22        P1[2]                                                                                                                                                                                                                                                                               SIO, P12[1]                  54

                                 23        P1[3], SWV, TDO                                                                                                                                            P15[0], MHzXout                                              P3[2], OA3-, REF1                                           SIO, P12[0]                  53

                                 24        P1[4], TDI                                                                                 USB D+, P15[6]  USB D-, P15[7]                                                   P15[1], MHzXin                                                                             OA3out, P3[7]                             52

                                 25        P1[5], nTRST                       P12[6], SIO  P12[7], SIO                                                                                                                                 P3[0], IDAC1  P3[1], IDAC3                     P3[3], OA3+   P3[4], OA1-   P3[5], OA1+OA1out, P3[6]                  51

                                                        Vddio1  P1[6]  P1[7]                            P5[4]  P5[5]   P5[6]   P5[7]                                  Vddd   Vssd  Vccd  NC    NC                                                                                                                              Vddio3

                                           Vddd    26    27     28     29     30           31               32  33     34      35     36              37                    38   39      40  41      42  43            44              45            46            47                      48       49                       50                          Vddd

                                                                                                                                                                                                                                                                                      P32                                                                   C11

                                     C12                                                                                                                                                                                                                                                                                                                    0.1 uF

                                     0.1 uF                                                                                                                           Vddd         Vssd        Vccd                                                                                        C13


                                                                                                                                                                                                                                                                   10 uF, 6.3 V                                                             0.1 uF       Vssd

                                                  Vssd                                                                 C16                                                                           C15

                                                                                                                       0.1 uF                                                                    1 uF

                                                                                                                                                                                                                                                                   Vssa                                                                     Vssa


Note The two Vccd pins must be   connected together                                                     with as short a                                                                      trace                                     as possible. A trace under                                                                                                   the       device  is  recommended,  as

shown in Figure 2-6 on page 10.

Document Number: 001-53304 Rev. *L                                                                                                                                                                                                                                                                                                                                                                Page 9 of 127
                                                                                                       PSoC® 3: CY8C34 Family

                                                                                                                            Data Sheet

                   Figure  2-6.  Example   PCB  Layout   for  100-pin          TQFP Part   for  Optimal Analog Performance


                                                Vddd                     Vssd        Vdda


                                    Vssd                                                        Plane


3.   Pin Descriptions                                                          MHz XTAL: Xo, MHz XTAL: Xi

IDAC0, IDAC2                                                                   4- to 25-MHz crystal oscillator pin.

Low resistance output pin for high current DACs (IDAC).                        nTRST

OpAmp0out, OpAmp2out                                                           Optional JTAG test reset programming and debug port

                                                                               connection to reset the JTAG connection.

High current output of uncommitted opamp[12].                                  SIO

Extref0, Extref1                                                               Special I/O provides interfaces to the CPU, digital peripherals

External reference input to the analog system.                                 and interrupts with a programmable high threshold voltage,

OpAmp0–, OpAmp2–                                                               analog comparator, high sink current, and high impedance state

                                                                               when the device is unpowered.

Inverting input to uncommitted opamp.                                          SWDCK

OpAmp0+, OpAmp2+                                                               Serial wire debug clock programming and debug port

Noninverting input to uncommitted opamp.                                       connection.

GPIO                                                                           SWDIO

General purpose I/O pin provides interfaces to the CPU, digital                Serial wire debug input and output programming and debug port

peripherals, analog peripherals, interrupts, LCD segment drive,                connection.

and CapSense[12].                                                              SWV.

I2C0: SCL, I2C1: SCL                                                           Single wire viewer debug output.

I2C SCL line providing wake from sleep on an address match.                    TCK
Any I/O pin can be used for I2C SCL if wake from sleep is not

required.                                                                      JTAG test clock programming and debug port connection.

I2C0: SDA, I2C1: SDA                                                           TDI

I2C SDA line providing wake from sleep on an address match.                    JTAG test data In programming and debug port connection.

Any I/O pin can be used for I2C SDA if wake from sleep is not                  TDO


Ind                                                                            JTAG test data out programming and debug port connection.

Inductor connection to boost pump.                                             TMS

kHz XTAL: Xo, kHz XTAL: Xi                                                     JTAG test mode select programming and debug port connection.

32.768-kHz crystal oscillator pin.


12. GPIOs with opamp outputs are not recommended for use with CapSense.

Document Number: 001-53304 Rev. *L                                                                                          Page 10 of 127
                                                                                      PSoC® 3: CY8C34 Family

                                                                                                                Data Sheet

USBIO, D+                                                            4.   CPU

Provides D+ connection directly to a USB 2.0 bus. May be used        4.1  8051 CPU

as a digital I/O pin. Pins are Do Not Use (DNU) on devices

without USB.                                                         The CY8C34 devices use a single cycle 8051 CPU, which is fully

USBIO, D–                                                            compatible with the original MCS-51 instruction set. The

                                                                     CY8C34 family uses a pipelined RISC architecture, which

Provides D– connection directly to a USB 2.0 bus. May be used        executes most instructions in 1 to 2 cycles to provide peak

as a digital I/O pin. Pins are No Connect (NC) on devices without    performance of up to 24 MIPS with an average of 2 cycles per

USB.                                                                 instruction. The single cycle 8051 CPU runs ten times faster than

Vboost                                                               a standard 8051 processor.

Power sense connection to boost pump.                                The 8051 CPU subsystem includes these features:

Vbat                                                                 „ Single cycle 8051 CPU

Battery supply to boost pump.                                        „ Up to 64 KB of flash memory, up to 2 KB of EEPROM, and up

                                                                     to 8 KB of SRAM

Vcca                                                                 „ Programmable nested vector interrupt controller

Output of analog core regulator and input to analog core.            „ Direct memory access (DMA) controller

Requires a 1-µF capacitor to VSSA. Regulator output not for          „ Peripheral HUB (PHUB)

external use.

Vccd                                                                 „ External memory interface (EMIF)

Output of digital core regulator and input to digital core. The two  4.2  Addressing Modes

VCCD pins must be shorted together, with the trace between           The following addressing modes are supported by the 8051:

them as short as possible, and a 1-µF capacitor to VSSD; see

Power System on page 28. Regulator output not for external use.      „ Direct Addressing: The operand is specified by a direct 8-bit

Vdda                                                                 address field. Only the internal RAM and the SFRs can be

Supply for all analog peripherals and analog core regulator.         accessed using this mode.

Vdda must be the highest voltage present on the device. All          „ Indirect Addressing: The instruction specifies the register which

other supply pins must be less than or equal to Vdda.                contains the address of the operand. The registers R0 or R1

Vddd                                                                 are used to specify the 8-bit address, while the data pointer

                                                                     (DPTR) register is used to specify the 16-bit address.

Supply for all digital peripherals and digital core regulator. Vddd  „ Register Addressing: Certain instructions access one of the

must be less than or equal to Vdda.                                  registers (R0 to R7) in the specified register bank. These

Vssa                                                                 instructions are more efficient because there is no need for an

                                                                     address field.

Ground for all analog peripherals.                                   „ Register Specific Instructions: Some instructions are specific

Vssb                                                                 to certain registers. For example, some instructions always act

Ground connection for boost pump.                                    on the accumulator. In this case, there is no need to specify the


Vssd                                                                 „ Immediate Constants: Some instructions carry the value of the

Ground for all digital logic and I/O pins.                           constants directly instead of an address.

Vddio0, Vddio1, Vddio2, Vddio3                                       „ Indexed Addressing: This type of addressing can be used only

Supply for I/O pins. See pinouts for specific I/O pin to Vddio       for a read of the program memory. This mode uses the Data

mapping. Each Vddio must be tied to a valid operating voltage        Pointer as the base and the accumulator value as an offset to

(1.71 V to 5.5 V), and must be less than or equal to Vdda. If the    read a program memory.

I/O pins associated with Vddio0, Vddio2 or Vddio3 are not used       „ Bit Addressing: In this mode, the operand is one of 256 bits.

then that Vddio should be tied to ground (Vssd or Vssa).

XRES (and configurable XRES)

External reset pin. Active low with internal pull-up. Pin P1[2] may

be configured to be a XRES pin; see “Nonvolatile Latches

(NVLs)” on page 22.

Document Number: 001-53304 Rev. *L                                                                                      Page 11 of 127
                                                                                        PSoC® 3: CY8C34 Family

                                                                                                                  Data Sheet

4.3  Instruction Set                                                     4.3.1  Instruction Set Summary

The 8051 instruction set is highly optimized for 8-bit handling and  Arithmetic Instructions

Boolean operations. The types of instructions supported include:         Arithmetic instructions support the direct, indirect, register,

„ Arithmetic instructions                                                immediate constant, and register-specific instructions.

„ Logical instructions                                                   Arithmetic modes are used for addition, subtraction,

                                                                         multiplication, division, increment, and decrement operations.

„ Data transfer instructions                                             Table 4-1 on page 12 Table 4-1 lists the different arithmetic


„ Boolean instructions

„ Program branching instructions

Table 4-1.  Arithmetic     Instructions

     Mnemonic                                              Description                                     Bytes               Cycles

ADD  A,Rn                     Add register to accumulator                                                  1                      1

ADD  A,Direct                 Add direct byte to accumulator                                               2                      2

ADD  A,@Ri                    Add indirect RAM to accumulator                                              1                      2

ADD  A,#data                  Add immediate data to accumulator                                            2                      2

ADDC A,Rn                     Add register to accumulator with carry                                       1                      1

ADDC A,Direct                 Add direct byte to accumulator with carry                                    2                      2

ADDC A,@Ri                    Add indirect RAM to accumulator with carry                                   1                      2

ADDC A,#data                  Add immediate data to accumulator with carry                                 2                      2

SUBB A,Rn                     Subtract register from accumulator with borrow                               1                      1

SUBB A,Direct                 Subtract direct byte from accumulator with borrow                            2                      2

SUBB A,@Ri                    Subtract indirect RAM from accumulator with borrow                           1                      2

SUBB A,#data                  Subtract immediate data from accumulator with borrow                         2                      2

INC  A                        Increment accumulator                                                        1                      1

INC  Rn                       Increment register                                                           1                      2

INC  Direct                   Increment direct byte                                                        2                      3

INC  @Ri                      Increment indirect RAM                                                       1                      3

DEC  A                        Decrement accumulator                                                        1                      1

DEC  Rn                       Decrement register                                                           1                      2

DEC  Direct                   Decrement direct byte                                                        2                      3

DEC  @Ri                      Decrement indirect RAM                                                       1                      3

INC  DPTR                     Increment data pointer                                                       1                      1

MUL                           Multiply accumulator and B                                                   1                      2

DIV                           Divide accumulator by B                                                      1                      6

DAA                           Decimal adjust accumulator                                                   1                      3

Document Number: 001-53304 Rev. *L                                                                                Page 12 of 127
                                                                            PSoC® 3: CY8C34 Family

                                                                                   Data Sheet     Logical Instructions

The logical instructions perform Boolean operations such as AND, OR, XOR on bytes, rotate of accumulator contents, and swap of

nibbles in an accumulator. The Boolean operations on the bytes are performed on the bit-by-bit basis. Table 4-2 on page 13Table 4-2

shows the list of logical instructions and their description.

Table 4-2.  Logical Instructions

         Mnemonic                                              Description  Bytes  Cycles

ANL      A,Rn                     AND register to accumulator               1      1

ANL      A,Direct                 AND direct byte to accumulator            2      2

ANL      A,@Ri                    AND indirect RAM to accumulator           1      2

ANL      A,#data                  AND immediate data to accumulator         2      2

ANL      Direct, A                AND accumulator to direct byte            2      3

ANL      Direct, #data            AND immediate data to direct byte         3      3

ORL      A,Rn                     OR register to accumulator                1      1

ORL      A,Direct                 OR direct byte to accumulator             2      2

ORL      A,@Ri                    OR indirect RAM to accumulator            1      2

ORL      A,#data                  OR immediate data to accumulator          2      2

ORL      Direct, A                OR accumulator to direct byte             2      3

ORL      Direct, #data            OR immediate data to direct byte          3      3

XRL      A,Rn                     XOR register to accumulator               1      1

XRL      A,Direct                 XOR direct byte to accumulator            2      2

XRL      A,@Ri                    XOR indirect RAM to accumulator           1      2

XRL      A,#data                  XOR immediate data to accumulator         2      2

XRL      Direct, A                XOR accumulator to direct byte            2      3

XRL      Direct, #data            XOR immediate data to direct byte         3      3

CLR      A                        Clear accumulator                         1      1

CPL      A                        Complement accumulator                    1      1

RL       A                        Rotate accumulator left                   1      1

RLC      A                        Rotate accumulator left through carry     1      1

RR       A                        Rotate accumulator right                  1      1

RRC      A                        Rotate accumulator right though carry     1      1

SWAP A                            Swap nibbles within accumulator           1      1

Document Number: 001-53304 Rev. *L                                                 Page 13 of 127
                                                                                           PSoC® 3: CY8C34 Family

                                                                                                        Data Sheet  Data Transfer Instructions                               addressing mode. Table 4-3 lists the various data transfer

The data transfer instructions are of three types: the core RAM,  instructions available.

xdata RAM, and the lookup tables. The core RAM transfer   Boolean Instructions

includes transfer between any two core RAM locations or SFRs.     The 8051 core has a separate bit addressable memory location.

These instructions can use direct, indirect, register, and        It has 128 bits of bit-addressable RAM and a set of SFRs that are

immediate addressing. The xdata RAM transfer includes only the    bit addressable. The instruction set includes the whole menu of

transfer between the accumulator and the xdata RAM location.      bit operations such as move, set, clear, toggle, OR, and AND

It can use only indirect addressing. The lookup tables involve    instructions and the conditional jump instructions. Table 4-4 on

nothing but the read of program memory using the Indexed          page 15Table 4-4 lists the available Boolean instructions.

Table 4-3.  Data Transfer Instructions

         Mnemonic                                           Description                          Bytes  Cycles

MOV      A,Rn            Move register to accumulator                                            1      1

MOV      A,Direct        Move direct byte to accumulator                                         2      2

MOV      A,@Ri           Move indirect RAM to accumulator                                        1      2

MOV      A,#data         Move immediate data to accumulator                                      2      2

MOV      Rn,A            Move accumulator to register                                            1      1

MOV      Rn,Direct       Move direct byte to register                                            2      3

MOV      Rn, #data       Move immediate data to register                                         2      2

MOV      Direct, A       Move accumulator to direct byte                                         2      2

MOV      Direct, Rn      Move register to direct byte                                            2      2

MOV      Direct, Direct  Move direct byte to direct byte                                         3      3

MOV      Direct, @Ri     Move indirect RAM to direct byte                                        2      3

MOV      Direct, #data   Move immediate data to direct byte                                      3      3

MOV      @Ri, A          Move accumulator to indirect RAM                                        1      2

MOV      @Ri, Direct     Move direct byte to indirect RAM                                        2      3

MOV      @Ri, #data      Move immediate data to indirect RAM                                     2      2

MOV      DPTR, #data16   Load data pointer with 16-bit constant                                  3      3

MOVC     A, @A+DPTR      Move code byte relative to DPTR to accumulator                          1      5

MOVC A, @A + PC          Move code byte relative to PC to accumulator                            1      4

MOVX     A,@Ri           Move external RAM (8-bit) to accumulator                                1      4

MOVX     A, @DPTR        Move external RAM (16-bit) to accumulator                               1      3

MOVX     @Ri, A          Move accumulator to external RAM (8-bit)                                1      5

MOVX     @DPTR, A        Move accumulator to external RAM (16-bit)                               1      4

PUSH     Direct          Push direct byte onto stack                                             2      3

POP      Direct          Pop direct byte from stack                                              2      2

XCH      A, Rn           Exchange register with accumulator                                      1      2

XCH      A, Direct       Exchange direct byte with accumulator                                   2      3

XCH      A, @Ri          Exchange indirect RAM with accumulator                                  1      3

XCHD     A, @Ri          Exchange low order indirect digit RAM with accumulator                  1      3

Document Number: 001-53304 Rev. *L                                                                      Page 14 of 127
                                                                                                PSoC® 3: CY8C34 Family

                                                                                                            Data Sheet

Table 4-4.    Boolean    Instructions

         Mnemonic                                        Description                                 Bytes              Cycles

CLR      C                Clear carry                                                                1                  1

CLR      bit              Clear direct bit                                                           2                  3

SETB     C                Set carry                                                                  1                  1

SETB     bit              Set direct bit                                                             2                  3

CPL      C                Complement carry                                                           1                  1

CPL      bit              Complement direct bit                                                      2                  3

ANL      C, bit           AND direct bit to carry                                                    2                  2

ANL      C, /bit          AND complement of direct bit to carry                                      2                  2

ORL      C, bit           OR direct bit to carry                                                     2                  2

ORL      C, /bit          OR complement of direct bit to carry                                       2                  2

MOV      C, bit           Move direct bit to carry                                                   2                  2

MOV      bit, C           Move carry to direct bit                                                   2                  3

JC       rel              Jump if carry is set                                                       2                  3

JNC      rel              Jump if no carry is set                                                    2                  3

JB       bit, rel         Jump if direct bit is set                                                  3                  5

JNB      bit, rel         Jump if direct bit is not set                                              3                  5

JBC      bit, rel         Jump if direct bit is set and clear bit                                    3                  5  Program Branching Instructions

The 8051 supports a set of conditional and unconditional jump instructions that help to modify  the  program execution  flow. Table  4-5

shows the list of jump instructions.

Table 4-5.    Jump Instructions

         Mnemonic                                        Description                                 Bytes              Cycles

ACALL addr11              Absolute subroutine call                                                   2                  4

LCALL addr16              Long subroutine call                                                       3                  4

RET                       Return from subroutine                                                     1                  4

RETI                      Return from interrupt                                                      1                  4

AJMP addr11               Absolute jump                                                              2                  3

LJMP addr16               Long jump                                                                  3                  4

SJMP rel                  Short jump (relative address)                                              2                  3

JMP @A + DPTR             Jump indirect relative to DPTR                                             1                  5

JZ rel                    Jump if accumulator is zero                                                2                  4

JNZ rel                   Jump if accumulator is nonzero                                             2                  4

CJNE     A,Direct, rel    Compare direct byte to accumulator and jump if not equal                   3                  5

CJNE     A, #data, rel    Compare immediate data to accumulator and jump if not equal                3                  4

CJNE     Rn, #data, rel   Compare immediate data to register and jump if not equal                   3                  4

CJNE     @Ri, #data, rel  Compare immediate data to indirect RAM and jump if not equal               3                  5

DJNZ Rn,rel               Decrement register and jump if not zero                                    2                  4

DJNZ Direct, rel          Decrement direct byte and jump if not zero                                 3                  5

NOP                       No operation                                                               1                  1

Document Number: 001-53304 Rev. *L                                                                                      Page 15 of 127
                                                                                             PSoC® 3: CY8C34 Family

                                                                                                                  Data Sheet

4.4    DMA and PHUB                                                  „ Any digitally routable signal, the CPU, or another DMA channel,

The PHUB and the DMA controller are responsible for data             can trigger a transaction

transfer between the CPU and peripherals, and also data              „ Each channel can generate up to two interrupts per transfer

transfers between peripherals. The PHUB and DMA also control         „ Transactions can be stalled or canceled

device configuration during boot. The PHUB consists of:              „ Supports transaction size of infinite or 1 to 64 KB

„ A central hub that includes the DMA controller, arbiter, and       „ TDs may be nested and/or chained for complex transactions


„ Multiple spokes that radiate outward from the hub to most          4.4.3  Priority Levels

peripherals                                                          The CPU always has higher priority than the DMA controller

There are two PHUB masters: the CPU and the DMA controller.          when their accesses require the same bus resources. Due to the

Both masters may initiate transactions on the bus. The DMA           system architecture, the CPU can never starve the DMA. DMA

channels can handle peripheral communication without CPU             channels of higher priority (lower priority number) may interrupt

intervention. The arbiter in the central hub determines which        current DMA transfers. In the case of an interrupt, the current

DMA channel is the highest priority if there are multiple requests.  transfer is allowed to complete its current transaction. To ensure

                                                                     latency limits when multiple DMA accesses are requested

4.4.1  PHUB Features                                                 simultaneously, a fairness algorithm guarantees an interleaved

„ CPU and DMA controller are both bus masters to the PHUB            minimum percentage of bus bandwidth for priority levels 2

                                                                     through 7. Priority levels 0 and 1 do not take part in the fairness

„ Eight Multi-layer AHB Bus parallel access paths (spokes) for       algorithm and may use 100 percent of the bus bandwidth. If a tie

peripheral access                                                    occurs on two DMA requests of the same priority level, a simple

„ Simultaneous CPU and DMA access to peripherals located on          round robin method is used to evenly share the allocated

different spokes                                                     bandwidth. The round robin allocation can be disabled for each

„ Simultaneous DMA source and destination burst transactions         DMA channel, allowing it to always be at the head of the line.

on different spokes                                                  Priority levels 2 to 7 are guaranteed the minimum bus bandwidth

                                                                     shown in Table 4-7 after the CPU and DMA priority levels 0 and

„ Supports 8, 16, 24, and 32-bit addressing and data                 1 have satisfied their requirements.

Table 4-6.  PHUB Spokes and Peripherals                              Table 4-7.   Priority Levels

PHUB Spokes                             Peripherals                  Priority        Level         % Bus Bandwidth

        0         SRAM                                                            0                        100.0

        1         IOs, PICU, EMIF                                                 1                        100.0

        2         PHUB local configuration, Power manager,                        2                        50.0

                  Clocks, IC, SWV, EEPROM, Flash                                  3                        25.0

                  programming interface                                           4                        12.5

        3         Analog interface and trim, Decimator                            5                        6.2

        4         USB, CAN, I2C, Timers, Counters, and PWMs                       6                        3.1

        5         Reserved                                                        7                        1.5

        6         UDBs group 1

        7         UDBs group 2                                       When the fairness algorithm is disabled, DMA access is granted

                                                                     based solely on the priority level; no bus bandwidth guarantees

4.4.2  DMA Features                                                  are made.

„ Twenty-four DMA channels                                           4.4.4  Transaction Modes Supported

„ Each channel has one or more Transaction Descriptors (TDs)         The flexible configuration of each DMA channel and the ability to

to configure channel behavior. Up to 128 total TDs can be            chain multiple channels allow the creation of both simple and

defined                                                              complex use cases. General use cases include, but are not

„ TDs can be dynamically updated                                     limited to:

„ Eight levels of priority per channel

Document Number: 001-53304 Rev. *L                                                                                  Page 16 of 127
                                                                                          PSoC® 3: CY8C34 Family

                                                                                                                       Data Sheet  Simple DMA

In a simple DMA case, a single TD transfers data between a source and sink (peripherals or memory location). The basic timing

diagrams of DMA read and write cycles are shown in Figure 4-1. For more description on other transfer modes, refer to the Technical

Reference Manual.

                                                      Figure 4-1. DMA Timing Diagram

              ADDRESS Phase         DATA Phase                                            ADDRESS Phase          DATA Phase

         CLK                                                                CLK

ADDR 16/32              A                             B                ADDR 16/32              A                       B

WRITE                                                                  WRITE

DATA                                                     DATA (A)      DATA                                            DATA (A)

READY                                                                  READY

                       Basic DMA Read Transfer without wait states                             Basic DMA Write Transfer without wait states  Auto Repeat DMA                                               can set up this configuration information anywhere in system

Auto repeat DMA is typically used when a static pattern is             memory and copy it with a simple TD to the peripheral. After the

repetitively read from system memory and written to a peripheral.      configuration phase, a data phase TD (or a series of data phase

This is done with a single TD that chains to itself.                   TDs) can begin (potentially using scatter gather). When the data

                                                                       phase TD(s) finish, a status phase TD can be invoked that reads  Ping Pong DMA                                                 some memory mapped status information from the peripheral

A ping pong DMA case uses double buffering to allow one buffer         and copies it to a location in system memory specified by the

to be filled by one client while another client is consuming the       CPU for later inspection. Multiple sets of configuration, data, and

data previously received in the other buffer. In its simplest form,    status phase “subchains” can be strung together to create larger

this is done by chaining two TDs together so that each TD calls        chains that transmit multiple packets in this way. A similar

the opposite TD when complete.                                         concept exists in the opposite direction to receive the packets.  Circular DMA                                             Nested DMA

Circular DMA is similar to ping pong DMA except it contains more       One TD may modify another TD, as the TD configuration space

than two buffers. In this case there are multiple TDs; after the last  is memory mapped similar to any other peripheral. For example,

TD is complete it chains back to the first TD.                         a first TD loads a second TD’s configuration and then calls the

                                                                       second TD. The second TD moves data as required by the  Scatter Gather DMA                                            application. When complete, the second TD calls the first TD,

In the case of scatter gather DMA, there are multiple                  which       again  updates  the   second  TD’s  configuration.        This

noncontiguous sources or destinations that are required to             process repeats as often as necessary.

effectively carry out an overall DMA transaction. For example, a       4.5  Interrupt Controller

packet may need to be transmitted off of the device and the

packet elements, including the header, payload, and trailer, exist     The interrupt controller provides a mechanism for hardware

in various noncontiguous locations in memory. Scatter gather           resources to change program execution to a new address,

DMA allows the segments to be concatenated together by using           independent of the current task being executed by the main

multiple TDs in a chain. The chain gathers the data from the           code. The interrupt controller provides enhanced features not

multiple locations. A similar concept applies for the reception of     found on original 8051 interrupt controllers:

data onto the device. Certain parts of the received data may need      „ Thirty two interrupt vectors

to be scattered to various locations in memory for software

processing convenience. Each TD in the chain specifies the             „ Jumps directly to ISR anywhere in code space with dynamic

location for each discrete element in the chain.                       vector addresses  Packet Queuing DMA                                            „ Multiple sources for each vector

Packet queuing DMA is similar to scatter gather DMA but                „ Flexible interrupt to vector matching

specifically refers to packet protocols. With these protocols,

there may be separate configuration, data, and status phases           „ Each interrupt vector is independently enabled or disabled

associated with sending or receiving a packet.                         „ Each interrupt can be dynamically assigned one of eight

For instance, to transmit a packet, a memory mapped                    priorities

configuration register can be written inside a peripheral,             „ Eight level nestable interrupts

specifying the overall length of the ensuing data phase. The CPU

Document Number: 001-53304 Rev. *L                                                                                           Page 17 of 127
                                                                                                                                                                                                                             PSoC® 3: CY8C34 Family

                                                                                                                                                                                                                                                          Data Sheet

„ Multiple I/O interrupt vectors                                                                                                                   interrupt sources: Fixed Function, DMA, and UDB. The fixed function interrupts are

„ Software can send interrupts                                                                                                                     direct connections to the most common interrupt sources and provide the lowest

                                                                                                                                                   resource cost connection. The DMA interrupt sources provide direct connections to

„ Software can clear pending interrupts                                                                                                            the two DMA interrupt sources provided per DMA channel. The third interrupt source

When an interrupt is pending, the current instruction is completed and the program                                                                 for vectors is from the UDB digital routing array. This allows any digital signal

counter is pushed onto the stack. Code execution then jumps to the program address                                                                 available to the UDB array to be used as an interrupt source. Fixed function interrupts

provided by the vector. After the ISR is completed, a RETI instruction is executed                                                                 and all interrupt sources may be routed to any interrupt vector using the UDB

and returns execution to the instruction following the previously interrupted                                                                      interrupt source connections.

instruction. To do this the RETI instruction pops the program counter from the stack.                                                              Figure 4-2 on page 18 represents typical flow of events when an interrupt triggered.

If the same priority level is assigned to two or more interrupts, the interrupt with the                                                           Figure 4-3 on page 19 shows the interrupt structure and priority polling.

lower vector number is executed first. Each interrupt vector may choose from three

                                                                            Figure 4-2. Interrupt Processing Timing Diagram

                       1                   2       3          4          5                                    6              7  8                  9                                                                     10                           11



                                  Arrival  of  new Interrupt

       INT_INPUT                                                                                                                                                                                                             S

                                               Pend bit is    set on next system clock active edge                                                            POST    and  PEND  bits  cleared  after  IRQ  is  sleared

       PEND                                                                                                                                                                                                                  S

                                                              Interrupt  is posted to ascertain the priority

       POST                                                                                                                                                                                                                  S

                                                                                                                                IRQ cleared after  receiving  IRA

       IRQ                                                               Interrupt request sent to core for processing


                                                                                                                        The active interrupt                                                                                 S

       ACTIVE_INT_NUM                          NA                                                   0x0010       number is posted to core                                                                                                                 0x0000

       (#10)                                                                                                                                                                                                                 S

                                                                            The active interrupt ISR                                                                                                                         S

                                               NA                           address is posted to core                                                                      NA

       INT_VECT_ADDR                                                                                                                                                                                                         S

       IRA                                                                                                                                                                                                                   S

       IRC                                                                                                                                                                                                                   S

                                                                                                                 Int. State

                          Interrupt generation and posting to CPU           CPU Response                         Clear                     Completing current instruction and branching to vector address                    Complete ISR and return              TIME


1: Interrupt triggered asynchronous to the clock

2: The PEND bit is set on next active clock edge to indicate the interrupt arrival

3: POST bit is set following the PEND bit

4: Interrupt request and the interrupt number sent to CPU core after evaluation                                                 priority           (Takes          3  clocks)

5: ISR address is posted to CPU core for branching

6: CPU acknowledges the interrupt request

Document Number: 001-53304 Rev. *L                                                                                                                                                                                                                                Page 18 of 127
                                                                                                 PSoC® 3: CY8C34 Family

                                                                                                                                              Data Sheet

7: ISR address is read by CPU for branching

8, 9: PEND and POST bits are cleared respectively after receiving the IRA from core

10: IRA bit is cleared after completing the current instruction and starting the instruction execution                               from ISR location (Takes 7 cycles)

11: IRC is set to indicate the completion of ISR, Active int. status is restored with previous status

The total interrupt latency (ISR execution)

= POST + PEND + IRQ + IRA + Completing current instruction and branching

= 1+1+1+2+7 cycles

= 12 cycles

                                               Figure 4-3. Interrupt Structure

Interrupts form Fixed                                                                            Interrupt Polling logic

function blocks, DMA and

UDBs                                                                                             Highest Priority

                                               Interrupt Enable/

Interrupts 0 to 30                             Disable, PEND and

                                               POST logic

from UDBs


Interrupts 0 to 30                                                1

from Fixed

Function Blocks


                                                                                                                                     0 to 30  ACTIVE_INT_NUM


                                               Enable Disable                                                      Polling sequence

                                                            bits  Interrupt 2 to 29  8 Level

Interrupts 0 to                     Interrupt                                        Priority

30 from DMA               routing logic                                              decoder

                          to select 31                                               for all                                         [15:0]   INT_VECT_ADDR

                                    sources                                          interrupts




                                               Global Enable                                     Lowest Priority

                                               disable bit

Document Number: 001-53304 Rev. *L                                                                                                            Page 19 of 127
                                                           PSoC®  3:  CY8C34 Family

                                                                      Data Sheet

Table  4-8.  Interrupt Vector Table

   #   Fixed Function                DMA     UDB

0      LVD                phub_termout0[0]   udb_intr[0]

1      ECC                phub_termout0[1]   udb_intr[1]

2      Reserved           phub_termout0[2]   udb_intr[2]

3      Sleep (Pwr Mgr)    phub_termout0[3]   udb_intr[3]

4      PICU[0]            phub_termout0[4]   udb_intr[4]

5      PICU[1]            phub_termout0[5]   udb_intr[5]

6      PICU[2]            phub_termout0[6]   udb_intr[6]

7      PICU[3]            phub_termout0[7]   udb_intr[7]

8      PICU[4]            phub_termout0[8]   udb_intr[8]

9      PICU[5]            phub_termout0[9]   udb_intr[9]

10     PICU[6]            phub_termout0[10]  udb_intr[10]

11     PICU[12]           phub_termout0[11]  udb_intr[11]

12     PICU[15]           phub_termout0[12]  udb_intr[12]

13     Comparators        phub_termout0[13]  udb_intr[13]


14     Switched Caps      phub_termout0[14]  udb_intr[14]


15     I2C                phub_termout0[15]  udb_intr[15]

16     CAN                phub_termout1[0]   udb_intr[16]

17     Timer/Counter0     phub_termout1[1]   udb_intr[17]

18     Timer/Counter1     phub_termout1[2]   udb_intr[18]

19     Timer/Counter2     phub_termout1[3]   udb_intr[19]

20     Timer/Counter3     phub_termout1[4]   udb_intr[20]

21     USB SOF Int        phub_termout1[5]   udb_intr[21]

22     USB Arb Int        phub_termout1[6]   udb_intr[22]

23     USB Bus Int        phub_termout1[7]   udb_intr[23]

24     USB Endpoint[0]    phub_termout1[8]   udb_intr[24]

25     USB Endpoint Data  phub_termout1[9]   udb_intr[25]

26     Reserved           phub_termout1[10]  udb_intr[26]

27     LCD                phub_termout1[11]  udb_intr[27]

28     Reserved           phub_termout1[12]  udb_intr[28]

29     Decimator Int      phub_termout1[13]  udb_intr[29]

30     PHUB Error Int     phub_termout1[14]  udb_intr[30]

31     EEPROM Fault Int   phub_termout1[15]  udb_intr[31]

Document Number: 001-53304 Rev. *L                                    Page 20 of 127
                                                                                     PSoC® 3: CY8C34 Family

                                                                                                                   Data Sheet

5.   Memory                                                        security is needed in your application. The PSoC device also

                                                                   offers an advanced security feature called Device Security which

5.1  Static RAM                                                    permanently disables all test, programming, and debug ports,

CY8C34 Static RAM (SRAM) is used for temporary data storage.       protecting your application from external access (see the

Up to 8 KB of SRAM is provided and can be accessed by the          “Device Security” section on page 63). For more information

8051 or the DMA controller. See Memory Map on page 23.             about how to take full advantage of the security features in

Simultaneous access of SRAM by the 8051 and the DMA                PSoC, see the PSoC 3 TRM.

controller is possible if different 4-KB blocks are accessed.      Table 5-1.  Flash Protection

5.2  Flash Program Memory                                          Protection               Allowed                Not Allowed

Flash memory in PSoC devices provides nonvolatile storage for           Setting

user firmware, user configuration data, bulk data storage, and     Unprotected       External read and write    -

optional ECC data. The main flash memory area contains up to                         + internal read and write

64 KB of user program space.                                       Factory           External write + internal  External read

Up to an additional 8 KB of flash space is available for Error     Upgrade           read and write

Correcting Codes (ECC). If ECC is not used this space can store

device configuration data and bulk user data. User code may not    Field Upgrade     Internal read and write    External read and

be run out of the ECC flash memory section. ECC can correct                                                     write

one bit error and detect two bit errors per 8 bytes of firmware    Full Protection   Internal read              External read and

memory; an interrupt can be generated when an error is                                                          write + internal write


Flash is read in units of rows; each row is 9 bytes wide with 8    Disclaimer

bytes of data and 1 byte of ECC data. When a row is read, the      Note the following details of the flash code protection features on

data bytes are copied into an 8-byte instruction buffer. The CPU   Cypress devices.

fetches its instructions from this buffer, for improved CPU        Cypress products meet the specifications contained in their

performance.                                                       particular Cypress data sheets. Cypress believes that its family

Flash programming is performed through a special interface and     of products is one of the most secure families of its kind on the

preempts code execution out of flash. The flash programming        market today, regardless of how they are used. There may be

interface performs flash erasing, programming and setting code     methods, unknown to Cypress, that can breach the code

protection levels. Flash in-system serial programming (ISSP),      protection features. Any of these methods, to our knowledge,

typically used for production programming, is possible through     would be dishonest and possibly illegal. Neither Cypress nor any

both the SWD and JTAG interfaces. In-system programming,           other semiconductor manufacturer can guarantee the security of

typically used for bootloaders, is also possible using serial      their code. Code protection does not mean that we are
interfaces such as I2C, USB, UART, and SPI, or any
                                                                   guaranteeing the product as “unbreakable.”
communications protocol.
                                                                   Cypress is willing to work with the customer who is concerned

5.3  Flash Security                                                about the integrity of their code. Code protection is constantly

All PSoC devices include a flexible flash-protection model that    evolving. We at Cypress are committed to continuously

prevents access and visibility to on-chip flash memory. This       improving the code protection features of our products.

prevents duplication or reverse engineering of proprietary code.   5.4  EEPROM

Flash memory is organized in blocks, where each block contains     PSoC EEPROM memory is a byte-addressable nonvolatile

256 bytes of program or data and 32 bytes of ECC or                memory. The CY8C34 has up to 2 KB of EEPROM memory to

configuration data. A total of up to 256 blocks is provided on     store user data. Reads from EEPROM are random access at the

64-KB flash devices.                                               byte level. Reads are done directly; writes are done by sending

The device offers the ability to assign one of four protection     write commands to an EEPROM programming interface. CPU

levels to each row of flash. Table 5-1 lists the protection modes  code execution can continue from flash during EEPROM writes.

available. Flash protection levels can only be changed by          EEPROM is erasable and writeable at the row level. The

performing a complete flash erase. The Full Protection and Field   EEPROM is divided into 128 rows of 16 bytes each.

Upgrade settings disable external access (through a debugging      The CPU can not execute out of EEPROM. There is no ECC

tool such as PSoC Creator, for example). If your application       hardware associated with EEPROM. If ECC is required it must

requires code update through a boot loader, then use the Field     be handled in firmware.

Upgrade setting. Use the Unprotected setting only when no

Document Number: 001-53304 Rev. *L                                                                                     Page 21 of 127
                                                                                               PSoC® 3: CY8C34 Family

                                                                                                               Data Sheet

5.5  Nonvolatile Latches (NVLs)

PSoC has a 4-byte array of nonvolatile latches (NVLs) that are used to configure the device at reset. The NVL register map is shown

in Table 5-2.

Table 5-2.  Device Configuration NVL Register Map

Register Address  7                    6           5          4               3                2            1                0

            0x00  PRT3RDM[1:0]                     PRT2RDM[1:0]               PRT1RDM[1:0]                  PRT0RDM[1:0]

            0x01  PRT12RDM[1:0]                    PRT6RDM[1:0]               PRT5RDM[1:0]                  PRT4RDM[1:0]

            0x02  XRESMEN                                                                                   PRT15RDM[1:0]

            0x03                    DIG_PHS_DLY[3:0]                          ECCEN               DPS[1:0]

The details for individual fields and their factory default settings are shown in Table 5-3:.

Table 5-3.  Fields and Factory Default Settings

          Field                                  Description                                      Settings

PRTxRDM[1:0]      Controls reset drive mode of the corresponding IO port.     00b (default) - high impedance analog

                  See “Reset Configuration” on page 38. All pins of the port  01b - high impedance digital

                  are set to the same mode.                                   10b - resistive pull up

                                                                              11b - resistive pull down

XRESMEN           Controls whether pin P1[2] is used as a GPIO or as an       0 (default for 68-pin and 100-pin parts) - GPIO

                  external reset. See “Pin Descriptions” on page 10, XRES     1 (default for 48-pin parts) - external reset


DPS{1:0]          Controls the usage of various P1 pins as a debug port.      00b - 5-wire JTAG

                  See “Programming, Debug Interfaces, Resources” on           01b (default) - 4-wire JTAG

                  page 60.                                                    10b - SWD

                                                                              11b - debug ports disabled

ECCEN             Controls whether ECC flash is used for ECC or for general   0 (default) - ECC disabled

                  configuration and data storage. See “Flash Program          1 - ECC enabled

                  Memory” on page 21.

DIG_PHS_DLY[3:0]  Selects the digital clock phase delay.                      See the TRM for details.

Although PSoC Creator provides support for modifying the device configuration NVLs, the number of NVL erase / write cycles is limited

– see “Nonvolatile Latches (NVL))” on page 103.

Document Number: 001-53304 Rev. *L                                                                             Page 22 of 127
                                                                                              PSoC® 3: CY8C34 Family

                                                                                                                      Data Sheet

5.6    External Memory Interface                                          Figure 5-1 is the EMIF block diagram. The EMIF supports

CY8C34 provides an External Memory Interface (EMIF) for                   synchronous and asynchronous memories. The CY8C34

connecting to external memory devices. The connection allows              supports only one type of external memory device at a time.

read and write accesses to external memories. The EMIF                    External memory can be accessed via the 8051 xdata space; up

operates in conjunction with UDBs, I/O ports, and other                   to 24 address bits can be used. See “xdata Space” section on

hardware to generate external memory address and control                  page 25. The memory can be 8 or 16 bits wide.

signals. At 33 MHz, each memory access cycle takes four bus

clock cycles.

                                           Figure 5-1. EMIF Block Diagram

                                                         Address Signals               IO  External_ MEM_ ADDR[23:0]




                     and Control


                                    IO IF                Data Signals                  IO  External_ MEM_ DATA[15:0]


                                                         Control Signals               IO             Control

               PHUB                                                                PORTs


                     Address,                                             DSI Dynamic Output

                     and Control                                          Control



                                                                          DSI to Port


                                    EM Control               Control

                     Data,          Signals               Signals


                     and Control



5.7    Memory Map                                                         5.7.2  Internal Data Space

The CY8C34 8051 memory map is very similar to the MCS-51                  The CY8C34 8051 internal data space is 384 bytes, compressed

memory map.                                                               within a 256-byte space. This space consists of 256 bytes of

                                                                          RAM (in addition to the SRAM mentioned in Static RAM on page

5.7.1  Code Space                                                         21) and a 128-byte space for Special Function Registers (SFRs).

The CY8C34 8051 code space is 64 KB. Only main flash exists               See Figure 5-2. The lowest 32 bytes are used for 4 banks of

in this space. See the “Flash Program Memory” section on                  registers R0-R7. The next 16 bytes are bit-addressable.

page 21.

Document Number: 001-53304 Rev. *L                                                                                       Page 23 of 127
                                                                                             PSoC® 3: CY8C34 Family

                                                                                                                    Data Sheet

Figure 5-2.  8051  Internal Data Space                                  In addition to the register or bit address modes used with the

0x00                                                                    lower 48 bytes, the lower 128 bytes can be accessed with direct

0x1F                          4 Banks, R0-R7 Each                       or indirect addressing. With direct addressing mode, the upper

0x20                                                                    128 bytes map to the SFRs. With indirect addressing mode, the

                              Bit-Addressable Area                      upper 128 bytes map to RAM. Stack operations use indirect

0x2F                                                                    addressing; the 8051 stack space is 256 bytes. See the

0x30                                                                    “Addressing Modes” section on page 11

                   Lower Core RAM Shared with Stack Space

                         (direct and indirect addressing)



                Upper Core RAM Shared               SFR

                  with Stack Space      Special Function Registers

0xFF             (indirect addressing)       (direct addressing)

5.7.3  SFRs

The Special Function Register (SFR) space provides access to frequently accessed registers. The memory map for the SFR memory

space is shown in Table 5-4.

Table 5-4.   SFR Map

Address            0/8                  1/9                       2/A   3/B            4/C           5/D       6/E                 7/F

0×F8         SFRPRT15DR       SFRPRT15PS                   SFRPRT15SEL

0×F0         B                                             SFRPRT12SEL

0×E8         SFRPRT12DR       SFRPRT12PS                   MXAX

0×E0         ACC

0×D8         SFRPRT6DR        SFRPRT6PS                    SFRPRT6SEL

0×D0         PSW

0×C8         SFRPRT5DR        SFRPRT5PS                    SFRPRT5SEL

0×C0         SFRPRT4DR        SFRPRT4PS                    SFRPRT4SEL


0×B0         SFRPRT3DR        SFRPRT3PS                    SFRPRT3SEL

0×A8         IE

0×A0         P2AX                                          SFRPRT1SEL

0×98         SFRPRT2DR        SFRPRT2PS                    SFRPRT2SEL

0×90         SFRPRT1DR        SFRPRT1PS                                 DPX0                         DPX1

0×88                          SFRPRT0PS                    SFRPRT0SEL

0×80         SFRPRT0DR        SP                           DPL0         DPH0           DPL1          DPH1      DPS

The CY8C34 family provides the standard set of registers found          „ INC DPTR

on industry standard 8051 devices. In addition, the CY8C34              „ MOV DPTR, #data16

devices add SFRs to provide direct access to the I/O ports on the

device. The following sections describe the SFRs added to the           The extended data pointer SFRs, DPX0, DPX1, MXAX, and

CY8C34 family.                                                          P2AX, hold the most significant parts of memory addresses

                                                                        during access to the xdata space. These SFRs are used only

XData Space Access SFRs                                                 with the MOVX instructions.

The 8051 core features dual DPTR registers for faster data              During a MOVX instruction using the DPTR0/DPTR1 register,

transfer operations. The data pointer select SFR, DPS, selects          the most significant byte of the address is always equal to the

which data pointer register, DPTR0 or DPTR1, is used for the            contents of DPX0/DPX1. During a MOVX instruction using the

following instructions:                                                 R0 or R1 register, the most significant byte of the address is

„ MOVX @DPTR, A                                                         always equal to the contents of MXAX, and the next most

                                                                        significant byte is always equal to the contents of P2AX.


„ MOVC A, @A+DPTR                                                       I/O Port SFRs

                                                                        The I/O ports provide digital input sensing, output drive, pin

„ JMP @A+DPTR                                                           interrupts, connectivity for analog inputs and outputs, LCD, and

Document Number: 001-53304 Rev. *L                                                                                  Page 24 of 127
                                                                                         PSoC® 3: CY8C34 Family

                                                                                                                   Data Sheet

access to peripherals through the DSI. Full information on I/O       Table 5-5.   XDATA Data Address Map      (continued)

ports is found in I/O System and Routing on page 32.                      Address Range                     Purpose

I/O ports are linked to the CPU through the PHUB and are also        0×01 0000 – 0×01       Digital Interconnect configuration

available in the SFRs. Using the SFRs allows faster access to a      FFFF

limited set of I/O port registers, while using the PHUB allows boot  0×05 0220 – 0×05 02F0  Debug controller

configuration and access to all I/O port registers.

Each SFR supported I/O port provides three SFRs:                     0×08 0000 – 0×08 1FFF  Flash ECC bytes

                                                                     0×80 0000 – 0×FF       External Memory Interface

„ SFRPRTxDR sets the output data state of the port (where x is       FFFF

port number and includes ports 0-6, 12 and 15)

„ The SFRPRTxSEL selects whether the PHUB PRTxDR                     6.   System Integration

register or the SFRPRTxDR controls each pin’s output buffer          6.1  Clocking System

within the port. If a SFRPRTxSEL[y] bit is high, the

corresponding SFRPRTxDR[y] bit sets the output state for that        The clocking system generates, divides, and distributes clocks

pin. If a SFRPRTxSEL[y] bit is low, the corresponding                throughout the PSoC system. For the majority of systems, no

PRTxDR[y] bit sets the output state of the pin (where y varies       external crystal is required. The IMO and PLL together can

from 0 to 7).                                                        generate up to a 50 MHz clock, accurate to ±1 percent over

„ The SFRPRTxPS is a read only register that contains pin state      voltage and temperature. Additional internal and external clock

values of the port pins.                                             sources allow each design to optimize accuracy, power, and

                                                                     cost. All of the system clock sources can be used to generate   xdata Space                                                other clock frequencies in the 16-bit clock dividers and UDBs for

The 8051 xdata space is 24-bit, or 16 MB in size. The majority of    anything the user wants, for example a UART baud rate

this space is not “external”—it is used by on-chip components.       generator.

See Table 5-5. External, that is, off-chip, memory can be            Clock generation and distribution is automatically configured

accessed using the EMIF. See External Memory Interface on            through the PSoC Creator IDE graphical interface. This is based

page 23.                                                             on the complete system’s requirements. It greatly speeds the

                                                                     design process. PSoC Creator allows you to build clocking

Table 5-5.  XDATA Data Address Map                                   systems with minimal input. You can specify desired clock

                                                                     frequencies and accuracies, and the software locates or builds a

Address Range                             Purpose                    clock that meets the required specifications. This is possible

0×00 0000 – 0×00 1FFF     SRAM                                       because of the programmability inherent PSoC.

0×00 4000 – 0×00 42FF     Clocking, PLLs, and oscillators            Key features of the clocking system include:

0×00 4300 – 0×00 43FF     Power management                           „ Seven general purpose clock sources

0×00 4400 – 0×00 44FF     Interrupt controller                       ‡ 3- to 24-MHz IMO, ±1 percent at 3 MHz

0×00 4500 – 0×00 45FF     Ports interrupt control                    ‡ 4- to 25-MHz external crystal oscillator (MHzECO)

0×00 4700 – 0×00 47FF     Flash programming interface                ‡ Clock doubler provides a doubled clock frequency output for

0×00 4900 – 0×00 49FF     I2C controller                                  the USB block, see USB Clock Domain on page 28

0×00 4E00 – 0×00          Decimator                                  ‡ DSI signal from an external I/O pin or other logic

4EFF                                                                 ‡ 24- to 50- MHz fractional PLL sourced from IMO, MHzECO,

0×00 4F00 – 0×00          Fixed timer/counter/PWMs                        or DSI

4FFF                                                                 ‡ 1 kHz, 33 kHz, 100 kHz ILO for Watch Dog Timer (WDT) and

                                                                          Sleep Timer

0×00 5000 – 0×00 51FF     I/O ports control                          ‡ 32.768-kHz external crystal oscillator (kHzECO) for RTC

0×00 5400 – 0×00 54FF     External Memory Interface (EMIF)           „ IMO has a USB mode that auto locks to the USB bus clock

                          control registers                          requiring no external crystal for USB. (USB equipped parts only)

0×00 5800 – 0×00 5FFF     Analog Subsystem interface                 „ Independently sourced clock in all clock dividers

0×00 6000 – 0×00 60FF     USB controller                             „ Eight 16-bit clock dividers for the digital system

0×00 6400 – 0×00 6FFF     UDB configuration

0×00 7000 – 0×00 7FFF     PHUB configuration                         „ Four 16-bit clock dividers for the analog system

0×00 8000 – 0×00 8FFF     EEPROM                                     „ Dedicated 16-bit divider for the bus clock

0×00 A000 – 0×00          CAN                                        „ Dedicated 4-bit divider for the CPU clock

A400                                                                 „ Automatic clock configuration in PSoC Creator

Document Number: 001-53304 Rev. *L                                                                                         Page 25 of 127
                                                                                                           PSoC® 3: CY8C34 Family

                                                                                                                                       Data Sheet

Table 6-1.  Oscillator Summary

Source      Fmin                                  Tolerance at Fmin                       Fmax     Tolerance at Fmax                   Startup Time

       IMO  3 MHz                 ±1% over voltage and temperature                        24 MHz   ±4%                              10 µs max

MHzECO      4 MHz                 Crystal dependent                                       25 MHz   Crystal dependent                5 ms typ, max is

                                                                                                                                    crystal dependent

       DSI  0 MHz                 Input dependent                                         50 MHz   Input dependent                  Input dependent

       PLL  24 MHz                Input dependent                                         50 MHz   Input dependent                  250 µs max

Doubler     48 MHz                Input dependent                                         48 MHz   Input dependent                  1 µs max

       ILO  1 kHz                 –50%, +100%                                             100 kHz  –55%, +100%                      15 ms max in lowest

                                                                                                                                    power mode

kHzECO      32 kHz                Crystal dependent                                       32 kHz   Crystal dependent                500 ms typ, max is

                                                                                                                                    crystal dependent

                                                         Figure 6-1. Clocking Subsystem

               3-24 MHz                        4-25 MHz       External IO                          1,33,100 kHz

                             IMO                 ECO             or DSI            32 kHz ECO      ILO

                                                              0-50 MHz


                                                                                                                 CPU Clock Divider     Clock

                                                                                                                      4 bit

                                  48 MHz              24-50 MHz            System

                                  Doubler for            PLL             Clock Mux

                                   USB                                                                                                 Bus

                                                                                                                 Bus Clock Divider     Clock

                                                                                                                      16 bit


                                  Digital Clock                            Digital Clock                          Analog Clock      k

                                  Divider 16 bit                         Divider 16 bit                           Divider 16 bit    e



                                  Digital Clock                            Digital Clock                          Analog Clock      k

                                  Divider 16 bit                         Divider 16 bit                           Divider 16 bit    e


                                                                                                        7                           s

            7                                                                                                     Analog Clock

                                  Digital Clock                            Digital Clock                                            k

                                  Divider 16 bit                         Divider 16 bit                           Divider 16 bit    e



                                  Digital Clock                            Digital Clock                          Analog Clock      k

                                  Divider 16 bit                         Divider 16 bit                           Divider 16 bit    e


6.1.1  Internal Oscillators                                                   Clock Doubler  Internal Main Oscillator                                                   The clock doubler outputs a clock at twice the frequency of the

In most designs the IMO is the only clock source required, due                      input clock. The doubler works at input frequency of 24 MHz,

to its ±1-percent accuracy. The IMO operates with no external                       providing 48 MHz for the USB. It can be configured to use a clock

components and outputs a stable clock. A factory trim for each                      from the IMO, MHzECO, or the DSI (external pin).

frequency range is stored in the device. With the factory trim,               Phase-Locked Loop

tolerance varies from ±1 percent at 3 MHz, up to ±4 percent at                      The PLL allows low-frequency, high-accuracy clocks to be

24 MHz. The IMO, in conjunction with the PLL, allows generation                     multiplied to higher frequencies. This is a trade off between

of CPU and system clocks up to the device's maximum                                 higher clock frequency and accuracy and, higher power

frequency (see Phase-Locked Loop).                                                  consumption and increased startup time.

The IMO provides clock outputs at 3, 6, 12, and 24 MHz.                             The PLL block provides a mechanism for generating clock

                                                                                    frequencies based upon a variety of input sources. The PLL

Document Number: 001-53304 Rev. *L                                                                                                     Page 26 of 127
                                                                                     PSoC® 3: CY8C34 Family

                                                                                                                  Data Sheet

outputs clock frequencies in the range of 24 to 50 MHz. Its input   Figure 6-2. MHzECO Block Diagram

and feedback dividers supply 4032 discrete ratios to create

almost any desired system clock frequency. The accuracy of the

PLL output depends on the accuracy of the PLL input source.                                       XCLK_MHZ

The most common PLL use is to multiply the IMO clock at 3 MHz,                       4 – 25 MHz

where it is most accurate to generate the CPU and system clocks                      Crystal Osc

up to the device’s maximum frequency.

The PLL achieves phase lock within 250 µs (verified by bit

setting). It can be configured to use a clock from the IMO,

MHzECO or DSI (external pin). The PLL clock source can be

used until lock is complete and signaled with a lock bit. The lock            Xi                  Xo

signal can be routed through the DSI to generate an interrupt.      (Pin P15[1])                  (Pin P15[0])

Disable the PLL before entering low-power modes.   Internal Low-Speed Oscillator                                                           4 – 25 MHz

                                                                    External                      crystal

The ILO provides clock frequencies for low-power consumption,       Components

including the watchdog timer, and sleep timer. The ILO                                            Capacitors

generates up to three different clocks: 1 kHz, 33 kHz, and

100 kHz.

The 1 kHz clock (CLK1K) is typically used for a background      32.768-kHz ECO

‘heartbeat’ timer. This clock inherently lends itself to low-power  The 32.768-kHz External Crystal Oscillator (32kHzECO)

supervisory operations such as the watchdog timer and long          provides precision timing with minimal power consumption using

sleep intervals using the central timewheel (CTW).                  an external 32.768-kHz watch crystal (see Figure 6-3). The

The central timewheel is a 1 kHz, free running, 13-bit counter      32kHzECO also connects directly to the sleep timer and provides

clocked by the ILO. The central timewheel is always enabled         the source for the RTC. The RTC uses a 1-second interrupt to

except in hibernate mode and when the CPU is stopped during         implement the RTC functionality in firmware.

debug on chip mode. It can be used to generate periodic             The oscillator works in two distinct power modes. This allows

interrupts for timing purposes or to wake the system from a         users to trade off power consumption with noise immunity from

low-power mode. Firmware can reset the central timewheel.           neighboring circuits. The GPIO pins connected to the external

Systems that require accurate timing should use the RTC             crystal and capacitors are fixed.

capability instead of the central timewheel.

The 100 kHz clock (CLK100K) works as a low-power system             Figure 6-3. 32kHzECO Block Diagram

clock to run the CPU. It can also generate time intervals such as

fast sleep intervals using the fast timewheel.

The fast timewheel is a 100 kHz, 5-bit counter clocked by the ILO                    32 kHz           XCLK32K

that can also be used to wake the system. The fast timewheel                      Crystal Osc

settings are programmable, and the counter automatically resets

when the terminal count is reached. This enables flexible,

periodic wakeups of the CPU at a higher rate than is allowed

using the central timewheel. The fast timewheel can generate an

optional interrupt each time the terminal count is reached.

The 33 kHz clock (CLK33K) comes from a divide-by-3 operation                 Xi                   Xo

on CLK100K. This output can be used as a reduced accuracy           (Pin P15[3])                  (Pin P15[2])

version of the 32.768-kHz ECO clock with no need for a crystal.

                                                                                                  32 kHz

6.1.2  External Oscillators                                         External                      crystal

                                                                    Components   MHz External Crystal Oscillator                                                         Capacitors

The MHzECO provides high frequency, high precision clocking

using an external crystal (see Figure 6-2). It supports a wide

variety of crystal types, in the range of 4 to 25 MHz. When used      Digital System Interconnect

in conjunction with the PLL, it can generate CPU and system         The DSI provides routing for clocks taken from external clock

clocks up to the device's maximum frequency (see                    oscillators connected to I/O. The oscillators can also be

“Phase-Locked Loop” section on page 26). The GPIO pins              generated within the device in the digital system and Universal

connecting to the external crystal and capacitors are fixed.        Digital Blocks.

MHzECO accuracy depends on the crystal chosen.

                                                                    While the primary DSI clock input provides access to all clocking

                                                                    resources, up to eight other DSI clocks (internally or externally

                                                                    generated) may be routed directly to the eight digital clock

                                                                    dividers. This is only possible if there are multiple precision clock


Document Number: 001-53304 Rev. *L                                                                                Page 27 of 127
                                                                                                                             PSoC® 3: CY8C34 Family

                                                                                                                                                      Data Sheet

6.1.3   Clock Distribution                                                                Each clock divider consists of an 8-input multiplexer, a 16-bit

All seven clock sources are inputs to the central clock distribution                      clock divider (divide by 2 and higher) that generates ~50 percent

system. The distribution system is designed to create multiple                            duty cycle clocks, system clock resynchronization logic, and

high precision clocks. These clocks are customized for the                                deglitch logic. The outputs from each digital clock tree can be

design’s requirements and eliminate the common problems                                   routed into the digital system interconnect and then brought back

found with limited resolution prescalers attached to peripherals.                         into the clock system as an input, allowing clock chaining of up

The clock distribution system generates several types of clock                            to 32 bits.

trees.                                                                                    6.1.4  USB Clock Domain

„ The system clock is used to select and supply the fastest clock

in the system for general system clock requirements and clock                             The USB clock domain is unique in that it operates largely

synchronization of the PSoC device.                                                       asynchronously from the main clock network. The USB logic

„ Bus Clock 16-bit divider uses the system clock to generate the                          contains a synchronous bus interface to the chip, while running

system's bus clock used for data transfers. Bus clock is the                              on an asynchronous clock to process USB data. The USB logic

source clock for the CPU clock divider.                                                   requires a 48 MHz frequency. This frequency can be generated

„ Eight fully programmable 16-bit clock dividers generate digital                         from different sources, including DSI clock at 48 MHz or doubled

system clocks for general use in the digital system, as                                   value of 24 MHz from internal oscillator, DSI signal, or crystal

configured by the design’s requirements. Digital system clocks                            oscillator.

can generate custom clocks derived from any of the seven                                  6.2    Power System

clock sources for any purpose. Examples include baud rate

generators, accurate PWM periods, and timer clocks, and                                   The power system consists of separate analog, digital, and I/O

many others. If more than eight digital clock dividers are                                supply pins, labeled Vdda, Vddd, and Vddiox, respectively. It

required, the Universal Digital Blocks (UDBs) and fixed function                          also includes two internal 1.8 V regulators that provide the digital

Timer/Counter/PWMs can also generate clocks.                                              (Vccd) and analog (Vcca) supplies for the internal core logic. The

„ Four 16-bit clock dividers generate clocks for the analog system                        output pins of the regulators (Vccd and Vcca) and the Vddio pins

components that require clocking, such as ADC and mixers.                                 must have capacitors connected as shown in Figure 6-4. The

The analog clock dividers include skew control to ensure that                             two Vccd pins must be shorted together, with as short a trace as

critical analog events do not occur simultaneously with digital                           possible, and connected to a 1 µF ±10 percent X5R capacitor.

switching events. This is done to reduce analog system noise.                             The power system also contains a sleep regulator, an I2C

                                                                                          regulator, and a hibernate regulator.

                                                          Figure 6-4. PSoC        Power System

                            Vddio2                              1 µF              Vddd

                                                                                                 0.1 µF                              Vddio0

                                         0.1 µF

                            Vddio2          I /O Supply         Vccd        Vssd          Vddd   I/O Supply          Vddio0

                                                                                                         I2C                         0.1 µF



                                                 Digital                                                 Regulator

                                            Domain                                                                                           Vdda


                                                                      Digital                            Analog              Vcca            0.1µF

                            Vssb                                      Regulators                 Regulator

                                                                                                                                     1 µF          .






                            Vddio1          I/O Supply    Vccd        Vssd        Vddd                   I/O Supply          Vddio3

                                                                                  0.1 µF                             0.1 µF


                            Vddio1                                                Vddd                                       Vddio3

Document Number: 001-53304 Rev. *L                                                                                                                    Page 28 of 127
                                                                                                          PSoC® 3: CY8C34 Family

                                                                                                                                  Data Sheet

Note The two Vccd pins must be connected together with as                           „ Sleep

short   a  trace  as  possible.      A  trace  under              the  device   is  „ Hibernate

recommended, as shown in Figure 2-6 on page 10.

                                                                                    Active is the main processing mode. Its functionality is

6.2.1   Power Modes                                                                 configurable. Each power controllable subsystem is enabled or

PSoC 3 devices have four different power modes, as shown in                         disabled by using separate power configuration template

Table 6-2 and Table 6-3. The power modes allow a design to                          registers. In alternate active mode, fewer subsystems are

easily provide required functionality and processing power while                    enabled, reducing power. In sleep mode most resources are

simultaneously minimizing power consumption and maximizing                          disabled regardless of the template settings. Sleep mode is

battery life in low-power and portable devices.                                     optimized to provide timed sleep intervals and RTC functionality.

PSoC 3 power modes, in order of decreasing power                                    The lowest power mode is hibernate, which retains register and

consumption are:                                                                    SRAM state, but no clocks, and allows wakeup only from I/O

                                                                                    pins. Figure 6-5 on page 30 illustrates the allowable transitions

„ Active                                                                            between power modes.

„ Alternate Active

Table 6-2.  Power Modes

Power Modes                   Description                         Entry Condition   Wakeup Source         Active Clocks           Regulator

Active            Primary mode of operation, all                  Wakeup, reset,    Any interrupt    Any                 All regulators available.

                  peripherals available (program-                 manual register                    (programmable)      Digital and analog

                  mable)                                          entry                                                  regulators can be disabled if

                                                                                                                         external regulation used.

Alternate         Similar to Active mode, and is                  Manual register   Any interrupt    Any                 All regulators available.

Active            typically configured to have fewer              entry                              (programmable)      Digital and analog

                  peripherals active to reduce                                                                           regulators can be disabled if

                  power. One possible                                                                                    external regulation used.

                  configuration is to use the UDBs

                  for processing, with the CPU

                  turned off

Sleep             All subsystems automatically                    Manual register   Comparator,      ILO/kHzECO          Both digital and analog
                                                                                    PICU, I2C, RTC,
                  disabled                                        entry                                                  regulators buzzed.

                                                                                    CTW, LVD                             Digital and analog

                                                                                                                         regulators can be disabled if

                                                                                                                         external regulation used.

Hibernate         All subsystems automatically                    Manual register   PICU                                 Only hibernate regulator

                  disabled                                        entry                                                  active.

                  Lowest power consuming mode

                  with all peripherals and internal

                  regulators disabled, except

                  hibernate regulator is enabled

                  Configuration and memory

                  contents retained

Table 6-3.  Power Modes Wakeup Time and Power Consumption

   Sleep    Wakeup        Current          Code                        Digital      Analog      Clock Sources  Wakeup Sources                 Reset

Modes       Time              (typ)     Execution                 Resources         Resources      Available                      Sources

Active            –       1.2 mA[13]           Yes                     All          All              All                 –                    All

Alternat          –           –            User                        All          All              All                 –                    All

e Active                                defined

            <15 µs            1 µA             No                      I2C          Comparator  ILO/kHzECO     Comparator,        XRES, LVD,
                                                                                                               PICU, I2C, RTC,
Sleep                                                                                                                                         WDR

                                                                                                                 CTW, LVD

Hibernat    <100 µs         200 nA             No                      None         None           None                  PICU                 XRES



13. Bus clock off. Execute from CPU instruction buffer at 6 MHz.  See Table 11-2 on page 66.

Document Number: 001-53304 Rev. *L                                                                                                Page 29 of 127
                                                                                           PSoC® 3: CY8C34 Family

                                                                                                                     Data Sheet

Figure   6-5. Power  Mode Transitions                               I/O interrupts. Internal interrupt sources can come from a variety

                                                                    of peripherals, such as analog comparators and UDBs. The

                                                                    central timewheel provides periodic interrupts to allow the

                      Active                                        system to wake up, poll peripherals, or perform real-time

                                                                    functions. Reset event sources include the external reset I/O pin

                                                                    (XRES), WDT, and Precision Reset (PRES).

         Manual                                                     6.2.2   Boost Converter

                      Sleep                    Hibernate            Applications that use a supply voltage of less than 1.71 V, such

                                                                    as solar or single cell battery supplies, may use the on-chip boost

                                                                    converter. The boost converter may also be used in any system

         Buzz                                                       that requires a higher operating voltage than the supply provides.

                                                                    For instance, this includes driving 5.0 V LCD glass in a 3.3 V

                     Alternate                                      system. The boost converter accepts an input voltage as low as

                      Active                                        0.5 V. With one low cost inductor it produces a selectable output

                                                                    voltage sourcing enough current to operate the PSoC and other

                                                                    on-board components.

                                                                    The boost converter accepts an input voltage from 0.5 V to 5.5 V  Active Mode                                                (Vbat), and can start up with Vbat as low as 0.5 V. The converter

Active mode is the primary operating mode of the device. When       provides a user configurable output voltage of 1.8 to 5.0 V

in active mode, the active configuration template bits control      (Vboost). Vbat is typically less than Vboost; if Vbat is greater than

which available resources are enabled or disabled. When a           or equal to Vboost, then VBOOST will be the same as Vbat. The

resource is disabled, the digital clocks are gated, analog bias     block can deliver up to 50 mA (IBOOST) depending on

currents are disabled, and leakage currents are reduced as          configuration.

appropriate. User firmware can dynamically control subsystem        Four pins are associated with the boost converter: Vbat, Vssb,

power by setting and clearing bits in the active configuration      Vboost, and Ind. The boosted output voltage is sensed at the

template. The CPU can disable itself, in which case the CPU is      Vboost pin and must be connected directly to the chip’s supply

automatically reenabled at the next wakeup event.                   inputs. An inductor is connected between the Vbat and Ind pins.

When a wakeup event occurs, the global mode is always               You can optimize the inductor value to increase the boost

returned to active, and the CPU is automatically enabled,           converter efficiency based on input voltage, output voltage,

regardless of its template settings. Active mode is the default     current and switching frequency. The external Schottky diode

global power mode upon boot.                                        shown in Figure 6-6 is required only in cases when Vboost >

                                                                    3.6 V.  Alternate Active Mode                                      Figure 6-6. Application for Boost Converter

Alternate Active mode is very similar to Active mode. In alternate

active mode, fewer subsystems are enabled, to reduce power

consumption. One possible configuration is to turn off the CPU                             Vboost   Vdda Vddd Vddio

and flash, and run peripherals at full speed.  Sleep Mode                                                 Optional

                                                                    Schottky Diode

                                                                    Only required

Sleep mode reduces power consumption when a resume time of          Vboost >3.6 V          Ind

15 µs is acceptable. The wake time is used to ensure that the

regulator outputs are stable enough to directly enter active                                                         22 µF 0. 1 µF

mode.                                                                               10 µH  SMP      PSoC  Hibernate Mode

In hibernate mode nearly all of the internal functions are                                 Vbat

disabled. Internal voltages are reduced to the minimal level to                     22 µF

keep vital systems alive. Configuration state is preserved in                              Vssb     Vssa

hibernate mode and SRAM memory is retained. GPIOs                                                   Vssd

configured as digital outputs maintain their previous values and

external GPIO pin interrupt settings are preserved. The device      The switching frequency can be set to 100 kHz, 400 kHz, 2 MHz,

can only return from hibernate mode in response to an external      or 32 kHz to optimize efficiency and component cost. The

I/O interrupt. The resume time from hibernate mode is less than     100 kHz, 400 kHz, and 2 MHz switching frequencies are

100 µs.                                                             generated using oscillators internal to the boost converter block.  Wakeup Events                                              When the 32-kHz switching frequency is selected, the clock is

Wakeup events are configurable and can come from an interrupt       derived from a 32 kHz external crystal oscillator. The 32-kHz

or device reset. A wakeup event restores the system to active       external clock is primarily intended for boost standby mode.

mode. Firmware enabled interrupt sources include internally         At 2 MHz the Vboost output is limited to 2 × Vbat, and at 400 kHz

generated interrupts, power supervisor, central timewheel, and      Vboost is limited to 4 × Vbat.

Document Number: 001-53304 Rev. *L                                                                                   Page 30 of 127
                                                                                           PSoC® 3: CY8C34 Family

                                                                                                                           Data Sheet

The boost converter can be operated in two different modes:         Figure   6-7. Resets

active and standby. Active mode is the normal mode of operation              Vddd Vdda

where the boost regulator actively generates a regulated output

voltage. In standby mode, most boost functions are disabled,

thus reducing power consumption of the boost circuit. The                    Power

converter can be configured to provide low-power, low current                Voltage                                       Processor

regulation in the standby mode. The external 32 kHz crystal can              Level                                         Interrupt

be used to generate inductor boost pulses on the rising and                  Monitors

falling edge of the clock when the output voltage is less than the  Reset

programmed value. This is called automatic thump mode (ATM).        Pin

The boost typically draws 200 µA in active mode and 12 µA in                 External                 Reset                System

standby mode. The boost operating modes must be used in                      Reset                    Controller           Reset

conjunction with chip power modes to minimize the total chip

power consumption. Table 6-4 lists the boost power modes

available in different chip power modes.                                     Watchdog

Table 6-4.  Chip and Boost Power Modes Compatibility                         Timer

Chip Power Modes                   Boost Power Modes

Chip – Active mode     Boost can be operated in either active or             Software

                       standby mode.                                         Reset

Chip – Sleep mode      Boost can be operated in either active or             Register

                       standby mode. However, it is recom-

                       mended to operate boost in standby           The term device reset indicates that the processor as well as

                       mode for low-power consumption               analog and digital peripherals and registers are reset.

Chip – Hibernate mode  Boost can only be operated in active         A reset status register holds the source of the most recent reset

                       mode. However, it is recommended not         or power voltage monitoring interrupt. The program may

                       to use boost in chip hibernate mode due      examine this register to detect and report exception conditions.

                       to high current consumption in boost         This register is cleared after a power-on reset.

                       active mode

                                                                    6.3.1  Reset Sources

If the boost converter is not used in a given application, tie the  Power Voltage Level Monitors

VBAT, VSSB, and VBOOST pins to ground and leave the Ind pin

unconnected.                                                        „ IPOR – Initial Power-on Reset

6.3  Reset                                                          At initial power-on, IPOR monitors the power voltages Vddd

                                                                    and Vdda, both directly at the pins and at the outputs of the

CY8C34 has multiple internal and external reset sources             corresponding internal regulators. The trip level is not precise.

available. The reset sources are:                                   It is set to approximately 1 volt, which is below the lowest

„ Power source monitoring – The analog and digital power            specified operating voltage but high enough for the internal

voltages, Vdda, Vddd, Vcca, and Vccd are monitored in several       circuits to be reset and to hold their reset state. The monitor

different modes during power up, active mode, and sleep mode        generates a reset pulse that is at least 100 ns wide. It may be

(buzzing). If any of the voltages goes outside predetermined        much wider if one or more of the voltages ramps up slowly.

ranges then a reset is generated. The monitors are                  To save power the IPOR circuit is disabled when the internal

programmable to generate an interrupt to the processor under        digital supply is stable. Voltage supervision is then handed off

certain conditions before reaching the reset thresholds.            to the precise low voltage reset (PRES) circuit. When the

„ External – The device can be reset from an external source by     voltage is high enough for PRES to release, the IMO starts.

pulling the reset pin (XRES) low. The XRES pin includes an          „ PRES – Precise Low Voltage Reset

internal pull-up to Vddio1. Vddd, Vdda, and Vddio1 must all         This     circuit  monitors  the   outputs     of  the  analog     and  digital

have voltage applied before the part comes out of reset.            internal regulators after power up. The regulator outputs are

„ Watchdog timer – A watchdog timer monitors the execution of       compared to a precise reference voltage. The response to a

instructions by the processor. If the watchdog timer is not reset   PRES trip is identical to an IPOR reset.

by firmware within a certain period of time, the watchdog timer     In normal operating mode, the program cannot disable the

generates a reset.                                                  digital PRES circuit. The analog regulator can be disabled,

„ Software – The device can be reset under program control.         which also disables the analog portion of the PRES. The PRES

                                                                    circuit is disabled automatically during sleep and hibernate

                                                                    modes, with one exception: During sleep mode the regulators

                                                                    are      periodically  activated  (buzzed)        to  provide     supervisory

                                                                    services and to reduce wakeup time. At these times the PRES

                                                                    circuit is also buzzed to allow periodic voltage monitoring.

Document Number: 001-53304 Rev. *L                                                                                         Page 31 of 127
                                                                                                      PSoC® 3: CY8C34 Family

                                                                                                                            Data Sheet

„ ALVI, DLVI, AHVI – Analog/Digital Low Voltage Interrupt,                   6.4  I/O System and Routing

Analog High Voltage Interrupt                                                PSoC I/Os are extremely flexible. Every GPIO has analog and

Interrupt circuits are available to detect when VDDA and VDDD                digital I/O capability. All I/Os have a large number of drive modes,

go outside a voltage range. For AHVI, VDDA is compared to a                  which are set at POR. PSoC also provides up to four individual

fixed    trip  level.  For  ALVI  and  DLVI,   VDDA     and  VDDD       are  I/O voltage domains through the VDDIO pins.

compared to trip levels that are programmable, as listed in                  There are two types of I/O pins on every device; those with USB

Table 6-5. ALVI and DLVI can also be configured to generate                  provide a third type. Both General Purpose I/O (GPIO) and

a device reset instead of an interrupt.                                      Special I/O (SIO) provide similar digital functionality. The primary

Table 6-5. Analog/Digital Low Voltage Interrupt, Analog High                 differences are their analog capability and drive strength.

Voltage Interrupt                                                            Devices that include USB also provide two USBIO pins that

                                                                             support specific USB functionality as well as limited GPIO

                            Normal     Available Trip                        capability.

Interrupt      Supply       Voltage         Settings         Accuracy        All I/O pins are available for use as digital inputs and outputs for


DLVI           VDDD    1.71 V to       1.70 V to 5.45 V       ±2%            both the CPU and digital peripherals. In addition, all I/O pins can

                       5.5 V           in 250 mV                             generate an interrupt. The flexible and advanced capabilities of

                                       increments                            the PSoC I/O, combined with any signal to any pin routability,

                                                                             greatly simplify circuit design and board layout. All GPIO pins can
                                                                             be used for analog input, CapSense[14], and LCD segment drive,
ALVI           VDDA    1.71 V to       1.70 V to 5.45 V       ±2%

                       5.5 V           in 250 mV                             while SIO pins are used for voltages in excess of VDDA and for

                                       increments                            programmable output voltages.

AHVI           VDDA    1.71 V to       5.75 V                 ±2%            „ Features supported by both GPIO and SIO:

                       5.5 V                                                 ‡ User programmable port reset state

The monitors are disabled until after IPOR. During sleep mode                ‡ Separate I/O supplies and voltages for up to four groups of I/O

these circuits are periodically activated (buzzed). If an interrupt          ‡ Digital peripherals use DSI to connect the pins

occurs during buzzing then the system first enters its wake up               ‡ Input or output or both for CPU and DMA

sequence.      The     interrupt  is  then  recognized   and  may       be   ‡ Eight drive modes

serviced.                                                                    ‡ Every pin can be an interrupt source configured as rising  Other Reset Sources                                                      edge, falling edge or both edges. If required, level sensitive

„ XRES – External Reset                                                           interrupts are supported through the DSI

                                                                             ‡ Dedicated port interrupt vector for each port

PSoC 3 has either a single GPIO pin that is configured as an                 ‡ Slew rate controlled digital output drive mode

external reset or a dedicated XRES pin. Either the dedicated                 ‡ Access port control and configuration registers on either port

XRES pin or the GPIO pin, if configured, holds the part in reset                  basis or pin basis

while held active (low). The response to an XRES is the same                 ‡ Separate port read (PS) and write (DR) data registers to avoid

as to an IPOR reset.                                                              read modify write errors

The external reset is active low. It includes an internal pull-up            ‡ Special functionality on a pin by pin basis

resistor. XRES is active during sleep and hibernate modes.                   „ Additional features only provided on the GPIO pins:

„ SRES – Software Reset                                                      ‡ LCD segment drive on LCD equipped devices

A reset can be commanded under program control by setting                    ‡ CapSense[14]

a bit in the software reset register. This is done either directly           ‡ Analog input and output capability

by the program or indirectly by DMA access. The response to                  ‡ Continuous 100 µA clamp current capability

a SRES is the same as after an IPOR reset.

Another register bit exists to disable this function.                        ‡ Standard drive strength down to 1.7 V

„ WRES – Watchdog Timer Reset                                                „ Additional features only provided on SIO pins:

                                                                             ‡ Higher drive strength than GPIO

The watchdog reset detects when the software program is no                   ‡ Hot swap capability (5 V tolerance at any operating VDD)

longer being executed correctly. To indicate to the watchdog                 ‡ Programmable and regulated high input and output drive

timer that it is running correctly, the program must periodically                 levels down to 1.2 V

reset the timer. If the timer is not reset before a user-specified

amount of time, then a reset is generated.                                   ‡ No analog input, CapSense, or LCD capability

Note IPOR disables the watchdog function. The program must                   ‡ Over voltage tolerance up to 5.5 V

enable the watchdog function at an appropriate point in the                  ‡ SIO can act as a general purpose analog comparator

code by setting a register bit. When this bit is set, it cannot be

cleared again except by an IPOR power-on reset event.


14. GPIOs with opamp outputs are not recommended for use with CapSense

Document Number: 001-53304 Rev. *L                                                                                              Page 32 of 127
                                                                                                           PSoC® 3: CY8C34 Family

                                                                                                                                        Data Sheet

„  USBIO features:                                                                    ‡ Input, output, or both for digital peripherals

   ‡ Full speed USB 2.0 compliant I/O                                                 ‡ Digital output (CMOS) drive mode

   ‡ Highest drive strength for general purpose   use                                 ‡ Each pin can be an interrupt source configured  as  rising

   ‡ Input, output, or both for CPU and DMA                                           edge, falling edge, or both edges

                                                     Figure 6-8.        GPIO     Block Diagram

                    Digital Input Path                                                              Naming Convention

                         PRT[x]CTL                                                                  ‘x’ = Port Number

                         PRT[x]DBL_SYNC_IN                                                          ‘y’ = Pin Number


                         Digital System Input


                         PICU[x]INTSTAT                                       Input Buffer Disable

                         Pin Interrupt Signal                Interrupt



                    Digital Output Path



                                                                                                    Vddio Vddio

                         PRT[x]DR                         0

                         Digital System Output                          In

                                                          1                                         Vddio


                         PRT[x]DM2                                      Drive         Slew

                         PRT[x]DM1                                      Logic         Cntl                             PIN


                         Bidirectional Control

                         PRT[x]BIE                                      OE

                    Analog                        1


                                                       1     0

                         Capsense Global Control             1

                         CAPS[x]CFG1                                        Switches


                         Analog Global Enable


                         Analog Mux Enable



                         PRT[x]LCD_COM_SEG                              Data

                         PRT[x]LCD_EN                                   Logic & MUX

                         LCD Bias Bus                5

Document Number: 001-53304 Rev. *L                                                                                                      Page 33 of 127
                                                                                                                PSoC® 3:        CY8C34 Family

                                                                                                                                Data Sheet

                                       Figure 6-9.        SIO Input/Output Block Diagram

                              Digital Input Path                                                        Naming Convention

                              PRT[x]SIO_HYST_EN                                                         ‘x’ = Port Number

                              PRT[x]SIO_DIFF                                      Buffer                ‘y’ = Pin Number

                              Reference Level                                 Thresholds



                              Digital System Input


                              PICU[x]INTSTAT                                      Input Buffer Disable

                              Pin Interrupt Signal                 Interrupt



                              Digital Output Path

                              Reference Level

                              PRT[x]SIO_CFG                                                             Driver

                              PRT[x]SLW                                                                 Vhigh


                              PRT[x]DR                          0

                              Digital System Output                           In



                              PRT[x]DM2                                       Drive

                              PRT[x]DM1                                       Logic       Slew                             PIN

                              PRT[x]DM0                                                   Cntl

                              Bidirectional Control

                              PRT[x]BIE                                       OE

                                                  Figure  6-10. USBIO                Block  Diagram

                              Digital Input Path                                                        Naming Convention

                                                                                                        ‘x’ = Port Number

                                                                                                        ‘y’ = Pin Number

                              USB Receiver Circuitry



                              Digital System Input



                              Pin Interrupt Signal                 Interrupt



                              Digital Output Path

                              PRT[x]SYNC_OUT                                                            D+ pin only

                              USBIO_CR1[7]                                    USB or I/O

                              USB SIE Control for USB     Mode                              Vddd  Vddd  Vddd Vddd

                              USBIO_CR1[4,5]                    0

                              Digital System Output                           In

                                                                1                 Drive           5k    1.5 k

                              PRT[x]BYP                                           Logic


                              USBIO_CR1[2]                                    D+ 1.5 k

                              USBIO_CR1[3]                                    D+D- 5 k

                              USBIO_CR1[6]                                    Open Drain

Document  Number:  001-53304  Rev. *L                                                                                           Page 34 of 127
                                                                                                                    PSoC® 3: CY8C34 Family

                                                                                                                                                Data Sheet

6.4.1  Drive Modes                                                                        if bypass mode is selected. Note that the actual I/O pin voltage

Each GPIO and SIO pin is individually configurable into one of                            is determined by a combination of the selected drive mode and

the eight drive modes listed in Table 6-6. Three configuration bits                       the load at the pin. For example, if a GPIO pin is configured for

are used for each pin (DM[2:0]) and set in the PRTxDM[2:0]                                resistive pull-up mode and driven high while the pin is floating,

registers. Figure 6-11 depicts a simplified pin view based on                             the voltage measured at the pin is a high logic state. If the same

each of the eight drive modes. Table 6-6 shows the I/O pin’s drive                        GPIO pin is externally tied to ground then the voltage

state based on the port data register value or digital array signal                       unmeasured at the pin is a low logic state.

                                                         Figure 6-11.                     Drive Mode

                                                                                          Vddio                     Vddio

                              DR                Pin  DR                  Pin  DR                        Pin  DR             Pin

                              PS                     PS                       PS                             PS

                              0.   High Impedance    1.  High Impedance       2.          Resistive          3.  Resistive

                                   Analog                Digital                          Pull-Up                Pull-Down

                                                                  Vddio                   Vddio                     Vddio

                              DR                Pin  DR                  Pin  DR                        Pin  DR             Pin

                              PS                     PS                       PS                             PS

                              4.   Open Drain,       5.  Open Drain,          6.          Strong Drive       7.  Resistive

                                   Drives Low            Drives High                                             Pull-Up and Pull-Down

Table 6-6.  Drive Modes

Diagram                       Drive Mode                 PRT×DM2                          PRT×DM1            PRT×DM0             PRT×DR = 1     PRT×DR = 0

       0    High impedence analog                                 0                       0                      0                      High Z    High Z

       1    High Impedance digital                                0                       0                      1                      High Z    High Z

       2    Resistive pull-up[15]                                 0                       1                      0               Res High (5K)  Strong Low

       3    Resistive pull-down[15]                               0                       1                      1               Strong High    Res Low (5K)

       4    Open drain, drives low                                1                       0                      0                      High Z  Strong Low

       5    Open drain, drive high                                1                       0                      1               Strong High      High Z

       6    Strong drive                                          1                       1                      0               Strong High    Strong Low

       7    Resistive pull-up and pull-down[15]                   1                       1                      1               Res High (5K)  Res Low (5K)

„ High impedance analog                                                                   To achieve the lowest chip current in sleep modes, all I/Os

The default reset state with both the output driver and digital                           must either be configured to the high impedance analog mode,

input buffer turned off. This prevents any current from flowing                           or have their pins driven to a power supply rail by the PSoC

in the I/O’s digital input buffer due to a floating voltage. This                         device or by external circuitry.

state is recommended for pins that are floating or that support                           „ High impedance digital

an analog voltage. High impedance analog pins do not provide                              The input buffer is enabled for digital signal input. This is the

digital input functionality.                                                              standard high impedance (High Z) state recommended for

                                                                                          digital inputs.


15. Resistive pull-up and pull-down are not available with SIO in regulated output mode.

Document Number: 001-53304 Rev. *L                                                                                                              Page 35 of 127
                                                                                               PSoC® 3: CY8C34 Family

                                                                                                                   Data Sheet

„  Resistive pull-up or resistive pull-down                             less than 1 MHz. The fast slew rate is for signals between 1 MHz

   Resistive pull-up or pull-down, respectively, provides a series      and 33 MHz. The slew rate is individually configurable for each

   resistance in one of the data states and strong drive in the         pin, and is set by the PRTxSLW registers.

   other. Pins can be used for digital input and output in these        6.4.5  Pin Interrupts

   modes.  Interfacing  to    mechanical     switches  is  a  common

   application for these modes. Resistive pull-up and pull-down         All GPIO and SIO pins are able to generate interrupts to the

   are not available with SIO in regulated output mode.                 system. All eight pins in each port interface to their own Port

„                                                                       Interrupt Control Unit (PICU) and associated interrupt vector.

   Open drain, drives high and open drain, drives low                   Each pin of the port is independently configurable to detect rising

   Open drain modes provide high impedance in one of the data           edge, falling edge, both edge interrupts, or to not generate an

   states and strong drive in the other. Pins can be used for digital   interrupt.

   input and output in these modes. A common application for            Depending on the configured mode for each pin, each time an
   these modes is driving the I2C bus signal lines.
                                                                        interrupt event occurs on a pin, its corresponding status bit of the

„  Strong drive                                                         interrupt status register is set to “1” and an interrupt request is

                                                                        sent to the interrupt controller. Each PICU has its own interrupt

   Provides a strong CMOS output drive in either high or low            vector in the interrupt controller and the pin status register

   state. This is the standard output mode for pins. Strong Drive       providing easy determination of the interrupt source down to the

   mode    pins  must   not   be  used    as   inputs  under  normal    pin level.

   circumstances. This mode is often used to drive digital output       Port pin interrupts remain active in all sleep modes allowing the

   signals or external FETs.                                            PSoC device to wake from an externally generated interrupt.

„  Resistive pull-up and pull-down                                      While level sensitive interrupts are not directly supported;

   Similar to the resistive pull-up and resistive pull-down modes       Universal Digital Blocks (UDB) provide this functionality to the

   except the pin is always in series with a resistor. The high data    system when needed.

   state is pull-up while the low data state is pull-down. This mode

   is most often used when other signals that may cause shorts          6.4.6  Input Buffer Mode

   can drive the bus. Resistive pull-up and pull-down are not           GPIO and SIO input buffers can be configured at the port level

   available with SIO in regulated output mode.                         for the default CMOS input thresholds or the optional LVTTL

6.4.2  Pin Registers                                                    input thresholds. All input buffers incorporate Schmitt triggers for

                                                                        input hysteresis. Additionally, individual pin input buffers can be

Registers to configure and interact with pins come in two forms         disabled in any drive mode.

that may be used interchangeably.

All I/O registers are available in the standard port form, where        6.4.7  I/O Power Supplies

each bit of the register corresponds to one of the port pins. This      Up to four I/O pin power supplies are provided depending on the

register form is efficient for quickly reconfiguring multiple port      device and package. Each I/O supply must be less than or equal

pins at the same time.                                                  to the voltage on the chip’s analog (VDDA) pin. This feature allows

I/O registers are also available in pin form, which combines the        users to provide different I/O voltage levels for different pins on

eight most commonly used port register bits into a single register      the device. Refer to the specific device package pinout to

for each pin. This enables very fast configuration changes to           determine VDDIO capability for a given port and pin.

individual pins with a single register write.                           The SIO port pins support an additional regulated high output

                                                                        capability, as described in Adjustable Output Level.

6.4.3  Bidirectional Mode

High-speed bidirectional capability allows pins to provide both         6.4.8  Analog Connections

the high impedance digital drive mode for input signals and a           These connections apply only to GPIO pins. All GPIO pins may

second user selected drive mode such as strong drive (set using         be used as analog inputs or outputs. The analog voltage present

PRT×DM[2:0] registers) for output signals on the same pin,              on the pin must not exceed the VDDIO supply voltage to which

based on the state of an auxiliary control bus signal. The              the GPIO belongs. Each GPIO may connect to one of the analog

bidirectional capability is useful for processor busses and             global busses or to one of the analog mux buses to connect any

communications interfaces such as the SPI Slave MISO pin that           pin to any internal analog resource such as ADC or comparators.

requires dynamic hardware control of the output buffer.                 In addition, select pins provide direct connections to specific

The auxiliary control bus routes up to 16 UDB or digital peripheral     analog features such as the high current DACs or uncommitted

generated output enable signals to one or more pins.                    opamps.

6.4.4  Slew Rate Limited Mode                                           6.4.9  CapSense

GPIO and SIO pins have fast and slow output slew rate options           This section applies only to GPIO pins. All GPIO pins may be
                                                                        used to create CapSense buttons and sliders[16]. See the
for strong and open drain drive modes, not resistive drive modes.
                                                                        “CapSense” section on page 59 for more information.
Because it results in reduced EMI, the slow edge rate option is

recommended for signals that are not speed critical, generally


16. GPIOs with opamp outputs are not recommended for use with CapSense

Document Number: 001-53304 Rev. *L                                                                                 Page 36 of 127
                                                                                         PSoC® 3: CY8C34 Family

                                                                                                            Data Sheet

6.4.10  LCD Segment Drive                                             Figure 6-12. SIO   Reference for Input and Output

This section applies only to GPIO pins. All GPIO pins may be          Input Path

used to generate Segment and Common drive signals for direct

glass drive of LCD glass. See the “LCD Direct Drive” section on

page 58 for details.                                                  Digital


6.4.11  Adjustable Output Level                                                                  Vinref

This section applies only to SIO pins. SIO port pins support the

ability to provide a regulated high output level for interface to

external signals that are lower in voltage than the SIO’s

respective Vddio. SIO pins are individually configurable to output

either the standard VDDIO level or the regulated output, which is             SIO_Ref            Reference

based on an internally generated reference. Typically a voltage                                  Generator

DAC (VDAC) is used to generate the reference (see Figure                                                                                PIN

6-12). The “DAC” section on page 59 has more details on VDAC                                     Voutref

use and reference routing to the SIO pins. Resistive pull-up and      Output Path

pull-down drive modes are not available with SIO in regulated                                    Driver

output mode.                                                                                     Vhigh

6.4.12  Adjustable Input Level

This section applies only to SIO pins. SIO pins by default support

the standard CMOS and LVTTL input levels but also support a           Digital

differential mode with programmable levels. SIO pins are                                 Drive

grouped into pairs. Each pair shares a reference generator block      Output             Logic

which, is used to set the digital input buffer reference level for

interface to external signals that differ in voltage from VDDIO. The

reference sets the pins voltage threshold for a high logic level

(see Figure 6-12). Available input thresholds are:

„ 0.5 × VDDIO

„ 0.4 × VDDIO                                                         6.4.13  SIO as Comparator

„ 0.5 × VREF                                                          This section applies only to SIO pins. The adjustable input level

„ VREF                                                                feature of the SIOs as explained in the Adjustable Input Level

                                                                      section can be used to construct a comparator. The threshold for

Typically a voltage DAC (VDAC) generates the VREF reference.          the comparator is provided by the SIO's reference generator. The

“DAC” section on page 59 has more details on VDAC use and             reference generator has the option to set the analog signal

reference routing to the SIO pins.                                    routed through the analog global line as threshold for the

                                                                      comparator. Note that a pair of SIO pins share the same


                                                                      The digital input path in Figure 6-9 on page 34 illustrates this

                                                                      functionality. In the figure, ‘Reference level’ is the analog signal

                                                                      routed through the analog global. The hysteresis feature can

                                                                      also be enabled for the input buffer of the SIO, which increases

                                                                      noise immunity for the comparator.

                                                                      6.4.14  Hot Swap

                                                                      This section applies only to SIO pins. SIO pins support ‘hot swap’

                                                                      capability to plug into an application without loading the signals

                                                                      that are connected to the SIO pins even when no power is

                                                                      applied to the PSoC device. This allows the unpowered PSoC to

                                                                      maintain a high impedance load to the external device while also

                                                                      preventing the PSoC from being powered through a GPIO pin’s

                                                                      protection diode.

Document Number: 001-53304 Rev. *L                                                                          Page 37 of 127
                                                                                                    PSoC® 3: CY8C34 Family

                                                                                                                                          Data Sheet

6.4.15  Over Voltage Tolerance                                         ‡ High current IDAC outputs

All I/O pins provide an over voltage tolerance feature at any          ‡ External reference inputs

operating VDD.                                                         6.4.19       JTAG Boundary Scan

„ There are no current limitations for the SIO pins as they present a  The device supports standard JTAG boundary scan chains on all

high impedance load to the external circuit where Vddio < VIN <        I/O pins for board level test.

5.5 V.

„ The GPIO pins must be limited to 100 µA using a current limiting     7.  Digital Subsystem

resistor. GPIO pins clamp the pin voltage to approximately one         The digital programmable system creates application specific

diode above the Vddio supply where Vddio < VIN < VDDA.                 combinations of both standard and advanced digital peripherals

„ In case of a GPIO pin configured for analog input/output, the        and custom logic functions. These peripherals and logic are then

analog voltage on the pin must not exceed the Vddio supply             interconnected to each other and to any pin on the device,

voltage to which the GPIO belongs.                                     providing a high level of design flexibility and IP security.

A common application for this feature is connection to a bus such      The features of the digital programmable system are outlined
as I2C where different devices are running from different supply
voltages. In the I2C case, the PSoC chip is configured into the        here to provide an overview of capabilities and architecture. You

                                                                       do not need to interact directly with the programmable digital

Open Drain, Drives Low mode for the SIO pin. This allows an            system at the hardware and register level. PSoC Creator
external pull-up to pull the I2C bus voltage above the PSoC pin
                                                                       provides a high level schematic capture graphical interface to

supply. For example, the PSoC chip could operate at 1.8 V, and         automatically place and route resources similar to PLDs.

an external device could run from 5 V. Note that the SIO pin’s VIH     The main components of the digital programmable system are:

and VIL levels are determined by the associated Vddio supply

pin.                                                                   „ Universal Digital Blocks (UDB) – These form the core

The I/O pin must be configured into a high impedance drive             functionality of the digital programmable system. UDBs are a

mode, open drain low drive mode, or pull-down drive mode, for          collection of uncommitted logic (PLD) and structural logic

over voltage tolerance to work properly. Absolute maximum              (Datapath) optimized to create all common embedded

ratings for the device must be observed for all I/O pins.              peripherals and customized functionality that are application or

                                                                       design specific.

6.4.16  Reset Configuration                                            „ Universal Digital Block Array – UDB blocks are arrayed within

While reset is active all I/Os are reset to and held in the High       a matrix of programmable interconnect. The UDB array

Impedance Analog state. After reset is released, the state can be      structure is homogeneous and allows for flexible mapping of

reprogrammed on a port-by-port basis to pull-down or pull-up. To       digital functions onto the array. The array supports extensive

ensure correct reset operation, the port reset configuration data      and flexible routing interconnects between UDBs and the

is stored in special nonvolatile registers. The stored reset data is   Digital System Interconnect.

automatically transferred to the port reset configuration registers    „ Digital System Interconnect (DSI) – Digital signals from

at reset release.                                                      Universal Digital Blocks (UDBs), fixed function peripherals, I/O

6.4.17  Low-Power Functionality                                        pins, interrupts, DMA, and other system core signals are

In all low-power modes the I/O pins retain their state until the part  attached to the Digital System Interconnect to implement full

is awakened and changed or reset. To awaken the part, use a            featured device connectivity. The DSI allows any digital function

pin interrupt, because the port interrupt logic continues to           to any pin or other feature routability when used with the

function in all low-power modes.                                       Universal Digital Block Array.

6.4.18  Special Pin Functionality                                      Figure 7-1. CY8C34 Digital Programmable Architecture

Some pins on the device include additional special functionality                                    Digital Core System

                                                                                               and Fixed Function Peripherals

in addition to their GPIO or SIO functionality. The specific special       Port                                                           Port

function pins are listed in Pinouts on page 5. The special features        IO                                                             IO

are:                                                                                                DSI Routing Interface

„ Digital                                                                                      UDB  UDB  UDB  UDB

‡ 4 to 25 MHz crystal oscillator                                                               UDB  UDB  UDB  UDB

‡ 32.768-kHz crystal oscillator                                                     UDB Array  UDB  UDB  UDB  UDB              UDB Array

‡ Wake from sleep on I2C address match. Any pin can be used
      for I2C if wake from sleep is not required.
                                                                                               UDB  UDB  UDB  UDB

‡ JTAG interface pins                                                                          UDB  UDB  UDB  UDB

‡ SWD interface pins                                                                           UDB  UDB  UDB  UDB

‡ SWV interface pins                                                                                DSI Routing Interface

‡ External reset                                                           IO Port                                                        IO Port

„ Analog                                                                                            Digital Core System

‡ Opamp inputs and outputs                                                                     and Fixed Function Peripherals

Document Number: 001-53304 Rev. *L                                                                                                        Page 38 of 127
                                                                                          PSoC® 3: CY8C34 Family

                                                                                                                        Data Sheet

7.1    Example Peripherals                                           ‡ Voltage

The flexibility of the CY8C34 family’s Universal Digital Blocks      ‡ PWM

(UDBs) and Analog Blocks allow the user to create a wide range       „ Comparators

of components (peripherals). The most common peripherals             „ Mixers

were built and characterized by Cypress and are shown in the

PSoC Creator component catalog, however, users may also              7.1.3  Example System Function Components

create their own custom components using PSoC Creator. Using

PSoC Creator, users may also create their own components for         The following is a sample of the system function components

reuse within their organization, for example sensor interfaces,      available in PSoC Creator for the CY8C34 family. The exact

proprietary algorithms, and display interfaces.                      amount of hardware resources (UDBs, SC/CT blocks, routing,

The number of components available through PSoC Creator is           RAM, flash) used by a component varies with the features

too numerous to list in the data sheet, and the list is always       selected in PSoC Creator for the component.

growing. An example of a component available for use in              „ CapSense

CY8C34 family, but, not explicitly called out in this data sheet is  „ LCD Drive

the UART component.

7.1.1  Example Digital Components                                    „ LCD Control

The following is a sample of the digital components available in     7.1.4  Designing with PSoC Creator

PSoC Creator for the CY8C34 family. The exact amount of       More Than a Typical IDE

hardware resources (UDBs, routing, RAM, flash) used by a

component varies with the features selected in PSoC Creator for      A successful design tool allows for the rapid development and

the component.                                                       deployment of both simple and complex designs. It reduces or

„ Communications                                                     eliminates any learning curve. It makes the integration of a new

‡ I2C                                                                design into the production stream straightforward.

‡ UART                                                               PSoC Creator is that design tool.

‡ SPI                                                                PSoC Creator is a full featured Integrated Development

„ Functions                                                          Environment (IDE) for hardware and software design. It is

                                                                     optimized specifically for PSoC devices and combines a modern,

‡ EMIF                                                               powerful software development platform with a sophisticated

‡ PWMs                                                               graphical design tool. This unique combination of tools makes

‡ Timers                                                             PSoC Creator the most flexible embedded design platform

‡ Counters                                                           available.

„ Logic                                                              Graphical design entry simplifies the task of configuring a

‡ NOT                                                                particular part. You can select the required functionality from an

‡ OR                                                                 extensive catalog of components and place it in your design. All

                                                                     components are parameterized and have an editor dialog that

‡ XOR                                                                allows you to tailor functionality to your needs.

‡ AND                                                                PSoC Creator automatically configures clocks and routes the I/O

7.1.2  Example Analog Components                                     to the selected pins and then generates APIs to give the

The following is a sample of the analog components available in      application complete control over the hardware. Changing the

PSoC Creator for the CY8C34 family. The exact amount of              PSoC device configuration is as simple as adding a new

hardware resources (SC/CT blocks, routing, RAM, flash) used          component, setting its parameters, and rebuilding the project.

by a component varies with the features selected in PSoC             At any stage of development you are free to change the

Creator for the component.                                           hardware configuration and even the target processor. To

„ Amplifiers                                                         retarget your application (hardware and software) to new

                                                                     devices, even from 8- to 32-bit families, just select the new

‡ TIA                                                                device and rebuild.

‡ PGA                                                                You also have the ability to change the C compiler and evaluate

‡ opamp                                                              an alternative. Components are designed for portability and are

„ ADC                                                                validated against all devices, from all families, and against all

‡ Delta-Sigma                                                        supported tool chains. Switching compilers is as easy as editing

                                                                     the from the project options and rebuilding the application with

„ DACs                                                               no errors from the generated APIs or boot code.

‡ Current

Document Number: 001-53304 Rev. *L                                                                                       Page 39 of 127
                                                                        PSoC®  3:  CY8C34 Family

                                                                                   Data Sheet

                                    Figure 7-2. PSoC Creator Framework

Document Number: 001-53304 Rev. *L                                                 Page 40 of 127
                                                                              PSoC®                   3:  CY8C34 Family

                                                                                                          Data Sheet  Component Catalog                                   Software Development

Figure 7-3. Component Catalog                                      Figure   7-4. Code Editor

                                                                   Anchoring the tool is a modern, highly customizable user

                                                                   interface. It includes project management and integrated editors

                                                                   for C and assembler source code, as well the design entry tools.

                                                                   Project build control leverages compiler technology from top
                                                                   commercial vendors such as ARM® Limited, Keil™, and

                                                                   CodeSourcery (GNU). Free versions of Keil C51 and GNU C

                                                                   Compiler (GCC) for ARM, with no restrictions on code size or end

                                                                   product distribution, are included with the tool distribution.

                                                                   Upgrading to more optimizing compilers is a snap with support

                                                                   for the professional Keil C51 product and ARM RealView™

The component catalog is a repository of reusable design           compiler.

elements that select device functionality and customize your    Nonintrusive Debugging

PSoC device. It is populated with an impressive selection of

content; from simple primitives such as logic gates and device     Figure 7-5. PSoC Creator Debugger

registers, through the digital timers, counters and PWMs, plus

analog components such as ADC, DACs, and filters, and
communication protocols, such as I2C, USB, and CAN. See

Example Peripherals on page 39 for more details about available

peripherals. All content is fully characterized and carefully

documented in data sheets with code examples, AC/DC

specifications, and user code ready APIs.  Design Reuse

The symbol editor gives you the ability to develop reusable

components that can significantly reduce future design time. Just

draw a symbol and associate that symbol with your proven

design. PSoC Creator allows for the placement of the new

symbol anywhere in the component catalog along with the

content provided by Cypress. You can then reuse your content

as many times as you want, and in any number of projects,

without ever having to revisit the details of the implementation.

                                                                   With JTAG (4-wire) and SWD (2-wire) debug connectivity

                                                                   available on all devices, the PSoC Creator debugger offers full

                                                                   control over the target device with minimum intrusion.

                                                                   Breakpoints and code execution commands are all readily

                                                                   available from toolbar buttons and an impressive lineup of

                                                                   windows—register, locals, watch, call stack, memory and

                                                                   peripherals—make for an unparalleled level of visibility into the


Document Number: 001-53304 Rev. *L                                                                        Page 41 of 127
                                                                                              PSoC® 3: CY8C34 Family

                                                                                                                                  Data Sheet

PSoC Creator contains all the tools necessary to complete a          also contains input/output FIFOs, which are the primary parallel

design, and then to maintain and extend that design for years to     data interface between the CPU/DMA system and the UDB.

come. All steps of the design flow are carefully integrated and      „ Status and Control Module – The primary role of this block is

optimized for ease-of-use and to maximize productivity.              to provide a way for CPU firmware to interact and synchronize

7.2  Universal Digital Block                                         with UDB operation.

The Universal Digital Block (UDB) represents an evolutionary         „ Clock and Reset Module – This block provides the UDB clocks

step to the next generation of PSoC embedded digital peripheral      and reset selection and control.

functionality. The architecture in first generation PSoC digital     7.2.1  PLD Module

blocks provides coarse programmability in which a few fixed

functions with a small number of options are available. The new      The primary purpose of the PLD blocks is to implement logic

UDB architecture is the optimal balance between configuration        expressions, state machines, sequencers, lookup tables, and

granularity and efficient implementation. A cornerstone of this      decoders. In the simplest use model, consider the PLD blocks as

approach is to provide the ability to customize the devices digital  a standalone resource onto which general purpose RTL is

operation to match application requirements.                         synthesized and mapped. The more common and efficient use

To achieve this, UDBs consist of a combination of uncommitted        model is to create digital functions from a combination of PLD

logic (PLD), structured logic (Datapath), and a flexible routing     and datapath blocks, where the PLD implements only the

scheme to provide interconnect between these elements, I/O           random logic and state portion of the function while the datapath

connections, and other peripherals. UDB functionality ranges         (ALU) implements the more structured elements.

from simple self contained functions that are implemented in one     Figure 7-7. PLD 12C4 Structure

UDB, or even a portion of a UDB (unused resources are                                         PT0   PT1   PT2  PT3      PT4  PT5  PT6  PT7

available for other functions), to more complex functions that

require multiple UDBs. Examples of basic functions are timers,                           IN0  T  C  T  C  TC   TC   TC       TC   TC   T  C

counters, CRC generators, PWMs, dead band generators, and                                IN1  T  C  T  C  TC   TC   TC       TC   TC   T  C

communications functions, such as UARTs, SPI, and I2C. Also,                             IN2  T  C  T  C  TC   TC   TC       TC   TC   T  C

the PLD blocks and connectivity provide full featured general                            IN3  T  C  T  C  TC   TC   TC       TC   TC   T  C

purpose programmable logic within the limits of the available                            IN4  T  C  T  C  TC   TC   TC       TC   TC   T  C

resources.                                                                               IN5  T  C  T  C  TC   TC   TC       TC   TC   T  C  AND

Figure 7-6. UDB Block Diagram                                                            IN6  T  C  T  C  TC   TC   TC       TC   TC   T  C  Array

                                                                                         IN7  T  C  T  C  TC   TC   TC       TC   TC   T  C

     PLD                                                                                 IN8  T  C  T  C  TC   TC   TC       TC   TC   T  C

     Chaining                                                                            IN9  T  C  T  C  TC   TC   TC       TC   TC   T  C

                       PLD                    PLD                                       IN10  T  C  T  C  TC   TC   TC       TC   TC   T  C

     Clock             12C4                   12C4                                      IN11  T  C  T  C  TC   TC   TC       TC   TC   T  C

     and Reset         (8 PTs)                (8 PTs)                       SELIN

     Control                                                                (carry in)

                                                                     OUT0   MC0               T     T     T    T        T    T    T    T

     Status and                                                      OUT1   MC1               T     T     T    T        T    T    T    T

     Control                    Datapath                             OUT2   MC2               T     T     T    T        T    T    T    T

                                              Datapath               OUT3   MC3               T     T     T    T        T    T    T    T



                                                                            (carry out)                             OR


                       Routing Channel                               One 12C4 PLD block is shown in Figure 7-7. This PLD has 12

                                                                     inputs, which feed across eight product terms. Each product term

The main component blocks of the UDB are:                            (AND function) can be from 1 to 12 inputs wide, and in a given

                                                                     product term, the true (T) or complement (C) of each input can

„ PLD blocks – There are two small PLDs per UDB. These blocks        be selected. The product terms are summed (OR function) to

take inputs from the routing array and form registered or            create the PLD outputs. A sum can be from 1 to 8 product terms

combinational sum-of-products logic. PLDs are used to                wide. The 'C' in 12C4 indicates that the width of the OR gate (in

implement state machines, state bits, and combinational logic        this case 8) is constant across all outputs (rather than variable

equations. PLD configuration is automatically generated from         as in a 22V10 device). This PLA like structure gives maximum

graphical primitives.                                                flexibility and insures that all inputs and outputs are permutable

„ Datapath Module – This 8-bit wide datapath contains structured     for ease of allocation by the software tools. There are two 12C4

logic to implement a dynamically configurable ALU, a variety         PLDs in each UDB.

of compare configurations and condition generation. This block

Document Number: 001-53304 Rev. *L                                                                                                     Page 42 of 127
                                                                                                                                  PSoC® 3: CY8C34 Family

                                                                                                                                                                                                                    Data Sheet

7.2.2  Datapath Module

The datapath contains an 8-bit single cycle ALU, with associated compare and condition generation logic. This datapath block is

optimized to implement embedded functions, such as timers, counters, integrators, PWMs, PRS, CRC, shifters and dead band

generators and many others.

                                                                                        Figure 7-8. Datapath Top Level

                                                                                                     PHUB System Bus

                                                                                                          R/W Access to All




                   Input                                              Datapath Control                F0                                    Conditions: 2 Compares,  2 Zero Detect, 2 Ones  Detect Overflow Detect  Output

                Muxes         Control Store RAM                                                                                   A0                                                                                Muxes

Input from                                       8 Word X 16 Bit                                                                                                                                                            Output to

Programmable                                                                                                                      A1                                                                                6       Programmable

       Routing  6                                                                                     D1                          D0                                                                                        Routing


                                                                                                     Data Registers


                                                                                                                                  To/From                                                                           To/From

                                                                                                                                  Previous  Chaining                                                                Next

                                                                                                      A1                          Datapath                                                                          Datapath




                Parallel Input/Output

         (To/From Programmable Routing)




                                                                                                     Mask  Working Registers                                                                                 Dynamic Datapath Configuration RAM

The datapath contains six primary working registers, which are                                                     Dynamic configuration is the ability to change the datapath

accessed by CPU firmware or DMA during normal operation.                                                           function and internal configuration on a cycle-by-cycle basis,

Table 7-1. Working Datapath Registers                                                                              under sequencer control. This is implemented using the 8-word

                                                                                                                   × 16-bit configuration RAM, which stores eight unique 16-bit

Name            Function                                                                Description                wide configurations. The address input to this RAM controls the

A0 and A1       Accumulators                                      These are sources and sinks for                  sequence, and can be routed from any block connected to the

                                                                  the ALU and also sources for the                 UDB routing matrix, most typically PLD logic, I/O pins, or from

                                                                  compares.                                        the outputs of this or other datapath blocks.

D0 and D1       Data Registers                                    These are sources for the ALU                    ALU

                                                                  and sources for the compares.                    The ALU performs eight general purpose functions. They are:

F0 and F1       FIFOs                                             These are the primary interface to               „ Increment

                                                                  the system bus. They can be a

                                                                  data source for the data registers               „ Decrement

                                                                  and accumulators or they can                     „ Add

                                                                  capture data from the accumu-

                                                                  lators or ALU. Each FIFO is four                 „ Subtract

                                                                  bytes deep.

                                                                                                                   „ Logical AND

Document Number: 001-53304 Rev. *L                                                                                                                                                                                          Page 43 of 127
                                                                                            PSoC® 3: CY8C34 Family

                                                                                                                               Data Sheet

„ Logical OR                                                         Figure 7-9. Example FIFO Configurations

„ Logical XOR                                                               System Bus                                         System Bus

„ Pass, used to pass a value through the ALU to the shift register,

mask, or another UDB register                                                 F0                                        F0     F1

Independent of the ALU operation, these functions are available:

„ Shift left                                                                  D0/D1                                     D0     D1

                                                                            A0/A1/ALU       A0/A1/ALU     A0/A1/ALU     A0     A1

„ Shift right

„ Nibble swap                                                                 F1            F0              F1

„ Bitwise OR mask

                                                                            System Bus          System Bus  Conditionals                                                         TX/RX         Dual Capture                       Dual Buffer

Each datapath has two compares, with bit masking options.

Compare operands include the two accumulators and the two

data registers in a variety of configurations. Other conditions  Chaining

include zero detect, all ones detect, and overflow. These            The datapath can be configured to chain conditions and signals

conditions are the primary datapath outputs, a selection of which    such as carries and shift data with neighboring datapaths to

can be driven out to the UDB routing matrix. Conditional             create higher precision arithmetic, shift, CRC/PRS functions.

computation can use the built in chaining to neighboring UDBs

to operate on wider data widths without the need to use routing  Time Multiplexing

resources.                                                           In applications that are over sampled, or do not need high clock  Variable MSB                                                rates, the single ALU block in the datapath can be efficiently

The most significant bit of an arithmetic and shift function can be  shared with two sets of registers and condition generators. Carry

programmatically specified. This supports variable width CRC         and shift out data from the ALU are registered and can be

and PRS functions, and in conjunction with ALU output masking,       selected as inputs in subsequent cycles. This provides support

can implement arbitrary width timers, counters and shift blocks.     for 16-bit functions in one (8-bit) datapath.  Built in CRC/PRS                                    Datapath I/O

The datapath has built in support for single cycle Cyclic            There are six inputs and six outputs that connect the datapath to

Redundancy Check (CRC) computation and Pseudo Random                 the routing matrix. Inputs from the routing provide the

Sequence (PRS) generation of arbitrary width and arbitrary           configuration for the datapath operation to perform in each cycle,

polynomial. CRC/PRS functions longer than 8 bits may be              and the serial data inputs. Inputs can be routed from other UDB

implemented in conjunction with PLD logic, or built in chaining      blocks, other device peripherals, device I/O pins, and so on. The

may be use to extend the function into neighboring UDBs.             outputs to the routing can be selected from the generated

                                                                     conditions, and the serial data outputs. Outputs can be routed to  Input/Output FIFOs                                          other UDB blocks, device peripherals, interrupt and DMA

Each datapath contains two four-byte deep FIFOs, which can be        controller, I/O pins, and so on.

independently configured as an input buffer (system bus writes       7.2.3  Status and Control Module

to the FIFO, datapath internal reads the FIFO), or an output         The primary purpose of this circuitry is to coordinate CPU

buffer (datapath internal writes to the FIFO, the system bus reads   firmware interaction with internal UDB operation.

from the FIFO). The FIFOs generate status that are selectable

as datapath outputs and can therefore be driven to the routing,      Figure 7-10. Status and Control Registers

to interact with sequencers, interrupts, or DMA.                                            System Bus

                                                                     8-bit Status Register             8-bit Control Register

                                                                            (Read Only)                   (Write/Read)

                                                                                         Routing Channel

                                                                     The bits of the control register, which may be written to by the

                                                                     system bus, are used to drive into the routing matrix, and thus

                                                                     provide firmware with the opportunity to control the state of UDB

                                                                     processing. The status register is read-only and it allows internal

Document Number: 001-53304 Rev. *L                                                                                             Page 44 of 127
                                                                                PSoC® 3: CY8C34 Family

                                                                                                                       Data Sheet

UDB state to be read out onto the system bus directly from           Figure 7-11. Digital System Interface         Structure

internal routing. This allows firmware to monitor the state of UDB                             System Connections

processing. Each bit of these registers has programmable

connections to the routing matrix and routing connections are

made depending on the requirements of the application.                      HV                 HV                  HV              HV

                                                                            B                  A                   B               A    Usage Examples

As an example of control input, a bit in the control register can    UDB        UDB                UDB                        UDB

be allocated as a function enable bit. There are multiple ways to

enable a function. In one method the control bit output would be            HV                 HV                  HV              HV

routed to the clock control block in one or more UDBs and serve             A                  B                   A               B

as a clock enable for the selected UDB blocks. A status example

is a case where a PLD or datapath block generated a condition,       UDB        UDB                UDB                        UDB

such as a “compare true” condition that is captured and latched

by the status register and then read (and cleared) by CPU


                                                                     UDB        UDB                UDB                        UDB    Clock Generation

Each subcomponent block of a UDB including the two PLDs, the                HV                 HV                  HV              HV

datapath, and Status and Control, has a clock selection and                 B                  A                   B               A

control block. This promotes a fine granularity with respect to

allocating clocking resources to UDB component blocks and            UDB        UDB                UDB                        UDB

allows unused UDB resources to be used by other functions for

maximum system efficiency.                                                  HV                 HV                  HV              HV

7.3  UDB Array Description                                                  A                  B                   A               B

Figure 7-11 shows an example of a 16 UDB array. In addition to

the array core, there are a DSI routing interfaces at the top and                              System Connections

bottom of the array. Other interfaces that are not explicitly shown

include the system interfaces for bus and clock distribution. The

UDB array includes multiple horizontal and vertical routing          7.3.1  UDB Array Programmable Resources

channels each comprised of 96 wires. The wire connections to         Figure 7-12 shows an example of how functions are mapped into

UDBs, at horizontal/vertical intersection and at the DSI interface   a bank of 16 UDBs. The primary programmable resources of the

are highly permutable providing efficient automatic routing in       UDB are two PLDs, one datapath and one status/control register.

PSoC Creator. Additionally the routing allows wire by wire           These resources are allocated independently, because they

segmentation along the vertical and horizontal routing to further    have independently selectable clocks, and therefore unused

increase routing flexibility and capability.                         blocks are allocated to other unrelated functions.

                                                                     An example of this is the 8-bit Timer in the upper left corner of

                                                                     the array. This function only requires one datapath in the UDB,

                                                                     and therefore the PLD resources may be allocated to another

                                                                     function. A function such as a Quadrature Decoder may require

                                                                     more PLD logic than one UDB can supply and in this case can

                                                                     utilize the unused PLD blocks in the 8-bit Timer UDB.

                                                                     Programmable resources in the UDB array are generally

                                                                     homogeneous so functions can be mapped to arbitrary

                                                                     boundaries in the array.

Document Number: 001-53304 Rev. *L                                                                                       Page 45 of 127
                                                                                                      PSoC® 3: CY8C34 Family

                                                                                                                                                  Data Sheet

Figure 7-12. Function Mapping Example in a Bank of UDBs                     Figure 7-13. Digital System Interconnect

8-Bit      Quadrature Decoder      Sequencer  16-Bit      16-Bit PYRS       Timer     CAN             I2C          Interrupt           DMA        IO Port  Global

Timer                                         PWM                           Counters                         Controller               Controller  Pins     Clocks

       UDB      UDB                           UDB                UDB

            HV                 HV                     HV                HV

            A                  B                      A                 B

                                                                                                           Digital System Routing I/F

                UDB                           UDB                UDB

       UDB                                                8-Bit

                8-Bit SPI                                 Timer  Logic

I2C Slave                          12-Bit SPI                                                                UDB ARRAY

       UDB      UDB                           UDB                UDB

                                                                                                           Digital System Routing I/F

            HV                 HV                     HV                HV

            B                  A                      B                 A


       UDB      UDB                           UDB                UDB

UART                               12-Bit PWM                               Global    IO Port         EMIF   Del-Sig          SC/CT         DACs  Comparators

                                                                            Clocks    Pins                                    Blocks

7.4    DSI Routing Interface Description                                    Interrupt and DMA routing is very flexible in the CY8C34

The DSI routing interface is a continuation of the horizontal and           programmable architecture. In addition to the numerous fixed

vertical routing channels at the top and bottom of the UDB array            function peripherals that can generate interrupt requests, any

core. It provides general purpose programmable routing                      data signal in the UDB array routing can also be used to generate

between device peripherals, including UDBs, I/Os, analog                    a request. A single peripheral may generate multiple

peripherals, interrupts, DMA and fixed function peripherals.                independent interrupt requests simplifying system and firmware

Figure 7-13 illustrates the concept of the digital system                   design. Figure 7-14 shows the structure of the IDMUX

interconnect, which connects the UDB array routing matrix with              (Interrupt/DMA Multiplexer).

other device peripherals. Any digital core or fixed function                Figure 7-14. Interrupt and DMA Processing in the IDMUX

peripheral that needs programmable routing is connected to this                                       Interrupt and DMA Processing in IDMUX


Signals in this category include:                                           Fixed Function IRQs                                             0

„ Interrupt requests from all digital peripherals in the system.                                                                            1

„ DMA requests from all digital peripherals in the system.                                                                                                 Interrupt

                                                                                                             IRQs                                          Controller


„ Digital peripheral data signals that need flexible routing to I/Os.                            UDB  Array                   Edge

                                                                                                                              Detect        3

„ Digital peripheral data signals that need connections to UDBs.


„ Connections to the interrupt and DMA controllers.                                                                                               DMA  termout  (IRQs)

„ Connection to I/O pins.                                                                                                                   0

                                                                            Fixed Function DRQs                                                            DMA

„ Connection to analog system digital signals.                                                                                              1              Controller

                                                                                                                              Edge          2


                                                                            7.4.1  I/O Port Routing

                                                                            There are a total of 20 DSI routes to a typical 8-bit I/O port, 16

                                                                            for data and four for drive strength control.

                                                                            When an I/O pin is connected to the routing, there are two

                                                                            primary connections available, an input and an output. In

                                                                            conjunction with drive strength control, this can implement a

                                                                            bidirectional I/O pin. A data output signal has the option to be

                                                                            single synchronized (pipelined) and a data input signal has the

Document Number: 001-53304 Rev. *L                                                                                                                Page 46 of 127
                                                                                                       PSoC® 3: CY8C34 Family

                                                                                                                                       Data Sheet

option to be double synchronized. The synchronization clock is                The output enable signal is useful for creating tri-state

the system clock (see Figure 6-1). Normally all inputs from pins              bidirectional pins and buses.

are synchronized as this is required if the CPU interacts with the            Figure 7-17. I/O Pin Output Enable Connectivity

signal or any signal derived from it. Asynchronous inputs have

rare uses. An example of this is a feed through of combinational              4 IO Control Signal Connections from

PLD logic from input pins to output pins.                                     UDB Array Digital System Interface

Figure 7-15. I/O Pin Synchronization Routing



Figure 7-16. I/O Pin Output Connectivity                                           OE     OE       OE    OE                 OE  OE     OE    OE

                                                                                   PIN 0  PIN1     PIN2  PIN3       PIN4        PIN5   PIN6  PIN7

8 IO Data Output Connections from the

    UDB Array Digital System Interface

                                                                                                                    Port i

                                                                              7.5  CAN

                                                                              The CAN peripheral is a fully functional Controller Area Network

                                                                              (CAN) supporting communication baud rates up to 1 Mbps. The

                                                                              CAN controller implements the CAN2.0A and CAN2.0B

                                                                              specifications as defined in the Bosch specification and

                                                                              conforms to the ISO-11898-1 standard. The CAN protocol was

DO     DO    DO    DO                   DO    DO    DO    DO                  originally designed for automotive applications with a focus on a

PIN 0  PIN1  PIN2  PIN3                 PIN4  PIN5  PIN6  PIN7                high level of fault detection. This ensures high communication

                                                                              reliability at a low cost. Because of its success in automotive

                                                                              applications, CAN is used as a standard communication protocol

                         Port i                                               for motion oriented machine control networks (CANOpen) and

                                                                              factory automation applications (DeviceNet). The CAN controller

                                                                              features allow the efficient implementation of higher level

There are four more DSI connections to a given I/O port to                    protocols without affecting the performance of the

implement dynamic output enable control of pins. This                         microcontroller CPU. Full configuration support is provided in

connectivity gives a range of options, from fully ganged 8-bits               PSoC Creator.

controlled by one signal, to up to four individually controlled pins.

                                                  Figure 7-18. CAN Bus  System Implementation

             CAN Node 1                             CAN Node 2                                           CAN Node n




                   CAN Controller

             En          Tx   Rx

                 CAN Transceiver

             CAN_H            CAN_L                       CAN_H        CAN_L                                      CAN_H         CAN_L

                                                                                          CAN Bus

Document Number: 001-53304 Rev. *L                                                                                                     Page 47 of 127
                                                                                                       PSoC® 3: CY8C34 Family

                                                                                                                                   Data Sheet

7.5.1  CAN Features                                                  „ Receive path

„ CAN2.0A/B protocol implementation – ISO 11898 compliant            ‡ 16 receive buffers each with its own message filter

‡ Standard and extended frames with up to 8 bytes of data per        ‡ Enhanced hardware message filter implementation that

frame                                                                                covers the ID, IDE and RTR

‡ Message filter capabilities                                        ‡ DeviceNet addressing support

‡ Remote Transmission Request (RTR) support                          ‡ Multiple receive buffers linkable to build a larger receive

‡ Programmable bit rate up to 1 Mbps                                                 message array

                                                                     ‡ Automatic transmission request (RTR) response handler

„ Listen Only mode                                                   ‡ Lost received message notification

„ SW readable error counter and indicator                            „ Transmit path

„ Sleep mode: Wake the device from sleep with activity on the        ‡ Eight transmit buffers

Rx pin                                                               ‡ Programmable transmit priority

                                                                                     • Round robin

„ Supports two or three wire interface to external transceiver (Tx,                  • Fixed priority

Rx, and Enable). The three-wire interface is compatible with         ‡ Message transmissions abort capability

the Philips PHY; the PHY is not included on-chip. The three

wires can be routed to any I/O                                       7.5.2           Software Tools Support

„ Enhanced interrupt controller                                      CAN Controller configuration integrated into PSoC Creator:

‡ CAN receive and transmit buffers status                            „ CAN Configuration walkthrough with bit timing analyzer

‡ CAN controller error status including BusOff

                                                                     „ Receive filter setup

                                                  Figure 7-19. CAN Controller Block Diagram




                                       Tx Buffer  TxMessage1                                                                       Bit  Timing

                                       Status     TxReq

                                       TxReq      TxAbort


                                                                                     Priority                                                            Tx

                                                  TxMessage6                         Arbiter                 Tx            CRC

                                                  TxReq                                                CAN              Generator

                         TxInterrupt              TxAbort                                              Framer


                         (if enabled)



                                                  TxAbort                                              Error Status

                                                                                                                 Error Active

                                                                                                                 Error Passive

                                                  RTR RxMessages                                                 Bus Off

                                                           0-15                                        Tx Error Counter

                                                                                                       Rx Error Counter

              Rx Buffer  RxMessage0    Acceptance Code 0         Acceptance Mask 0


              RxMessage  RxMessage1    Acceptance Code 1         Acceptance Mask 1                                                                       Rx

              Available                                                                                      Rx

                                                                                     RxMessage         CAN           CRC Check

                                                                                     Handler           Framer

                         RxMessage14   Acceptance Code 14        Acceptance Mask 14


Request                  RxMessage15   Acceptance Code 15        Acceptance Mask 15

(if enabled)                                                                                                                                    WakeUp

                                                                                                       Error Detection                          Request


                                                                                     ErrInterrupt            Form

                                                                                     Request                 ACK

                                                                                     (if enabled)            Bit Stuffing

                                                                                                             Bit Error



Document Number: 001-53304 Rev. *L                                                                                                 Page 48 of 127
                                                                                           PSoC® 3: CY8C34 Family

                                                                                                                  Data Sheet

7.6         USB                                                     to any device pin and any internal digital signal accessible

PSoC includes a dedicated Full-Speed (12 Mbps) USB 2.0              through the DSI. Each of the four instances has a compare

transceiver supporting all four USB transfer types: control,        output, terminal count output (optional complementary compare

interrupt, bulk, and isochronous. PSoC Creator provides full        output), and programmable interrupt request line. The

configuration support. USB interfaces to hosts through two          Timer/Counter/PWMs are configurable as free running, one shot,

dedicated USBIO pins, which are detailed in the “I/O System and     or Enable input controlled. The peripheral has timer reset and

Routing” section on page 32.                                        capture inputs, and a kill input for control of the comparator

                                                                    outputs. The peripheral supports full 16-bit capture.

USB includes the following features:

„ Eight unidirectional data endpoints                               Timer/Counter/PWM features include:

„ One bidirectional control endpoint 0 (EP0)                        „ 16-bit Timer/Counter/PWM (down count only)

„ Shared 512-byte buffer for the eight data endpoints               „ Selectable clock source

„ Dedicated 8-byte buffer for EP0                                   „ PWM comparator (configurable for LT, LTE, EQ, GTE,            GT)

„ Three memory modes                                                „ Period reload on start, reset, and terminal count

‡ Manual Memory Management with No DMA Access                       „ Interrupt on terminal count, compare true, or capture

‡ Manual Memory Management with Manual DMA Access                   „ Dynamic counter reads

‡ Automatic Memory Management with Automatic DMA                    „ Timer capture mode


„ Internal 3.3-V regulator for transceiver                          „ Count while enable signal is asserted mode

„ Internal 48 MHz main oscillator mode that auto locks to USB       „ Free run mode

bus clock, requiring no external crystal for USB (USB equipped      „ One Shot mode (stop at end of period)

parts only)

„ Interrupts on bus and each endpoint event, with device wakeup     „ Complementary PWM outputs with deadband

„ USB Reset, Suspend, and Resume operations                         „ PWM output kill

„ Bus powered and self powered modes                                Figure 7-21. Timer/Counter/PWM

Figure 7-20. USB                                                    Clock                                IRQ

                                                                    Reset      Timer / Counter /

                                 512 X 8                            Enable             PWM 16-bit        TC / Compare!

                        Arbiter  SRAM                               Capture                              Compare


                                                External 22 Ω

System Bus                                  D+  Resistors

                        SIE      USB                                7.8   I2C

            (Serial Interface    I/O                                The I2C peripheral provides a synchronous two wire interface

                    Engine)                                         designed to interface the PSoC device with a two wire I2C serial

            Interrupts                      D–                      communication bus. The bus is compliant with Philips ‘The I2C

                    48 MHz                                          Specification’ version 2.1. Additional I2C interfaces can be

                        IMO                                         instantiated using Universal Digital Blocks (UDBs) in PSoC

                                                                    Creator, as required.

                                                                    To eliminate the need for excessive CPU intervention and
                                                                    overhead, I2C specific support is provided for status detection
7.7         Timers, Counters, and PWMs                              and generation of framing bits. I2C operates as a slave, a master,

The Timer/Counter/PWM peripheral is a 16-bit dedicated              or multimaster (Slave and Master). In slave mode, the unit

peripheral providing three of the most common embedded              always listens for a start condition to begin sending or receiving

peripheral features. As almost all embedded systems use some        data. Master mode supplies the ability to generate the Start and

combination of timers, counters, and PWMs. Four of them have        Stop conditions and initiate transactions. Multimaster mode

been included on this PSoC device family. Additional and more       provides clock synchronization and arbitration to allow multiple

advanced functionality timers, counters, and PWMs can also be       masters on the same bus. If Master mode is enabled and Slave

instantiated in Universal Digital Blocks (UDBs) as required.        mode is not enabled, the block does not generate interrupts on
                                                                    externally generated Start conditions. I2C interfaces through DSI
PSoC Creator allows you to choose the timer, counter, and PWM
                                                                    routing and allows direct connections to any GPIO or SIO pins.
features that they require. The tool set utilizes the most optimal

resources available.                                                I2C provides hardware address detect of a 7-bit address without

The Timer/Counter/PWM peripheral can select from multiple           CPU intervention. Additionally the device can wake from

clock sources, with input and output signals connected through      low-power modes on a 7-bit hardware address match. If wakeup
                                                                    functionality is required, I2C pin connections are limited to the
the DSI routing. DSI routing allows input and output connections
                                                                    two special sets of SIO pins.

Document Number: 001-53304 Rev. *L                                                                                       Page 49 of 127
                                                                                             PSoC® 3: CY8C34 Family

                                                                                                                      Data Sheet

I2C features include:                                                        „ SMBus operation (through firmware support – SMBus

„ Slave and Master, Transmitter, and Receiver operation                      supported in hardware in UDBs)

„ Byte processing for low CPU overhead                                       „ 7-bit hardware address compare

„ Interrupt or polling CPU interface                                         „ Wake from low-power modes on address match

                                                                             Data transfers follow the format shown in Figure 7-22. After the

„ Support for bus speeds up to 1 Mbps (3.4 Mbps in UDBs)                     START condition (S), a slave address is sent. This address is 7

„ 7 or 10-bit addressing (10-bit addressing requires firmware                bits long followed by an eighth bit which is a data direction bit

support)                                                                     (R/W) - a 'zero' indicates a transmission (WRITE), a 'one'

                                                                             indicates a request for data (READ). A data transfer is always

                                                                             terminated by a STOP condition (P) generated by the master.

                                                                             However, if a master still wishes to communicate on the bus, it

                                                                             can generate a repeated START condition (Sr) and address

                                                                             another slave without first generating a STOP condition. Various

                                                                             combinations of read/write formats are then possible within such

                                                                             a transfer.

                                           Figure 7-22. I2C Complete Transfer Timing


SCL                    1-7            8    9                      1-7        8            9  1-7                8     9

     START             ADDRESS        R/W  ACK                         DATA          ACK                  DATA        ACK                STOP

     Condition                                                                                                                           Condition

8.   Analog Subsystem                                                        „ Four comparators with optional connection to configurable LUT


The analog programmable system creates application specific                  „ Two configurable switched capacitor/continuous time (SC/CT)

combinations of both standard and advanced analog signal                     blocks for functions that include opamp, unity gain buffer,

processing blocks. These blocks are then interconnected to                   programmable gain amplifier, transimpedance amplifier, and

each other and also to any pin on the device, providing a high               mixer.

level of design flexibility and IP security. The features of the

analog subsystem are outlined here to provide an overview of                 „ Two opamps for internal use and connection to GPIO that can

capabilities and architecture.                                               be used as high current output buffers.

„ Flexible, configurable analog routing architecture provided by             „ CapSense subsystem to enable capacitive touch sensing.

analog globals, analog mux bus, and analog local buses.                      „ Precision reference for generating an accurate analog voltage

„ High resolution Delta-Sigma ADC.                                           for internal analog blocks.

„ Two 8-bit DACs that provide either voltage or current output.

Document Number: 001-53304 Rev. *L                                                                                         Page 50 of 127
                                                                                                             PSoC®  3:  CY8C34 Family

                                                                                                                           Data Sheet

                                       Figure   8-1. Analog Subsystem Block Diagram


                A                                      DelSi g  ADC                    Precision                        A

                N                      DAC                                             Reference                        N

                A                                                                                                       A

                L                                                                                                       L

                O                                                                                                       O

                G                                      SC/CT Block                     SC/CT Block                      G

          GPIO                                                                                                             GPIO

          Port  R                      Op  Amp                                                                          R  Port

                O                                                                                                       O

                U                                                                                                       U

                T                                                                                                       T

                I                      Op  Amp                                                                          I

                N                                                    Comparators                                        N

                G                                                                                                       G

                                                       CM       P    CMP               CMP            CM  P

                                                                     CapSense Subsystem

                                                                     Analog            Config &

                                                                     Interface         Status                PHUB          CPU

                                                                                       R e g iste rs

                                                DSI                  C lo c k          D e cim ato r

                                                Array                D istrib u tio n

Document  Number: 001-53304  Rev.  *L                                                                                            Page 51 of 127
                                                                                     PSoC® 3: CY8C34 Family

                                                                                                   Data Sheet

The PSoC Creator software program provides a user friendly          8.1.1  Features

interface to configure the analog connections between the GPIO      „ Flexible, configurable analog routing architecture

and various analog resources and connections from one analog

resource to another. PSoC Creator also provides component           „ 16 Analog globals (AG) and two analog mux buses

libraries that allow you to configure the various analog blocks to  (AMUXBUS) to connect GPIOs and the analog blocks

perform application specific functions (PGA, transimpedance         „ Each GPIO is connected to one analog global and one analog

amplifier, voltage DAC, current DAC, and so on). The tool also

generates API interface libraries that allow you to write firmware  mux bus

that allows the communication between the analog peripheral         „ 8 Analog local buses (abus) to route signals between the

and CPU/Memory.                                                     different analog blocks

8.1  Analog Routing                                                 „ Multiplexers and switches for input and output selection of the

The CY8C34 family of devices has a flexible analog routing          analog blocks

architecture that provides the capability to connect GPIOs and      8.1.2  Functional Description

different analog blocks, and also route signals between different

analog blocks. One of the strong points of this flexible routing    Analog globals (AGs) and analog mux buses (AMUXBUS)

architecture is that it allows dynamic routing of input and output  provide analog connectivity between GPIOs and the various

connections to the different analog blocks.                         analog blocks. There are 16 AGs in the CY8C34 family. The

For information on how to make pin selections for optimal analog    analog routing architecture is divided into four quadrants as

routing, refer to the application note, AN58304 - PSoC® 3 and       shown in Figure 8-2. Each quadrant has four analog globals

PSoC® 5 - Pin Selection for Analog Designs.                         (AGL[0..3], AGL[4..7], AGR[0..3], AGR[4..7]). Each GPIO is

                                                                    connected to the corresponding AG through an analog switch.

                                                                    The analog mux bus is a shared routing resource that connects

                                                                    to every GPIO through an analog switch. There are two

                                                                    AMUXBUS routes in CY8C34, one in the left half (AMUXBUSL)

                                                                    and one in the right half (AMUXBUSR), as shown in Figure 8-2.

Document Number: 001-53304 Rev. *L                                                                 Page 52 of 127
                                                                                                                                                                                                                                                                                                    PSoC® 3: CY8C34 Family

                                                                                                                                                                                                                                                                                                                                                                                                              Data Sheet

                                                                                                                                                        Figure 8-2. CY8C34 Analog Interconnect

                                                                                                                                                                                                                Vdda     Vssa     Vcca     Vssd
                                                                                                                                                                                                                 *            *   *         *

                                                                Vddio0      P0[3]   GPIO        P0[2]* GPIO  P0[1]             GPIO       P0[0]   GPIO  P4[1]  GPIO  P4[0]  GPIO  P12[3]  SIO   P12[2]  SIO                                                      P15[3]      GPIO  P15[2]  GPIO  P12[1]  SIO  P12[0]  SIO        P3[7]          GPIO  P3[6]    GPIO     Vddio3

                                                                      *          *                                          *                    *                                                                                                                       *                 *             *            *                                                       *

                                                                         swinn        swinp                                                                                                                                                    AMUXBUSR


                                                                                                                                                                                                                        AGL[4]                   AGR[4]

                                                                                                                                                                                                                        AGL[5]                   AGR[5]

               AMUXBUSL                                                                                                                                                                                                 AGL[6]                   AGR[6]

                                                                                                                                                                                                                        AGL[7]                   AGR[7]

                         AGL[4]  AGL[5]  AGL[6]  AGL[7]  ExVrefL                                                                                               ExVrefL2                                                                 44

                                                         ExVrefL1                                                                                                                                                                                                                                                                                                                                                                          GPIO

                                                                            opamp0                                     opamp2                     01 23456 7 0123                                                                                         3210                76543210

GPIO        swinp                                                                                                                                                                                                                                                                                                                                                                                                                          P3[5]

*                                                                              swfol                                        swfol                                                                                                                                                                                                                                                                                                          GPIO

P0[4]          swinn                                                                                                                                                                                                                                                                                                                                                                                                                       P3[4]

GPIO                                                                                                                                                                                                                                                                                                                                                                                                                                       GPIO
GPIO                                                                                                                                                                                                                    LPF
            *                                            i0                                                                               swout                                                         in0                                 in1                                                             swout                                                                                                                          GPIO
                                                                               (1.024V)                                                                                     swin                        out0                  5             out1                       swin                                                                                                   ExVrefR                                                      P3[2]

GPIO        *                                            i2                                                                                                                                                                                                                                                                                                                                                                                GPIO

P0[7]                                                                                                                                                                                                   +       comp0             comp1          +

                                                                                                             refbufl_                                                                                   -                                        -                                                                               refbufr_                                                                                                  P3[1]

                                                                                                                       cmp     cmp1_vref                                                                    COMPARATOR                                                                                                cmp1_vref            cmp                                                                                             GPIO

                                                                         cmp0_vref                                                                                                                                                                                                                                                                           cmp0_vref                                                                     P3[0]

GPIO                                                                     (1.024V)                                                                                                                       +                                        +                                                                                                             (1.024V)

                                                                         cmp_muxvn[1:0]                                                                                                                 -      comp2          90  comp3          -                                                                                                                                                                                         GPXT

P4[2]                                                                       vref_cmp1                                                                                                                                                                                                                                                                                                                                                   *P15[1]

                                                                         bg_v(d0a._2re5s6_eVn)         cmp1_vref

GPIO                                                                     Vdda                                                                                        bg_vda_swabusl0                                                                                                                                                                                                                                                       GPXT

P4[3]                                                                 Vdda/2                                                                                                                               out  CAPSENSE                    out

                                                                      refbuf_vref1 (1.024V)                                                                                                                                                                                                                                                               refbuf_vref1 (1.024V)                                                         *P15[0]

GPIO                                                                     refbuf_vref2 (1.2V)                                                                                                               ref                              ref                                                                                                          refbuf_vref2 (1.2V)

                                                                                                                                                                                                           in   refbufl           refbufr   in

P4[4]                                                                                           refsel[1:0]                                                                                                                                                                                                                                       refsel[1:0]                                 AGR[7]  AGR[6]  AGR[5]  AGR[4]  AMUXBUSR

GPIO                                                                                                               vssa                                                                                 sc0                                 sc1                                                                                  Vssa

P4[5]                                                                                                                                                                                                   Vin                                 Vin

GPIO                                                                                sc0_bgref                                                                                                           Vref                                Vref                                                                                           sc1_bgref

P4[6]                                                                               (1.024V)                                                                                                            out                                 out                                                                                                 (1.024V)                                                                                *

GPIO                                                                                                                                                                                                                    SC/CT                                                                                                                                                                                                              Vccd

P4[7]                                                                                                                                                                                                                                                                                                                                                                                                                                   *  Vssd

Vccd        *                                                                                                                                                                                                                                                                                                                                                                                                                           *

            *                                                                                                                                                                                                                                                                                                                                                                                                                              Vddd

Vssd                                                                                                                                                                                            ABUSL0                                  ABUSR0

                                                                                                                                                                                                ABUSL1                                  ABUSR1

                                                                                                                                                                                                ABUSL2                                  ABUSR2

                                                                                                                                                                                                ABUSL3                                  ABUSR3

Vddd        *                                                                                                                                                                                           v0                                                                                                                                                                                                                                 USB IO

                                                                                                                                                                                                        i0     DAC0                                                                                                                                                                                                                     * P15[7]

GPIO                                                                                                                                                                                                                 VIDAC

P6[0]                                               &nb