0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
CY8C3666AXI-200T

CY8C3666AXI-200T

  • 厂商:

    CYPRESS(赛普拉斯)

  • 封装:

    LQFP100

  • 描述:

    ICMCU8BIT64KBFLASH100TQFP

  • 数据手册
  • 价格&库存
CY8C3666AXI-200T 数据手册
Please note that Cypress is an Infineon Technologies Company. The document following this cover page is marked as “Cypress” document as this is the company that originally developed the product. Please note that Infineon will continue to offer the product to new and existing customers as part of the Infineon product portfolio. Continuity of document content The fact that Infineon offers the following product as part of the Infineon product portfolio does not lead to any changes to this document. Future revisions will occur when appropriate, and any changes will be set out on the document history page. Continuity of ordering part numbers Infineon continues to support existing part numbers. Please continue to use the ordering part numbers listed in the datasheet for ordering. www.infineon.com PSoC® 3: CY8C36 Family Datasheet ® Programmable System-on-Chip (PSoC ) General Description PSoC® 3 is a true programmable embedded system-on-chip, integrating configurable analog and digital peripherals, memory, and a microcontroller on a single chip. The PSoC 3 architecture boosts performance through:  8051 core plus DMA controller and digital filter processor, at up to 67 MHz  Ultra low power with industry's widest voltage range  Programmable digital and analog peripherals enable custom functions  Flexible routing of any analog or digital peripheral function to any pin PSoC devices employ a highly configurable system-on-chip architecture for embedded control design. They integrate configurable analog and digital circuits, controlled by an on-chip microcontroller. A single PSoC device can integrate as many as 100 digital and analog peripheral functions, reducing design time, board space, power consumption, and system cost while improving system quality. Features  Operating characteristics  Analog peripherals Voltage range: 1.71 to 5.5 V, up to six power domains [1]  Temperature range (ambient) –40 to 85 °C  DC to 67-MHz operation  Power modes • Active mode 1.2 mA at 6 MHz, and 12 mA at 48 MHz • 1-µA sleep mode • 200-nA hibernate mode with RAM retention  Boost regulator from 0.5-V input up to 5-V output Configurable 8- to 12-bit delta-sigma ADC Up to four 8-bit DACs  Up to four comparators  Up to four opamps  Up to four programmable analog blocks, to create: • Programmable gain amplifier (PGA) • Transimpedance amplifier (TIA) • Mixer • Sample and hold circuit ®  CapSense support, up to 62 sensors  1.024 V ±0.1% internal voltage reference     Performance 8-bit 8051 CPU, 32 interrupt inputs 24-channel direct memory access (DMA) controller  24-bit 64-tap fixed-point digital filter processor (DFB)    Versatile I/O system 29 to 72 I/O pins – up to 62 general-purpose I/Os (GPIOs) Up to eight performance I/O (SIO) pins • 25 mA current sink • Programmable input threshold and output high voltages • Can act as a general-purpose comparator • Hot swap capability and overvoltage tolerance  Two USBIO pins that can be used as GPIOs  Route any digital or analog peripheral to any GPIO  LCD direct drive from any GPIO, up to 46 × 16 segments  CapSense support from any GPIO  1.2-V to 5.5-V interface voltages, up to four power domains   Memories  Up to 64 KB program flash, with cache and security features Up to 8 KB additional flash for error correcting code (ECC)  Up to 8 KB RAM  Up to 2 KB EEPROM    Digital peripherals Up to four 16-bit timer, counter, and PWM (TCPWM) blocks I2C, 1 Mbps bus speed  USB 2.0 certified Full-Speed (FS) 12 Mbps peripheral interface (TID#40770053) using internal oscillator[2]  Full CAN 2.0b, 16 Rx, 8 Tx buffers  16 to 24 universal digital blocks (UDB), programmable to create any number of functions: • 8-, 16-, 24-, and 32-bit timers, counters, and PWMs • I2C, UART, SPI, I2S, LIN 2.0 interfaces • Cyclic redundancy check (CRC) • Pseudo random sequence (PRS) generators • Quadrature decoders • Gate-level logic functions    Programming and debug JTAG (4-wire), serial wire debug (SWD) (2-wire), and single wire viewer (SWV) interfaces 2  Bootloader programming through I C, SPI, UART, USB, and other interfaces   Package options: 48-pin SSOP, 48-pin QFN, 68-pin QFN, 100-pin TQFP, and 72-pin WLCSP  Development support with free PSoC Creator™ tool  Programmable clocking Schematic and firmware design support Over 100 PSoC Components™ integrate multiple ICs and system interfaces into one PSoC. Components are free embedded ICs represented by icons. Drag and drop component icons to design systems in PSoC Creator.  Includes free Keil 8051 compiler  Supports device programming and debugging  3- to 62-MHz internal oscillator, 1% accuracy at 3 MHz  4- to 25-MHz external crystal oscillator  Internal PLL clock generation up to 67 MHz  Low-power internal oscillator at 1, 33, and 100 kHz  32.768-kHz external watch crystal oscillator  12 clock dividers routable to any peripheral or I/O   Notes 1. The maximum storage temperature is 150 °C in compliance with JEDEC Standard JESD22-A103, High Temperature Storage Life. 2. This feature on select devices only. See Ordering Information on page 120 for details. Cypress Semiconductor Corporation Document Number: 001-53413 Rev. AA • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600 Revised December 3, 2019 PSoC® 3: CY8C36 Family Datasheet More Information Cypress provides a wealth of data at www.cypress.com to help you to select the right PSoC device for your design, and to help you to quickly and effectively integrate the device into your design. For a comprehensive list of resources, see the knowledge base article KBA86521, How to Design with PSoC 3, PSoC 4, and PSoC 5LP. Following is an abbreviated list for PSoC 3:  Overview: PSoC Portfolio, PSoC Roadmap  Product Selectors: PSoC 1, PSoC 3, PSoC 4, PSoC 5LP In addition, PSoC Creator includes a device selection tool.  Application notes: Cypress offers a large number of PSoC application notes and code examples covering a broad range of topics, from basic to advanced level. Recommended application notes for getting started with PSoC 3 are:  AN54181: Getting Started With PSoC 3  AN61290: Hardware Design Considerations  AN57821: Mixed Signal Circuit Board Layout  AN58304: Pin Selection for Analog Designs  AN81623: Digital Design Best Practices  AN73854: Introduction To Bootloaders  Development Kits: CY8CKIT-030 is designed for analog performance, for developing high-precision analog, low-power, and low-voltage applications.  CY8CKIT-001 provides a common development platform for any one of the PSoC 1, PSoC 3, PSoC 4, or PSoC 5LP families of devices.  The MiniProg3 device provides an interface for flash programming and debug.   Technical Reference Manuals (TRM) Architecture TRM Registers TRM  Programming Specification   PSoC Creator PSoC Creator is a free Windows-based Integrated Design Environment (IDE). It enables concurrent hardware and firmware design of PSoC 3, PSoC 4, and PSoC 5LP based systems. Create designs using classic, familiar schematic capture supported by over 100 pre-verified, production-ready PSoC Components; see the list of component datasheets. With PSoC Creator, you can: 1. Drag and drop component icons to build your hardware 3. Configure components using the configuration tools system design in the main design workspace 4. Explore the library of 100+ components 2. Codesign your application firmware with the PSoC hardware, 5. Review component datasheets using the PSoC Creator IDE C compiler Figure 1. Multiple-Sensor Example Project in PSoC Creator Document Number: 001-53413 Rev. AA Page 2 of 137 PSoC® 3: CY8C36 Family Datasheet Contents 1. Architectural Overview ..................................................... 4 2. Pinouts ............................................................................... 6 3. Pin Descriptions .............................................................. 12 4. CPU ................................................................................... 13 4.1 8051 CPU ................................................................. 13 4.2 Addressing Modes .................................................... 14 4.3 Instruction Set .......................................................... 14 4.4 DMA and PHUB ....................................................... 18 4.5 Interrupt Controller ................................................... 20 5. Memory ............................................................................. 23 5.1 Static RAM ............................................................... 23 5.2 Flash Program Memory ............................................ 23 5.3 Flash Security ........................................................... 23 5.4 EEPROM .................................................................. 24 5.5 Nonvolatile Latches (NVLs) ...................................... 24 5.6 External Memory Interface ....................................... 25 5.7 Memory Map ............................................................ 26 6. System Integration .......................................................... 28 6.1 Clocking System ....................................................... 28 6.2 Power System .......................................................... 31 6.3 Reset ........................................................................ 35 6.4 I/O System and Routing ........................................... 37 7. Digital Subsystem ........................................................... 44 7.1 Example Peripherals ................................................ 44 7.2 Universal Digital Block .............................................. 46 7.3 UDB Array Description ............................................. 49 7.4 DSI Routing Interface Description ............................ 49 7.5 CAN .......................................................................... 51 7.6 USB .......................................................................... 53 7.7 Timers, Counters, and PWMs .................................. 53 7.8 I2C ............................................................................ 54 7.9 Digital Filter Block ..................................................... 56 8. Analog Subsystem .......................................................... 56 8.1 Analog Routing ......................................................... 57 8.2 Delta-sigma ADC ...................................................... 59 8.3 Comparators ............................................................. 60 8.4 Opamps .................................................................... 61 8.5 Programmable SC/CT Blocks .................................. 61 8.6 LCD Direct Drive ...................................................... 62 8.7 CapSense ................................................................. 63 8.8 Temp Sensor ............................................................ 63 8.9 DAC .......................................................................... 64 8.10 Up/Down Mixer ....................................................... 64 8.11 Sample and Hold .................................................... 65 Document Number: 001-53413 Rev. AA 9. Programming, Debug Interfaces, Resources ................ 65 9.1 JTAG Interface ......................................................... 66 9.2 Serial Wire Debug Interface ..................................... 67 9.3 Debug Features ........................................................ 68 9.4 Trace Features ......................................................... 68 9.5 Single Wire Viewer Interface .................................... 68 9.6 Programming Features ............................................. 68 9.7 Device Security ........................................................ 68 9.8 CSP Package Bootloader ......................................... 69 10. Development Support ................................................... 70 10.1 Documentation ....................................................... 70 10.2 Online ..................................................................... 70 10.3 Tools ....................................................................... 70 11. Electrical Specifications ............................................... 71 11.1 Absolute Maximum Ratings .................................... 71 11.2 Device Level Specifications .................................... 72 11.3 Power Regulators ................................................... 76 11.4 Inputs and Outputs ................................................. 80 11.5 Analog Peripherals ................................................. 88 11.6 Digital Peripherals ................................................ 105 11.7 Memory ................................................................ 109 11.8 PSoC System Resources ..................................... 113 11.9 Clocking ................................................................ 116 12. Ordering Information ................................................... 120 12.1 Part Numbering Conventions ............................... 121 13. Packaging ..................................................................... 122 14. Acronyms ..................................................................... 126 15. Reference Documents ................................................. 127 16. Document Conventions .............................................. 128 16.1 Units of Measure .................................................. 128 17. Revision History .......................................................... 129 18. Sales, Solutions, and Legal Information ................... 137 Worldwide Sales and Design Support.......................... 137 Products ....................................................................... 137 PSoC® Solutions ......................................................... 137 Cypress Developer Community.................................... 137 Technical Support ........................................................ 137 Page 3 of 137 PSoC® 3: CY8C36 Family Datasheet 1. Architectural Overview Introducing the CY8C36 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 CY8C36 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 8- Bit Timer Quadrature Decoder UDB Sequencer Usage Example for UDB Universal Digital Block Array ( 24 x UDB) UDB UDB UDB 16- Bit PWM UDB UDB 8- Bit SPI I2C Slave 12- Bit SPI UDB UDB UDB UDB UDB UDB 8- Bit Timer Logic UDB UDB UDB UDB UDB UDB UDB I2C CAN 2.0 16- Bit PRS Master/ Slave UDB FS USB 2.0 4x Timer Counter PWM Logic UDB UDB UDB UART UDB 22 Ω USB PHY GPIOs GPIOs IMO Clock Tree 32.768 KHz ( Optional) Digital System System Wide Resources Xtal Osc SIO 4 to 25 MHz ( Optional) GPIOs Digital Interconnect 12- Bit PWM RTC Timer System Bus Memory System EEPROM SRAM CPU System 8051 or Cortex M3CPU Interrupt Controller Program & Debug Program GPIOs WDT and Wake GPIOs Debug & Trace EMIF PHUB DMA FLASH ILO Boundary Scan Power Management System Digital Filter Block LCD Direct Drive POR and LVD 1.8 V LDO SMP Temperature Sensor Analog System ADC + 4x Opamp - Del Sig ADC + 4 x DAC CapSense 3 per Opamp 4x CMP - GPIOs 1.71 to 5.5 V Sleep Power 4 x SC/ CT Blocks ( TIA, PGA, Mixer etc) GPIOs SIOs Clocking System 0. 5 to 5.5V ( Optional) Figure 1-1 illustrates the major components of the CY8C36 family. They are:  8051 CPU subsystem  Nonvolatile subsystem  Programming, debug, and test subsystem  Inputs and outputs  Clocking  Power PSoC’s digital subsystem provides half of its unique configurability. It connects a digital signal from any peripheral to any pin through the digital system interconnect (DSI). It also provides functional flexibility through an array of small, fast, low-power UDBs. PSoC Creator provides a library of prebuilt and tested standard digital peripherals (UART, SPI, LIN, PRS, CRC, timer, counter, PWM, AND, OR, and so on) that are mapped to the UDB array. You can also easily create a digital circuit using boolean primitives by means of graphical design entry. Each UDB contains programmable array logic (PAL)/programmable logic device (PLD) functionality, together with a small state machine engine to support a wide variety of peripherals.  Digital subsystem  Analog subsystem Document Number: 001-53413 Rev. AA Page 4 of 137 PSoC® 3: CY8C36 Family Datasheet In addition to the flexibility of the UDB array, PSoC also provides configurable digital blocks targeted at specific functions. For the CY8C36 family these blocks can include four 16-bit timers, counters, and PWM blocks; I2C slave, master, and multi-master; FS USB; and Full CAN 2.0b. For more details on the peripherals see the “Example Peripherals” section on page 44 of this data sheet. For information on UDBs, DSI, and other digital blocks, see the “Digital Subsystem” section on page 44 of this data sheet. PSoC’s analog subsystem is the second half of its unique configurability. All analog performance is based on a highly accurate absolute voltage reference with less than 0.1-percent error over temperature and voltage. The configurable analog subsystem includes:  Analog muxes  Comparators  Voltage references  ADC  DACs  DFB All GPIO pins can route analog signals into and out of the device using the internal analog bus. This allows the device to interface up to 62 discrete analog signals. The heart of the analog subsystem is a fast, accurate, configurable delta-sigma ADC with these features:  Less than 100 µV offset  A gain error of 0.2 percent  INL less than ±1 LSB  DNL less than ±1 LSB  SINAD better than 66 dB This converter addresses a wide variety of precision analog applications, including some of the most demanding sensors. The output of the ADC can optionally feed the programmable DFB through the DMA without CPU intervention. You can configure the DFB to perform IIR and FIR digital filters and several user-defined custom functions. The DFB can implement filters with up to 64 taps. It can perform a 48-bit multiply-accumulate (MAC) operation in one clock cycle. Four high-speed voltage or current DACs support 8-bit output signals at an update rate of up to 8 Msps. They can be routed out of any GPIO pin. You can create higher resolution voltage PWM DAC outputs using the UDB array. This can be used to create a PWM DAC of up to 10 bits, at up to 48 kHz. The digital DACs in each UDB support PWM, PRS, or delta-sigma algorithms with programmable widths. In addition to the ADC, DACs, and DFB, the analog subsystem provides multiple:  Uncommitted opamps  Configurable switched capacitor/continuous time (SC/CT) blocks. These support:  Transimpedance amplifiers  Programmable gain amplifiers  Mixers  Other similar analog components Document Number: 001-53413 Rev. AA See the “Analog Subsystem” section on page 56 of this data sheet for more details. PSoC’s 8051 CPU subsystem is built around a single-cycle pipelined 8051 8-bit processor running at up to 67 MHz. The CPU subsystem includes a programmable nested vector interrupt controller, DMA controller, and RAM. PSoC’s nested vector interrupt controller provides low latency by allowing the CPU to vector directly to the first address of the interrupt service routine, bypassing the jump instruction required by other architectures. The DMA controller enables peripherals to exchange data without CPU involvement. This allows the CPU to run slower (saving power) or use those CPU cycles to improve the performance of firmware algorithms. The single cycle 8051 CPU runs ten times faster than a standard 8051 processor. The processor speed itself is configurable, allowing you to tune active power consumption for specific applications. PSoC’s nonvolatile subsystem consists of flash, byte-writeable EEPROM, and nonvolatile configuration options. It provides up to 64 KB of on-chip flash. The CPU can reprogram individual blocks of flash, enabling bootloaders. You can enable an ECC for high reliability applications. A powerful and flexible protection model secures the user's sensitive information, allowing selective memory block locking for read and write protection. Up to 2 KB of byte-writeable EEPROM is available on-chip to store application data. Additionally, selected configuration options such as boot speed and pin drive mode are stored in nonvolatile memory. This allows settings to activate immediately after POR. 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 to four I/O voltage domains through the VDDIO pins. Every GPIO has analog I/O, LCD drive[3], CapSense[4], flexible interrupt generation, slew rate control, and digital I/O capability. The SIOs on PSoC allow VOH to be set independently of VDDIO when used as outputs. When SIOs are in input mode they are high impedance. This is true even when the device is not powered or when the pin voltage goes above the supply voltage. This makes the SIO ideally suited for use on an I2C bus where the PSoC may not be powered when other devices on the bus are. The SIO pins also have high current sink capability for applications such as LED drives. The programmable input threshold feature of the SIO can be used to make the SIO function as a general purpose analog comparator. For devices with FS USB the USB physical interface is also provided (USBIO). When not using USB these pins may also be used for limited digital functionality and device programming. All of the features of the PSoC I/Os are covered in detail in the “I/O System and Routing” section on page 37 of this data sheet. The PSoC device incorporates flexible internal clock generators, designed for high stability and factory trimmed for high accuracy. The internal main oscillator (IMO) is the clock base for the system, and has 1-percent accuracy at 3 MHz. The IMO can be configured to run from 3 MHz up to 62 MHz. Multiple clock derivatives can be generated from the main clock frequency to meet application needs. The device provides a PLL to generate clock frequencies up to 67 MHz from the IMO, external crystal, or external reference clock. It also contains a separate, very low-power internal low speed oscillator (ILO) for the sleep and watchdog timers. A 32.768-kHz external watch crystal is also supported for use in RTC applications. The clocks, together with programmable clock dividers, provide the flexibility to integrate most timing requirements. Page 5 of 137 PSoC® 3: CY8C36 Family Datasheet The CY8C36 family supports a wide supply operating range from 1.71 to 5.5 V. This allows operation from regulated supplies such as 1.8 ± 5%, 2.5 V ±10%, 3.3 V ± 10%, or 5.0 V ± 10%, or directly from a wide range of battery types. In addition, it provides an integrated high efficiency synchronous boost converter that can power the device from 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 required by the device, such as a 3.3-V supply for LCD glass drive. The boost’s output is available on the VBOOST pin, allowing other devices in the application to be powered from the PSoC. 2. Pinouts Each VDDIO pin powers a specific set of I/O pins. (The USBIOs are powered from VDDD.) Using the VDDIO pins, a single PSoC can support multiple voltage levels, reducing the need for off-chip level shifters. The black lines drawn on the pinout diagrams in Figure 2-3 through Figure 2-6, as well as Table 2-1, show the pins that are powered by each VDDIO. Each VDDIO may source up to 100 mA total to its associated I/O pins, as shown in Figure 2-1. Figure 2-1. VDDIO Current Limit PSoC supports a wide range of low-power modes. These include a 200-nA hibernate mode with RAM retention and a 1-µA sleep mode with RTC. In the second mode the optional 32.768-kHz watch crystal runs continuously and maintains an accurate RTC. IDDIO X VDDIO X Power to all major functional blocks, including the programmable 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. The details of the PSoC power modes are covered in the “Power System” section on page 31 of this data sheet. PSoC uses JTAG (4-wire) or SWD (2-wire) interfaces for programming, debug, and test. The 1-wire SWV may also be used for ‘printf’ style debugging. By combining SWD and SWV, you can implement a full debugging interface with just three pins. Using these standard interfaces enables you to debug or program the PSoC with a variety of hardware solutions from Cypress or third party vendors. PSoC supports on-chip break points and 4-KB instruction and data race memory for debug. Details of the programming, test, and debugging interfaces are discussed in the “Programming, Debug Interfaces, Resources” section on page 65 of this data sheet. mA I/O Pins PSoC Conversely, for the 100-pin and 68-pin devices, the set of I/O pins associated with any VDDIO may sink up to 100 mA total, as shown in Figure 2-2. Figure 2-2. I/O Pins Current Limit Ipins VDDIO X mA I/O Pins PSoC VSSD For the 48-pin devices, the set of I/O pins associated with VDDIO0 plus VDDIO2 may sink up to 100 mA total. The set of I/O pins associated with VDDIO1 plus VDDIO3 may sink up to a total of 100 mA. Notes 3. This feature on select devices only. See Ordering Information on page 120 for details. 4. GPIOs with opamp outputs are not recommended for use with CapSense. Document Number: 001-53413 Rev. AA Page 6 of 137 PSoC® 3: CY8C36 Family Datasheet Figure 2-3. 48-pin SSOP Part Pinout (SIO) P12[2] (SIO) P12[3] (Opamp2OUT, GPIO) P0[0] (Opamp0OUT, GPIO) P0[1] (Opamp0+, GPIO) P0[2] (Opamp0-/EXTREF0, GPIO) P0[3] VDDIO0 (Opamp2+, GPIO) P0[4] (Opamp2-, GPIO) P0[5] (IDAC0, GPIO) P0[6] (IDAC2, GPIO) P0[7] VCCD VSSD VDDD (GPIO) P2[3] (GPIO) P2[4] VDDIO2 (GPIO) P2[5] (GPIO) P2[6] (GPIO) P2[7] VSSB IND VBOOST VBAT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 48 47 Lines show 46 VDDIO to 45 I/O supply association 44 43 42 41 40 39 38 SSOP 37 36 35 34 33 32 31 30 29 28 27 26 25 VDDA VSSA VCCA P15[3] (GPIO, KHZ XTAL: XI) P15[2] (GPIO, KHZ XTAL: XO) P12[1] (SIO, I2C1: SDA) P12[0] (SIO, I2C1: SCL) VDDIO3 P15[1] (GPIO, MHZ XTAL: XI) P15[0] (GPIO, MHZ XTAL: XO) VCCD VSSD VDDD [5] P15[7] (USBIO, D-, SWDCK) P15[6] (USBIO, D+, SWDIO) [5] P1[7] (GPIO) P1[6] (GPIO) VDDIO1 P1[5] (GPIO, NTRST) P1[4] (GPIO, TDI) P1[3] (GPIO, TDO, SWV) P1[2] (GPIO, CONFIGURABLE XRES) P1[1] (GPIO, TCK, SWDCK) P1[0] (GPIO, TMS, SWDIO) 48 P2[5] (GPIO) 47 VDDIO2 46 P2[4] (GPIO) 45 P2[3] (GPIO) 44 VDDD 43 VSSD 42 VCCD 41 P0[7] (IDAC2, GPIO) 40 P0[6] (IDAC0, GPIO) 39 P0[5] (Opamp2-, GPIO) 38 P0[4] (Opamp2+, GPIO) 37 VDDIO0 Figure 2-4. 48-pin QFN Part Pinout[6] (GPIO) P2[6] (GPIO) P2[7] 1 2 VSSB IND VBOOST VBAT (GPIO, TMS, SWDIO) P1[0] (GPIO, TCK, SWDCK) P1[1] (GPIO, Configurable XRES) P1[2] (GPIO, TDO, SWV) P1[3] (GPIO, TDI) P1[4] (GPIO, nTRST) P1[5] 3 4 5 6 Lines show VDDIO to I/O supply association QFN (Top View) VDDIO1 P0[3] (Opamp0-/Extref0, GPIO) P0[2] (Opamp0+, GPIO) P0[1] (Opamp0OUT, GPIO) P0[0] (Opamp2OUT, GPIO) P12[3] (SIO) P12[2] (SIO) VDDA VSSA VCCA P15[3] (GPIO, KHZ XTAL: XI) P15[2] (GPIO, KHZ XTAL: XO) P12[1] (SIO, I2C1: SDA) (GPIO) P1[6] (GPIO) P1[7] [5] (USBIO, D+, SWDIO) P15[6] [5] (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] 13 14 15 16 17 18 19 20 21 22 23 24 7 8 9 10 11 12 36 35 34 33 32 31 30 29 28 27 26 25 Notes 5. Pins are Do Not Use (DNU) on devices without USB. The pin must be left floating. 6. 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. For more information, see AN72845, Design Guidelines for QFN Devices. Document Number: 001-53413 Rev. AA Page 7 of 137 PSoC® 3: CY8C36 Family Datasheet 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 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 Figure 2-5. 68-pin QFN Part Pinout[9] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 51 50 Lines show VDDIO to I/O supply association QFN (Top View) 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 P0[3] (GPIO, Opamp0-/EXTREF0) P0[2] (GPIO,Opamp0+) P0[1] (GPIO, Opamp0OUT) P0[0] (GPIO, Opamp2OUT) P12[3] (SIO) P12[2] (SIO) VSSD VDDA VSSA VCCA P15[3] (GPIO, KHZ XTAL: XI) P15[2] (GPIO, KHZ XTAL: XO) P12[1] (SIO, I2C1: SDA) P12[0] (SIO, 12C1: SCL) [8] P3[7] (GPIO, Opamp3OUT) P3[6] (GPIO, Opamp1OUT) [8] VDDIO3 (GPIO) P1[6] (GPIO) P1[7] (SIO) P12[6] (SIO) P12[7] [7] (USBIO, D+, SWDIO) P15[6] [7] (USBIO, D-, SWDCK) P15[7] VDDD VSSD VCCD (MHZ XTAL: XO, GPIO) P15[0] (MHZ XTAL: XI, GPIO) P15[1] (IDAC1, GPIO) P3[0] (IDAC3, GPIO) P3[1] [8] (OPAMP3-/EXTREF1, GPIO) P3[2] [8] (OPAMP3+, GPIO) P3[3] (OPAMP1-, GPIO) P3[4] [8] (OPAMP1+, GPIO) P3[5] [8] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 (GPIO) P2[6] (GPIO) P2[7] (I2C0: SCL, SIO) P12[4] (I2C0: SDA, SIO) P12[5] VSSB IND VBOOST VBAT VSSD XRES (TMS, SWDIO, GPIO) P1[0] (TCK, SWDCK, GPIO) P1[1] (CONFIGURABLE XRES, GPIO) P1[2] (TDO, SWV, GPIO) P1[3] (TDI, GPIO) P1[4] (NTRST, GPIO) P1[5] VDDIO1 Notes 7. Pins are Do Not Use (DNU) on devices without USB. The pin must be left floating. 8. This feature on select devices only. See Ordering Information on page 120 for details. 9. 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. For more information, see AN72845, Design Guidelines for QFN Devices. Document Number: 001-53413 Rev. AA Page 8 of 137 PSoC® 3: CY8C36 Family Datasheet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 75 74 LINES SHOW VDDIO TO I/O SUPPLY ASSOCIATION TQFP 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 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 54 53 52 51 VDDIO0 P0[3] (GPIO, Opamp0-/EXTREF0) P0[2] (GPIO, Opamp0+) P0[1] (GPIO, Opamp0OUT) P0[0] (GPIO, Opamp2OUT) P4[1] (GPIO) P4[0] (GPIO) P12[3] (SIO) P12[2] (SIO) VSSD VDDA VSSA VCCA NC NC NC NC NC NC P15[3] (GPIO, KHZ XTAL: XI) P15[2] (GPIO, KHZ XTAL: XO) P12[1] (SIO, I2C1: SDA) P12[0] (SIO, I2C1: SCL) P3[7] (GPIO, Opamp3OUT) P3[6] (GPIO, Opamp1OUT) [11] [11] 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] [10] (USBIO, D+, SWDIO) P15[6] [10 (USBIO, D-, SWDCK) P15[7] ] VDDD VSSD VCCD NC NC (MHZ XTAL: XO, GPIO) P15[0] (MHZ XTAL: XI, GPIO) P15[1] (IDAC1, GPIO) P3[0] (IDAC3, GPIO) P3[1] (OPAMP3-/EXTREF1, GPIO) P3[2] [11] (Opamp3+, GPIO) P3[3] [11] (Opamp1-, GPIO) P3[4] [11] (Opamp1+, GPIO) P3[5] VDDIO3 [11] (GPIO) P2[5] (GPIO) P2[6] (GPIO) P2[7] (I2C0: SCL, SIO) P12[4] (I2C0: SDA, SIO) P12[5] (GPIO) P6[4] (GPIO) P6[5] (GPIO) P6[6] (GPIO) P6[7] VSSB IND VBOOST VBAT VSSD XRES (GPIO) P5[0] (GPIO) P5[1] (GPIO) P5[2] (GPIO) P5[3] (TMS, SWDIO, GPIO) P1[0] (TCK, SWDCK, GPIO) P1[1] (CONFIGURABLE XRES, GPIO) P1[2] (TDO, SWV, GPIO) P1[3] (TDI, GPIO) P1[4] (NTRST, GPIO) P1[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 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+) Figure 2-6. 100-pin TQFP Part Pinout Table 2-1. VDDIO and Port Pin Associations VDDIO Port Pins VDDIO0 P0[7:0], P4[7:0], P12[3:2] VDDIO1 P1[7:0], P5[7:0], P12[7:6] VDDIO2 P2[7:0], P6[7:0], P12[5:4], P15[5:4] VDDIO3 P3[7:0], P12[1:0], P15[3:0] VDDD P15[7:6] (USB D+, D-) Notes 10. Pins are Do Not Use (DNU) on devices without USB. The pin must be left floating. 11. This feature on select devices only. See Ordering Information on page 120 for details. Document Number: 001-53413 Rev. AA Page 9 of 137 PSoC® 3: CY8C36 Family Datasheet Table 2-2 shows the pinout for the 72-pin CSP package. Since there are four VDDIO pins, the set of I/O pins associated with any VDDIO may sink up to 100 mA total, same as for the 100-pin and 68-pin devices. Table 2-2. CSP Pinout Ball Name Ball Name Ball Name G6 P2[5] F1 VDDD A5 VDDA E5 P2[6] E1 VSSD A6 VSSD F5 P2[7] E2 VCCD B6 P12[2] J7 P12[4] C1 P15[0] C6 P12[3] H6 P12[5] C2 P15[1] A7 P0[0] J6 VSSB D2 P3[0] B7 P0[1] J5 Ind D3 P3[1] B5 P0[2] H5 VBOOST D4 P3[2] C5 P0[3] J4 VBAT D5 P3[3] A8 VIO0 H4 VSSD B4 P3[4] D6 P0[4] J3 XRES_N B3 P3[5] D7 P0[5] H3 P1[0] A1 VIO3 C7 P0[6] G3 P1[1] B2 P3[6] C8 P0[7] H2 P1[2] A2 P3[7] E8 VCCD J2 P1[3] C3 P12[0] F8 VSSD G4 P1[4] C4 P12[1] G8 VDDD G5 P1[5] E3 P15[2] E7 P15[4] J1 VIO1 E4 F4 P1[6] P15[3] F7 P15[5] B1 [12] NC G7 P2[0] [12] F3 P1[7] B8 NC H7 P2[1] H1 P12[6] D1[12] NC H8 P2[2] G1 P12[7] [12] NC F6 P2[3] G2 P15[6] A3 VCCA E6 P2[4] F2 P15[7] A4 VSSA J8 VIO2 D8 Figure 2-7 and Figure 2-8 on page 12 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-7 and Power System on page 31. 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. Notes 12. Pins are Do Not Use (DNU) on devices without USB. The pin must be left floating. 13. This feature on select devices only. See Ordering Information on page 120 for details. Document Number: 001-53413 Rev. AA Page 10 of 137 PSoC® 3: CY8C36 Family Datasheet Figure 2-7. Example Schematic for 100-pin TQFP Part With Power Connections VDDD C1 1uF VDDD VSSD VCCD VSSD VSSD 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] VSSD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 VDDD 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 VDDA C8 0.1uF VSSD VSSD VDDA VSSA VCCA C17 1uF VSSA VDDA C9 1uF C10 0.1uF VSSA VDDD C11 0.1uF VCCD VDDD VSSD C12 0.1uF VSSD VDDD VDDIO0 OA0-, REF0, P0[3] OA0+, P0[2] OA0OUT, P0[1] OA2OUT, P0[0] P4[1] P4[0] SIO, P12[3] SIO, P12[2] VSSD VDDA VSSA VCCA NC NC NC NC NC NC KHZXIN, P15[3] KHZXOUT, P15[2] SIO, P12[1] SIO, P12[0] OA3OUT, P3[7] OA1OUT, P3[6] VDDIO1 P1[6] P1[7] P12[6], SIO P12[7], SIO P5[4] P5[5] P5[6] P5[7] P15[6], USB D+ P15[7], USB DVDDD VSSD VCCD NC NC P15[0], MHZXOUT P15[1], MHZXIN P3[0], IDAC1 P3[1], IDAC3 P3[2], OA3-, REF1 P3[3], OA3+ P3[4], OA1P3[5], OA1+ VDDIO3 P2[5] P2[6] P2[7] P12[4], SIO P12[5], SIO P6[4] P6[5] P6[6] P6[7] VSSB IND VBOOST VBAT VSSD XRES P5[0] P5[1] P5[2] P5[3] P1[0], SWIO, TMS P1[1], SWDIO, TCK P1[2] P1[3], SWV, TDO P1[4], TDI P1[5], NTRST 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 VSSD C2 0.1uF 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 C6 0.1uF VDDD VDDD VSSD VDDD C15 1uF C16 0.1uF VSSD VSSD 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-8 on page 12. For more information on pad layout, refer to http://www.cypress.com/cad-resources/psoc-3-cad-libraries. Document Number: 001-53413 Rev. AA Page 11 of 137 PSoC® 3: CY8C36 Family Datasheet Figure 2-8. Example PCB Layout for 100-pin TQFP Part for Optimal Analog Performance Vssa Vddd Vssd Vdda Vssa Plane Vssd Plane 3. Pin Descriptions IDAC0, IDAC1, IDAC2, IDAC3. Low resistance output pin for high current DACs (IDAC). Opamp0out, Opamp1out[15], Opamp2out, Opamp3out[15]. High current output of uncommitted opamp.[14] Extref0, Extref1. External reference input to the analog system. Opamp0–, Opamp1–[15], Opamp2–, Opamp3–[15]. Inverting input to uncommitted opamp. SIO. Special I/O provides interfaces to the CPU, digital peripherals and interrupts with a programmable high threshold voltage, analog comparator, high sink current, and high impedance state when the device is unpowered. SWDCK. Serial wire debug clock programming and debug port connection. SWDIO. Serial wire debug input and output programming and debug port connection. SWV. Single wire viewer debug output. Opamp0+, Opamp1+[15], Opamp2+, Opamp3+[15]. TCK. JTAG test clock programming and debug port connection. Noninverting input to uncommitted opamp. TDI. JTAG test data in programming and debug port connection. GPIO. General purpose I/O pin provides interfaces to the CPU, digital peripherals, analog peripherals, interrupts, LCD segment drive, and CapSense.[14] TDO. JTAG test data out programming and debug port connection. I2C0: SCL, I2C1: SCL. I2C SCL line providing wake from sleep on an address match. Any I/O pin can be used for I2C SCL if wake from sleep is not required. 2 I2C0: SDA, I2C1: SDA. I C SDA line providing wake from sleep on an address match. Any I/O pin can be used for I2C SDA if wake from sleep is not required. TMS. JTAG test mode select programming and debug port connection. USBIO, D+. Provides D+ connection directly to a USB 2.0 bus. May be used as a digital I/O pin. Pins are Do Not Use (DNU) on devices without USB. Ind. Inductor connection to boost pump. USBIO, D–. Provides D– connection directly to a USB 2.0 bus. May be used as a digital I/O pin. Pins are Do Not Use (DNU) on devices without USB. kHz XTAL: Xo, kHz XTAL: Xi. 32.768 kHz crystal oscillator pin. VBOOST. Power sense connection to boost pump. MHz XTAL: Xo, MHz XTAL: Xi. 4 to 25 MHz crystal oscillator pin. VBAT. Battery supply to boost pump. nTRST. Optional JTAG Test Reset programming and debug port connection to reset the JTAG connection. Notes 14. GPIOs with opamp outputs are not recommended for use with CapSense. 15. This feature on select devices only. See Ordering Information on page 120 for details. Document Number: 001-53413 Rev. AA Page 12 of 137 PSoC® 3: CY8C36 Family Datasheet VCCA. Output of the analog core regulator or the input to the analog core. Requires a 1uF capacitor to VSSA. The regulator output is not designed to drive external circuits. Note that if you use the device with an external core regulator (externally regulated mode), the voltage applied to this pin must not exceed the allowable range of 1.71 V to 1.89 V. When using the internal core regulator, (internally regulated mode, the default), do not tie any power to this pin. For details see Power System on page 31. VCCD. Output of the digital core regulator or the input to the digital core. The two VCCD pins must be shorted together, with the trace between them as short as possible, and a 1uF capacitor to VSSD. The regulator output is not designed to drive external circuits. Note that if you use the device with an external core regulator (externally regulated mode), the voltage applied to this pin must not exceed the allowable range of 1.71 V to 1.89 V. When using the internal core regulator (internally regulated mode, the default), do not tie any power to this pin. For details see Power System on page 31. VDDA. Supply for all analog peripherals and analog core regulator. VDDA must be the highest voltage present on the device. All other supply pins must be less than or equal to VDDA. VDDIO0, VDDIO1, VDDIO2, VDDIO3. Supply for I/O pins. See pinouts for specific I/O pin to VDDIO mapping. Each VDDIO must be tied to a valid operating voltage (1.71 V to 5.5 V), and must be less than or equal to VDDA. 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 24. 4. CPU 4.1 8051 CPU The CY8C36 devices use a single cycle 8051 CPU, which is fully compatible with the original MCS-51 instruction set. The CY8C36 family uses a pipelined RISC architecture, which executes most instructions in 1 to 2 cycles to provide peak performance of up to 33 MIPS with an average of 2 cycles per instruction. The single cycle 8051 CPU runs ten times faster than a standard 8051 processor. The 8051 CPU subsystem includes these features:  Single cycle 8051 CPU  Up to 64 KB of flash memory, up to 2 KB of EEPROM, and up to 8 KB of SRAM VDDD. Supply for all digital peripherals and digital core regulator. VDDD must be less than or equal to VDDA.  512-byte instruction cache between CPU and flash VSSA. Ground for all analog peripherals.  Programmable nested vector interrupt controller VSSB. Ground connection for boost pump. VSSD. Ground for all digital logic and I/O pins.  DMA controller  Peripheral HUB (PHUB)  External memory interface (EMIF) Document Number: 001-53413 Rev. AA Page 13 of 137 PSoC® 3: CY8C36 Family Datasheet 4.2 Addressing Modes 4.3 Instruction Set The following addressing modes are supported by the 8051: The 8051 instruction set is highly optimized for 8-bit handling and Boolean operations. The types of instructions supported include:  Direct addressing: The operand is specified by a direct 8-bit address field. Only the internal RAM and the SFRs can be accessed using this mode.  Indirect addressing: The instruction specifies the register which contains the address of the operand. The registers R0 or R1 are used to specify the 8-bit address, while the data pointer (DPTR) register is used to specify the 16-bit address.  Register addressing: Certain instructions access one of the registers (R0 to R7) in the specified register bank. These instructions are more efficient because there is no need for an address field.  Register specific instructions: Some instructions are specific to certain registers. For example, some instructions always act on the accumulator. In this case, there is no need to specify the operand.  Arithmetic instructions  Logical instructions  Data transfer instructions  Boolean instructions  Program branching instructions 4.3.1 Instruction Set Summary 4.3.1.1 Arithmetic Instructions Arithmetic instructions support the direct, indirect, register, immediate constant, and register-specific instructions. Arithmetic modes are used for addition, subtraction, multiplication, division, increment, and decrement operations. Table 4-1 on page 15 lists the different arithmetic instructions.  Immediate constants: Some instructions carry the value of the constants directly instead of an address.  Indexed addressing: This type of addressing can be used only for a read of the program memory. This mode uses the Data Pointer as the base and the accumulator value as an offset to read a program memory.  Bit addressing: In this mode, the operand is one of 256 bits. Document Number: 001-53413 Rev. AA Page 14 of 137 PSoC® 3: CY8C36 Family Datasheet Table 4-1. Arithmetic Instructions Mnemonic Description Bytes Cycles 1 1 ADD A,Rn Add register to accumulator 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 4.3.1.2 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 15 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 Document Number: 001-53413 Rev. AA Page 15 of 137 PSoC® 3: CY8C36 Family Datasheet Table 4-2. Logical Instructions (continued) Bytes Cycles ORL A,#data Mnemonic OR immediate data to accumulator Description 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 4.3.1.3 Data Transfer Instructions 4.3.1.4 Boolean Instructions The data transfer instructions are of three types: the core RAM, xdata RAM, and the lookup tables. The core RAM transfer includes transfer between any two core RAM locations or SFRs. These instructions can use direct, indirect, register, and immediate addressing. The xdata RAM transfer includes only the transfer between the accumulator and the xdata RAM location. It can use only indirect addressing. The lookup tables involve nothing but the read of program memory using the Indexed addressing mode. Table 4-3 lists the various data transfer instructions available. The 8051 core has a separate bit-addressable memory location. It has 128 bits of bit addressable RAM and a set of SFRs that are bit addressable. The instruction set includes the whole menu of bit operations such as move, set, clear, toggle, OR, and AND instructions and the conditional jump instructions. Table 4-4 on page 17 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 Document Number: 001-53413 Rev. AA Page 16 of 137 PSoC® 3: CY8C36 Family Datasheet Table 4-3. Data Transfer Instructions (continued) Bytes Cycles MOV @Ri, Direct Mnemonic 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 Pop direct byte from stack 2 2 Direct Description 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 Exchange low order indirect digit RAM with accumulator 1 3 Bytes Cycles XCHD A, @Ri Table 4-4. Boolean Instructions Mnemonic Description 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 Jump if carry is set 2 3 JNC rel rel Jump if no carry is set 2 3 JB 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 bit, rel Document Number: 001-53413 Rev. AA Page 17 of 137 PSoC® 3: CY8C36 Family Datasheet 4.3.1.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 4.4 DMA and PHUB The PHUB and the DMA controller are responsible for data transfer between the CPU and peripherals, and also data transfers between peripherals. The PHUB and DMA also control device configuration during boot. The PHUB consists of:  A central hub that includes the DMA controller, arbiter, and router  Multiple spokes that radiate outward from the hub to most peripherals There are two PHUB masters: the CPU and the DMA controller. Both masters may initiate transactions on the bus. The DMA channels can handle peripheral communication without CPU intervention. The arbiter in the central hub determines which DMA channel is the highest priority if there are multiple requests. 4.4.1 PHUB Features  CPU and DMA controller are both bus masters to the PHUB  Eight Multi-layer AHB Bus parallel access paths (spokes) for peripheral access Document Number: 001-53413 Rev. AA  Simultaneous CPU and DMA access to peripherals located on different spokes  Simultaneous DMA source and destination burst transactions on different spokes  Supports 8-, 16-, 24-, and 32-bit addressing and data Table 4-6. PHUB Spokes and Peripherals PHUB Spokes Peripherals 0 SRAM 1 IOs, PICU, EMIF 2 PHUB local configuration, Power manager, Clocks, IC, SWV, EEPROM, Flash programming interface 3 Analog interface and trim, Decimator 4 USB, CAN, I2C, Timers, Counters, and PWMs 5 DFB 6 UDBs group 1 7 UDBs group 2 Page 18 of 137 PSoC® 3: CY8C36 Family Datasheet 4.4.2 DMA Features Table 4-7. Priority Levels  24 DMA channels  Each channel has one or more transaction descriptors (TD) to configure channel behavior. Up to 128 total TDs can be defined  TDs can be dynamically updated  Eight levels of priority per channel  Any digitally routable signal, the CPU, or another DMA channel, can trigger a transaction  Each channel can generate up to two interrupts per transfer  Transactions can be stalled or canceled  Supports transaction size of infinite or 1 to 64 KB  TDs may be nested and/or chained for complex transactions 4.4.3 Priority Levels The CPU always has higher priority than the DMA controller when their accesses require the same bus resources. Due to the system architecture, the CPU can never starve the DMA. DMA channels of higher priority (lower priority number) may interrupt current DMA transfers. In the case of an interrupt, the current transfer is allowed to complete its current transaction. To ensure latency limits when multiple DMA accesses are requested simultaneously, a fairness algorithm guarantees an interleaved minimum percentage of bus bandwidth for priority levels 2 through 7. Priority levels 0 and 1 do not take part in the fairness algorithm and may use 100% of the bus bandwidth. If a tie occurs on two DMA requests of the same priority level, a simple round robin method is used to evenly share the allocated bandwidth. The round robin allocation can be disabled for each DMA channel, allowing it to always be at the head of the line. 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 1 have satisfied their requirements. Priority Level 0 1 2 3 4 5 6 7 % Bus Bandwidth 100.0 100.0 50.0 25.0 12.5 6.2 3.1 1.5 When the fairness algorithm is disabled, DMA access is granted based solely on the priority level; no bus bandwidth guarantees are made. 4.4.4 Transaction Modes Supported The flexible configuration of each DMA channel and the ability to chain multiple channels allow the creation of both simple and complex use cases. General use cases include, but are not limited to: 4.4.4.1 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 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 CLK DATA Phase CLK ADDR 16/32 A ADDR 16/32 B WRITE A B WRITE DATA (A) DATA READY DATA (A) DATA READY Basic DMA Read Transfer without wait states 4.4.4.2 Auto Repeat DMA Auto repeat DMA is typically used when a static pattern is repetitively read from system memory and written to a peripheral. This is done with a single TD that chains to itself. 4.4.4.3 Ping Pong DMA A ping pong DMA case uses double buffering to allow one buffer to be filled by one client while another client is consuming the Document Number: 001-53413 Rev. AA Basic DMA Write Transfer without wait states data previously received in the other buffer. In its simplest form, this is done by chaining two TDs together so that each TD calls the opposite TD when complete. 4.4.4.4 Circular DMA Circular DMA is similar to ping pong DMA except it contains more than two buffers. In this case there are multiple TDs; after the last TD is complete it chains back to the first TD. Page 19 of 137 PSoC® 3: CY8C36 Family Datasheet 4.4.4.5 Scatter Gather DMA 4.5 Interrupt Controller In the case of scatter gather DMA, there are multiple noncontiguous sources or destinations that are required to effectively carry out an overall DMA transaction. For example, a packet may need to be transmitted off of the device and the packet elements, including the header, payload, and trailer, exist in various noncontiguous locations in memory. Scatter gather DMA allows the segments to be concatenated together by using multiple TDs in a chain. The chain gathers the data from the multiple locations. A similar concept applies for the reception of data onto the device. Certain parts of the received data may need to be scattered to various locations in memory for software processing convenience. Each TD in the chain specifies the location for each discrete element in the chain. The interrupt controller provides a mechanism for hardware resources to change program execution to a new address, independent of the current task being executed by the main code. The interrupt controller provides enhanced features not found on original 8051 interrupt controllers: 4.4.4.6 Packet Queuing DMA Packet queuing DMA is similar to scatter gather DMA but specifically refers to packet protocols. With these protocols, there may be separate configuration, data, and status phases associated with sending or receiving a packet. For instance, to transmit a packet, a memory mapped configuration register can be written inside a peripheral, specifying the overall length of the ensuing data phase. The CPU can set up this configuration information anywhere in system memory and copy it with a simple TD to the peripheral. After the configuration phase, a data phase TD (or a series of data phase TDs) can begin (potentially using scatter gather). When the data phase TD(s) finish, a status phase TD can be invoked that reads some memory mapped status information from the peripheral and copies it to a location in system memory specified by the CPU for later inspection. Multiple sets of configuration, data, and status phase “subchains” can be strung together to create larger chains that transmit multiple packets in this way. A similar concept exists in the opposite direction to receive the packets. 4.4.4.7 Nested DMA One TD may modify another TD, as the TD configuration space is memory mapped similar to any other peripheral. For example, a first TD loads a second TD’s configuration and then calls the second TD. The second TD moves data as required by the application. When complete, the second TD calls the first TD, which again updates the second TD’s configuration. This process repeats as often as necessary.  Thirty-two interrupt vectors  Jumps directly to ISR anywhere in code space with dynamic vector addresses  Multiple sources for each vector  Flexible interrupt to vector matching  Each interrupt vector is independently enabled or disabled  Each interrupt can be dynamically assigned one of eight priorities  Eight level nestable interrupts  Multiple I/O interrupt vectors  Software can send interrupts  Software can clear pending interrupts When an interrupt is pending, the current instruction is completed and the program counter is pushed onto the stack. Code execution then jumps to the program address provided by the vector. After the ISR is completed, a RETI instruction is executed and returns execution to the instruction following the previously interrupted instruction. To do this the RETI instruction pops the program counter from the stack. If the same priority level is assigned to two or more interrupts, the interrupt with the lower vector number is executed first. Each interrupt vector may choose from three interrupt sources: Fixed Function, DMA, and UDB. The fixed function interrupts are direct connections to the most common interrupt sources and provide the lowest resource cost connection. The DMA interrupt sources provide direct connections to the two DMA interrupt sources provided per DMA channel. The third interrupt source for vectors is from the UDB digital routing array. This allows any digital signal available to the UDB array to be used as an interrupt source. Fixed function interrupts and all interrupt sources may be routed to any interrupt vector using the UDB interrupt source connections. Figure 4-2 on page 21 represents typical flow of events when an interrupt triggered. Figure 4-3 on page 22 shows the interrupt structure and priority polling. Document Number: 001-53413 Rev. AA Page 20 of 137 PSoC® 3: CY8C36 Family Datasheet Figure 4-2. Interrupt Processing Timing Diagram 1 2 3 4 5 6 7 8 9 10 11 S CLK Arrival of new Interrupt INT_INPUT S Pend bit is set on next 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 Interrupt request sent to core for processing IRQ ACTIVE_INT_NUM (#10) NA NA INT_VECT_ADDR 0x0010 S S The active interrupt number is posted to core The active interrupt ISR address is posted to core 0x0000 S S NA S IRA S IRC Interrupt generation and posting to CPU CPU Response Int. State Clear S Completing current instruction and branching to vector address Complete ISR and return TIME Notes 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 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 Document Number: 001-53413 Rev. AA Page 21 of 137 PSoC® 3: CY8C36 Family Datasheet Figure 4-3. Interrupt Structure Interrupt Polling logic Interrupts form Fixed function blocks, DMA and UDBs Highest Priority Interrupt Enable/ Disable, PEND and POST logic Interrupts 0 to 31 from UDBs 0 Interrupts 0 to 31 from Fixed Function Blocks 1 IRQ 8 Level Priority decoder for all interrupts Polling sequence Interrupt routing logic to select 32 sources Interrupt 2 to 30 Interrupts 0 to 31 from DMA Individual Enable Disable bits 0 to 31 ACTIVE_INT_NUM [15:0] INT_VECT_ADDR IRA IRC 31 Global Enable disable bit Lowest Priority Table 4-8. Interrupt Vector Table # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Fixed Function LVD Cache/ECC Reserved Sleep (Pwr Mgr) PICU[0] PICU[1] PICU[2] PICU[3] PICU[4] PICU[5] PICU[6] PICU[12] PICU[15] Comparators Combined Switched Caps Combined I2C CAN Timer/Counter0 Timer/Counter1 Timer/Counter2 Timer/Counter3 USB SOF Int USB Arb Int Document Number: 001-53413 Rev. AA DMA phub_termout0[0] phub_termout0[1] phub_termout0[2] phub_termout0[3] phub_termout0[4] phub_termout0[5] phub_termout0[6] phub_termout0[7] phub_termout0[8] phub_termout0[9] phub_termout0[10] phub_termout0[11] phub_termout0[12] phub_termout0[13] phub_termout0[14] phub_termout0[15] phub_termout1[0] phub_termout1[1] phub_termout1[2] phub_termout1[3] phub_termout1[4] phub_termout1[5] phub_termout1[6] UDB udb_intr[0] udb_intr[1] udb_intr[2] udb_intr[3] udb_intr[4] udb_intr[5] udb_intr[6] udb_intr[7] udb_intr[8] udb_intr[9] udb_intr[10] udb_intr[11] udb_intr[12] udb_intr[13] udb_intr[14] udb_intr[15] udb_intr[16] udb_intr[17] udb_intr[18] udb_intr[19] udb_intr[20] udb_intr[21] udb_intr[22] Page 22 of 137 PSoC® 3: CY8C36 Family Datasheet Table 4-8. Interrupt Vector Table (continued) # 23 24 25 26 27 28 29 30 31 Fixed Function USB Bus Int USB Endpoint[0] USB Endpoint Data Reserved LCD DFB Int Decimator Int PHUB Error Int EEPROM Fault Int DMA phub_termout1[7] phub_termout1[8] phub_termout1[9] phub_termout1[10] phub_termout1[11] phub_termout1[12] phub_termout1[13] phub_termout1[14] phub_termout1[15] 5. Memory 5.1 Static RAM CY8C36 Static RAM (SRAM) is used for temporary data storage. Up to 8 KB of SRAM is provided and can be accessed by the 8051 or the DMA controller. See Memory Map on page 26. Simultaneous access of SRAM by the 8051 and the DMA controller is possible if different 4-KB blocks are accessed. 5.2 Flash Program Memory Flash memory in PSoC devices provides nonvolatile storage for user firmware, user configuration data, bulk data storage, and optional ECC data. The main flash memory area contains up to 64 KB of user program space. Up to an additional 8 KB of flash space is available for ECC. If ECC is not used this space can store device configuration data and bulk user data. User code may not be run out of the ECC flash memory section. ECC can correct one bit error and detect two bit errors per 8 bytes of firmware memory; an interrupt can be generated when an error is detected. The CPU reads instructions located in flash through a cache controller. This improves instruction execution rate and reduces system power consumption by requiring less frequent flash access. The cache has 8 lines at 64 bytes per line for a total of 512 bytes. It is fully associative, automatically controls flash power, and can be enabled or disabled. If ECC is enabled, the cache controller also performs error checking and correction, and interrupt generation. Flash programming is performed through a special interface and preempts code execution out of flash. The flash programming interface performs flash erasing, programming and setting code protection levels. Flash in-system serial programming (ISSP), typically used for production programming, is possible through both the SWD and JTAG interfaces. In-system programming, typically used for bootloaders, is also possible using serial interfaces such as I2C, USB, UART, and SPI, or any communications protocol. 5.3 Flash Security All PSoC devices include a flexible flash-protection model that prevents access and visibility to on-chip flash memory. This prevents duplication or reverse engineering of proprietary code. Flash memory is organized in blocks, where each block contains 256 bytes of program or data and 32 bytes of ECC or configuration data. A total of up to 256 blocks is provided on 64-KB flash devices. Document Number: 001-53413 Rev. AA UDB udb_intr[23] udb_intr[24] udb_intr[25] udb_intr[26] udb_intr[27] udb_intr[28] udb_intr[29] udb_intr[30] udb_intr[31] The device offers the ability to assign one of four protection levels to each row of flash. Table 5-1 lists the protection modes available. Flash protection levels can only be changed by performing a complete flash erase. The Full Protection and Field Upgrade settings disable external access (through a debugging tool such as PSoC Creator, for example). If your application requires code update through a boot loader, then use the Field Upgrade setting. Use the Unprotected setting only when no security is needed in your application. The PSoC device also offers an advanced security feature called Device Security that permanently disables all test, programming, and debug ports, protecting your application from external access (see Device Security on page 68). For information about how to take full advantage of the security features in PSoC, see the PSoC 3 TRM. Table 5-1. Flash Protection Protection Setting Allowed Not Allowed Unprotected External read and write – + internal read and write Factory Upgrade External write + internal read and write External read Field Upgrade Internal read and write External read and write Full Protection Internal read External read and write + internal write Disclaimer Note the following details of the flash code protection features on Cypress devices. Cypress products meet the specifications contained in their particular Cypress data sheets. Cypress believes that its family of products is one of the most secure families of its kind on the market today, regardless of how they are used. There may be methods, unknown to Cypress, that can breach the code protection features. Any of these methods, to our knowledge, would be dishonest and possibly illegal. Neither Cypress nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.” Cypress is willing to work with the customer who is concerned about the integrity of their code. Code protection is constantly evolving. We at Cypress are committed to continuously improving the code protection features of our products. Page 23 of 137 PSoC® 3: CY8C36 Family Datasheet 5.4 EEPROM PSoC EEPROM memory is a byte-addressable nonvolatile memory. The CY8C36 has up to 2 KB of EEPROM memory to store user data. Reads from EEPROM are random access at the byte level. Reads are done directly; writes are done by sending write commands to an EEPROM programming interface. CPU code execution can continue from flash during EEPROM writes. EEPROM is erasable and writeable at the row level. The EEPROM is divided into 128 rows of 16 bytes each. The factory default values of all EEPROM bytes are 0. Because the EEPROM is mapped to the 8051 xdata space, the CPU cannot execute out of EEPROM. There is no ECC hardware associated with EEPROM. If ECC is required it must be handled in firmware. It can take as much as 20 milliseconds to write to EEPROM or flash. During this time the device should not be reset, or unexpected changes may be made to portions of EEPROM or flash. Reset sources (see Section 6.3.1) include XRES pin, software reset, and watchdog; care should be taken to make sure that these are not inadvertently activated. In addition, the low voltage detect circuits should be configured to generate an interrupt instead of a reset. 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 0x00 0x01 0x02 7 6 5 4 3 2 PRT3RDM[1:0] PRT2RDM[1:0] PRT1RDM[1:0] PRT12RDM[1:0] PRT6RDM[1:0] PRT5RDM[1:0] XRESMEN 0x03 1 PRT4RDM[1:0] DBGEN DIG_PHS_DLY[3:0] 0 PRT0RDM[1:0] PRT15RDM[1:0] ECCEN DPS[1:0] CFGSPEED 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 00b (default) - high impedance analog port. See “Reset Configuration” on page 43. All pins 01b - high impedance digital of the port 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 0 (default for 68-pin 72-pin, and 100-pin parts) - GPIO an external reset. See “Pin Descriptions” on page 12, 1 (default for 48-pin parts) - external reset XRES description. DBGEN Debug Enable allows access to the debug system, for 0 - access disabled third-party programmers. 1 (default) - access enabled CFGSPEED Controls the speed of the IMO-based clock during the 0 (default) - 12 MHz IMO device boot process, for faster boot or low-power 1 - 48 MHz IMO operation DPS[1:0] Controls the usage of various P1 pins as a debug port. See “Programming, Debug Interfaces, Resources” on page 65. 00b - 5-wire JTAG 01b (default) - 4-wire JTAG 10b - SWD 11b - debug ports disabled ECCEN Controls whether ECC flash is used for ECC or for general configuration and data storage. See “Flash Program Memory” on page 23. 0 - ECC disabled 1 (default) - ECC enabled 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 110. Document Number: 001-53413 Rev. AA Page 24 of 137 PSoC® 3: CY8C36 Family Datasheet 5.6 External Memory Interface CY8C36 provides an external memory interface (EMIF) for connecting to external memory devices. The connection allows read and write accesses to external memories. The EMIF operates in conjunction with UDBs, I/O ports, and other hardware to generate external memory address and control signals. At 33 MHz, each memory access cycle takes four bus clock cycles. Figure 5-1 is the EMIF block diagram. The EMIF supports synchronous and asynchronous memories. The CY8C36 supports only one type of external memory device at a time. External memory can be accessed through the 8051 xdata space; up to 24 address bits can be used. See xdata Space on page 27. The memory can be 8 or 16 bits wide. Figure 5-1. EMIF Block Diagram Address Signals External_ MEM_ ADDR[23:0] IO PORTs Data Signals External_ MEM_ DATA[15:0] IO PORTs Control Signals IO PORTs Data, Address, and Control Signals IO IF PHUB Data, Address, and Control Signals Control DSI Dynamic Output Control UDB DSI to Port Data, Address, and Control Signals EM Control Signals Other Control Signals EMIF Document Number: 001-53413 Rev. AA Page 25 of 137 PSoC® 3: CY8C36 Family Datasheet 5.7 Memory Map Figure 5-2. 8051 Internal Data Space The CY8C36 8051 memory map is very similar to the MCS-51 memory map. 0x00 4 Banks, R0-R7 Each 0x1F 0x20 5.7.1 Code Space Bit-Addressable Area 0x2F The CY8C36 8051 code space is 64 KB. Only main flash exists in this space. See the “Flash Program Memory” section on page 23. 0x30 Lower Core RAM Shared with Stack Space (direct and indirect addressing) 0x7F 5.7.2 Internal Data Space 0x80 The CY8C36 8051 internal data space is 384 bytes, compressed within a 256-byte space. This space consists of 256 bytes of RAM (in addition to the SRAM mentioned in “Static RAM” on page 23) and a 128-byte space for Special Function Registers (SFRs). See Figure 5-2. The lowest 32 bytes are used for four banks of registers R0-R7. The next 16 bytes are bit-addressable. 0xFF Upper Core RAM Shared with Stack Space (indirect addressing) SFR Special Function Registers (direct addressing) In addition to the register or bit address modes used with the lower 48 bytes, the lower 128 bytes can be accessed with direct or indirect addressing. With direct addressing mode, the upper 128 bytes map to the SFRs. With indirect addressing mode, the upper 128 bytes map to RAM. Stack operations use indirect addressing; the 8051 stack space is 256 bytes. See the “Addressing Modes” section on page 14. 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×B8 – – – – – – – – 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 CY8C36 family provides the standard set of registers found on industry standard 8051 devices. In addition, the CY8C36 devices add SFRs to provide direct access to the I/O ports on the device. The following sections describe the SFRs added to the CY8C36 family. Document Number: 001-53413 Rev. AA Page 26 of 137 PSoC® 3: CY8C36 Family Datasheet 5.7.3.1 XData Space Access SFRs Table 5-5. XDATA Data Address Map The 8051 core features dual DPTR registers for faster data transfer operations. The data pointer select SFR, DPS, selects which data pointer register, DPTR0 or DPTR1, is used for the following instructions: 0×00 0000 – 0×00 1FFF SRAM 0×00 4000 – 0×00 42FF Clocking, PLLs, and oscillators  MOVX @DPTR, A 0×00 4300 – 0×00 43FF Power management 0×00 4400 – 0×00 44FF Interrupt controller 0×00 4500 – 0×00 45FF Ports interrupt control 0×00 4700 – 0×00 47FF Flash programming interface  MOVX A, @DPTR  MOVC A, @A+DPTR  JMP @A+DPTR  INC DPTR Address Range Purpose 0×00 4800 - 0×00 48FF Cache controller 0×00 4900 – 0×00 49FF I2C controller  MOV DPTR, #data16 0×00 4E00 – 0×00 4EFF Decimator The extended data pointer SFRs, DPX0, DPX1, MXAX, and P2AX, hold the most significant parts of memory addresses during access to the xdata space. These SFRs are used only with the MOVX instructions. 0×00 4F00 – 0×00 4FFF Fixed timer/counter/PWMs During a MOVX instruction using the DPTR0/DPTR1 register, the most significant byte of the address is always equal to the contents of DPX0/DPX1. During a MOVX instruction using the R0 or R1 register, the most significant byte of the address is always equal to the contents of MXAX, and the next most significant byte is always equal to the contents of P2AX. 0×00 5000 – 0×00 51FF I/O ports control 0×00 5400 – 0×00 54FF External Memory Interface (EMIF) control registers 0×00 5800 – 0×00 5FFF Analog Subsystem interface 0×00 6000 – 0×00 60FF USB controller 0×00 6400 – 0×00 6FFF UDB Working Registers 0×00 7000 – 0×00 7FFF PHUB configuration 0×00 8000 – 0×00 8FFF EEPROM 5.7.3.2 I/O Port SFRs 0×00 A000 – 0×00 A400 CAN The I/O ports provide digital input sensing, output drive, pin interrupts, connectivity for analog inputs and outputs, LCD, and access to peripherals through the DSI. Full information on I/O ports is found in I/O System and Routing on page 37. 0×00 C000 – 0×00 C800 Digital Filter Block 0×01 0000 – 0×01 FFFF Digital Interconnect configuration I/O ports are linked to the CPU through the PHUB and are also available in the SFRs. Using the SFRs allows faster access to a limited set of I/O port registers, while using the PHUB allows boot configuration and access to all I/O port registers. 0×05 0220 – 0×05 02F0 Debug controller 0×08 0000 – 0×08 1FFF flash ECC bytes 0×80 0000 – 0×FF FFFF External Memory Interface Each SFR supported I/O port provides three SFRs:  SFRPRTxDR sets the output data state of the port (where × is port number and includes ports 0–6, 12 and 15).  The SFRPRTxSEL selects whether the PHUB PRTxDR register or the SFRPRTxDR controls each pin’s output buffer within the port. If a SFRPRTxSEL[y] bit is high, the corresponding SFRPRTxDR[y] bit sets the output state for that pin. If a SFRPRTxSEL[y] bit is low, the corresponding PRTxDR[y] bit sets the output state of the pin (where y varies from 0 to 7).  The SFRPRTxPS is a read only register that contains pin state values of the port pins. 5.7.4 xdata Space The 8051 xdata space is 24-bit, or 16 MB in size. The majority of this space is not “external”—it is used by on-chip components. See Table 5-5. External, that is, off-chip, memory can be accessed using the EMIF. See External Memory Interface on page 25. Document Number: 001-53413 Rev. AA Page 27 of 137 PSoC® 3: CY8C36 Family Datasheet 6. System Integration Key features of the clocking system include:  Seven general purpose clock sources 6.1 Clocking System The clocking system generates, divides, and distributes clocks throughout the PSoC system. For the majority of systems, no external crystal is required. The IMO and PLL together can generate up to a 66 MHz clock, accurate to ±1% over voltage and temperature. Additional internal and external clock sources allow each design to optimize accuracy, power, and cost. Any of the clock sources can be used to generate other clock frequencies in the 16-bit clock dividers and UDBs for anything the user wants, for example a UART baud rate generator. Clock generation and distribution is automatically configured through the PSoC Creator IDE graphical interface. This is based on the complete system’s requirements. It greatly speeds the design process. PSoC Creator allows you to build clocking systems with minimal input. You can specify desired clock frequencies and accuracies, and the software locates or builds a clock that meets the required specifications. This is possible because of the programmability inherent in PSoC. 3- to 62-MHz IMO, ±1% at 3 MHz 4- to 25-MHz external crystal oscillator (MHzECO)  Clock doubler provides a doubled clock frequency output for the USB block, see USB Clock Domain on page 30.  DSI signal from an external I/O pin or other logic  24- to 67-MHz fractional PLL sourced from IMO, MHzECO, or DSI  1-kHz, 33-kHz, 100-kHz ILO for WDT and sleep timer  32.768-kHz external crystal oscillator (kHzECO) for RTC    IMO has a USB mode that auto locks to the USB bus clock requiring no external crystal for USB. (USB equipped parts only)  Independently sourced clock in all clock dividers  Eight 16-bit clock dividers for the digital system  Four 16-bit clock dividers for the analog system  Dedicated 16-bit divider for the bus clock  Dedicated 4-bit divider for the CPU clock  Automatic clock configuration in PSoC Creator Figure 6-1. Clocking Subsystem 3-62 MHz IMO 4-25 MHz ECO External IO or DSI 0-33 MHz 32 kHz ECO 1,33,100 kHz ILO CPU Clock Divider 4 bit 48 MHz Doubler for USB 24-67 MHz PLL Master Mux Bus Clock Bus Clock Divider 16 bit 7 Digital Clock Divider 16 bit Digital Clock Divider 16 bit Analog Clock Divider 16 bit s k e w Digital Clock Divider 16 bit Digital Clock Divider 16 bit Analog Clock Divider 16 bit s k e w Digital Clock Divider 16 bit Digital Clock Divider 16 bit Analog Clock Divider 16 bit s k e w Digital Clock Divider 16 bit Digital Clock Divider 16 bit Analog Clock Divider 16 bit s k e w 7 Document Number: 001-53413 Rev. AA CPU Clock Page 28 of 137 PSoC® 3: CY8C36 Family Datasheet Table 6-1. Oscillator Summary Source IMO MHzECO Fmin 3 MHz 4 MHz Tolerance at Fmin ±1% over voltage and temperature Crystal dependent Fmax 62 MHz 25 MHz Tolerance at Fmax ±7% Crystal dependent DSI PLL Doubler ILO 0 MHz 24 MHz 48 MHz 1 kHz Input dependent Input dependent Input dependent –50%, +100% 33 MHz 67 MHz 48 MHz 100 kHz Input dependent Input dependent Input dependent –55%, +100% kHzECO 32 kHz Crystal dependent 32 kHz Crystal dependent Startup Time 13 µs max 5 ms typ, max is crystal dependent Input dependent 250 µs max 1 µs max 15 ms max in lowest power mode 500 ms typ, max is crystal dependent 6.1.1 Internal Oscillators 6.1.1.4 Internal Low-Speed Oscillator Figure 6-1 shows that there are two internal oscillators. They can be routed directly or divided. The direct routes may not have a 50% duty cycle. Divided clocks have a 50% duty cycle. The ILO provides clock frequencies for low-power consumption, including the watchdog timer, and sleep timer. The ILO generates up to three different clocks: 1 kHz, 33 kHz, and 100 kHz. 6.1.1.1 Internal Main Oscillator In most designs the IMO is the only clock source required, due to its ±1% accuracy. The IMO operates with no external components and outputs a stable clock. A factory trim for each frequency range is stored in the device. With the factory trim, tolerance varies from ±1% at 3 MHz, up to ±7% at 62 MHz. The IMO, in conjunction with the PLL, allows generation of other clocks up to the device's maximum frequency (see Phase-Locked Loop). The IMO provides clock outputs at 3, 6, 12, 24, 48, and 62 MHz. 6.1.1.2 Clock Doubler The clock doubler outputs a clock at twice the frequency of the input clock. The doubler works at an input frequency of 24 MHz, providing 48 MHz for the USB. It can be configured to use a clock from the IMO, MHzECO, or the DSI (external pin). 6.1.1.3 Phase-Locked Loop The PLL allows low frequency, high accuracy clocks to be multiplied to higher frequencies. This is a tradeoff between higher clock frequency and accuracy and, higher power consumption and increased startup time. The PLL block provides a mechanism for generating clock frequencies based upon a variety of input sources. The PLL outputs clock frequencies in the range of 24 to 67 MHz. Its input and feedback dividers supply 4032 discrete ratios to create almost any desired clock frequency. The accuracy of the PLL output depends on the accuracy of the PLL input source. The most common PLL use is to multiply the IMO clock at 3 MHz, where it is most accurate, to generate the other clocks 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 signal can be routed through the DSI to generate an interrupt. Disable the PLL before entering low-power modes. Document Number: 001-53413 Rev. AA The 1-kHz clock (CLK1K) is typically used for a background ‘heartbeat’ timer. This clock inherently lends itself to low-power supervisory operations such as the watchdog timer and long sleep intervals using the central timewheel (CTW). The central timewheel is a 1-kHz, free-running, 13-bit counter clocked by the ILO. The central timewheel is always enabled, except in hibernate mode and when the CPU is stopped during debug on chip mode. It can be used to generate periodic interrupts for timing purposes or to wake the system from a low-power mode. Firmware can reset the central timewheel. Systems that require accurate timing should use the RTC capability instead of the central timewheel. The 100-kHz clock (CLK100K) can be used as a low power master clock. It can also generate time intervals using the fast timewheel. The fast timewheel is a 5-bit counter, clocked by the 100-kHz clock. It features programmable settings and automatically resets when the terminal count is reached. An optional interrupt can be generated each time the terminal count is reached. This enables flexible, periodic interrupts of the CPU at a higher rate than is allowed using the central timewheel. The 33-kHz clock (CLK33K) comes from a divide-by-3 operation on CLK100K. This output can be used as a reduced accuracy version of the 32.768-kHz ECO clock with no need for a crystal. 6.1.2 External Oscillators Figure 6-1 shows that there are two external oscillators. They can be routed directly or divided. The direct routes may not have a 50% duty cycle. Divided clocks have a 50% duty cycle. 6.1.2.1 MHz External Crystal Oscillator 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 in conjunction with the PLL, it can generate other clocks up to the device's maximum frequency (see Phase-Locked Loop). The GPIO pins connecting to the external crystal and capacitors are fixed. MHzECO accuracy depends on the crystal chosen. Page 29 of 137 PSoC® 3: CY8C36 Family Datasheet Figure 6-2. MHzECO Block Diagram XCLK_MHZ 4 – 25 MHz Crystal Osc Xi (Pin P15[1]) External Components Xo (Pin P15[0]) 4 – 25 MHz crystal Capacitors 6.1.2.2 32.768-kHz ECO The 32.768-kHz external crystal oscillator (32kHzECO) provides precision timing with minimal power consumption using an external 32.768-kHz watch crystal (see Figure 6-3). The 32kHzECO also connects directly to the sleep timer and provides the source for the RTC. The RTC uses a 1-second interrupt to implement the RTC functionality in firmware. The oscillator works in two distinct power modes. This allows users to trade off power consumption with noise immunity from neighboring circuits. The GPIO pins connected to the external crystal and capacitors are fixed. Figure 6-3. 32kHzECO Block Diagram 32 kHz Crystal Osc Xi (Pin P15[3]) External Components XCLK32K Xo (Pin P15[2]) 32 kHz crystal Capacitors It is recommended that the external 32.768-kHz watch crystal have a load capacitance (CL) of 6 pF or 12.5 pF. Check the crystal manufacturer's datasheet. The two external capacitors, CL1 and CL2, are typically of the same value, and their total capacitance, CL1CL2 / (CL1 + CL2), including pin and trace capacitance, should equal the crystal CL value. For more information, refer to application note AN54439: PSoC 3 and Document Number: 001-53413 Rev. AA PSoC 5 External Oscillators. See also pin capacitance specifications in the “GPIO” section on page 80. 6.1.2.3 Digital System Interconnect The DSI provides routing for clocks taken from external clock oscillators connected to I/O. The oscillators can also be generated within the device in the digital system and UDBs. 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 sources. 6.1.3 Clock Distribution All seven clock sources are inputs to the central clock distribution system. The distribution system is designed to create multiple high precision clocks. These clocks are customized for the design’s requirements and eliminate the common problems found with limited resolution prescalers attached to peripherals. The clock distribution system generates several types of clock trees.  The master clock is used to select and supply the fastest clock in the system for general clock requirements and clock synchronization of the PSoC device.  Bus clock 16-bit divider uses the master clock to generate the bus clock used for data transfers. Bus clock is the source clock for the CPU clock divider.  Eight fully programmable 16-bit clock dividers generate digital system clocks for general use in the digital system, as configured by the design’s requirements. Digital system clocks can generate custom clocks derived from any of the seven clock sources for any purpose. Examples include baud rate generators, accurate PWM periods, and timer clocks, and many others. If more than eight digital clock dividers are required, the Universal Digital Blocks (UDBs) and fixed function timer/counter/PWMs can also generate clocks.  Four 16-bit clock dividers generate clocks for the analog system components that require clocking, such as ADC and mixers. The analog clock dividers include skew control to ensure that critical analog events do not occur simultaneously with digital switching events. This is done to reduce analog system noise. Each clock divider consists of an 8-input multiplexer, a 16-bit clock divider (divide by 2 and higher) that generates ~50% duty cycle clocks, master clock resynchronization logic, and deglitch logic. The outputs from each digital clock tree can be routed into the digital system interconnect and then brought back into the clock system as an input, allowing clock chaining of up to 32 bits. 6.1.4 USB Clock Domain The USB clock domain is unique in that it operates largely asynchronously from the main clock network. The USB logic contains a synchronous bus interface to the chip, while running on an asynchronous clock to process USB data. The USB logic requires a 48 MHz frequency. This frequency can be generated from different sources, including DSI clock at 48 MHz or doubled value of 24 MHz from internal oscillator, DSI signal, or crystal oscillator. Page 30 of 137 PSoC® 3: CY8C36 Family Datasheet 6.2 Power System VDDIO pins must have capacitors connected as shown in Figure 6-4. The two VCCD pins must be shorted together, with as short a trace as possible, and connected to a 1-µF ±10% ×5R capacitor. The power system also contains a sleep regulator, an I2C regulator, and a hibernate regulator. The power system consists of separate analog, digital, and I/O supply pins, labeled VDDA, VDDD, and VDDIO×, respectively. It also includes two internal 1.8 V regulators that provide the digital (VCCD) and analog (VCCA) supplies for the internal core logic. The output pins of the regulators (VCCD and VCCA) and the Figure 6-4. PSoC Power System VDDD 1 µF VDDIO2 VDDD VSSD VCCD I/O Supply VDDIO2 VDDIO0 0.1 µF 0.1µF I/ O Supply VDDIO0 0.1 µF I2C Regulator Sleep Regulator Digital Domain VDDA VDDA VSSB VCCA Analog Regulator Digital Regulators 0.1µF 1 µF VSSA Analog Domain 0.1 µF I/O Supply VDDIO3 VDDD VSSD I/O Supply VCCD VDDIO1 Hibernate Regulator 0.1 µF 0.1 µF VDDIO1 VDDD VDDIO3 Notes  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-8 on page 12.  It is good practice to check the datasheets for your bypass capacitors, specifically the working voltage and the DC bias specifications. With some capacitors, the actual capacitance can decrease considerably when the DC bias (VDDX or VCCX in Figure 6-4) is a significant percentage of the rated working voltage.  You can power the device in internally regulated mode, where the voltage applied to the VDDx pins is as high as 5.5 V, and the internal regulators provide the core voltages. In this mode, do not apply power to the VCCx pins, and do not tie the VDDx pins to the VCCx pins.  You can also power the device in externally regulated mode, that is, by directly powering the VCCD and VCCA pins. In this configuration, the VDDD pins should be shorted to the VCCD pins and the VDDA pin should be shorted to the VCCA pin. The allowed supply range in this configuration is 1.71 V to 1.89 V. After power up in this configuration, the internal regulators are on by default, and should be disabled to reduce power consumption. Document Number: 001-53413 Rev. AA Page 31 of 137 PSoC® 3: CY8C36 Family Datasheet 6.2.1 Power Modes PSoC 3 devices have four different power modes, as shown in Table 6-2 and Table 6-3. The power modes allow a design to easily provide required functionality and processing power while simultaneously minimizing power consumption and maximizing battery life in low-power and portable devices. Active is the main processing mode. Its functionality is configurable. Each power controllable subsystem is enabled or disabled by using separate power configuration template registers. In alternate active mode, fewer subsystems are enabled, reducing power. In sleep mode most resources are disabled regardless of the template settings. Sleep mode is optimized to provide timed sleep intervals and RTC functionality. The lowest power mode is hibernate, which retains register and SRAM state, but no clocks, and allows wakeup only from I/O pins. Figure 6-5 illustrates the allowable transitions between power modes. Sleep and hibernate modes should not be entered until all VDDIO supplies are at valid voltage levels. PSoC 3 power modes, in order of decreasing power consumption are:  Active  Alternate Active  Sleep .  Hibernate Table 6-2. Power Modes Power Modes Description Wakeup Source Entry Condition Active Clocks Regulator Active Primary mode of operation, all periph- Wakeup, reset, erals available (programmable) manual register entry Any interrupt Any (programmable) All regulators available. Digital and analog regulators can be disabled if external regulation used. Alternate Active Similar to Active mode, and is typically Manual register configured to have fewer peripherals entry active to reduce power. One possible configuration is to use the UDBs for processing, with the CPU turned off Any interrupt Any (programmable) All regulators available. Digital and analog regulators can be disabled if external regulation used. Sleep All subsystems automatically disabled Manual register entry Comparator, PICU, I2C, RTC, CTW, LVD ILO/kHzECO Both digital and analog regulators buzzed. Digital and analog regulators can be disabled if external regulation used. Hibernate All subsystems automatically disabled Manual register Lowest power consuming mode with entry all peripherals and internal regulators disabled, except hibernate regulator is enabled Configuration and memory contents retained PICU – Only hibernate regulator active. Table 6-3. Power Modes Wakeup Time and Power Consumption Sleep Modes Wakeup Time Current (Typ) Active – Alternate Active Sleep Hibernate Code Execution Digital Resources Analog Resources Clock Sources Available Wakeup Sources Reset Sources 1.2 mA[16] Yes – – User defined All All All – All All All All – All
CY8C3666AXI-200T 价格&库存

很抱歉,暂时无法提供与“CY8C3666AXI-200T”相匹配的价格&库存,您可以联系我们找货

免费人工找货