Programmable Gain Amplifier Datasheet PGA V 3.2. Features and Overview

Similar documents
Programmable Threshold Comparator Data Sheet

For one or more fully configured, functional example projects that use this user module go to

8 to 1 Analog Multiplexer Datasheet AMux8 V 1.1. Features and Overview

CY7C603xx CYWUSB

Preliminary. Gas Sensor Analog Front End Datasheet GasSensorAFE V Features and Overview. This datasheet contains Preliminary information.

4 to 1 Analog Multiplexer Data Sheet

LPF (Optional) CY8C24x93. Without LPF and ISR to 3* With LPF only** to 3* With ISR only to 3*

Shadow Registers Datasheet ShadowRegs V 1.1. Features and Overview

DMX512 Receiver Datasheet DMX512Rx V 1.0. Features and Overview

Supported Devices: CY8C28x13, CY8C28x33, CY8C28x43, CY8C28x45, CY8C28x52, CY8C21x45, CY8C22x45, CY8C24x93. CY8C24x

Incremental ADC Data Sheet

CapSense I 2 C/SPI Timer Flash RAM

Use the Status Register when the firmware needs to query the state of internal digital signals.

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

Voltage Reference (Vref) Features. General Description. Input/Output Connections. When to Use a Vref Voltage references and supplies

24-Bit Pseudo Random Sequence Generator Data Sheet

PSoC Blocks. CY8C20xx6/6A/6AS/6H/6L, CY8C20xx7/7S, CY7C643xx, CY7C604xx, CYONS2xxx, CYONSxNxxxx, CYRF89x35, CY8C20065, CY8C24x93, CY7C69xxx

Comparator (Comp) Features. General Description. When to use a Comparator 1.60

CY8C29/27/24/23/21xxx, CY8CLED02/04/08/16, CY8CLED0xD, CY8CLED0xG, CY8C28x45, CY8CPLC20, CY8CLED16P01, CY8C28xxx. Main UM

Use the Status Register when the firmware needs to query the state of internal digital signals.

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

Filter_ADC_VDAC_poll Example Project Features. General Description. Development Kit Configuration

1st Order Modulator nd Order Modulator

32-Bit Counter Datasheet Counter32 V 2.5. Features and Overview

Writing to Internal Flash in PSoC 3 and PSoC 5

1st Order Modulator nd Order Modulator

PSoC 4 Low Power Comparator (LPComp) Features. General Description. When to Use a LPComp 2.0. Low input offset. User controlled offset calibration

Supported devices: CY8C29x66, CY8C27x43, CY8C28xxx, CY8C24x23, CY8C24x33, CY8C21x23, CY8C21x34, CY8C21x45, CY8C22x45, CY8C24x94

Triple Input 8-Bit Incremental ADC Datasheet TriADC8 V Features and Overview. See AN2239, ADC Selection Guide for other converters.

CY8C29/27/24xxx, CY8CLED04/08/16, CY8CLED0xD, CY8CLED0xG, CY8C28x45, CY8CPLC20, CY8CLED16P01, CY8C28x43, CY8C28x52

6 to 14-Bit Delta Sigma ADC DatasheetDelSigMultiV 1.30

16-Bit Hardware Density Modulated PWM Data Sheet

HX2VL Development Kit Guide. Doc. # Rev. **

7- to 13-Bit Variable Resolution Incremental ADC Datasheet ADCINCVR V 4.00

Cypress HX2VL Configuration Utility Blaster User Guide

HX2VL Development Kit Guide. Doc. # Rev. *A

Use the IDAC8 when a fixed or programmable current source is required in an application.

CE PSoC 4: Time-Stamped ADC Data Transfer Using DMA

PSoC Creator Component Datasheet

AN SIO Tips and Tricks in PSoC 3 / PSoC 5. Application Note Abstract. Introduction

Comparator Datasheet CMP V 1.1. Features and Overview

THIS SPEC IS OBSOLETE

Triple Input 7- to 13-Bit Incremental ADC Datasheet TriADC V Features and Overview

Next-Generation Hot-Swap Controllers

GPIF II Designer - Quick Start Guide

Reviving Bit-slice Technology in a Programmable Fashion

FTG Programming Kit CY3670. Spec. # Rev. *C

For one or more fully configured, functional example projects that use this user module go to

Cypress HX2VL Configuration Utility Blaster User Guide

THIS SPEC IS OBSOLETE

The following table lists user modules used in this code example and the hardware resources occupied by each user module.

This section describes the various input and output connections for the Voltage Fault Detector.

The color of the Clock component waveform symbol will change based on the clock's domain (as shown in the DWR Clock Editor), as follows:

PSoC Programmer 3.12 Release Notes

The AMuxSeq is capable of having between 2 and 32 analog inputs. The paired inputs are present when the MuxType parameter is set to "Differential.

Inverting Programmable Gain Amplifier (PGA_Inv)

PSoC 1 I 2 C Bootloader

For one or more fully configured, functional example projects that use this user module go to

Libraries Guide. Arithmetic Libraries User Guide. Document #: Rev. *A

This Application Note demonstrates an SPI-LIN slave bridge using a PSoC device. Demonstration projects are included.

CYClockMaker Programming Kit Guide CY3675. Doc. # Rev. **

Clock Programming Kit

EZ I 2 C Slave. Features. General Description. When to use a EZ I 2 C Slave 1.50

CYClockMaker Programming Kit Guide CY3675. Doc. # Rev. *C

CE56273 Associated Part Families: CY8C38xx/CY8C55xx Software: PSoC Creator Related Hardware: CY8CKIT-001 Author: Anu M D

This section describes the various input and output connections for the Voltage Fault Detector.

PSoC 6 Current Digital to Analog Converter (IDAC7)

PSoC 4 Operational Amplifier (Opamp) Features. General Description. When to Use the Opamp Follower or Opamp configuration

Release Notes SRN065 PSoC Programmer Version Release Date: November 9, 2009

THIS SPEC IS OBSOLETE

This optional pin is present if the Mode parameter is set to SyncMode or PulseMode. Otherwise, the clock input does not show.

CY3660-enCoRe V and encore V LV DVK Kit Guide

12-Mbit (512 K 24) Static RAM

PSoC 4 Current Digital to Analog Converter (IDAC)

144-Mbit QDR -II SRAM 2-Word Burst Architecture

Use the Status Register when the firmware needs to query the state of internal digital signals.

PSoC 4 Voltage Comparator (Comp) Features. General Description. When to Use Comparator Low input offset. User controlled offset calibration

PSoC Designer Release Notes

AN1090. NoBL : The Fast SRAM Architecture. Introduction. NoBL SRAM Description. Abstract. NoBL SRAM Operation

CE58957 demonstrates how to implement the fade and toggle feature to the backlight LEDs of CapSense buttons.

Voltage Fault Detector (VFD) Features. General Description. Input/Output Connections. When to Use a VFD. Clock Input 2.30

AN EZ-USB FX3 I 2 C Boot Option. Application Note Abstract. Introduction. FX3 Boot Options

This input determines the next value of the output. The output does not change until the next rising edge of the clock.

Digital Multiplexer and Demultiplexer. Features. General Description. Input/Output Connections. When to Use a Multiplexer. Multiplexer 1.

PSoC Programmer Release Notes

Use a DieTemp component when you want to measure the die temperature of a device.

FM3 MB9B100A/300A/400A/500A Series Inverter Solution GUI User Guide

Operational Amplifier (Opamp) Features. General Description. Input/Output Connections. Noninverting Analog Follower or Opamp configuration

1-Mbit (64K x 16) Static RAM

Comparator (Comp) Features. General Description. When to use a Comparator Low input offset. User controlled offset calibration

Digital Logic Gates. Features. General Description. Input/Output Connections. When to Use a Logic Gate. Input 1. Input 2. Inputs 3-8 * 1.

Bootloader project - project with Bootloader and Communication components

4K x 8 Dual-Port Static RAM and 4K x 8 Dual-Port SRAM with Semaphores

EZ-USB FX3 Development Kit Guide

Automatic reload of the period to the count register on terminal count

Programmer User Guide

4-Mbit (256K x 16) Static RAM

Analog Multiplexer (AMux) Features. General Description. Input/Output Connections. When to Use an AMux Single or differential connections

Supports one or two address decoding with independent memory buffers. Memory buffers provide configurable Read/Write and Read Only regions

One 32-bit counter that can be free running or generate periodic interrupts

Transcription:

Datasheet PGA V 3.2 001-13575 Rev. *I Programmable Gain Amplifier Copyright 2002-2014 Cypress Semiconductor Corporation. All Rights Reserved. Resources PSoC Blocks API Memory (Bytes) Digital Analog CT Analog SC Flash RAM Pins (per External I/O) CY8C29/27/24/22xxx, CY8C23x33, CY8CLED04/08/16, CY8CLED0xD, CY8CLED0xG, CY8CTST120, CY8CTMG120, CY8CTMA120, CY8C28x45, CY8CTMA30xx, CY8C28x45, CY8CPLC20, CY8CLED16P01, CY8C28x43, CY8C28x52 0 1 0 52 0 1 Features and Overview CY8C26/25xxx: thirty-one user-programmable gain settings with a maximum gain of 16.0. All other PSoC Devices: thirty-three user-programmable gain settings with a maximum gain of 48.0. High impedance input Single-ended output with selectable reference The PGA User Module implements an opamp based non-inverting amplifier with user-programmable gain. This amplifier has high input impedance, wide bandwidth, and selectable reference. Figure 1. PGA Block Diagram Cypress Semiconductor Corporation 198 Champion Court San Jose, CA 95134-1709 408-943-2600 Document Number: 001-13575 Rev. *I Revised May 15, 2014

Functional Description The PGA User Module amplifies an internal or externally-applied signal. This signal can be referenced to the internal analog ground, V ss, or other selected references. The gain, of the programmable gain amplifier, is set by programming the selectable tap in a resistor array and the feedback tap in a continuous time analog PSoC block. The gain, input, reference, and output bus enable are set by the user from tables of values in the Device Editor. The output of the programmable gain amplifier has a two-part transfer function. For gains greater than or equal to one, the top of the resistor string is connected to the opamp output and the resistor tap is connected to the inverting input of the opamp. The amplifier has the following transfer function. Equation 1 For gains less than one (i.e., attenuation), the opamp is set as a voltage follower and the user module output is selected at the resistor tap. The amplifier then has the following transfer function. Equation 2 The user can specify the reference as one of the following: a fixed value derived from the internal bandgap reference, a value ratiometric to the supply voltage, analog ground, or an external input. The input and output voltage ranges of the amplifier do not extend to the power supplies (i.e., they are not "rail-to-rail" opamps). The allowed input range is a combination of input limit, output limit, power supply voltage, analog ground value, and selected gain. This is illustrated in the DC and AC Electrical Characteristics section. The user selects the Gain from the values in the Device Editor. The Device Editor then programs the appropriate resistor taps in the PSoC block. API routines are provided to start, stop, set power, and set gain. Document Number: 001-13575 Rev. *I Page 2 of 13

DC and AC Electrical Characteristics The following values are indicative of expected performance and based on initial characterization data. Unless otherwise specified in tables below, TA = 25 C, Vdd = 5.0V, Power HIGH, Op-Amp Bias LOW, output referenced to Analog Ground = 2*VBandGap. Table 1. 5.0V PGA DC Electrical Characteristics Parameter Typical Limit Units Conditions and Notes Gain Deviation from Nominal G=48.00 3.0 -- % G=24.00 2.2 -- % G=16.00 1.5 -- % G=4.00 0.7 -- % G=1.0 0.5 -- % Input Input Offset Voltage 3 4.5 -- mv Input Voltage Range -- Vss to Vdd V Leakage 1 1 -- na Input Capacitance 1 3 -- pf Output Swing 0.05 to Vdd-0.05 -- V PSRR 73 -- db Operating Current Low Power 142 -- µa Med Power 540 -- µa High Power 2083 -- µa Table 2. 5.0V PGA AC Electrical Characteristics Parameter Typical Limit Units Conditions and Notes Slew Rate(20% to 80%) 2 Low Power 0.6 -- V/µs Med Power 2.5 -- V/µs High Power 9.5 -- V/µs Settling Time 2 Document Number: 001-13575 Rev. *I Page 3 of 13

Parameter Typical Limit Units Conditions and Notes Low Power 13 -- µs Med Power 4 -- µs High Power 1 -- µs Noise 2 Referred to input Low Power 354 nv/ Hz OpAmp bias low except at High Med Power 112 nv/ Hz Power. Reference input set to AGND High Power 99 nv/ Hz The following values are indicative of expected performance and based on initial characterization data. Unless otherwise specified in the tables below, all TA = 25 C, Vdd = 3.3V, Power HIGH, Op-Amp bias LOW, output referenced to Analog Ground = Vdd/. Table 3. 3.3V PGA DC Electrical Characteristics Parameter Typical Limit Units Conditions and Notes Gain Deviation from Nominal G=48.00 4.0 -- % G=24.00 2.2 -- % G=16.00 1.2 -- % G=4.00 0.6 -- % G=1.0 0.3 -- % Input Input Offset Voltage 3 3.5 -- mv Input Voltage Range -- Vss to Vdd V Leakage 1 1 -- na Input Capacitance 1 3 -- pf Output Swing 0.05 to Vdd-0.05 -- V PSRR 68 -- db Operating Current Low Power 135 -- µa Med Power 523 -- µa High Power 2017 -- µa Document Number: 001-13575 Rev. *I Page 4 of 13

Table 4. 3.3V PGA AC Electrical Characteristics Parameter Typical Limit Units Conditions and Notes Slew Rate (20% to 80%) 2 Low Power.6 -- V/µs Med Power 2.4 -- V/µs High Power 9.0 -- V/µs Settling Time 2 Low Power 12 -- µs Med Power 4 -- µs High Power 1 -- µs Noise 2 Referred to input Low Power 354 nv/ Hz OpAmp bias low except at High Med Power 112 nv/ Hz Power. Reference input set to AGND High Power 99 nv/ Hz Electrical Characteristics Notes 1. Includes I/O pin. 2. Based upon device simulation. 3. Input offset voltage is affected by reference power setting in CY8C24x23 only. Input offset voltage is not affected for reference connections other than Vss and not affected for chips other than CY8C24x23. In applications where the gain is greater than 1.0 and reference is selected to be Vss, an offset may be added to the PGA input offset voltage. This offset is up to -7.5 mv for RefPower=HIGH, -4 mv for RefPower=MEDIUM, and 0.6 mv for RefPower=LOW. RefPower is selected in Global Resources. The added offset voltage is always negative. Document Number: 001-13575 Rev. *I Page 5 of 13

The bandwidth of the PGA is determined by the open loop gain bandwidth of the opamp; higher power settings yields higher band width. Figure 2. CY8C29/27/24/22xxx, CY8C23x33, CY8CLED04/08/16, CY8CLED0xD, CY8CLED0xG, CY8CTST120, CY8CTMG120, CY8CTMA120, CY8C28x45, CY8CTMA30xx, CY8C28x45, CY8CPLC20, CY8CLED16P01, CY8C28x43, CY8C28x52 Bandwidth Placement The GAIN block maps freely onto any of the continuous time PSoC blocks in the device. Document Number: 001-13575 Rev. *I Page 6 of 13

Parameters and Resources Gain The Gain is selected from values ranging from 0.062 to 48.00, using PSoC Designer or the SetGain routine provided in the API. If the output of the PGA is used as input for an ADC the Gain must be one or greater. Input The inputs to the programmable gain amplifier are driven by the outputs of the adjacent PSoC blocks and the analog column input multiplexer. The user makes selections of specific input in the Device Editor. Reference The gain of the PGA is referenced to a "ground" value selected by the user. Choices include AGND (on-chip analog ground), V ss, and adjacent continuous time (CT) and switched capacitor (SC) blocks. CT and SC block connections allow for adjustable offsets as a controlled reference voltage. AnalogBus The GAIN block output may be routed through the analog PSoC block array s network of local interconnections and/or through an analog output bus. Setting the PGA User Module AnalogBus parameter to Disable, the default value, restricts the set of possible connections to the local network. If the GAIN AnalogBus output is enabled onto the bus, care must be exercised to ensure that no other user module drives this same bus. Application Programming Interface The Application Programming Interface (API) routines are provided as part of the user module to allow the designer to deal with the module at a higher level. This section specifies the interface to each function together with related constants provided by the include" files. Note In this, as in all user module APIs, the values of the A and X register may be altered by calling an API function. It is the responsibility of the calling function to preserve the values of A and X prior to the call if those values are required after the call. This registers are volatile" policy was selected for efficiency reasons and has been in force since version 1.0 of PSoC Designer. The C compiler automatically takes care of this requirement. Assembly language programmers must ensure their code observes the policy, too. Though some user module API function may leave A and X unchanged, there is no guarantee they will do so in the future. For Large Memory Model devices, it is also the caller's responsibility to preserve any value in the CUR_PP, IDX_PP, MVR_PP, and MVW_PP registers. Even though some of these registers may not be modified now, there is no guarantee that will remain the case in future releases. PGA_Start Description: Performs all required initialization for this user module and sets the power level for the continuous time PSoC block. The output will be driven once the PowerSetting is applied to the block. C Prototype: void PGA_Start(BYTE bpowersetting) Document Number: 001-13575 Rev. *I Page 7 of 13

Assembler: mov A, bpowersetting lcall PGA_Start Parameters: bpowersetting: One byte that specifies the power level to the analog PSoC block. Following reset and configuration, the PSoC block assigned to the PGA is powered down. Symbolic names provided in C and assembly, and their associated values, are given in the following table. Symbolic Name Value PGA_OFF 0 PGA_LOWPOWER 1 PGA_MEDPOWER 2 PGA_HIGHPOWER 3 Return Value: Side Effects: The A and X registers may be altered by this function. PGA_SetPower Description: Sets the power level for the continuous time PSoC blocks. May be used to turn the PGA off and on. Output will be driven if the PowerSetting is not off. C Prototype: void PGA_SetPower(BYTE bpowersetting) Assembler: mov A, bpowersetting lcall PGA_SetPower Parameters: bpowersetting: Same as the PowerSetting used for the Start function. Return Value: Side Effects: The A and X registers may be altered by this function. Document Number: 001-13575 Rev. *I Page 8 of 13

PGA_SetGain Description: Sets the gain for the continuous time PSoC block. C Prototype: void PGA_SetGain(byte bgainsetting) Assembler: mov A, bgainsetting lcall PGA_SetGain Parameters: bgainsetting: CY8C29/27/24/22xxx, CY8C23x33, CY8CLED04/08/16, and CY8CLED04D/01/02/03/04, symbolic names provided in C and assembly, and their associated values, are given in the following table. Programmed gain of 48.0 uses declared name of...g48_0. Symbolic Name Value Symbolic Name Value PGA_G48_0 0Ch PGA_G1_00 F8h PGA_G24_0 1Ch PGA_G0_93 E0h PGA_G16_0 08h PGA_G0_87 D0h PGA_G8_00 18h PGA_G0_81 C0h PGA_G5_33 28h PGA_G0_75 B0h PGA_G4_00 38h PGA_G0_68 A0h PGA_G3_20 48h PGA_G0_62 90h PGA_G2_67 58h PGA_G0_56 80h PGA_G2_27 68h PGA_G0_50 70h PGA_G2_00 78h PGA_G0_43 60h PGA_G1_78 88h PGA_G0_37 50h PGA_G1_60 98h PGA_G0_31 40h PGA_G1_46 A8h PGA_G0_25 30h PGA_G1_33 B8h PGA_G0_18 20h PGA_G1_23 C8h PGA_G0_12 10h PGA_G1_14 D8h PGA_G0_06 00h PGA_G1_06 E8h Document Number: 001-13575 Rev. *I Page 9 of 13

Return Value: Side Effects: Gain will be reset to 1.0 during routine then programmed to desired value. The A and X registers may be altered by this function. PGA_Stop Description: Powers the user module off. C Prototype: void PGA_Stop(void) Assembler: lcall PGA_Stop Parameters: Return Value: Side Effects: The A and X registers may be altered by this function. PGA_EnableAGNDBuffer Description: Enables AGND Buffer. This function is applicable only to CY8C28xxx devices. Make sure, if AGND is used as a source for Input or Reference then AGND Buffer must be enabled by this API function. C Prototype: void PGA_EnableAGNDBuffer(void) Assembler: lcall PGA_EnableAGNDBuffer Parameters: Return Value: Side Effects: The A and X registers may be altered by this function. Document Number: 001-13575 Rev. *I Page 10 of 13

PGA_DisableAGNDBuffer Description: Disables AGND Buffer. This function is applicable only to CY8C28xxx devices. Make sure, if AGND is used as a source for Input or Reference then AGND Buffer must be enabled by PGA_EnableAGNDBuffer API function. C Prototype: void PGA_DisableAGNDBuffer(void) Assembler: lcall PGA_DisableAGNDBuffer Parameters: Return Value: Side Effects: The A and X registers may be altered by this function. Sample Firmware Source Code The sample code creates an amplifier with the gain fixed to 8.00, over-riding the gain value set in the PSoC Designer configuration screen. ;;----------------------------------------------------------------- ;; Sample Code for the PGA. ;; Turn on power and set gain to 8.00. ;;----------------------------------------------------------------- export _main include "m8c.inc" include "PSoCAPI.inc" _main: mov A, PGA_G8_00 call PGA_SetGain mov A, PGA_MEDPOWER call PGA_Start ; specify amplifier gain ; update amplifier gain ; specify PGA power level ; and turn it on ret Document Number: 001-13575 Rev. *I Page 11 of 13

The equivalent code in C is: //---------------------------------------------------------------------- // Sample C Code for the PGA. // Turn on power and set gain to 8.00. //---------------------------------------------------------------------- #include <m8c.h> #include "PSoCAPI.h" // part specific constants and macros // PSoC API definitions for all user modules void main(void) { PGA_SetGain(PGA_G8_00); PGA_Start(PGA_MEDPOWER); // User program... } Configuration Registers The topology of the PGA User Module sets most of the bits in the configuration registers for the chosen Analog CT PSoC block. These include values for opamp compensation, comparator mode, and feedback connection. Table 5. Block GAIN Register: CR0 Bit 7 6 5 4 3 2 1 0 Value GAIN 1 Reference GAIN sets the gain value per selection. Reference sets the reference point (effective "ground") for gain. Table 6. Block GAIN Register: CR1 Bit 7 6 5 4 3 2 1 0 Value AnalogBus 0 1 0 0 Input AnalogBus determines whether the GAIN PSoC block drives the bus. The value of this bit-field is determined by the choice made for the parameter of the same name in user module Placement mode of the Device Editor. Input is the value selected in PSoC Designer. Table 7. Block GAIN Register: CR2 Bit 7 6 5 4 3 2 1 0 Value 0 0 1 0 0 0 Power Power is set to Off following device reset and configuration. It is modified by calling Start, SetPower, or Stop functions in the API. Document Number: 001-13575 Rev. *I Page 12 of 13

Table 8. Block GAIN Register: CR3 Bit 7 6 5 4 3 2 1 0 Value 0 0 AGND_PD 0 LPCMPEN CMOUT INSAMP EXGAIN The AGND_PD is used to power down AGND buffer in CT block (only to CY8C28xxx devices). The EXGAIN bit is automatically set when ever a gain of 24 or 48 is selected. Version History Version Originator Description 3.2 DHA Added DRC to check if AGND is disabled. Note PSoC Designer 5.1 introduces a Version History in all user module datasheets. This section documents high level descriptions of the differences between the current and previous user module versions. Document Number: 001-13575 Rev. *I Revised May 15, 2014 Page 13 of 13 Copyright 2002-2014 Cypress Semiconductor Corporation. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended to be used for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. PSoC Designer and Programmable System-on-Chip are trademarks and PSoC is a registered trademark of Cypress Semiconductor Corp. All other trademarks or registered trademarks referenced herein are property of the respective corporations. Any Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and foreign), United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works of, and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as specified above is prohibited without the express written permission of Cypress. Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein. Cypress does not assume any liability arising out of the application or use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress' product in a life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges. Use may be limited by and subject to the applicable Cypress software license agreement.