AN56778 PowerPSoC MPPT Solar Charger with Integrated LED Driver.pdf

AN56778
PowerPSoC® – MPPT Solar Charger with Integrated LED Driver
Author: Anshul Gulati and Srinivas NVNS
Associated Project: Yes
Associated Part Family: CY8CLED04D0x/G01
Software Version: PSoC® Designer™ 5.1
The Maximum Power Point Tracking (MPPT) algorithm is used in solar applications to track the peak power delivered by
a solar panel and maximize the energy harvested by the panels. AN56778 describes the use of PowerPSoC® for an
integrated solar charge controller based on the MPPT algorithm with LED drive functionality. It provides an overview of
the battery-charging scheme using the Cypress PowerPSoC device and describes the state machine used in the
algorithm. The associated project contains code examples that can be tested on reference boards available for purchase
from Cypress’ design partners. The project also contains complete design files for the reference design board.
Contents
Introduction .......................................................................2
Advantages of Cypress’s Solution .....................................2
MPPT Overview ................................................................ 2
What is PowerPSoC? ........................................................3
Design Overview ...............................................................3
Power Train Design ...........................................................6
MOSFETs.....................................................................6
Input Bulk Capacitors ...................................................6
Blocking Diode .............................................................6
Sense Resistors ...........................................................7
Power Train Scalability for Higher Wattage Designs .........7
LED Driver Circuit Design .................................................7
Load Control ......................................................................8
Overvoltage Protection for the Boost Channel ..................8
Component Reference Designators ................................ 17
Battery Types Supported................................................. 19
MPPT Battery Charging Overview .................................. 19
Bulk Charge................................................................ 19
Absorption .................................................................. 19
Float ........................................................................... 19
Equalize (Flooded Battery Only)................................. 19
www.cypress.com
Firmware Design ............................................................. 20
Initialization State ....................................................... 20
Start State .................................................................. 20
MPPT State ................................................................ 20
Constant Current (CC) State ...................................... 21
Battery Charging Voltage Thresholds ........................ 21
Table Definitions ........................................................ 22
Trickle Charge/Constant Voltage (CV) State .............. 23
Load Enable State...................................................... 23
Status Update State ................................................... 23
Fault State .................................................................. 23
Status Indication ............................................................. 24
MPPT Battery Charging Mode (without LED drivers) ...... 24
Wiring Details .................................................................. 24
Input Power Supply .................................................... 24
Battery........................................................................ 24
Load ........................................................................... 25
Power-up Instructions ..................................................... 25
Summary......................................................................... 25
References...................................................................... 25
Document History ........................................................... 26
Worldwide Sales and Design Support ............................. 27
Document No. 001-56778 Rev. *H
1
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Introduction
Solar panels consist of photovoltaic cells that use light
energy from the sun to generate electricity through
photovoltaic effect. Maximum Power Point Tracking, referred
to as MPPT, is an electronic system that operates the
photovoltaic modules in solar panels to produce maximum
power. MPPT varies the electrical operating point of the
modules and enables them to deliver maximum available
power. MPPT can be used in conjunction with a mechanical
tracking system, but the two systems are completely
different.
Figure 1. Solar Street Light with High Brightness LEDs

It improves the life span of the battery by preventing
overcharging.

It implements a low battery disconnect feature to
prevent the battery from discharging below a certain
charge state. This helps the battery to retain its full
capacity.


It operates from a 40 W and 120 W rated solar panel.

It implements a floating load buck and a boost driver to
drive LEDs.
It provides protection from panel reverse and battery
reverse conditions.
MPPT Overview
Solar cells have a complex relationship between solar
irradiation, temperature, and total resistance that produces a
non-linear output curve known as the "I-V curve". The MPPT
system samples the output of these cells and adjusts the
output load to obtain maximum power for any given
environmental conditions.
Solar panels are being increasingly used in street lighting
applications to make environment friendly designs by
reducing the dependency on conventional energy. The use
of High Brightness LEDs (HB-LEDs) for illumination in street
lights further increases their energy efficiency. Figure 1
shows a picture of a solar panel powered street light with
high brightness LEDs. These systems employ lead acid
batteries that are charged by solar panels during the day,
using the MPPT algorithm for optimal battery charging. The
energy from the batteries is then used to drive the LEDs in
the night.
Figure 2 shows the typical I-V (bold trace) and P-V (dotted
trace) characteristics of a 75 W solar panel at 25 °C and
2
1000 W/m of irradiance. A conventional charge controller
charges a battery by placing it directly across the solar
module. This causes the panel to operate at the battery
voltage, thus delivering lower power than what it can
actually deliver.
Figure 2. V-I and P-V Characteristics
Cypress’ MPPT Solar Charge Controller is designed using
Cypress’
PowerPSoC
device
and
uses
its
power-system-on-chip technology to implement an
integrated solution for MPPT enabled battery charging and
HB-LED driving.
Advantages of Cypress’s Solution

Cypress’s MPPT solar charge controller solution is built
on a fully flexible PowerPSoC hardware platform. It is a
single chip solution for battery charging and driving
LEDs.

The solution implements a smart maximum peak power
tracking (MPPT) algorithm that tracks the peak power
point of a solar panel, irrespective of operating
conditions. This ensures power gain when compared to
conventional charge controllers.

It charges a lead acid battery using an optimized
charging method that improves battery life.
www.cypress.com
Document No. 001-56778 Rev. *H
2
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Instead of connecting the battery directly to the photovoltaic
modules, Cypress’ MPPT Solar Charge Controller
modulates the battery charging current. This is done to
operate the module at the voltage where it is capable of
producing maximum power of 75 W. This can be done
regardless of the value of battery voltage. At the maximum
power point, the panel can provide about 4.5 A at 17 V. If
the battery voltage is 12 V, this is an increase in battery
charging current of up to 1.875 amperes. It significantly
improves the ampere-hours delivered to the attached
battery. The greater the difference in the module voltage at
which it delivers maximum power and battery voltage,
greater is the increase in the battery charging current.
The following table lists the specifications of the solar
charge controller described in this application note.
Table 1. Specifications
Cypress Solution
CY8CLED04D01
Features
MPPT Algorithm, Optimized battery
charging, Buck and boost driver for LED
applications
Input
Solar panel open circuit voltage – 21 V
Short circuit current – 7 A
Battery Rating
12 V Lead acid
Maximum charging current – 9.5 A
What is PowerPSoC?
The
PowerPSoC
family
incorporates
Programmable System-on-Chip (PSoC) technology with the
best-in-class power electronic controllers and switching
devices to create easy to use power-system-on-chip
solutions for lighting applications. It is an ideal platform to
create lighting solutions and is designed to replace the
microcontroller, system ICs and discrete components
required for driving high brightness LEDs.
The PowerPSoC family of devices combines up to four
independent channels of constant current drivers. These
drivers feature hysteretic controllers, current sense
amplifiers and dual DACs, along with configurable digital
and analog peripherals, and embedded flash memory. The
device operates from 7 V to 32 V and drives up to 1 A per
channel of current using internal MOSFET switches. It can
also used to drive more than 1 A of current using external
switches and supports common power topologies such as
buck and boost.
PowerPSoC features three options for hardware modulators,
including the Cypress patented Precise Illumination Signal
Modulation (PrISM™) scheme, which interfaces with the
hysteretic controllers and modulates the LED drive signal to
provide dimming.
For more information on PowerPSoC, refer to the data sheet
and
application
notes
available
at
http://www.cypress.com/powerpsoc.
Boost Driver
Rating
Voltage – 40 V,
Floating Load
Buck Driver
Rating
Voltage – 8 V,
Current – 1 A
Current – 1 A
The block diagram of the integrated solar charger and LED
driver is shown in Figure 3. Power delivered by the solar
panel is converted to a voltage level that can drive charging
current into the battery. PowerPSoC generates the
necessary control signal to drive a synchronous buck
converter that converts the solar panel power to charge the
battery.
The MPPT algorithm embedded in the PowerPSoC takes
voltage and current feedback from the panel and adjusts the
control signals to operate the panel at its peak power. The
PowerPSoC also monitors the battery charging process and
provides status information based on battery condition and
load switch status.
The application described in the following figure also
integrates two channels of LED drivers. The first channel is
configured in a floating load buck topology rated at 8 V, 1 A.
The second channel is configured in a boost topology rated
at 40 V, 1 A. These two LED driver channels can be used to
drive LEDs with power from the batteries. The firmware in
the attached code example is designed to operate one LED
driver channel at a time.
Design Overview
Cypress’ MPPT Solar Charge Controller is a battery charger
and load controller with integrated LED driver, which
features a smart tracking algorithm that maximizes energy
harvest from solar panels. It is designed using Cypress’
PowerPSoC and uses the device’s integrated hysteretic
controllers, its dedicated modulators and PSoC core to
implement the MPPT smart tracking algorithm, as well as
the constant current LED driver circuit.
www.cypress.com
Document No. 001-56778 Rev. *H
3
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Figure 3. MPPT Solar Charge Controller Block Diagram
The solar charge controller also has board-level protection features that protect the board from battery short circuits, battery
open, and battery/panel reverse connections.

The firmware for this design has been developed using PSoC Designer 5.1, which can be downloaded from
www.cypress.com/psocdesigner. The reference design board developed for this application also features the necessary
programming headers and debugger connections to enable in-system programming and debugging with PowerPSoC. The
reference design board is available for purchase from Cypress’ design partners. The next few pages capture the
schematics of this reference design board. The following sections describe the different blocks of the reference design,
which is summarized by the block diagram in Figure 3.
www.cypress.com
Document No. 001-56778 Rev. *H
4
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Figure 4. Power Train Circuit
www.cypress.com
Document No. 001-56778 Rev. *H
5
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Power Train Design
The power train circuit is used to charge a lead acid
battery using a solar panel and is shown in Figure 4. The
MPPT algorithm is used during the battery charging
process. The typical operating voltage at the peak power
point of a panel is 14 V to 17 V and the nominal battery
voltage is 12 V. This section describes the function of the
key components in the power train.
The solar panel and battery terminals connect at J400 and
J401 respectively. The LEDs connect to the Boost
Channel at J701. Fuses F400 and F401 provide the basic
over current protection for the panel and the battery side
of the charge controller. CR409 and CR410 provide
reverse protection for the panel and the battery. The
voltage divider pairs R400/R401 and R410/R411 provide
voltage feedback to the PowerPSoC from the panel and
the battery. Current sense resistor pairs R402 in parallel
with R406 and R405 in parallel with R407 sense the panel
side and the battery side current, respectively.
In this design, the switching frequency is set to
approximately 100 KHz, ΔiL is approximately 2.85 A (30%
of maximum output current 9.5 A). For a 10 mV ripple on
the capacitor bank, the total value of capacitance
calculates to about 2600 µF. typically the ripple current
rating of the capacitors also affects the selection of the
capacitors. The capacitors chosen for this design have a
ripple current rating of 1100 mA at 85 C and 120 Hz
operation with a derating factor of 1.15 at frequency 10
KHz or more. This is the reason we choose to split the
total capacitance into 3 capacitors of total value 3000 µF
with improved ripple current support.
Power Inductor
L401 inductor is the control element for current. This
inductor is part of the synchronous buck and the value of
this inductor is determined by the operating parameters of
the buck converter. The equation
L
di
di
 VL , gives the value of inductance required, where
dt
is the ripple current through the inductor,
dt is
the
MOSFETs
on-time of the top MOSFET Q400 and
The synchronous buck circuit is comprised of Q400 and
Q401 N-channel MOSFETs. High frequency synchronous
MOSFET drivers (Figure 5) drive the MOSFETs. These
MOSFETs are chosen so as to with stand the voltage of
the panel and battery at their drain terminals during
operation. They also have to conduct necessary output
current including the ripple during normal operation.
MOSFETs are also chosen so as to have very low R DSON.
This ensures that heat dissipation is reduced. Enough
copper area or heat sinks must also be provided to
remove the heat generated by these MOSFETs. The
calculation of copper areas for heat dissipation is beyond
the scope of this application note. Please see AN53781 PowerPSoC - Thermal Design Guidelines for LED Driver
Circuits for more information.
impressed on the inductor during this time. Consider a
ripple current value of 2.85 A and a switching frequency of
100 KHz. The maximum value of impressed voltage on the
inductor will occur when the battery is totally depleted
(voltage around 9 V) and the peak maximum power point
voltage (typically 19.5 V for a 12 V panel depending on I-V
curve of the panel). This gives us a value of 15.85 µH for
the inductor. To choose an off the shelf product, a value of
22 µH is chosen.
The gate drivers that are required to drive the MOSFETs
Q400 and Q401 should be adequately rated for the
required gate charging current and dead time
considerations.
Blocking Diode
Input Bulk Capacitors
The capacitor bank C405, C406, and C407 terminates the
current sourced panel and buffers the synchronous buck
input. This capacitor bank is designed to filter the input
current ripple. If the peak to peak ripple current through
the inductor is ΔiL, then the equation
C
VL is
the voltage
The other important aspect of the inductor is the rated
saturation current. Since the output current can exceed
11 A including the ripple, the rated saturation current must
be greater than 15 A to account for changes due to
temperature increase.
CR408 is the battery blocking diode that prevents the
battery from back-powering the buck circuit. This diode
must be rated to greater than the peak output current to
minimize the forward voltage drop. A suitable package
must also be chosen for heat dissipation. An option Q403
is provided in parallel with CR408 to minimize diode
losses and improve efficiency during battery charging.
J404 provides the ability to connect a thermistor for battery
temperature sensing.
dv
 iL , gives the value of input capacitance
dt
required.
dv
is the ripple voltage on the capacitor bank
and dt is the time where current is provided by the
capacitor bank to the synchronous buck; on-time of the top
MOSFET Q400.
www.cypress.com
Document No. 001-56778 Rev. *H
6
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Sense Resistors
Sense resistors R402, R405, R406, and R407 are chosen
keeping in mind the current that is required to be
conducted by them. For example, in the battery charging
path, R406 and R407 conduct about 11 A in the worst
conditions. The maximum input differential voltage on the
CSA is 150 mV (please refer to PowerPSoC datasheet).
This tells us that the total resistance value must be below
13.6 mΩ. The other factor that needs to be taken care is
the heat dissipation. So a value of 12.5 mΩ is chosen and
two 25 mΩ resistors each of 1 W are connected in parallel.
P o w e r P S o C D e vi c e
The PowerPSoC device used in this reference design is
the CY8CLED04D01-56LTXI. If debugging options are
required, the OCD (on-chip-debugger) capable device
CY8CLED04DOCD1-56LTXI can be used.
PowerPSoC pin connections are shown in Figure 5 The
nets Iin_CSx and BAT_CSx show current feedback from
the panel and the battery from the power train circuit. Pins
P0.3 and P0.5 monitor battery and panel voltages
respectively.
LED600 and LED604 indicate current operating status and
fault conditions that may arise during normal operating
conditions. The controller can be reset using switch
SW600. The load (LEDs) can be turned on or off using the
switch SW601.
Power Train Scalability for Higher
Wattage Designs
This reference design has been created with flexibility and
scalability in mind. Although this design operates up to
120 W, it can easily be extended to operate above 200 W
or more.
The following changes would be necessary in case of
higher wattage operation:



Power Train Circuit: This includes the MOSFETs,
power inductor, input bulk capacitors, sense resistors
and blocking diode. The design remains the same as
given in the previous section except for suitable
changes in voltage and current ratings of the
components.
Gate Drive Circuit of the MOSFETs: Higher wattage
panels typically have an open circuit voltage of 42 V
or more. When using such high voltage panels, the
phase node (the node that connects the source of
Q400 and drain of Q401) is at a similar voltage. This
node directly connects to the gate driver IC. The
phase pin of the gate driver IC must be appropriately
rated for this voltage.
Current Sense Amplifiers: PowerPSoC internal
current sense amplifiers have an absolute common
mode voltage maximum rating of 32 V. This means
that panels and batteries of voltage up to 32 V can be
used. For example, if a 250 W panel of maximum
www.cypress.com


open circuit voltage 44 V is to be used in a 24 V
battery system, the panel side current sense has to
be modified. Commercially available high voltage
differential sense amplifiers can be used to convert
the current sense voltage into single ended voltage.
This output voltage can be directly fed to the
PowerPSoC. The panel side current sense is only
used for measurement. Hence this single ended
voltage can be directly connected to an analog input
pin on the device for ADC measurement. If the battery
side current sense is also changed to an external
current sense amplifier, its output can be directly fed
to the hysteretic controllers by routing it through a
FN0 pin.
Blocking Diode: CR408 must be appropriately rated
for the battery voltage and charging current required.
All other ancillary devices such as fuses, protection
diodes must be appropriately rated for rated current
and voltage.
LED Driver Circuit Design
This solution features two integrated LED drivers: floating
load buck driver for LED loads whose forward voltage is
less than the battery voltage and the other, a boost driver
for LED loads whose forward voltage is more than the
battery voltage. Figure 7 and Figure 8 show the floating
load buck and the boost LED driver. These two drivers are
implemented in PowerPSoC using its hysteretic
controllers, integrated current sense amplifiers and
internal MOSFET switches.
The floating load buck and boost LED drivers are standard
power converters for LED driving. For more information on
how to design these drivers please refer to AN52699 PowerPSoC - Configuring LED Driver Circuits in Floating
Load Buck Topology and AN61668 - PowerPSoC Configuring LED Driver Circuits in Boost Topology.
The parameters necessary to drive the buck driver are
defined in file load.h in the firmware.
/* Peak current required for the Buck LED
Channel */
/* Specify the value is A */
#define I_PEAK_BUCK_CH
1.15
/* Valley current required for the Buck LED
Channel */
/* Specify the value in A */
#define I_VALLEY_BUCK_CH 0.85
/* This is the gain of the current sense
amplifier, this parameter should be same as
the value defined in the CSA settings */
#define GAIN_BUCK_CH 20
/* Define the value of the sense resistor
(units mOhms) used to sense the LED current
*/
Document No. 001-56778 Rev. *H
7
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
/* Rsense is 20 mOhms */
#define RSENSE_BUCK_CH 20
Load Control
/* Define the voltage resolution of the DAC
used to control the peak and valley current
limit in the hysteretic controller */
/* The resolution should be set as 5 mV if
the DAC Voltage Range is set as 1.3V */
/* It should be 10 mV if the DAC Voltage
Range is set as 2.6V */
#define DAC_RESOLUTION_BUCK_CH
10
Typically, the resolution of the DAC does not require any
change. For modifying the current through the LEDs, the
constants I_PEAK_BUCK_CH and I_VALLEY_BUCK_CH
have to be modified taking into consideration the ripple
current required. In the present firmware, the average LED
current is set to 1 A with 30% ripple. So the peak and
valley limits calculate to 1.15 A and 0.85 A respectively.
The boost LED driver is a slightly modified version of the
LED driver described in AN61668. Although the
calculations to derive component values remain the same,
the control architecture has been modified.
Please see Figure 8. R705 measure the LED current and
is sampled by an ADC in the firmware. A control loop
running inside the firmware modifies the current through
inductor L701 to achieve energy balance and retain the
LED current at set value.
The set point current for the boost LED driver is given in
file global.c in the firmware.
WORD
iVOUTSetpoint = 327;
To calculate the value of this variable, necessary value of
LED current, value of R705 are to be known. A gain
amplifier of gain 8 is used inside the PowerPSoC device
before ADC sampling. For example: if the necessary value
of LED current is 1 A, R705 being 200 mΩ, the value of
variable iVOUTSetpoint is given by
iVOUTSetpoint 
1x0.200 x8 x 210
5
Where the numeral 5 in the denominator is the reference
10
voltage of ADC and 2 is the bit resolution of the ADC.
www.cypress.com
The solution features two types of load control.


Automatic dusk to dawn
Simultaneous battery charging and load enable
Switch SW601 shown in Figure 8 controls the load turn
on/off. It is a momentary contact switch and toggles the
load enable flag. The load is turned off by default on
system startup. The load (Boost Channel) is turned on
only if the switch is tapped momentarily. The switch is
connected to Port 2_2, which generates an interrupt when
it is toggled once. This sets the load enable flag; when it is
pressed the second time, it generates another interrupt
that resets the load enable flag.
In the automatic dusk to dawn option, the load is turned on
when the solar panel voltage drops below a certain
voltage if the Load on/off flag is set. The charge controller
turns off the load and starts charging the battery when the
panel voltage reaches a certain voltage, indicating bright
and sunny conditions. This is implemented through the
Load Enable state.
The load remains enabled all the time in the second case,
irrespective of whether the battery is being charged or not
as long as the Load on/off flag is set.
In both the cases, the battery low voltage disconnect
function is active and, therefore, disconnects the load from
the battery when the voltage is below 10.8 V. This helps to
prevent the battery from deep discharge and improves
battery life.
Firmware projects for both types of load control are
attached to this application note.
Overvoltage Protection for the Boost
Channel
It is desirable to prevent overvoltage at the boost channel
output. An overvoltage lockout method is implemented to
prevent this.
On this board, this function is implemented through the
configurable hardware TRIP functionality in the
PowerPSoC device. The output of a resistive voltage
divider connects to one of the hardware bank
comparators, whose output then connects to the TRIP
inputs of the Boost hysteretic channel. Whenever the input
voltage rail’s level is too high, the comparator’s output
goes high and keeps the power FETs’ gate driver OFF. In
each cycle of the control loop, an attempt is made to
restart the hysteretic controllers. This attempt succeeds
only when the TRIP inputs are low, which occurs when the
comparator’s input proportional to the rail voltage is
sufficiently low (below the overvoltage limit).
Document No. 001-56778 Rev. *H
8
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
The other comparison value for the comparator is the
output of an 8-bit hardware digital to analog converter
(DAC), whose voltage is controlled by firmware. This
system allows the designer to customize the lockout
voltage for the desired load. In this application design, this
value is set to 48 V.
The constants to set the over voltage limit are defined in
the file load.h in the firmware.
OVSD_VOLTAGE defines the over voltage value of the LED
driver. If a value other than 48 V is desired this constant
must be appropriately modified. Care also must be taken
to appropriately modify the over voltage resistor divider
comprising of R707 and R708 so as to keep the input
voltage to the PowerPSoC device below 5 V. If any
changes to the resistance values are made, the constants
OVSD_RES_TOP and OVSD_RES_BOTTOM must be
modified accordingly.
/* Overvoltage shutdown */
/* These OVSD_VOLTAGE, OVSD_RES_TOP,
OVSD_RES_BOTTOM MUST be in floating-point
format */
#define OVSD_VOLTAGE
48.0
/* 220 KOhm resistance, mention the value
in KOhm */
#define OVSD_RES_TOP
220.0
/* 10 KOhm resistance, mention the value in
KOhm */
#define OVSD_RES_BOTTOM
10.0
www.cypress.com
Document No. 001-56778 Rev. *H
9
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Figure 5. PowerPSoC Connections
www.cypress.com
Document No. 001-56778 Rev. *H
10
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Figure 6. Gate Drive, External Vcc, and Interconnect Circuit
www.cypress.com
Document No. 001-56778 Rev. *H
11
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
www.cypress.com
Document No. 001-56778 Rev. *H
12
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
www.cypress.com
Document No. 001-56778 Rev. *H
13
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
www.cypress.com
Document No. 001-56778 Rev. *H
14
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Figure 7. Floating Load Buck Driver for LED Driving
www.cypress.com
Document No. 001-56778 Rev. *H
15
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Figure 8. Boost Driver for LED Driving
www.cypress.com
Document No. 001-56778 Rev. *H
16
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Component Reference Designators
The following table lists the main components used on the board along with their reference designators and description.
Table 2. Main Components
Reference
Part Number
Description
CR400, CR403
MBRB1535CTPBF
Schottky diodes 35 V 15 A
CR406, CR407
BAT54-V-GS08
Schottky diodes 30 V 200 mA
CR404, CR405, CR500,
CR501, CR502, CR503
ES1A-TP
Diode fast recovery 50 V 1 A
CR408
MBR2045CT
Diode schottky 45 V 20 A
C405,C406,C407
UFW1 V102MHD
Aluminum electrolytic capacitors 35 V 1000 µF 20% radial
F400
0225007.HXUP
Fuses - axial lead, radial lead, and cartridge 125 V 7 A
F401
0225010.HXUP
Fuses - axial lead, radial lead, and cartridge 125 V 10 A fast acting
L400
MSS1260-103ML
Power inductor, shielded, 20% tolerance
L401
SER2817H-223KL
Power inductor, high current, 10% tolerance
L701
DRA127-100-R
High power density, high efficiency, shielded inductors 10 uH 11.2 A 0.017ohms
Q400,Q401
IPB039N04L G
N-Channel MOSFET 40 V 80 A
Q701
STB16NF06LT4
N-Channel MOSFET 60 V 16 A
RV400
V47ZA7P
Varistor 47 V 8.8J 14 MM RADIAL ZA
R400, R410
RC0603FR-07470KL
Resistor 470 K Ohm 1/10 W 1%
R401, R411
RC0603FR-07100KL
Resistor 100 K Ohm 1/10 W 1%
R402,R405, R406, R407
CSRN 1 0.025 1% I
Resistor .025 Ohm 1 W 1%
SW600, SW601
EVQ-QXS03W
Switch LT 6 mm X 3.1 mm
U400
274-2AB
Heatsink
U500
TPS28225D
IC synchronous MOSFET driver 4 A
U501
MIC2954-03WS TR
5 V low-dropout regulator, 250 mA, 1.0% accuracy
U600
CY8CLED04D01-56LTXI
PowerPSoC intelligent LED driver
www.cypress.com
Document No. 001-56778 Rev. *H
17
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Figure 9. Rear and Front View of Board
www.cypress.com
Document No. 001-56778 Rev. *H
18
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Bulk Charge
Battery Types Supported
The application design described in this document supports
four types of lead acid batteries:




Absorption
Flooded
At the end of bulk charge, the battery charge is around 70%,
after which the charge controller changes to an absorption
(constant voltage) mode. It charges at a constant voltage
and the battery is allowed to take the maximum possible
current. The constant voltage regulation prevents
overheating and excessive battery out gassing.
Absorbed Glass mat (AGM)
Sealed
Gel
Each of the battery has a specific requirement in terms of
charging voltages and the method of charging.
Two jumpers (JP400 and JP401) are provided on the board
to select one of the battery types. The jumper settings are
shown in the Table 3.
Table 3. Battery Type Selection Options
JP600
This is the first stage. During this stage, the battery is in a
low charge state, typically 10%. Therefore, 100% of the
available solar power is used to charge the battery.
JP601
Closed
Flooded
Closed
Open
AGM
Open
Closed
Sealed
Open
Open
Gel
MPPT Battery Charging Overview
The Cypress charge controller has a four stage battery
charging regime as shown in Figure 10. These stages are:
1.
Bulk charge
2.
Absorption
3.
Float
4.
Equalize
After the battery is fully charged, the charger reduces the
battery voltage to a float charge, also called trickle charge.
Equalize (Flooded Battery Only)
Equalization is controlled over charge. Cypress
recommends this only for flooded lead acid batteries. The
cells in a battery are not identical; therefore, repeated
charge and discharge can lead to imbalance in the specific
gravity of the individual battery cells. The equalization
process prevents electrolyte stratification and equalizes the
individual cell voltages within the battery. If the battery is
below 12.6 V at the start of charging, then the equalization
phase is enabled.
Battery Type
Closed
Float
Equalizing is an ‘overvoltage overcharge’ performed on
flooded lead acid batteries after they are fully charged. It
helps to eliminate stratification and sulfation, two of the
many conditions that can reduce the overall performance
and life of a flooded battery.
Table 4. Battery Charging Modes
Charging
Mode
Voltage Range
(Flooded)
Voltage Range
(Sealed VRLA)
Voltage Range
(AGM)
Voltage Range
(Gel)
Bulk charge
Up to 13.6 V
Up to 13.6 V
Up to 13.6 V
Up to 13.6 V
Current equivalent to peak
power of the panel
Absorption
14.2 V – 14.8 V
14.2 V – 14.5 V
14.4 V – 15 V
14 V – 14.2 V
The battery is fully charged,
and the current it consumes
reduces slowly to a few
100 mA ranges.
Float
13.2 V – 13.5 V
13.2 V – 13.5 V
13.2 V – 13.8 V
13.5 V – 13.8 V
Up to 14.8 V
Not required
Not required
Not required
Current equivalent to peak
power of the panel
15 V
14.8 V
15.2 V
14.5 V
Indicates completion of
battery charge process.
Current delivered is zero.
Equalize
Overvoltage
www.cypress.com
Document No. 001-56778 Rev. *H
Current Delivered
(Ibattery)
(Vin * Iin) / Vbat
19
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
voltage threshold, the state machine moves to
constant voltage operation.
Figure 10. Battery Charging Scheme

If the panel voltage is less than the set threshold and
is also less than the battery voltage; the state
machine moves to load enable state provided the load
switch is toggled ON.

The state machine moves to fault state if a battery is
not connected or if the battery voltage is low.
MPPT State
In this state, the battery is charged with a constant power.
The MPPT algorithm is implemented in a three step
process: test, park, and track. The maximum power point
is detected through this method and the battery is charged
at that point. The following are the three phases:
Firmware Design
The PowerPSoC firmware for the MPPT charge controller
is developed using a state machine, described in Table 5.
The column on the extreme left shows the current state of
the firmware. The row on the top shows the next state of
the firmware. For a transition to occur from say S6 to S5,
the condition listed in the cell where the S6 row intersects
with the S5 column, must be satisfied.
After power up, PowerPSoC enters the S1-Init state of the
firmware. In this state all user modules and necessary
configuration parameters are set up for the state machine
to continue execution. After this state is successfully
completed without any faults, control is passed to relevant
operating state depending on the system conditions.
The state machine operates on a two-minute update cycle.
After every time out event, the control is returned to the
start state. This also ensures that the system is operating
at optimum values at any particular instant.
Initialization State
In this state, all user modules of the PowerPSoC are
initialized.
Start State
This state ensures a steady startup. The solar panel open
circuit voltage and battery voltage are monitored to identify
any fault condition. If there is no fault condition, the state
of the controller depends on the charging mode.
The state machine remains in this state as long as there is
battery over voltage or a panel voltage low fault.
The following transitions can occur depending on the
operating condition:

If the panel voltage is more than a set threshold and
panel voltage is more than the battery, the state
machine moves to MPPT state.

If the panel voltage is more than a set threshold and
panel voltage is more than the battery, but the battery
voltage is more than the trickle charge/acceptance
www.cypress.com
Test Phase: This phase tests the approximate current that
the input source can supply. In this phase, the PWM duty
cycle is fixed at 98% to 99% and the hysteretic controller
peak and valley thresholds are varied until the source
supplies the maximum power. The hysteretic controller
thresholds are fixed at the end of this phase.
Park Phase: In this phase, the duty cycle is varied from
98% to 75%. Similar to the previous phase, the input
power is measured at each step and the input source is
parked at maximum power point (Vmp). Duty cycle is fixed
at the end of this phase.
Track Phase: When the panel is parked at Vmp, the
system continuously tracks the maximum power point. The
panel voltage is continuously monitored. Any change in
this voltage is compensated by changing the current and
duty cycle to bring the voltage back to Vmp.
MPPT Algorithm
The MPPT algorithm has been designed with flexibility in
mind. There will be no necessity to change this part of the
firmware even with higher wattage panels. The algorithm
relies on input power calculation and an effort is made to
maximize it. It does so in the phase that has been
described above.
The MPPT algorithm is written in file mppt.c in the
firmware. The function MPPTState() defines the MPPT
operation and is called by the state machine. This function
can be called at appropriate places in the intended
application but has been designed to work independent of
other states. The function implements the test, park and
track phase as described above.
Equalization Phase
Not every battery needs an equalization phase during
charging. The phase is shown in Figure 10 and is a part of
the MPPT state.
Document No. 001-56778 Rev. *H
20
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
The decision to charge the battery to the equalization
voltage depends on the no load battery voltage at the start
of charge. Only if the voltage at the start of charge is less
than 12.6 V, the battery is charged to 14.8 V (on charge
terminal voltage).
Batteries with an open circuit voltage of 12.8 V to 13 V are
at 100% state of charge (SoC). They are used only up to
30% depth of discharge (DoD) at the point when the open
circuit voltage is 12.6 V.
After the battery reaches this voltage, charging continues
in the MPPT state for one hour. The terminal voltage rises
in this period. If the terminal voltage reaches 15 V, which
is the overvoltage during this time, the operation switches
to the constant voltage mode. Essentially, the battery
charges from 14.8 V to 15 V or for one hour, whichever
occurs first.
Constant Current (CC) State
This state is entered when the battery voltage falls below
the minimum threshold and a constant current is needed
to charge the battery. In this state, the battery is charged
with the maximum current (Imax) possible for the system.
This current threshold is fixed by the firmware. When
operating in the MPPT mode, if the battery current goes
beyond Imax, the controller switches to constant current
mode. In this mode, the battery current is limited by fixing
the peak and valley thresholds. The average current
threshold is set to about 9.5 amperes in the firmware
assuming a 100 Ah battery. This current can be changed
by changing the following constants in global.h file in the
firmware.
/* Valley current required for the Battery
when charged in Constant Current mode */
/* Specify the value in A */
#define I_VALLEY_CC 9.2
Battery Charging Voltage Thresholds
The firmware has been designed with scalability in mind.
Although the firmware is programmed with the typically
used battery voltage thresholds for the type of batteries
listed in Table 4, these thresholds can be easily modified
for the intended application.
These constants are listed in bat_conts.h file in the
firmware. A sample of these constants for the flooded lead
acid battery as mentioned in the file is given below:
/* User Defined Constants */
/* Battery Voltage Threshold for Flooded
Lead Acid battery */
/* Battery MPPT Threshold */
#define MPPT_TH_VOLTS_FLOODED 13.6
/* Battery MPPT Threshold */
#define MPPT_TH_LOW_VOLTS_FLOODED 12.6
/* Battery Trickle Charge Threshold */
#define TC_HIGH_TH_VOLTS_FLOODED 14.8
/* Battery Trickle Charge Threshold */
#define TC_LOW_TH_VOLTS_FLOODED 14.2
/* Battery Over Voltage Threshold, */
#define BATOV_TH_VOLTS_FLOODED 15
/* Peak current required for the Battery
when charged in Constant Current mode */
#define I_PEAK_CC
10.2
www.cypress.com
Document No. 001-56778 Rev. *H
21
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Table 5. State Transition Matrix
Current /
Next State
S1 – Init
S1 –
Init
–
S2 – Start
Initialization
complete
S3 – MPPT
–
S5 – Trickle
Charge/
Constant
Voltage
S4 –
Constan
t Current
–
–
S6 – Load Enable
–
S7 –
Status
Update
S8 –
Fault
–
–
–
NBC,
BUV
(Voc < Vocth) &&
(Voc > Vbat )
(Vbat >(
Vbat_min_high
+Vdiff)[
Loaddisable = =1])
&&
||
(Vbat >
Vbat_TC) &&
(fTCFlag!=1)
(Voc < Vocth) &&
(Voc >Vocth)
&&
(Voc >Vocth) &&
S2 - Start
–
BOV, PVL
(Voc > Vbat )
&& (fTCFlag=
=1)
–
(Vbat >
Vbat_min_high[Loa
dDisable == 0] )
(Vbat < VCC_th)
S3 – MPPT
&&
Vbat <
VCC_th
Vbat >
Vbat_max
Voc < Vbat
Tupdate
(Voc > Vbat)
S4 –
Constant
Current
–
PVL
(Voc > Vbat ) &&
(Vbat > VCC_th)
(Vbat <
VCC_th)
&& (Voc
> Vbat)
–
–
Tupdate
NBC
S5 – Trickle
Charge/
Constant
Voltage
–
PVL
–
–
Voc > Vbat
–
Tupdate
NBC
S6 – Load
Enable
–
(Voc >
Vocth) ||
(Voc >Vbat)
–
–
(Voc < Vbat)
&& (Vbat >
Vbat_min_high)
Tupdate
NBC,
BUV
S7 – Status
Update
–
If (Prevstate
!=
LoadEnable)
–
–
–
If (Prevstate = =
Loadenable)
–
–
S8 – Fault
–
No fault
–
–
–
–
Tupdate
Fault
Table Definitions
Battery Under Voltage
Vbat_TC
Battery voltage trickle charge threshold
BOV
Battery Over Voltage
Vbat_max
Battery voltage trickle charge cutoff threshold
fTCFlag
Flag to define necessary equalization state
Vbat_min_high
Minimum battery voltage to drive the load
LoadDisable
Flag to check if load is disabled
Vcc
Constant current battery voltage threshold
NBC
No Battery Connected
Vdiff
Hysteresis for load enable
PVL
Panel Voltage Low
Voc
Open circuit panel voltage
Tupdate
End of 2 min cycle
Vocth
Open circuit panel voltage threshold
Vbat
Battery voltage
BUV
www.cypress.com
Document No. 001-56778 Rev. *H
22
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Trickle Charge/Constant Voltage (CV) State
After the battery reaches the trickle charge threshold
(Vbat_max) in the MPPT state, it switches to the constant
voltage state. This state compensates for the self discharge
of the battery. It is divided into two phases.
Absorption: In this phase, the battery is charged at a
constant voltage and is allowed to take whatever current it
can. The constant voltage regulation prevents heating and
excessive battery gassing. It stays in this phase until the
battery is fully charged.
Float: In this phase, the battery is fully charged; the charger
reduces the battery voltage to a float charge voltage. The
battery takes current in the order of a few 100 mA. The
charge controller continues to operate in this phase until the
battery reaches the battery overvoltage threshold (Vbat_OV).
Then the charging cycle is terminated.
Load Enable State
In this state, if the solar panel open circuit voltage is less
than the battery voltage, it means that the panel is not
capable of charging the battery. Therefore, the charging is
disabled. If the battery voltage is greater than Vbat_min, then
the battery is capable of driving the load. The load is turned
on if the switch SW601 is on.
Status Update State
The current status of the system is recorded in the flash
emulated EEPROM in this state. The execution shifts to this
state after every fixed duration that is set by the firmware. It
is 2 minutes by default. Battery temperature is measured
enabling thermal compensation. The parameters recorded
are:
1.
Fault history
2.
Ampere hour/Watt hour (AH/WH) meter
3.
System status indicator
4.
Input voltage
5.
Output voltage
6.
Load current
7.
Battery charging current
Fault State
When there is a fault condition, the system operates in the
fault state. Whenever there is a recovery from a fault
condition, the controller transfers to the start state to ensure
safe startup.
The fault conditions for the system are described as follows:
Battery Overvoltage (BOV): This fault occurs when the
battery voltage exceeds the overvoltage threshold. The
LED3 is turned ON (refer to Table 2).
Exit Condition: In a no load condition, the controller waits
for the battery voltage to reduce below a set threshold
through self discharge. When the voltage falls below the
threshold, the red LED is turned off, the BOV flag is cleared,
and the controller returns to the start state.
In a loaded condition, the battery continues driving the load
and the controller does not enter the fault state.
No Battery Connected (NBC): This fault occurs when no
battery is connected to the charge controller. The LED4 is
turned ON (refer to Table 2).
Exit Condition: The controller keeps monitoring the battery
voltage until the battery is detected. It then switches off the
indication LED, clears the flag, and returns to the start state.
Battery Undervoltage (BUV): This fault occurs when the
battery voltage is below the minimum threshold required to
power the load.
Exit Condition: The controller keeps monitoring the solar
panel open circuit voltage and battery voltage. It exits fault
state when the solar panel open circuit voltage is sufficient
to charge the battery and goes back to start state. It clears
the BUV flag and switches off the green LED after the
battery is sufficiently charged.
Panel Voltage Low (PVL): This fault occurs when the
difference between the solar panel open circuit voltage and
the battery voltage is less than Vdiff (0.5 V). This indicates
that the solar panel is not capable of charging the battery.
Exit Condition: The controller keeps monitoring the solar
panel open circuit voltage and battery voltage. When the
solar panel open circuit voltage is greater than the battery
voltage by at least Vdiff, it clears the flag and returns to the
start state.
Parameters 3 to 7 are recorded for every fixed time period
(TUPDATE) and overwritten after the assigned memory is
exhausted. Memory location for parameters 1 and 2 are
fixed. Their values are updated every TUPDATE cycle.
www.cypress.com
Document No. 001-56778 Rev. *H
23
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Status Indication
The PowerPSoC indicates the operation status using LEDs. The LEDs indicate the battery charging mode and the board fault
status. The following table lists conditions indicated by the status LEDs. Figure 9 shows the labels of the LEDs.
Table 6. Status Indication
Status Indication
Condition
LED
ON/OFF
Solar panel reverse
indication
Solar panel terminals connected reverse
LED1/LED401*
Always ON
Battery reverse indication
Battery terminals connected reverse
LED2/LED402*
Always ON
Battery over voltage
Battery voltage greater than 15 V
LED3/LED600*
4 seconds ON/1 second OFF
Battery under voltage
Battery voltage less than 10.8 V
LED3/LED600*
1 seconds ON/1 second OFF
Solar panel connected;
Battery not connected
Battery is not connected
LED4/LED604*
0.1 second ON/0.1 second
OFF
Trickle charge mode
(constant voltage)
Float voltage mode
LED4/LED604*
Always ON
MPPT
Bulk charge mode
LED4/LED604*
4 seconds ON/1 second OFF
Constant current
If battery current is greater than 9.5 A, it is limited to 9.5
A. This is the constant current mode.
LED4/LED604*
1 second ON/4 seconds OFF
Solar panel open circuit
voltage low
Solar panel open circuit voltage is less than battery
voltage
LED4/LED604*
1 second ON/1 second OFF
* Reference designator per BOM of the board
MPPT Battery Charging Mode
(without LED drivers)
Wiring Details
The solution described in this application note uses a
modular design approach for hardware and firmware
design. The design can be easily modified to implement a
MPPT based solar battery charger for stand-alone solar
applications, without the integrated LED driver channels.

The power supply can be from a DC supply or a solar
panel. This board can be powered from a solar panel
rated between 40 W to 120 W.

When using an external power supply, the voltage
should be between 14 V to 17 V and current should
be limited to a maximum of 7 amperes.

When connecting a solar panel of 120 W or less,
2
wires of cross section area 2.5 mm thicknesses or
greater should be used.


Wire length should be restricted to 5 m.
Input Power Supply
To make the solution work as a battery charger without the
LED driver channels, the following lines need to be
commented in the firmware file load.h.
/* To enable the
this line */
//#define BUCK_CH
Buck
Channel
uncomment
/* To enable the Boost Channel uncomment
this line */
//#define BOOST_CH
Positive and negative terminals should be connected
as shown in Figure 9.
This disables the load options present on the evaluation
board. The firmware allows the state machine to operate
exclusively in the battery charging mode.
Battery

This solar charge controller is designed for a 12 V
lead acid battery.
If you wish to modify the hardware for battery charging
application, the components listed in schematic pages
‘LED Driver Circuit’, sheet 7 of the schematic, can be
completely removed. SW601 on schematic sheet 6 can
either be removed or left for use for other purposes.
Nevertheless the PCB needs to be modified appropriately
for the intended application.

When connecting the battery, a wire of cross section
2
area 4 mm should be used.


Wire length should be kept short; less than 1m.
www.cypress.com
Positive and negative terminals should be connected
as shown in Figure 9.
Document No. 001-56778 Rev. *H
24
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Load
Summary

When connecting the load, a wire of cross section
2
area 2.5 mm or greater should be used.

Wire length should be as short as possible to
minimize power losses in the wire.

Positive and negative terminals should be connected
as shown in Figure 9.
AN56778 provides an overview of Cypress’ MPPT solar
charger and LED driver solution implemented using
PowerPSoC. Attached is a commented code example that
can be tested on reference design boards available for
purchase from Cypress’ design partners. Also attached
are complete design files for these reference design
boards.
Power-up Instructions
References
Connect the panel and the battery. It is recommended to
connect the battery first and then the panel. The system
starts charging the battery as soon as the solar panel is
connected. With just the battery connected, the solution
can operate the LED loads.
CY8CLED0xx0x - PowerPSoC® Firmware
Guidelines, Lighting Control Interfaces
The system operates in different charging modes based
on the battery no load voltage. It is in a fault condition if
there is any error in the system. Table 6 lists the various
status indications.
www.cypress.com
CY8CLED0xx0x
Guidelines
PowerPSoC®
–
Hardware
Design
Design
CY8CLED0xx0x: Topology and Design Guide for Circuits
using PowerPSoC®
Document No. 001-56778 Rev. *H
25
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Document History
Document Title: PowerPSoC® – MPPT Solar Charger with Integrated LED Driver – AN56778
Document Number: 001-56778
Revision
ECN
Orig. of
Change
Submission
Date
Description of Change
**
2771928
GULA/SNVN
10/06/09
New application note
*A
2952018
SNVN
06/14/10
Updated Table 1.
Added Buck driver in the features list
Changed Input Short Circuit Current Rating to 7 A
Changed Buck LED Driver Rating to 8 V/1 A
Changed Boost LED Driver Rating to 40 V/1 A
*B
2998886
SNVN
08/02/10
Corrected Figure 7
*C
3113825
SNVN
12/17/2010
Added availability of evaluation hardware in the abstract section
*D
3286029
SNVN
06/21/2011
Updated abstract.
Added firmware projects to the source.
*E
3352462
SNVN
08/25/2011
Updated all figures.
*F
3482228
MKKU
01/04/2012
Updated template
Updated project file
*G
3500464
MKKU
01/20/2012
Updated project
Formula for iVoutSetPoint corrected on page 8.
In the wiring details section, the maximum current changed to 7A for the input
power supply
'Background' section for SNVN removed in the 'About the authors' section
*H
4555075
SNVN
10/29/2014
Updated schematic images.
Removed 'Related Application Notes' section in document header. Added
'References' section.
Removed 'About the Authors' section.
www.cypress.com
Document No. 001-56778 Rev. *H
26
PowerPSoC® - MPPT Solar Charger with Integrated LED Driver
Worldwide Sales and Design Support
Cypress maintains a worldwide network of offices, solution centers, manufacturer’s representatives, and distributors. To find
the office closest to you, visit us at Cypress Locations.
PSoC® Solutions
Products
Automotive
cypress.com/go/automotive
psoc.cypress.com/solutions
Clocks & Buffers
cypress.com/go/clocks
PSoC 1 | PSoC 3 | PSoC 4 | PSoC 5LP
Interface
cypress.com/go/interface
Lighting & Power Control
cypress.com/go/powerpsoc
cypress.com/go/plc
Memory
cypress.com/go/memory
PSoC
cypress.com/go/psoc
Touch Sensing
cypress.com/go/touch
USB Controllers
cypress.com/go/usb
Wireless/RF
cypress.com/go/wireless
Cypress Developer Community
Community | Forums | Blogs | Video | Training
Technical Support
cypress.com/go/support
PSoC is a registered trademark and PSoC Creator is a trademark of Cypress Semiconductor Corp. All other trademarks or registered trademarks
referenced herein are the property of their respective owners.
Cypress Semiconductor
198 Champion Court
San Jose, CA 95134-1709
Phone
Fax
Website
: 408-943-2600
: 408-943-4730
: www.cypress.com
© Cypress Semiconductor Corporation, 2009-2014. 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.
This 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.
www.cypress.com
Document No. 001-56778 Rev. *H
27