Cypress MicroSystems

Application Note

AN2014

Design for In-System Serial Programming (ISSP)TMBy: Mark Hastings
Associated Project: No
Associated Part Family: CY8C25xxx, CY8C26xxx

SummaryThis Application Note discusses how to design an application to enable In-System Serial
Programming using either the Device Reset or Device Power Cycle programming method.

Introduction
PSoC™ devices can be programmed after they
have been installed in a system. This allows thePSoC microcontroller to be programmed later inthe manufacturing flow or reprogrammed in thefield at a late date. PSoC Designer supports twoIn-System Serial Programming (ISSP) methods:
Device Reset and Device Power Cycle
programming.

Pin1NameVcc

2
3

GNDXRES

4SCLK

5DATA

System Configuration
To perform in-system programming the following
is required:! Windows 98, NT, or 2000
! PSoC Designer version 2.16 or later! Cypress MicroSystems ICE! ICE pod cable! YProgrammer! Cable to connect programming pod totarget system

Description
ICE power (connected onlyin Device Power Cyclemode)
System groundReset signal (dependant onselected programmingmethod)
Programming clock signal(P1[1]/XTALIn/SCLK)
Programming data signal(P1[0]/XTALOut/SDATA)

Vcc from the ICE is capable of supplying about
300 mA and should only be connected whenusing Device Power Cycle programming. If theVcc pin is connected to systems that consume
more than 300 mA, the ICE may be damaged.

See Figure 1 for connection scheme.
The user provides the cable that connects theprogramming pod to the target board. A five pin,0.1”-spaced connector is available on theYProgrammer. The connector on the target board
can be any connector that meets the needs of thedesigner. In some cases programming may be
performed through test points that are probed bya test fixture connected to the programming pod.
There are five signals in the programming
connector, including power. The programming
signals are:

2/28/2002

Revision B

1

AN2014

Currently, all PSoC parts, except the 8-pin DIP
package, include all five signals. The 8-pin DIP
package does not have an XRES pin. These parts
still may be programmed in-circuit, but theprocedure is slightly different, as detailed in
Configuring Programming Method. If the external
32 kHz crystal is used, the programming
connections to ports P1[0] and P1[1] need to be
kept as short as possible to minimize noise

susceptibility of the oscillator. The total
capacitance on each side of the crystal should beclose to 25 pF, including the capacitance of thepackage leads. (See the CY8C25xx/26xx Family
Data Sheet for pin capacitance.) Excessive trace
length on these signals could adversely affect theoperation of the oscillator. During programming,the 32 kHz oscillator does not operate, so theadded load of the programmer is not an issue.

ParallelCableICEPod Cable
PSoC

YProgrammer
Target Cable

TargetBoard

Figure 1: System Configuration

Pin Loading Requirements
The DATA and the SCLK pins each have threefunctions. These pins are used to program thedevice, connect an external 32 kHz crystal, andas general-purpose IO pins - if the internal
oscillator is used. The equivalent load on thesepins should not exceed 120 pF in parallel with a1-kΩ resistor.

The XRES signal is a single function pin. Thissignal should be connected directly to theprogrammer connector. Some designs may drive
the XRES signal from another source, such as asystem reset, to force reset at a known time. In
this case, a resistor may be placed in series withthe signal source and the XRES pin. The
programmer is then connected on the pin side ofthe register. See Figure 3. This will allow theprogrammer to overdrive the XRES pin.

P1[0]/XTALOut/SDATA
or
P1[1]/XTALIn/SCLK <120 pF>1 kΩ

Figure 2: Maximum Load Data and SCLK Pins

2/28/2002

Revision B

2

AN2014

P3[0]
PSoC

1 kΩXRES

To System Reset

P4[6]To In-System Program Connector
Figure 3: XRES ConnectionConfiguring Programming Method

Device Reset Programming

Programming is done from within PSoC Designerby selecting either the Device Reset or Device
Power Cycle method. The programming method
is selected from the menu under Project >>Settings, Programmer tab. See Figure 4.

The Device Reset programming method works
on any 3- or 5-Volt system for devices where theXRES pin is available. This method is preferred.
When using this method, the Vcc signal from theprogramming pod should not be connected to thetarget board.

To use Device Reset programming, click “Resettest mode acquisition.” Click “Power cycle test
mode acquisition” when using Device PowerCycle programming.

To employ the Device Reset programming
method, execute the following procedure:
1.
2.
3.
4.
5.
6.

Under the Programmer tab in theProject >> Settings dialog box, select“Reset test mode acquisition.”
Remove power from target board.
Attachtargetcable
betweenprogrammer and target board.
Apply power to target board.
Start device programming and select the.
Program Part icon
A dialog box will instruct user when
programming is complete. Removetarget cable.

Device Power Cycle ProgrammingThe Device Power Cycle programming method
can only be used in cases where the ICE
supplies power to the target board. Power cycling
is used to capture the part for programming.
Figure 4: Project Settings Dialog Box

Systems that use packages other than the 8-pin
DIP may use either method, but Device Resetprogramming is preferred. If the 8-pin DIP
package is used or the XRES pin is not accessible
to the programmer, Device Power Cycle
programming must be used.

2/28/2002

Currently, the ICE is only capable of supplying aVcc of 5 Volts. The components and circuitry on
the target must be 5-Volt tolerant to avoid
damage during programming.

Revision B

3AN2014

The power cycle time is approximately 400mSec. The target must be able to power down
and back up in this time or the ICE will notproperly be captured. Excessive capacitance on
the power supply may cause the power supply tocycle too slowly.
To employ the Device Power Cycle programming
method, execute the following procedure:
1.
1.
2.
3.
4.
5.

Under the Programmer tab in theProject >> Settings dialog box, select“Power cycle test mode acquisition.”
Remove power from target board.
Attachtargetcablebetweenprogrammer and target board.
Apply power to target board.
Start device programming and select the.
Program Part icon
A dialog box will instruct user when
programming is complete. Remove
target cable.

Troubleshooting
If an error occurs during programming, verify allconnections. Also, verify that the electricalloading on the SDATA, SCLK, and XRES signals
do not exceed the specified maximum ratings.
If using the Device Power Cycle programming
method, verify that the target board does not
require more than 300 mA. For larger systems
that require more than 300 mA, it may bepossible to use the Vcc signal from the ICE tocontrol the power supply on the target board.
See Appendix 1 and 2 for pod and programmer
images and programmer schematic.
Note: The standard 28-pin pod used foremulation may be used instead of theYProgrammer module. Rev. D Pods do notsupport Device Reset programming as shippedfrom the factory. A standard zero-ohm 0805
resistor or solder short can be added at location
R9 to enable this feature.

The Programming Condition table below shows what method is supported for the previously described
configurations:
Condition
Vcc = 4.5 to 5.5V
Vcc = 3.0 to 3.6V

Device Reset
Yes
Yes

Device Power Cycle
Yes
Yes

RST Pin Available
RST Pin Unavailable
ICE Unable to Supply Power toTarget

Yes
NoYes

Yes
Yes
No

Use of 8-Pin DIP Package

NoYes

2/28/2002

Revision B

Note
Device Power Cycle should
only be used if target is 5Volt tolerant.

Target requires more than
300 mA or complex powersystem.

4AN2014

Appendix 1: Pod and YProgrammer Images
XRES
GND

GND
Vcc

P1[1]/SCLKVcc

XRES

P1[0]/DATA

P1[1]/SCLK
P1[0]/DATA

Figure 5: Pod (28-PDIP Rev. D) and YProgrammer (Rev. B)

Appendix 2: Schematic of Programming Pod
8Vcc

56 Ω

FromICE

RJ45765330 Ω

432156 Ω

P1[0]/DATA 5
P1[1]/SCLK 4XRES 3
GND
Vcc

2To
Target1330 pF

Figure 6: Schematic of Programming Pod

Cypress MicroSystems, Inc.
22027 17th Avenue S.E. Suite 201
Bothell, WA 98021
Phone: 877.751.6100
Fax: 425.939.0999
http://www.cypressmicro.com/ http://www.cypress.com/contacts/ support@cypressmicro.com
Copyright  2002 Cypress MicroSystems, Inc. All rights reserved.
PSoC™ (Programmable System on Chip) is a trademark of Cypress MicroSystems, Inc.
All other trademarks or registered trademarks referenced herein are property of the respective corporations.
The information contained herein is subject to change without notice.

2/28/2002

Revision B5