Sunteți pe pagina 1din 82

Programmers by

User's Guide
Address: ASIX s.r.o.
Staropramenna 4
150 00 Prague
Czec !epu"#ic
$%&ai#: sa#es'asi(.net )sa#es in*uiries+ ordering,
support'asi(.net )tecnica# support,
---: too#s.asi(.net )de.e#opment too#s,
///.asi(.net )compan0 /e"site,
1e#.: 2430%354 513 546
7a(: 2430%354 538 119
Programmers by ASIX
Table of Contents
Introduction......................................................................................................................................4
1 7:!1$..........................................................................................................................................5
1.1 Usage.....................................................................................................................................5
1.3 Insta##ation.............................................................................................................................5
1.5 Insta##ation under -indo/s XP............................................................................................9
1.4 Insta##ation under #ater -indo/s .ersions............................................................................9
1.5 :ter 7:!1$ uti#ities...........................................................................................................9
1.9 Programming connector description.....................................................................................9
1.4 $(amp#es o; te programmer to app#ication /iring..............................................................6
Connection o; PIC cips.........................................................................................................6
Connection o; A<! cips......................................................................................................8
Connection o; A<! cips /it 1PI inter;ace )e.g. A1tin010,............................................10
Connection o; A1(mega cips+ programming .ia P=I inter;ace.........................................10
Connection o; Atme# 6051 cips..........................................................................................11
Connection o; PSoC cips....................................................................................................13
Connection o; &SP450 > CC450 cips /it 1$S1 pin+ programming .ia ?1AG...............15
Connection o; &SP450 > CC450 cips /itout 1$S1 pin+ programming .ia ?1AG..........15
Connection o; &SP450 > CC450 cips+ programming .ia S@-.........................................14
Connection o; 1I )Cipcon, CC(((( cips.........................................................................14
Connection o; I3C memories...............................................................................................15
Connection o; SPI memories................................................................................................19
Connection o; &icro/ire memories.....................................................................................14
Connection o; UAI>: memories..........................................................................................14
Connection o; de.ices programmed .ia ?1AG....................................................................16
1.6 =escription o; indicators and contro#s................................................................................18
1.8 1ecnica# speci;ications......................................................................................................18
3 P!$S1:......................................................................................................................................30
3.1 Usage...................................................................................................................................30
3.3 Insta##ation...........................................................................................................................31
3.5 P!$S1: =ri.er insta##ation................................................................................................31
3.4 =escription o; te programming connector........................................................................35
3.5 $(amp#es o; te programmer to app#ication /iring............................................................34
Standa#one PIC /itout app#ication+ using B<P )15<, mode.............................................34
:n"oard PIC+ using C<P )PG&, mode )not 15<,+ po/ered ;rom app#ication...................34
:n"oard PIC+ using B<P )15<, mode+ po/ered ;rom app#ication.....................................35
:n"oard PIC+ using C<P )PG&, mode )not 15<,+ po/ered ;rom P!$S1:......................35
:n"oard PIC+ using B<P )15<, mode+ po/ered ;rom P!$S1:........................................39
:n"oard eC:G+ a#/a0s po/ered ;rom app#ication )<==D5.5<,.......................................34
:n"oard A<!+ po/ered ;rom app#ication...........................................................................36
Atme# A<! /it 1PI inter;ace )e.g. A1tin010,..................................................................38
:n"oard Atme# 6051 microcontro##er po/ered ;rom app#ication........................................50
Connection o; a PSoC de.ice "0 C0press............................................................................51
Connection o; a &SP450 de.ice /at as not te S@- )t/o /ires, inter;ace...................53
Connection o; CC450 or &SP450 de.ice /at as te S@- )t/o /ires, inter;ace...........55
Connection o; CC(((( de.ice "0 1I )Cipcon,..................................................................55
Connection o; I3C memor0 to P!$S1:..............................................................................54
Connection o; SPI memor0 to P!$S1:..............................................................................55
3
Programmers by ASIX
Connection o; micro/ire memor0 to P!$S1:...................................................................55
Connection o; a de.ice programmed o.er te ?1AG inter;ace to P!$S1:........................59
3.9 =escription o; indicators and contro#s................................................................................54
3.4 1ecnica# speci;ications......................................................................................................54
5 :ter programmers.....................................................................................................................54
5.1 PICC:C:............................................................................................................................54
5.3 PICEUICF..........................................................................................................................54
5.5 CAP!%PI.............................................................................................................................56
5.4 PICC:C: Grande...............................................................................................................56
5.5 P<F Pro..............................................................................................................................56
4.1 BP!5<5...................................................................................................................................58
4.3 BP!1<3...................................................................................................................................40
5 So;t/are UP................................................................................................................................41
5.1 Insta##ation o; UP................................................................................................................41
5.3 =e.ice programming...........................................................................................................41
5.5 Se#ecting o; G: "utton ;unction.........................................................................................43
5.4 &ass production mode........................................................................................................43
5.5 Seria# num"ers.....................................................................................................................43
5.9 Using UP ;rom te command #ine.......................................................................................45
5.4 Contro##ing UP uti#izing -indo/s messages.....................................................................45
Usage o; UPG=CC.=CC.......................................................................................................49
5.6 !unning UP more tan once...............................................................................................44
5.8 Access to a programmer "0 more tan one instance...........................................................46
5.10 Inte# B$X 7i#e 7ormat used "0 UP...................................................................................46
5.11 Support ;or ca#i"ration memor0........................................................................................48
-orHing /it ca#i"ration in;ormation /en using U< eraser.............................................48
-orHing /it ca#i"ration in;ormation o; ;#as memor0 e*uipped parts..............................50
5.13 App#ication menu o.er.ie/..............................................................................................50
7i#e menu..............................................................................................................................50
$dit &enu.............................................................................................................................53
<ie/ menu...........................................................................................................................55
=e.ice menu.........................................................................................................................55
:ptions menu.......................................................................................................................59
Be#p menu............................................................................................................................58
7:!1$ programmer settings /indo/.................................................................................90
P!$S1: programmer settings /indo/...............................................................................91
Be( editor /indo/s..............................................................................................................93
9 Be#p I Programming 1ips on S<7 I XS<7 ?1AG P#a0er ;or P!$S1: and 7:!1$.............94
4 P!$C:G.....................................................................................................................................96
4.1 Insta##ation...........................................................................................................................96
4.3 =e.ice programming...........................................................................................................96
4.5 =e"ugging...........................................................................................................................96
6 presto.d## #i"rar0..........................................................................................................................96
APP$A=IX A: Con;iguration /ord addresses in PIC de.ices.....................................................98
APP$A=IX @: UPG=CC.=CC setting names and .a#ues.............................................................41
APP$A=IX C: Using ICSP...........................................................................................................46
=ocument !e.ision Bistor0...........................................................................................................60
5
Programmers by ASIX
Introduction
1is manua# descri"es programmers manu;actured "0 ASIX and contro##ing so;t/are ;or programming.
7irst capter descri"es 7:!1$ Bi%speed US@ programmer+ its insta##ation+ /iring and ;eatures.
Second capter descri"es P!$S1: US@ programmer+ its insta##ation+ possi"#e programmer to de.ice /irings and its
"asic ;eatures. In te section a"out /iring o; te programmer tere are notes to pro"#ems re#ated /it te de.ice
programing under te pictures.
1ird capter sort#0 descri"es te oters programmers+ teir ;eatures and possi"#e programmed de.ices.
7ourt capter is a"out so;t/are UP. 1is so;t/are is usa"#e ;or contro##ing o; a## ASIX programmers. 1e
programmers a##o/ ICSP programming. 1e UP can "e interacti.e#0 contro##ed using command #ine+ -indo/s
messages and =CC #i"rar0.
7or programming de.ices using ?1AG inter;ace ser.es program ?1AG P#a0er. Its usage is descri"ed in te ;ourt
capter.
7i;t capter is a"out Precog. 1e Precog is used ;or programming C0an 1ecno#og0 eC:G1 microcontro##er. It a##o/s
simp#e de"ugging too.
In appendi(es tere are descri"ed positions o; con;iguration /ords in supported PIC de.ices and UPG=CC.=CC settings
and names. Appendi( C is sort capter a"out ICSP programming. 1ere is in;ormation a"out ma(ima# currents dra/n
;rom te programmer+ so#utions o; possi"#e pro"#ems re#ated /it it and te oter in;ormation.
4
Programmers by ASIX
1 FORTE
7:!1$ is a ;ast and ;#e(i"#e Bi%Speed US@ programmer ;or programming and testing o; /ide .ariet0 o; popu#ar
integrated circuits % microcontro##ers+ seria# $$P!:&s+ CPC=s+ 7PGAs and oters. It ;eatures o.ercurrent protection o;
<PP and <== and o.er.o#tage protection o; <==. 1e programmer is po/ered .ia US@ and is capa"#e o; eiter
supp#0ing te programmed app#ication circuitr0 /it 1.6 to 5.5 < or using e(terna# supp#0 .o#tage ;rom te app#ication.
1e programmer can "e used under -indo/s XP or iger or under Cinu( in -ine.
1.1 Usage
7:!1$ is designated ;or programming and testing o; integrated circuits direct#0 in te app#ication circuitr0. Cist o;
supported parts inc#udes:
Microchip PIC microcontro##ers J parts /it seria# programming /ic are a## PICs and dsPICs e(cept o; se.era#
o"so#ete parts.
Atmel AVR microcontro##ers J a## parts supporting KSPI Co/ <o#tage Seria# =o/n#oadingK+ e.g. A1tin013+
A180S6555 or Atmega136.
Atmel ATxmega microcontro##ers J parts programmed eiter .ia ?1AG or P=I+ e.g. A1(mega53=4 or
A1(mega136@1.
Atmel AVR32 microcontro##ers % e.g. A153UC5A1359
Atmel 80! "amily de.ices J parts supporting ISP programming+ e.g. A168S6355+ A168CP4053+ A168CP319 or
A168S3051.
Texas I#str$me#ts microcontro##ers J ;#as &SP450+ CC450 and CC(((( de.ices inc#uding teir protection ;use
programming.
Cypress J PSoC de.ices.
Serial %%PR&M a#' (lash memories % I
3
C )34CC((,+ &icro/ire )85CC((, and SPI )35C((,.
Parts /it )TA* inter;ace+ ;or /ic a so;t/are generating a S<7 or XS<7 ;i#e is a.ai#a"#e. 1ese inc#ude CPC=s
)e.g. Xi#in( XC85(( and Coo#!unner,+ con;iguration memories ;or 7PGAs )e.g. Xi#in( XC16<(( and XC7((S,+
microcontro##ers )e.g. A1mega136, and oters.
5
Programmers by ASIX
1.2 Installation
To i#stall the so"t+are the $ser m$st possess pri,ileges o" local A'mi#istrator ;or "ot te dri.er insta##ation and
running te so;t/are ;or te ;irst time. Aorma# user pri.i#eges /i## su;;ice ;or ;urter usage o; te so;t/are.
1e 7:!1$ dri.er insta##s during insta##ation o; te UP program.
1.3 Installation under Windows XP
Connect te programmer to te computer. -indo/s /i## start L7ound Ae/ Bard/are -izardM. =o cance# itN !un UP
program insta##er+ /ic 0ou can ;ind on te supp#ied C=%!:& or on te /e"+ it /i## a#so insta## te 7:!1$ dri.er.
=uring te insta##ation te operating s0stem /i## asH i; it sou#d insta## a so;t/are /ic as not passed -indo/s #ogo
testing. Se#ect LContinue An0/a0M.
A;ter success;u# insta##ation te :A%CIA$ C$= /i## #igt green and 0ou can see te 7:!1$ programmer as
success;u##0 insta##ed in te =e.ice &anager.
1.4 Installation under later Windows versions
Under #ater -indo/s #iHe e.g. -indo/s 4 ;irst insta## te UP so;t/are+ it insta##s a#so te US@ dri.er. 1e UP program
insta##er 0ou can ;ind te on te supp#ied C=%!:& or on te /e". -en te insta##ation is ;inised+ connect te
7:!1$ programmer to te computer. A;ter sort time it sou#d #igt te green :A%CIA$ C$= and te programmer
sou#d "e .isi"#e as success;u##0 insta##ed in te =e.ice &anager.
1.5 Other FORT utilities
?1AG S<7 PCAO$! J 1is so;t/are is usa"#e ;or programming o; de.ices /it ?1AG inter;ace ;or /ic tere is a
so;t/are generating S<7 or XS<7 ;i#es.
-ote. -en 7:!1$ seems to "e damaged+ te user can test it using so;t/are #ocated at
ttp:>>too#s.asi(.net>suppGtesters.tm .
9
Programmers by ASIX
1.! Progra""ing #onne#tor des#ri$tion
Pin AVR AVR TPI ATxmega P/I 80! )TA* PIC
P !$S$1 !$S$1 !$S$1 US! &CC!
0
V// <CC <CC <CC <CC <== <==
*-/ GA= GA= GA= GA= GA= <SS
/ &:SI 1PI=A1A P=IG=A1A &:SI 1=I PG=
C SCF 1PICCF P=IGCCF SCF 1CF PGC
I &IS: &IS: 1=:
1 SS 1&S C<P
T
S
R
Pin MSP230 MSP230
S34
TI CCxxxx PSoC I
2
C SPI Micro+ire 5-I6&
P 1$S1 > <PP <PP !$S$1 X!S1 CS CS
0
V// <CC <CC <== <== <== <== <== <CC
*-/ <SS <SS GA= <SS GA= GA= GA= <SS
/ 1=I S@-1=I: =e"ugGdata ISSP%=A1A S=A SI =I SCI:
C 1CF S@-1CF =e"ugGc#ocH ISSP%SCCF SCC SCF CCF
I 1=: S: =:
1 1&S :!G )P!$,
T
S
R !$S$1
-otes.
P (or more i#"ormatio# see 'e,ices co##ectio# examples7
P I" the target $#it is po+ere' by a s+itche' po+er s$pply or it is #ot gro$#'e'8 there co$l' be
.er0 ig .o#tage di;;erence "et/een 7:!1$ ground and ground o; te target de.ice /ic can cause
te programmer ;ai#ure.
1e correct /a0 o/ to connect 7:!1$ to te target is to connect 7:!1$ and target togeter+ ten to turn
on po/er o; te target and ten to connect 7:!1$ into US@.
&uc simp#er /a0 is to ground te "oard "e;ore 7:!1$ is connected % simp#0+ te ground pin o; te programmer
sou#d "e s#igt#0 #onger so tat it /i## a#/a0s connect ;irst.
4
Programmers by ASIX
1.% &a"$les o' the $rogra""er to a$$li#ation wiring
Connection of PIC chips
-otes.
1. Aot a## te PIC cips contain te PG& pin. 1e PG& pin can "e eiter connected to te C pin o; te
programmer or pu##ed%do/n ;or B<P programming or pu##ed%up ;or C<P programming mode.
3. I; te microcontro##er as more o; <== or <SS supp#0 pins+ a## o; tem must "e connected inc#uding A<==
and A<SS pins.
5. Programming o; PIC53&X de.ices is supported .ia ICSP inter;ace.
4. =e.ices /it ICP:!1 ;use must a.e te dedicated ICSP port disa"#ed ;or C<P programming.
5. PIC34 and dsPIC55 cips can "e programmed using P$ )Programming $(ecuti.e, or "0 te common metod.
1e P$ metod is usua##0 ;aster.
6
Programmers by ASIX
Connection of AVR chips
-otes.
1. 1e c#ocH source /ic is set in te programmed cip or /ic is to "e set during ;uses programming must "e
connected to te cip. A cr0sta# must "e connected /en it is set as te c#ocH source.
3. 1e cip ;uses are "0 de;au#t set to te interna# osci##ator o; 1 &Bz. 7or te ;irst time it is necessar0 to
program te de.ice /it L:sci##ator ;re*uenc0M set to LQ450 HBzM or #ess in te L7:!1$ programmer
settingsM /indo/.
5. I; te A<! cip ;uses are correct#0 set+ it is necessar0 to c#icH rigt mouse "utton in te Co#"ig$ratio#
/indo/ and to coose L1ear# "$ses9 item in te menu. 1is sa.es te ;uses to te up.ini ;i#e or to UP proRect
;i#e i; used. -en te cip is programmed on te command#ine+ it is strong#0 recommended to use te proRect
;i#e /it te ;uses settings sa.ed in it.
4. Se#ection o; te L&pe# 7hex "ile +ith 'ata memory a$tomatically: item in te (ile menu causes tat te
$$P!:& memor0 data are #oaded automatica##0 /it te program ;i#e.
5. Some A<! de.ices a.e ISP inter;ace situated on di;;erent pins tan te SPI inter;ace. See LSeria#
do/n#oadingM section o; te de.ice dataseet.
8
Programmers by ASIX
Connection of AVR chips with TPI interface (e.. ATtin!1"#
Connection of AT$%ea chips& prora%%in 'ia P(I interface
-ote.
1. 7or programming .ia ?1AG te cips must "e connected as descri"ed in LConnection o; de.ices programmed
.ia ?1AGM section.
10
Programmers by ASIX
Connection of At%el )"*1 chips
-otes.
1. 1e SS pin must "e connected on#0 ;or A168CP3053 > 4053 >315 > 314 >319 >436 >636 > 9440 > 51!=3.
3. 1e parts containing LCM in te name cannot "e programmed "0 te 7:!1$ programmer+ "ut te parts /it
LSM in te name are supported and some o; tem are compati"#e /it te LCL t0pes. 7or e(amp#e te
A168C3051 isn't supported+ "ut te A168S3051 is supported.
5. So;t/are supposes tat te P:C pin o; te cip is connected to #og. 1 during A168CP53 programming. In case
tat te P:C pin is connected to #og. 0+ te LIn.erse !$S$1M CecH@o( must "e cecHed o;;. A168CP51!=3+
A168CP51$=3+ A168CP51I=3+ A168CP51!@3+ A168CP51!C3+ A168CP51IC3 a.e in.erse #ogic o; te
reset+ so;t/are supposes te P:C pin to "e connected to #og. 0.
11
Programmers by ASIX
Connection of P+oC chips
-otes.
1. 1e de.ices /itout te X!S1 pin can use po/er%c0c#ing initia#ization metod on#0. 1e de.ices /it X!S1
pin can use po/er%c0c#ing or reset metod+ "ut te initia#ization using reset signa# is "etter+ "ecause it can "e
used a#so /it e(terna# po/er supp#0.
3. 1e LProgramming a#goritmM in te L7:!1$ programmer settingsM /indo/ sou#d "e set in accordance /it
te supp#0 .o#tage used during programming.
13
Programmers by ASIX
Connection of ,+P-." / CC-." chips with TE+T pin& prora%%in 'ia 0TA1
-ote.
1. I; tere is ca#i"ration .a#ue sa.ed at te in;ormation memor0 and it /i## not "e programmed )erased,+ te cip
sou#d "e programmed /it LCalibrate' i#ter#al RCL osci##ator cosen in te L(&RT% programmer
setti#gsL /indo/+ in a## oter cases it sou#d "e L-ot calibrate' i#ter#al RCL osci##ator.
Connection of ,+P-." / CC-." chips without TE+T pin& prora%%in 'ia 0TA1
-otes.
1. 1e P pin on#0 supp#ies te cip /it 9+5 < during ;use programming. In case tat te ;use /i## not "e
programmed+ tis signa# do not a.e to "e connected.
3. 1e &SP45075((( and CC450 cips are #ocHed a di;;erent /a0+ te P signa# /i## not "e used. In tis case te
100 ! resistor can "e omitted.
5. I; tere is ca#i"ration .a#ue sa.ed at te in;ormation memor0 and it /i## not "e programmed )erased,+ te cip
sou#d "e programmed /it LCalibrate' i#ter#al RCL osci##ator cosen in te L(&RT% programmer
setti#gsL /indo/+ in a## oter cases it sou#d "e L-ot calibrate' i#ter#al RCL osci##ator.
15
Programmers by ASIX
Connection of ,+P-." / CC-." chips& prora%%in 'ia +23
-otes.
1. 1e P pin on#0 supp#ies te cip /it 9+5 < during ;use programming. In case tat te ;use /i## not "e
programmed+ tis signa# do not a.e to "e connected.
3. 1e &SP45075((( and CC450 cips are #ocHed a di;;erent /a0+ te P signa# /i## not "e used. In tis case te
100 ! resistor can "e omitted.
5. I; tere is ca#i"ration .a#ue sa.ed at te in;ormation memor0 and it /i## not "e programmed )erased,+ te cip
sou#d "e programmed /it LCalibrate' i#ter#al RCL osci##ator cosen in te L(&RT% programmer
setti#gsL /indo/+ in a## oter cases it sou#d "e L-ot calibrate' i#ter#al RCL osci##ator.
Connection of TI (Chipcon# CC$$$$ chips
14
Programmers by ASIX
Connection of I
4
C %e%ories
-otes.
. 1 1e programmer uses interna# pu##%up resistor o; 3.3 HS on te data signa# )S=A, /en /orHing /it I3C "us.
3. I; te programmed de.ice is 34CC)S,31A or 34CC)S,33A+ its <CCF pin must "e connected to <== during
programming.
5. 1e 54((03 needs ig .o#tage ;or te S-P and CS-P /rite protection commands on te A0 pin. 1e ig
.o#tage is generated on te P pin o; te programmer. 1e A0+ A1 and A3 pins o; te memor0 must "e set
manua##0 in accordance /it te se#ected protection mode.
15
Programmers by ASIX
Connection of +PI %e%ories
-otes.
1. Some cips contain -P+ B:C= or !$S$1 pins+ a## tese pins sou#d "e parHed in proper #ogica# #e.e# not to
"#ocH te communication and te cip programming.
3. <arious manu;acturers marH te SPI memor0 pins /it di;;erent names. Some o; tem can "e ;ound in te
ta"#e:
-ame i# pict$re Atmel8 SST ST
=I SI =
=: S: E
CCF SCF C
CS CS+ C$ S
19
Programmers by ASIX
Connection of ,icrowire %e%ories
-otes.
1. 1e 1 pi# se#ects organisation o; te memor0 in eiter 6%"it or 19%"it /ords. User se#ects desired organisation
in te so;t/are and 7:!1$ sets tis pin to te corresponding #ogica# #e.e#. I; te memor0 organisation is ard%
/ired in te app#ication circuitr0 or te organisation is not se#ecta"#e te C pin /i## sta0 unconnected.
3. I; te programmed cip is &85S(9 te C pin must "e connected to te cip P!$ pin.
Connection of 56I/O %e%ories
14
Programmers by ASIX
Connection of de'ices prora%%ed 'ia 0TA1
-otes.
1. 1e programmer a#/a0s uses e(terna# supp#0 .o#tage during programming S<7 or XS<7 ;i#es using ?1AG
P#a0er uti#it0.
3. 1e programmer P pin is con;igura"#e in te ?1AG P#a0er+ it can "e con;igured to o#d te cip in te reset
state during programming. It is re*uired e.g. ;or A1mega cips.
5. 1e A<!53 &CUs are programmed .ia ?1AG inter;ace /it te UP program. 1e part mustn't "e in te reset
state during programming.
4. 1e A1(mega &CUs are programmed .ia ?1AG inter;ace /it te UP program. 1e P pin is not re*uired ;or
te programming.
16
Programmers by ASIX
1.( )es#ri$tion o' indi#ators and #ontrols
&-01I-% 1%/ J green % 7:!1$ is connected to te computer.
ACTIV% 1%/ J 0e##o/ % Communication is in progress.
% red J 1ere /as an error.
*& b$tto# % 1riggers te programming process or an0 oter preset operation.
1.* Te#hni#al s$e#i'i#ations
4ar#i#g. Violatio# o" these parameters may ca$se 'amage o" the programmer or co##ecte' comp$ter;
<== .o#tage supp#ied ;rom te programmer 1.6 to 5.5 <
<== .o#tage /en po/ered ;rom app#ication 1.6 to 5.5 <
<== .o#tage /it reduced per;ormance 1.3 to 5.5 <
&a(ima# current dra/n ;rom <== 100 mA
&a(ima# current dra/n ;rom <PP 100 mA at 4 <
10 mA at 14 <
&a(ima# current dra/n ;rom I>: pins 4 mA at <==D1.3 <
53 mA at <==D 4.5 <
:utput .o#tage on P pin Con;igura"#e 9.5 J 14 < or #ogica# #e.e#s
:perating temperature 0 to 40 TC
Co/ #e.e# input .o#tage &a(. <==(0.5 <
Big%#e.e# input .o#tage &in. <==(0.4 <
Co/ #e.e# output .o#tage &a(. 0.55 < at 4.5 <
&a(. 0.1 < at 1.3 <
Big%#e.e# output .o#tage &in. <== % 0.1 <
=imensions C ( - ( B Appro(. 113 ( 95 ( 35 mm
&a(ima# a##o/ed #engt o; te ICSP ca"#e 150 mm
18
Programmers by ASIX
4 PRE+TO
P!$S1: is a .er0 ;ast and ;#e(i"#e US@ programmer ;or programming and testing o; /ide .ariet0 o; popu#ar integrated
circuits % microcontro##ers+ seria# $$P!:&s+ CPC=+ 7PGA and more. 1e programmer is optimized to acie.e
ma(ima# speed o; programming 0et ;or a;;orda"#e price. It a#so ;eatures o.ercurrent protection on <pp and <cc and
o.er.o#tage protection on <cc. 1e programmer is po/ered ;rom US@ and it is capa"#e o; eiter supp#0ing po/er to te
app#ication circuitr0 or using te po/er ;rom app#ication circuitr0 during te programming.
2.1 Usage
P!$S1: is designated ;or programming and testing o; te integrated circuits direct#0 in te app#ication circuitr0. Cist o;
supported parts inc#udes:
Microchip PIC microcontro##ers J parts /it seria# programming )7#as+ $P!:& and :1P,+ /at are a## PICs and
dsPICs e(cept o; se.era# o"so#ete parts.
Atmel AVR microcontro##ers J a## parts supporting KSPI Co/ <o#tage Seria# =o/n#oadingK+ e.g. A1tin013+
A180S6555 or Atmega136.
Atmel AVR32 microcontro##ers % e.g. A153UC5A1359
Atmel 80! "amily de.ices J parts supporting ISP programming+ e.g. A168S6355+ A168CP4053+ A168CP319 or
A168S3051
eC&*! microcontro##ers "0 C0an 1ecno#og0
Texas I#str$me#ts microcontro##ers J ;#as &SP450 and CC(((( de.ices
Cypress J PSoC de.ices
Serial %%PR&M % I
3
C )34CC((,+ &icro/ire )85CC((, and SPI )35C((,
Parts /it )TA* inter;ace+ ;or /ic a so;t/are generating a S<7 or XS<7 ;i#e is a.ai#a"#e. 1ese inc#ude CPC=
)e.g. Xi#in( XC85(( and Coo#!unner,+ con;iguration memories ;or 7PGA )e.g. Xi#in( XC16<(( and XC7((S,+
microcontro##ers )e.g. A1mega136, and more.
Parts /it ARM core J programming and de"ugging o; A181SA&4 microcontro##ers is supported /it A!&IA$
uti#it0
30
Programmers by ASIX
2.2 Installation
To i#stall the so"t+are the $ser m$st possess pri,ileges o" local A'mi#istrator ;or "ot te dri.er insta##ation and
running te so;t/are ;or te ;irst time at /ic point anoter dri.er is insta##ed. Aorma# user pri.i#eges /i## su;;ice ;or
;urter usage o; te so;t/are.
Insta## P!$S1: dri.ers 3%(&R% ;irst insta##ation o; UP ..3.0 or igerN
2.3 PR+TO )river installation
-ote.-it ne/ dri.ers -indo/s 86 comp#ains a"out missing .CA1 ;i#es during insta##ation. In tis case it is
recommended to use o#der dri.ers LASIXGP!$S1:GUS@G=!I<$!SG3004%04%09.UIPL a.ai#a"#e at
ttp:>>too#s.asi(.net>d/n#dGpresto.tm .
Insert te insta##ation C=%!:& into te dri.e and connect P!$S1: to a US@ port. 1e operating s0stem detects a ne/
de.ice and starts searcing ;or te dri.ers:
Coose te recommended automatic
insta##ation. 1e operating s0stem ;inds te
dri.er on te C=%!:& and prompts 0ou
;or con;irmation to insta## uncerti;ied
dri.ers. At tis point coose KContinue
An0/a0K.
31
Programmers by ASIX
Success;u# insta##ation o; te dri.er is announced "0 a s0stem notice.
7unctiona#it0 o; te dri.er ma0 "e cecHed in te ard/are manager.
/ri,er i#stallatio# $#'er 4i#'o+s <
7or -indo/s 4 use te #atest dri.er ;rom /e" or te dri.er inc#uded on te P!$S1: accessor0 C= % !:&. Under
-indo/s 4 te dri.er /i## not insta## automatica##0+ it must "e insta##ed manua##0 conse*uent#0: :pen =e.ice &anager
and ;ind te connected P!$S1: programmer tere. :pen its properties /indo/ and se#ect LUpdate dri.erM. Se#ect a
#ocation /ere te unpacHed dri.er is sa.ed. 1e =e.ice &anager must "e accessed "0 rigt mouse "utton c#icHing on
te Computer icon and se#ecting properties.
Ao/+ /en te P!$S1: dri.er is insta##ed+ 0ou can insta## te so;t/are+ 0ou /i## use:
UP % 1e program UP supports P!$S1: as /e## as oter ASIX's programmers. It o;;ers man0 ad.anced ;unctions #iHe
proRects+ command #ine contro#+ -indo/s message contro#+ /orHspace setup inc#uding user He0"oard sortcut
de;initions+ seria# num"er generation "0 .arious metods+ etc.
?1AG S<7 PCAO$! J 1is so;t/are is usa"#e ;or programming de.ices /it ?1AG inter;ace
P!$C:G J 1is so;t/are is usa"#e ;or programming o; eC:G microcontro##ers
ARMI-% J A!&IA$ is a so;t/are pacHage pro.iding /it 7CASB programming and de"ugging o; microcontro##ers
em"edding A!& core. A!&IA$ pacHage is "ased on :pen:C= /it added support ;or P!$S1:+ necessar0
e(tensions ;or 7CASB programming and a simp#e "ut con.enient GUI ;rontend.
-ote. -en P!$S1: #ooHs to "e damaged+ te user can test it using so;t/are #ocated at
ttp:>>too#s.asi(.net>suppGtesters.tm .
33
Programmers by ASIX
2.4 )es#ri$tion o' the $rogra""ing #onne#tor
Pin AVR
.
AVR TPI )"*1 arch. 0TA1 eCO1
7
P1 Reset Reset Reset USR
4
CS
P4
P. VCC
8
VCC
8
VCC
8
VCC
8
VCC
8
P- GND GND GND GND GND
P* MOSI TPIDATA MOSI TDI MOSI
P8 SCK TPICLK SCK TCK CLK
P7 MISO MISO TDO MISO
P) TMS LOADB
5

Pin PIC IC+P ,+P-." ,+P-." +23 CC$$$$ P+oC I4C ,icro3ire +PI
P1 VPP TEST Reset XRST CS #CS
P4
P. VCC
8
VCC
8
VCC
8
VCC
8
VCC
8
VCC
8
VCC
8
VCC
8
P- GND GND GND GND GND GND GND GND
P* DATA TDI SBWTDIO Debu "#t# ISSP$SDATA SDA DI SI
P8 CLK TCK SBWTCK Debu %&'%( ISSP$SCLK SCK CLK SCK
P7 TDO DO SO
P) LVP
)
TMS ORG
)

1 J "ui#d in Pu##Up resistor in P!$S1:
3 J pin ma0 "e #e;t unconnected i; suita"#0 /ired in te app#ication circuitr0
5 J cr0sta# osci##ator re*uired+ i; no oter c#ocH source is used
4 J se#ecta"#e ;unction 1!S1+ SCF or user
5 J #og.0 > U+ Pu##Up in app#ication circuitr0 necessar0
9 J #og.0 > U
4 J cr0sta# osci##ators o; 53.496 HBz and 5.000 &Bz re*uired
6 J @ui#d%in Pu##=o/n 1 HS
-otes.
(or more i#"ormatio# see 'e,ices co##ectio# examples7
I" the target $#it is po+ere' "rom some s+itche' po+er s$pply8 or i" it is #ot gro$#'e'8 so there co$l' be
,ery high ,oltage 'i""ere#ce bet+ee# gro$#' o" PR%ST& a#' gro$#' o" the target 'e,ice8 it co$l' ca$se
its "ail$re7
1e KcorrectK /a0 o/ to connect P!$S1: to te target is to connect P!$S1: and target togeter+ ten turn
on po/er o; te target and tan connect P!$S1: into US@.
&uc simp#er /a0 to pre.ent tis is to ground te "oard "e;ore P!$S1: is connected % simp#0+ to a.e ground
pin o; P!$S1: to "e a s#igt#0 #onger )to maHe sure it is te ;irst pin /ic is connected,+ #iHe US@
connectors are a.ing it. )P!$S1: is KgroundedK to ground o; te PC.,
35
Programmers by ASIX
2.5 &a"$les o' the $rogra""er to a$$li#ation wiring
+tandalone PIC without application& usin 9VP (1.V# %ode
V Connect eiter to P!$S1: or pu##%do/n
See notes to PIC microcontro##ers and con;iguration /ord address.
Onboard PIC& usin :VP (P1,# %ode (not 1.V#& powered fro% application
See notes to PIC microcontro##ers and con;iguration /ord address.
34
Programmers by ASIX
Onboard PIC& usin 9VP (1.V# %ode& powered fro% application
V Connect eiter to P!$S1: or pu##%do/n during programming
See notes to PIC microcontro##ers and con;iguration /ord address.
Onboard PIC& usin :VP (P1,# %ode (not 1.V#& powered fro% PRE+TO
See notes to PIC microcontro##ers and con;iguration /ord address.
35
Programmers by ASIX
Onboard PIC& usin 9VP (1.V# %ode& powered fro% PRE+TO
V Connect eiter to P!$S1: or pu##%do/n during programming
See con;iguration /ord address.
-otes.
-en te programmed de.ice is PIC167((?(( microcontro##er+ on te &CC! pin /i## ne.er "e 15<+ "ut on#0
5< #e.e#.
I; te ;irm/are or data are protected using CP or CP=+ te de.ice must "e a#/a0s entire#0 erased "e;ore eac
programming.
1e de.ice is not erasa"#e /en CP or CP= /it supp#0 .o#tage #o/er tan 5< );or e(amp#e 5.5<,.
I; te processor as more tan one <== and GA= pins+ a## o; tem must "e connected+ inc#uding A<CC and
AGA= i; processor as some.
It is necessar0 to po/er te 5< target e(terna##0+ P!$S1: is capa"#e to supp#0 te target /it 5<.
Some de.ices re*uire #ess ma(ima# .o#tage tan 15< on &CC! pin+ "ut P!$S1: /i## pro.ide 15<. -en
suc de.ice is cosen in te UP+ te so;t/are gi.es a notice a"out it to user. User can #imit te .o#tage "0 a t/o
resistor di.ider or using a Uener diode and current #imiting resistor.
=uring erasing o; microcontro##er in B<P mode a C<P ;use can "e erased too. 1o program te de.ice in C<P
mode te user must set te C<P ;use in B<P mode again.
PIC53&X de.ices can "e programmed .ia ICSP inter;ace /it e(terna# 5< supp#0 .o#tage.
=e.ices /it ICP:!1 ;use must a.e te dedicated ICSP port disa"#ed ;or C<P programming.
-it PIC34 and dsPIC55 it's possi"#e to coose programming metod using P$ CecH@o(. 1e P$ means
LProgramming $(ecuti.eM+ tis metod is usua##0 ;aster ten common metod o; te programming.
I; te P!$S1: programmer is used /it some ne/ PIC de.ices programmed in te B<P mode+ an o.er
current error message indicating o.er current on te programming .o#tage can appear. I; tere is not serious
mistaHe in te cip connection+ it can "e caused "0 &icrocip ne/ production tecno#og0 used. 1e ne/#0
produced cips "ea.e di;;erent /a0 tan te o#der cips+ e.en i; te0 are mem"ers o; o#der cip ;ami#ies. 1e
so#ution o; te pro"#em is to connect a 1 n7 capacitor "et/een te <PP and GA= signa#s. In te case tat te
pro"#em sti## appears+ it is possi"#e to add seria# 10 S resistor to te <PP signa#.
39
Programmers by ASIX
Onboard eCO1& alwa!s powered fro% application (V((;...V#
V Connection o; $IC$GCS to P!$S1: is not needed. Sta0s in #og1 during programming.
-otes.
<CC must "e 5.5<+ te po/er must "e supp#ied a#/a0s ;rom te app#ication.
1o program an eC:G processor an app#ication PreC:G can "e do/n#oaded at ttp:>>too#s.asi(.net> ;ree o;
carge. It is a#so a.ai#a"#e on supp#ied C=%!:&.
See capter a"out PreC:G.
34
Programmers by ASIX
Onboard AVR& powered fro% application
-otes.
7uses are "0 de;au#t );rom manu;acturer, set to te interna# osci##ator in A1mega and A1tin0 microcontro##ers.
7or te ;irst time it is necessar0 to program te de.ice /it L:sci##ator ;re*uenc0M LQ450HBzM or #ess set in te
P!$S1: programmer settingsM /indo/. $(terna# cr0sta# is necessar0 on#0 i; 0ou cange te ;uses o; te
microcontro##er setings to e(terna# osci##ator during programming.
Is is not possi"#e to connect te e(terna# cr0sta# to e.er0 A<! microcontro##er )e.g. Attin015+ Attin015 ,.
I; te ;uses o; te programmed A<! de.ice are correct#0 set+ it is necessar0 to c#icH "0 rigt "utton to te
co#"ig$ratio# /indo/ and coose lear# "$ses item in te menu. 1e ;uses settings /i## "e sa.ed to te proRect
;i#e so tat i; a .e( ;i#e /i## "e opened ne(t time+ te ;uses /i## "e set e*ua##0. )I; te de.ice is programmed
using command%#ine in.ocation o; UP+ user as to speci;0 a .ppr ;i#e instead o; a .e( ;i#e to sa.e te ;uses.,
It is possi"#e to marH item &pe# 7hex "ile +ith 'ata memory a$tomatically in te (ile menu. 1is command
causes tat data ;or te $$P!:& memor0 are #oaded in te same time /it te program ;i#e.
I; it is necessar0 not to cange area o; te $$P!:& memor0 in te microcontro##er+ use $$SA<$ ;use. I; tis
;use is in an acti.e state+ use Program all except o" 'ata %%PR&M command+ e#se te UP program /i##
report tat $$P!:& memor0 is not erased.
1ere is use;u# coice L-o 'ata memory erase be"ore its programmi#g: in &ptio#sProgram
setti#gs777Programmi#g menu.
7or 5.5< de.ices it's possi"#e to use interna# supp#0 /it BP!5<5 con.erter.
7or con.ersion o; te ICSP connector o; te P!$S1: to te Atme#'s 10pin ISP connector ma0 "e used
=PRAVR adapter.
Some A<! de.ices a.e ISP inter;ace situated on di;;erent pins tan te SPI inter;ace. See LSeria#
do/n#oadingM section o; te de.ice dataseet.
36
Programmers by ASIX
At%el AVR with TPI interface (e.. ATtin!1"#
-otes.
1e cip re*uires 13 < to "e connected on its !$S$1 pin+ during B<P programming. 1e programmer can
supp#0 it /it 15 < on#0+ so tere must "e connected an e(terna# circuit reducing tis .o#tage. 1e cip needs
no additiona# e(terna# components+ i; it is programmed /it standard #o/ .o#tage metod.
38
Programmers by ASIX
Onboard At%el )"*1 %icrocontroller powered fro% application
V 1e SS pin must "e connected on#0 ;or A168CP3053>4053>315>314>319>436>636>9440>51!=3.
-otes.
A168CP315+ A168CP314 and A168CP319 use in.erse reset #ogic. 1e resistor on te !$S$1 pin must "e
connected to <CC and not to GA=.
1e parts containing LCM in te name cannot "e programmed "0 te P!$S1: programmer+ "ut te parts /it
LSM in te name are supported and some o; tem are compati"#e /it te LCL t0pes. 7or e(amp#e te
A168C3051 isn't supported+ "ut te A168S3051 is supported.
So;t/are supposes tat te P:C pin o; te cip is connected to #og. 1 during A168CP53 programming. In case
tat te P:C pin is connected to #og. 0+ te LIn.erse !$S$1M CecH@o( must "e cecHed o;;. A168CP51!=3+
A168CP51$=3+ A168CP51I=3+ A168CP51!@3+ A168CP51!C3+ A168CP51IC3 a.e in.erze #ogic o; te
reset+ so;t/are supposes te P:C pin to "e connected to #og. 0.
50
Programmers by ASIX
Connection of a P+oC de'ice b! C!press
V Aot e.er0 PSoC de.ice as te X!S1 pin.
-ote.
User sou#d ;irst se#ect te programming mode initia#ization metod in te WP!$S1: programmer settingsL
/indo/. 1e de.ices /itout te X!S1 pin can use po/er%c0c#ing metod on#0. 1e de.ices /it X!S1 pin
can use "ot metods+ "ut te metod /at initia#izes using reset signa# is "etter+ "ecause it can "e used a#so
/it e(terna# po/er supp#0.
1e LProgramming a#goritmM in te LP!$S1: programmer settingsM /indo/ sou#d "e set in accordance
/it te supp#0 .o#tage used during programming.
51
Programmers by ASIX
Connection of a ,+P-." de'ice what has not the +23 (two wires# interface
V Aot e.er0 &SP450 de.ice as te 1$S1 pin.
-otes.
1is inter;ace connection diagram can "e used ;or e(amp#e /it &SP45071((+ &SP45074((+ &SP450731(1
"ut not /it &SP450730(( or &SP450733((.
I; te de.ice as ca#i"ration .a#ues at te in;ormation memor0 and tis memor0 /on't "e reprogrammed
)erased, during programming+ it sou#d "e programmed /it cosen LCalibrate' i#ter#al RCL osci##ator in
te LPR%ST& programmer setti#gsL /indo/. In te oter cases it sou#d "e L-ot calibrate' i#ter#al RCL
osci##ator.
1at's not possi"#e to "#o/ securit0 ;use o; te &SP450 processors using P!$S1: programmer.
7or programming o; a#one &SP450 processors /it tis inter;ace )non S@-, it's possi"#e to use interna#
po/er supp#0 /it BP!5<5 con.erter.
53
Programmers by ASIX
Connection of CC-." or ,+P-." de'ice what has the +23 (two wires# interface
-otes.
1e de.ice /at as te S@- inter;ace can "e programmed using tis inter;ace on#0. It's ;or e(amp#e
&SP450730((+ &SP450733(( or &SP45075(((.
I; te de.ice as ca#i"ration .a#ues at te in;ormation memor0 and tis memor0 /on't "e reprogrammed
)erased, during programming+ it sou#d "e programmed /it cosen LCalibrate' i#ter#al RCL osci##ator in
te LPR%ST& programmer setti#gsL /indo/. In te oter cases it sou#d "e L-ot calibrate' i#ter#al RCL
osci##ator. 1e osci##ator t0pe cannot "e set ;or &SP45075((( and CC450 de.ices.
1at's not possi"#e to "#o/ securit0 ;use o; te &SP450 processors using P!$S1: programmer.
Speed Com"o@o( in te LP!$S1: programmer settingsM /indo/ is use;u# /en tere is some capacitor
connected to te !$S$1 pin.
1e cips /it ca#i"ration constants sa.ed in te in;ormation memor0 can a.e teir in;ormation memor0
erased /it or /itout Segment A. 1is can "e set using L$rase Segment AM setting.
Connection of CC$$$$ de'ice b! TI (Chipcon#
55
Programmers by ASIX
Connection of I
4
C %e%or! to PRE+TO
-otes.
1e programmer is using interna# pu##%up resistor o; 3.3HS on te data signa# )S=A, /en /orHing /it I
3
C
"us.
I; te programmed de.ice is 34CC)S,31A or 34CC)S,33A+ its <CCF pin must "e connected to <== during
programming.
1e 54((03 needs ig .o#tage ;or te S-P and CS-P /rite protection commands on te A0 pin. 1e ig
.o#tage is generated on te <PP pin o; te programmer. 1e ig .o#tage ;rom te programmer is 15<+ "ut te
cip ig .o#tage sou#d "e #ess tan 10<. User must #o/er te .o#tage imse#;. 1e A0+ A1 and A3 pins o;
te memor0 must "e set manua##0 in accordance /it te se#ected protection mode.
54
Programmers by ASIX
Connection of +PI %e%or! to PRE+TO
<arious manu;acturers marH te SPI memor0 pins /it di;;erent names. Some o; tem can "e ;ound in te ta"#e:
6a%e in picture At%el& ++T +T
DI SI D
DO SO *
CLK SCK C
CS CS+ CE S
-otes.
Programmi#g SPI memory o#boar' % 1e program ena"#e and > or Bo#d pins can "e parHed at proper #ogic
#e.e# in app#ication. 1e programmer needs tat a## pins during programming are digita# inputs or Rust iso#ated
;rom oter circuit "0 some mu#tip#e(er. Programmer c#ocHs tese memories at appro( 500%1000HBz )to satis;0
timings o; ''AA'' de.ices,+ so capacitances o; data #ines must "e s#o/ enoug to a##o/ tis speed.
7or 5.5< de.ices it's possi"#e to use interna# supp#0 /it BP!5<5 con.erter.
Connection of %icrowire %e%or! to PRE+TO
-otes.
1e 1VP pin )Pin6, se#ects organisation o; memor0 in eiter 6%"it 19%"it /ords. 1e user se#ects desired
organisation in te so;t/are and P!$S1: ten sets tis pin to corresponding #ogica# .a#ue. I; te memor0
organisation is ard%/ired in te app#ication circuitr0 or it is not possi"#e to coose it te C<P pin o; te
programmer /i## "e #e;t unconnected. I; te programmed de.ice is &85S(9 ten te C<P pin must "e
interconnected /it te P!$ pin o; te cip.
55
Programmers by ASIX
Connection of a de'ice prora%%ed o'er the 0TA1 interface to PRE+TO
V 1e <PP signa# ma0 act as SCF or 1!S1 descri"ed in S<7 ;i#e or ma0 "e in user de;ined state )#og.1+ #og.0+ tristate+
di;;erent during te programming and a;ter it,
1e P1 o; te programmer sou#d "e connected to te !$S$1 pin /en programming A<!53 de.ices.
-otes.
1e po/er supp#0 is a#/a0s taHen ;rom te app#ication ;or ?1AG app#ications o;ten use .o#tage oter tan 5<.
It is possi"#e to program and test parts ;or /ic tere is a so;t/are pro.iding data in S<7 or XS<7 ;ormat.
1e XS<7 ;ormat is recommended ;or CPC= Xi#in( XC8500 on#0+ /i#e S<7 is recommended ;or a## oter
parts. 1e so;t/are ;or using ?1AG /it P!$S1: is a.ai#a"#e ;or do/n#oad at ttp:>>too#s.asi(.net> and on
supp#ied C=%!:&.
P!$S1: in ?1AG mode is not pro.iding .o#tage to app#ication.
-en te ?1AG pins are used in app#ication as I>: pins+ processor must "e e#d in !eset during programming.
It can "e done using 0e##o/ )<PP, pin o; P!$S1:+ /ic can "e programmed )in ?1AG p#a0er options, to do
tis.
1e ?1AG inter;ace is used ;or programming and de"ugging o; processors /it A!& core too. 1e A!&
processors are programmed /it ARMI-% so;t/are a.ai#a"#e on te /e". 7or more in;ormation on te A!&
de.ices programming see te A!&IA$ e#p.
1e BP!1<3 con.erter sou#d "e used /it te P!$S1: programmer ;or programming o; de.ices /it #ess
supp#0 .o#tage tan 3.4<.
1e A<!53 &CUs are programmed .ia ?1AG inter;ace /it te UP program. 1e part mustn't "e in te reset
state during programming.
1e A1(mega &CUs are programmed .ia ?1AG inter;ace /it te UP program. 1e P1 pin isn't re*uired ;or
te programming.1e A1(mega de.ices can "e used /it te BP!5<5 con.erter.
59
Programmers by ASIX
2.! )es#ri$tion o' indi#ators and #ontrols
*ree# 1%/ ):A%CIA$, % P!$S1: is connected to te computer
>ello+ 1%/ )AC1I<$, % Communication is in progress
3$tto# )G:, % 1riggers te programming process
2.% Te#hni#al s$e#i'i#ations
4ar#i#g. Violatio# o" these parameters may ca$se 'amage o" the programmer or co##ecte' comp$ter;
&a(ima# <cc .o#tage U
<CC &AX
4.5 <
&a(ima# .o#tage ;or oter pins U
I: &AX
5.5 <
&a(ima# current dra/n ;rom <
CC
I
<CC &AX
100 mA
&a(ima# current dra/n ;rom <
PP
I
<PP &AX
50 mA
&a(ima# current dra/n ;rom oter pins I
I: &AX
4 mA
<o#tage i; po/ered ;rom app#ication U
<CC IA
5.0 < to 5.0 < X10Y
<o#tage on <
PP
during programming U
<PP
5 <>15 <
:perating temperature 1
:P
0 to 40 TC
=imensions C ( - ( B Appro(. 105 ( 55 ( 35 mm.
&a(ima# a##o/ed #engt o; te ICSP ca"#e 150mm
. Other prora%%ers
3.1 PI,,O-O
/escriptio# o" the programmer
PICC:C: is a #o/ cost de.e#opment programmer ;or 16%pin &icrocip PICZ microcontro##ers /ic are e*uipped "0
;#as memor0. Parts in #arger pacHages )36 and 40, can "e programmed using ICSP ca"#e.
PICC:C: per;ect#0 suits "eginners+ students and amateurs. 1e programmer con;orms to &icrocip programming
speci;ication )de.e#opment categor0,.
S$pporte' parts
A## recent PIC
Z
microcontro##ers e*uipped "0 ;#as memor0+ direct#0 in te programmer 16%pin pacHages on#0.
3.2 PI,.UI,/
/escriptio# o" the programmer
PICEUICF is ;ast+ re#ia"#e+ 0et ceap de.e#opment too# ;or PIC
Z
microcontro##ers and seria# $$P!:& memories
)&icrocip,. :n o; te greatest ad.antages o; tis programmer is support ;or a## t0pes o; PIC microcontro##ers.
Coose an0 part suita"#e ;or 0our app#ication and 0ou can "e sure tat PICEUICF supports it. &oreo.er tere id
support ;or &icrocip $$P!:& memories )I3C and &icro-ire,. 1ese memories are o;ten used to e(tend interna#
memor0 o; te microcontro##er. PICEUICF is designed to "e ;#e(i"#e to support ;uture parts. Support ;or practica##0 a##
ne/ parts /ic came to te marHet a;ter PICEUICF /as added Rust "0 upgrading te so;t/are.
Bence tere is no need to upgrade ;irm/are nor an0 ard/are canges are re*uired /ic "rings con.enience and
;inancia# "ene;its to te user. 1e so;t/are upgrade is a.ai#a"#e ;or ;ree to a## users. It contains support ;or ne/ parts+
ne/ ;eatures and possi"#e canges to programming a#goritms+ i; re*uired "0 &icrocip.
54
Programmers by ASIX
PICEUICF direct#0 supports In%Circuit Seria# Programming )ICSP, "0 dedicated connector and ca"#e+ /ic is
inc#uded in te pacHage. Current #imiting circuitr0 ;or "ot po/er supp#0 and programming .o#tage minimizes risH o;
damage to te part /en and#ed incorrect#0.
S$pporte' parts
a## recent PIC
Z
microcontro##ers
seria# memories 85C(( and 34C((
3.3 ,0PR1PI
S$pporte' parts
A## recent PIC
Z
microcontro##ers /it ;#as memor0+ /ic do not ;eature &CC!><pp and I>: ;unction on a
sing#e pin.
1e restriction app#ies to e.g. PIC197934>936.
3.4 PI,,O-O 2rande
/escriptio# o" the programmer
PICC:C: G!AA=$ is a #o/ cost de.e#opment programmer ;or 16+ 36 and 40%pin &icrocip PICZ microcontro##ers
/ic are e*uipped "0 ;#as memor0. It is possi"#e to program standa#one parts using a UI7 socHet as /e## as parts
a#read0 so#dered in an app#ication circuit using ICSP ca"#e )In%Circuit Seria# Programming,.
PICC:C: per;ect#0 suits "eginners+ students and amateurs needs. 1e programmer con;orms to &icrocip
programming speci;ication )de.e#opment categor0,.
S$pporte' parts
A## recent PIC
Z
microcontro##ers e*uipped "0 ;#as memor0. Parts in 16+ 36 and 40%pin pacHages can "e
programmed direct#0 in te programmer.
3.5 P3/ Pro
/escriptio# o" the programmer
P<FPro is de.e#opment and educationa# Hit /it "ui#t%in programmer ;or PIC19764A on a sing#e "oard. It is designated
;or stud0 and educationa# purposes and e#ps to get ;ami#iar /it PIC mirocontro##ers+ rea#time processing+ I>:+ disp#a0
mu#tip#e(ing+ "utton scanning and more.
1e "oard contains a## te essentia#s ;or t0pica# microcontro##er app#ications.
po/er supp#0 circuitr0
osci##ator
reset circuitr0
4%digit 4%segment C$= disp#a0
6 C$=s
6 pus"uttons
A## user pins can "e con;igured "0 =IP s/itces to "e connected to on "oard peripera#s or to "e used ;or e(terna#
circuitr0. 1e "oard connects to te PC using para##e# port.
56
Programmers by ASIX
S$pporte' parts
PIC19765 > 64 > 64A
PIC197934 > 936 /it #imitations
The programmer PVK-Pro cannot comply with programming specifications for parts which feature I/O
function on the MCLR pin
PIC197934>936 microcontro##ers must not "e programmed or tested in P<F%Pro /it teir &CC! pin con;igured as
I>:. =oing so cou#d cause damage to te part or te programmer.
Using te %&CC! pin as I>: ns P<F%Pro does not maHe an0 sense an0/a0 tus te ina"i#it0 to program suc parts is
rater not muc #imiting.
-.1 9PR.V.
BP!5<5 is an optiona# accessor0 to te P!$S1: programmer ;or programming o; stand%a#one 5.5 < de.ices as ;or
e(amp#e =ata7#as &emories. 1e P!$S1: programmer can supp#0 a programmed de.ice /it 5 <. Bo/e.er+ some
de.ices re*uire 5.5 < supp#0 .o#tage and 5.5 < #ogic #e.e#s on teir pins. In suc case+ te BP!5<5 #e.e# si;ter or an
e(terna# 5.5 < po/er supp#0 a.e to "e used.
5sae
1e BP!5<5 #e.e# si;ter can "e used .er0 simp#0. P#ug it direct#0 to te pins o; te P!$S1: programmer )-&T to
the programme' 'e,ice co##ector;,. Pin 3 is used as a He0+ so tat is not possi"#e to connect it /rong /a0. Ao/
connect te programmed de.ice to BP!5<5 using ICSP ca"#e. Connection o; te programmed de.ice pins is same as
connection o; te de.ice to te P!$S1:. See /iring e(amp#es ;or P!$S1:. Common connection diagram is "e#o/.
-otes.
1e BP!5<5 pins are unidirectiona#+ so tis #e.e# si;ter can "e used ;or A<! de.ices+ SPI 7#as memories or
&SP450 de.ices /itout S@- inter;ace+ "ut it's not intended ;or PIC de.ices and &SP450 de.ices /it S@-
inter;ace.
Ae.er connect e(terna# .o#tage to te outp$t 373 V s$pply pi#s;
58
Programmers by ASIX
-.4 9PR1V4
BP!1<3 is an optiona# accessor0 to te P!$S1: programmer ;or programming o; te de.ices /it supp#0 .o#tage and
#ogica# #e.e#s "et/een 1.3 and 5.5 < as ;or e(amp#e Xi#in( Coo#!unner%II. 1e P!$S1: programmer can program
de.ices /it signa# #e.e#s "et/een 5 and 5 < X 10 Y+ "ut sometimes it's necessar0 to program a de.ice /it #ess signa#
#e.e#s. In suc case+ te BP!1<3 #e.e# si;ter must "e used. 1e #e.e# si;ter must "e used /it e(terna# supp#0 .o#tage
;rom app#ication+ it cannot "e supp#ied ;rom te programmer.
5sae
P#ug te BP!1<3 #e.e# si;ter direct#0 to te pins o; te P!$S1: programmer )-&T to the programme' 'e,ice
co##ector;,. Pin3 is used as a He0+ so tat is not possi"#e to connect it /rong /a0. Ao/ connect te programmed
de.ice to BP!1<3 using ICSP ca"#e. Connection o; te programmed de.ice pins is same as connection o; te de.ice to
te P!$S1:. Common connection diagram is "e#o/.
-otes.
1e BP!1<3 pins are unidirectiona#+ tis #e.e# si;ter can "e used ;or e(amp#e /it ?1AG de.ices+ "ut it's not
intended ;or de.ices /at need "idirectiona# pins #iHe PIC processors.
1e BP!1<3 must "e supp#ied /it e(terna# supp#0 .o#tage ;rom app#ication.
Ae.er turn on te interna# supp#0 .o#tage ;rom programmer+ /en te BP!1<3 is connected;
40
Programmers by ASIX
* +oftware 5P
UP is te so;t/are ;or ASIX programmers. It o;;ers man0 ad.anced ;eatures and a##o/s detai#ed user contro# o; de.ice
programming process % eiter interacti.e#0 or Kremote#0K contro##ed using command #ine+ -indo/s messages and =CC
#i"rar0. It runs under -indo/s 85>86>&$>A1>3F>XP.
5.1 Installation o' UP
1e insta##ation procedure is ;air#0 simp#e: Get te insta##ation pacHage eiter ;rom supp#ied C=%!:& or
ttp:>>too#s.asi(.net> )UPG(((G$A.$X$+ su"stitute ((( "0 .ersion num"er, and run it )tere is not necessar0 to c#ose
oter running app#ications,. 1e insta##ation taHes a ;e/ seconds and re*uires Rust to press $nter se.era# times. Ao
modi;ication o; operating s0stem is per;ormed during te insta##ation and tus it is not necessar0 to re"oot te macine
and te app#ication ma0 "e started instant#0 )e.g. "0 c#icHing on corresponding icon,. Upon ;irst #aunc te app#ication
prompts ;or #anguage se#ection )$ng#is>Czec,+ t0pe o; te programmer )e.g. P!$S1:, and a port /ic te
programmer connects to )US@ in case o; P!$S1:,.
App#ication remo.a# can "e per;ormed in common ;asion using te contro# pane# app#et or manua##0 "0 de#etion o;
corresponding director0 and sortcuts. 1ere is no necessit0 to remo.e pre.ious insta##ation "e;ore insta##ing ne/
.ersion o; te so;t/are. 1e user settings are preser.ed /en insta##ing ne/ .ersion o.er pre.ious one. It is
recommended to use a#/a0s te most recent .ersion o; te so;t/are.
5.2 )evi#e $rogra""ing
It is recommended to use proRects in UP. ProRect ;i#e contains a## settings.
Ae/ proRect can "e made "0 c#icHing (ile-e+ Pro?ect item in te menu+ e(isting proRect can "e opened "0 c#icHing
(ile&pe# Pro?ect item.
@e;ore programming it is necessar0 to coose used programmer and a programmed de.ice t0pe. It can "e done "0
se#ecting menu items &ptio#sSelect programmer and /e,iceSelect 'e,ice or "0 dou"#e%c#icHing on cosen
programmer and de.ice name+ /ic are so/n in te rigt up corner. It is use;u# to cange settings o; program to
customize it to users re*uirements. Use te &ptio#sProgram setti#gs menu item to do it. =etai#ed description can "e
;ound in App#ication menu o.er.ie/ section.
An0 time+ i; P!$S1: programmer is cosen+ it is so/n P!$S1: programmer settings /indo/+ /ere sou#d .o#tage
source and some oter important settings "e con;igured.
Programmi#g . Use (ile&pe# menu item to open a .e( ;i#e.. I; it is necessar0 to cange ;uses settings to modi;0 te
programmed de.ice ;eatures+ it can "e done in te Co#"ig$ratio# /indo/. Canges can "e sa.ed "0 c#icHing te
(ileSa,e menu item. )See notes to A<! and PIC programming.,
Programming /i## start a;ter c#icHing /e,iceProgram menu item or a;ter c#icHing te Program "utton. 1e
programmer do ;o##o/ing operations: $rases+ "#anH cecHs+ programs and .eri;ies /o#e part. @e;ore taHing te action a
cecH on =e.ice I=+ and Code>=ata Protection is per;ormed.
I; it is necessar0 to program on#0 a part o; te de.ice+ it can "e done "0 se#ecting o; re#e.ant item in te
/e,iceProgram menu or "0 se#ecting o; item under arro/ near te Program "utton. =etai#ed description can "e
;ound in App#ication menu o.er.ie/ section.
-ote . I; te setting Kloa' hex "ile be"ore programmi#gK in programming options is se#ected+ so;t/are re#oads te e(
;i#e a;ter pressing program "utton. -en ;uses are not stored in te e( ;i#e user must eiter dese#ect te option ;or e(
;i#e re#oading or se#ect in ;i#e #oading options not to erase co#"ig$ratio# memory be"ore rea'i#g "ile )tis means ;uses
/ic are not e(act#0 stored in e( ;i#e are turned to de;au#t state,.
41
Programmers by ASIX
5.3 +ele#ting o' 2O 4utton 'un#tion
1e P!$S1: programmer contains G: "utton. G: "utton a##o/s user to start de.ice programming com;orta"#0+
/itout need o; PC He0"oard or mouse. C$=s indicate programmer status % green C$= ):A%CIA$! in;orms a"out US@
connection and 0e##o/ C$= )AC1I<$! indicates tat P!$S1: is Rust /orHing )programming+ reading+ ...,
7unction o; te "utton can "e se#ected according to user's needs in /e,ice@ey shortc$ts menu under te 3$tto# *&
item.
UP must "e running i; user /ants to use te Go "utton+ "ut it can "e minimized.
5.4 5ass $rodu#tion "ode
&enu: /e,iceProgramMass pro'$ctio#
1e ;unction is a.ai#a"#e a#so ;rom too# pane# under KProgramK icon.
In te mass production dia#og te programming can "e started "0 c#icHing KProgramK "utton+ /ic is e*ui.a#ent to
KProgram A##K or KProgram A## "ut $$P!:&K depending state o; KAo $$P!:& programmingK option.
&ass production counter+ is a#so a.ai#a"#e in tis dia#og. According to :ptions it can "e a#so disp#a0ed in te status
pane#. 1e counter disp#a0s tota# num"er o; programmed parts in "ot mass production and standard mode.
5.5 +erial nu"4ers
1e KSerial #$mbersK ;unction programs seria# num"er or oter data se*uence into gi.en memor0 area "e;ore or a;ter
te programming.
Seria# num"ers ma0 "e:
automatic
Automatic num"ers are a#/a0s programmed to a sing#e memor0 #ocation o; te de.ice e.g. code memor0+
$$P!:& memor0 or I= #ocations. 1e seria# num"er can "e eiter decima# or e(adecima# and ma0 "e
encoded eiter as 4%"it com"inations )up to 4 to a sing#e /ord, or ASCII caracter )up to 3 to a sing#e /ord,. I;
code memor0 is used to store seria# num"er it ma0 "e optiona##0 enc#osed in !$1C- instruction.
rea" from a file
In tis case a num"er ma0 "e sp#it into se.era# memor0 areas )e.g. seria# num"er itse#; in code memor0+ de.ice
address in te $$P!:& and+ te same seria# num"er in te I= #ocations to a##o/ reading it e.en ;rom a
protected part,.
-ote. @0 one /ord is meant one position o; memor0.
In L&ptio#s6Program setti#gs7776Serial #$mbersM a ;i#e ;or te seria# num"ers #ogging can "e cosen. In te case o;
te automatic )counted "0 te UP, seria# num"er te seria# num"er itse#; is #ogged. In te case o; te seria# num"er read
;rom a ;i#e te seria# num"er #a"e# is #ogged.
Serial #$mber "ile "ormat
1e seria# num"er ;i#e is a te(t ;i#e /ic can "e easi#0 generated "0 oter program. !ecommended ;i#e e(tension is .SA
or .1X1.
#hite space is a space+ ta" or end%o;%#ine )C!2C7,.
Comment is an0 #ine "eginning /it semico#on. 'A'
$erial num%er recor" is a te(t in ;orm
la%el. data record+ data record+ ...+ data record[ Comment
La%el is a string identi;0ing seria# num"er. Ca"e# is ma#'atory.
&ata recor" is compound o; address )e(adecima#, and data ;ie#ds )e(adecima#, to "e programmed to te
memor0 starting at gi.en address+
e.g. 3100 05 55 54 causes te $$P!:& to contain 05+ 55+ 54 at addresses 00 to 03.
It can "e speci;ied memor0 /ere te seria# num"er /i## "e sa.ed using /ord C:=$. or P!:G. or P. ;or
program memor0 or =A1A. or $$. or $. ;or data memor0 or I=. or I. ;or I= #ocation. 1ese /ords are
43
Programmers by ASIX
;o##o/ed "0 address in te speci;ied memor0.
e.g. EE.00 05 55 54 causes te $$P!:& to contain 05+ 55+ 54 at addresses 00 to 03.
-otes.
1ere is no speci;ier ;or ;uses+ it does not maHe muc sense to p#ace seria# num"er tere.
7or dsPIC parts te C:=$ address is te address o; te 34 "it /ord+ i.e. te interna# dsPIC address
di.ided "0 3. In case o; $$P!:&+ speci;0 address o; 19%"it /ord.
Standa#one )I3C+ SPI, memories ;eature Rust one address space /ic is treated as C:=$.
Comment ;o##o/ing seria# num"er record is optiona#.
$(amp#e o; seria# num"er ;i#e:
[ comment at te "eginning
sn1: 0000 54 45 59 94+
3100 01 03 05 04[ tis is seria# num"er 1
sn3: 0000 45 59 94 46+ 3100 03 03 05 04[
sn5: 0000 59 94 46 68+ 3100 05 03 05 04[
[ a note
sn4: 0000 94 46 68 8A+ 3100 04 03 05 04[
sn5: 0000 46 68 8A A@+ 3100 05 03 05 04[
sn9: 0000 46 68 8A A@+ 3100 09 03 05 04[
sn4: 0000 46 68 8A A@+ 3100 04 03 05 04[
sn6: code.0001 5700 5701 5703 5705+ data.0003 '(' '4' '3'[
sn8: prog.0001 5700 5701 5703 5705+ e.0003 '(' '4' '5'[
5.! Using UP 'ro" the #o""and line
1e program itse#; ensures to "e run in a sing#e instance. I; tere is anoter instance "eing run+ te command #ine
parameters are anded o.er to te a#read0 running instance to "e e(ecuted.
Parameter o,er,ie+
up.exe [{/ask | /q}] [{/e eeprom_file.hex | [/noe]}] [{/p | [/pdiff] | [/o]}
file.hex | file.ppr] [/part part_name] [/erase] [/w[nd] up_window_class] [/cfg]
[/devid] [/blank] [/verify file] [/s programmer_SN] [/progname name] [/boot]
[/noboot]
1ege#'.
1e te(t in bol' is to "e put on te command #ine as is.
1e te(t in italic is to "e rep#aced "0 rea# parameter+ e.g. file'name is to "e rep#aced "0 rea# name o; te ;i#e to "e
opened.
1e(t in cur#0 "racHets separated "0 \ )pipes, represents a sing#e coice ;rom te #isted items. e.g. ] A \ 3 ^ means
Kcoose Rust one o; A or @K.
1e(t in _"races` represents optiona# parameter /ic can "e used+ "ut can a#so "e omitted.
6asB AsH. 1o "e used /it 6p. I; te parameter is used+ te program a#/a0s prompts te user /eter to
program te part+ e.en i; tis /as disa"#ed in te Settings o; te program. 1e con;irmation dia#og a#so so/s
se#ected part t0pe.
6C 6C$iet Euiet mode. In tis mode te program does not re*uire an0 user inter.ention+ "ut rater si#ent#0
returns to an error code instead o; disp#a0ing a dia#og. See !eturn error codes.
6e "ile $$P!:& ;i#e. Aame o; a ;i#e containing $$P!:& data. I; te name contains spaces+ it is necessar0 to
enc#ose it "0 *uotes. 1is parameter can "e used togeter /it 6o or 6p parameter on#0.
6#oe Ao $$P!:&. Causes te program to sHip $$P!:& programming )and a## operations /it $$P!:&,. I;
used /it te &SP450 de.ices+ te program sHip a## operations /it te in;ormation memor0.
6p "ile Program. Programs gi.en ;i#e to code memor0. I; te name contains spaces+ it is necessar0 to enc#ose it
45
Programmers by ASIX
"0 *uotes. )de.ice is erased+ code+ data+ c;g )and I=, memor0 is programmed and .eri;ied.,
6p'i"" "ile % Program di;;erentia##0. Programs gi.en ;i#e. I; te name contains spaces+ it is necessar0 to enc#ose
it "0 *uotes.
6o "ile :pen. 7i#e /it gi.en name /i## "e opened. :ptiona# parameter. I; te name contains spaces+ it is
necessar0 to enc#ose it "0 *uotes.
6eeo#ly % 1e programmer /i## do te se#ected operation ;or $$P!:& memor0 on#0+ /it &SP450 ;or
In;ormation memor0 on#0.
>part #ame Se#ects te speci;ied part in te UP.
>erase 1e part /i## "e erased.
6+#' class #ame Se#ect anoter /indo/ c#ass name. Using tis parameter 0ou can open more tan one
instance o; program UP. $ac instance must a.e uni*ue /indo/ c#ass name.
6c"g I; tis parameter is used togeter /it 6p parameter+ on#0 con;iguration memor0 is programmed. It's use;u#
;or e(amp#e ;or A<! de.ices programming+ "ecause te user can con;igure te cip ;or ;aster osci##ator ;irst
and ten to program it muc ;aster.
6'e,i' I; tis parameter is used togeter /it 6p parameter+ on#0 te =e.ice I= o; te cip is cecHed.
>bla#B Program /i## cecH i; te cip is "#anH+ it /i## return an error code in accordance /it te resu#t.
6,eri"y "ile =oes te part .eri;ication.
6s programmerDS- % 1is parameter a##o/s to se#ect te programmer in accordance /it its seria# num"er.
1e seria# num"er can "e entered as it is disp#a0ed in te UP or printed on te programmer+ e.g.019408 or
A9019408.
6prog#ame #ame % 1is parameter a##o/s to se#ect te programmer t0pe in accordance /it its name+ e.g.
P!$S1: or 7:!1$.
6boot % 1e programmer /i## do te se#ected operation ;or &SP450 "oot memor0 on#0.
6#oboot % Causes te program to sHip te cosen operation /it &SP450 "oot memor0.
-en /orHing on se.era# di;;erent proRects it is #iHe#0 tat te program is set to use a part or programmer oter tan te
one te user assumed. In suc case using proRect ;i#es ).PPR,+ /ic contain a## necessar0 settings inc#uding te ;i#e
pat+ is strong#0 recommended.
-ote. $(amp#es+ o/ to use UP ;rom te command #ine can "e ;ound in te UP insta##ation director0 in ;i#es
LreadGa.rGeeprom."atL and LsetGid#eGpo/erG1."atL .
&pe#i#g a "ile
up.e(e file name
up.e(e ;i#e.e(
up.e(e KC:a&0 =ocumentsa!ecent ProRectsaPICa&0 #atest proRecta;#aser.e(K
Programmi#g the part
up.exe /p file name
up.e(e >p ;i#e.e(
up.e(e >p KC:a&0 =ocumentsa!ecent ProRectsaPICa&0 #atest proRecta;#aser.e(K
Ret$r# error co'es
0 % Ao errors.
1 % 7i#e error+ e.g. ;i#e not ;ound+ unrecognized ;i#e ;ormat.
3 % =e.ice error. Communication test ;ai#ed+ error in communication.
5 % Programming preparation error+ e.g. ;ai#ed to erase part.
4 % Programming error.
5 % <eri;ication ;ai#ed.
9 % User interaction needed.
4 % =e.ice I= error.
44
Programmers by ASIX
-ote. In te "atc ;i#es+ 0ou can get te resu#ting error code "0 s0nta( Yerror#e.e#Y. See e(amp#e ;i#e
LreadGa.rGeeprom."atL in insta##ation director0 o; UP.
5.% ,ontrolling UP utili6ing Windows "essages
UP ma0 "e a#so contro##ed using -indo/s messages. !unning instance o; UP e(ecutes desired action instant#0 upon
reception o; a message.
1e messages ougt to "e sent to -indo/ o; "up v1.x" c#ass. 10pe o; te message is a#/a0s WM_USER. Particu#ar
commands are distinguised "0 /Param+ te parameters are taHen ;rom #Param.
Comma#'s o,er,ie+
)V &essages to UP
V 1ese messages sou#d "e sent to -indo/ identi;ia"#e "0 its c#ass Kup .1.(K
V A#most a## messages responses 0D;a#seD;ai#edDcan't[ 1DtrueDdoneD:FDcan
V -&GUS$!:
V /Param D 0 #Param D 0[ does an0ting+ on#0 returns 1
V #Param D 1[ Set7oreground-indo/),
V #Param D 3[ ma(imizes and Set7oreground-indo/),
V /Param D 1 #Param D an0[ =oes programming a## contents o; ;i#e[ !esu#t is same as on command #ine
V /Param D 3 #Param D an0[ =oes programming /itout eeprom[ !esu#t is same as on command #ine
V /Param D 5 =oes programming )/it erase, !esu#t is same as on command #ine
V #Param \D 1[ o; main code memor0
V #Param \D 3[ o; data eeprom memor0
V #Param \D 4[ o; con;iguration memor0
V #Param \D 6[ o; "oot memor0
V /Param D 4 =oes reading !esu#t is 1 % oH
V #Param \D 1[ o; main code memor0 0 % ;ai#ed
V #Param \D 3[ o; data eeprom memor0
V #Param \D 4[ o; con;iguration memor0
V #Param \D 6[ o; "oot memor0
V /Param D 5 =oes di;;erentia# programming !esu#t is 1 % oH
V #Param \D 1[ o; main code memor0 0 % ;ai#ed
V #Param \D 3[ o; data eeprom memor0
V #Param \D 4[ o; con;iguration memor0
V #Param \D 6[ o; "oot memor0
V /Param D 9 =oes .eri;ication !esu#t is 1 % oH
V #Param \D 1[ o; main code memor0 0 % ;ai#ed
V #Param \D 3[ o; data eeprom memor0
V #Param \D 4[ o; con;iguration memor0
V #Param \D 6[ o; "oot memor0
V /Param D 4 =oes erasing !esu#t is same as on command #ine
V #Param \D 1[ o; main code memor0
V #Param \D 3[ o; data eeprom memor0
V #Param \D 6[ o; "oot memor0
V /Param D 6 =oes @#anHCecH !esu#t is same as on command #ine
V #Param \D 1[ o; main code memor0
V #Param \D 3[ o; data eeprom memor0
V #Param \D 6[ o; "oot memor0
V /Param D 1+3+5+4+5+9+4+6 are 'tread "#ocHing'N
V /Param D 15 #Param D an0[ !esu#t is a#/a0s 1
V =oes te same #iHe @utton G: /as pressed
V )e.en using anoter programmer tan P!$S1:,
V /Param D 19 *uer0 ;or capa"i#it0
V /Param D 14 do re*uested action
V /Param D 19 and 14 as same #Param .a#ues:
V #Param D 0[ &CC!Contro#G!un
45
Programmers by ASIX
V #Param D 1[ &CC!Contro#GStop
V #Param D 3[ &CC!Contro#G!eset
V #Param D 6[ Actua# .o#tage on P!$S1:
V 0 D UnHno/n
V 1 D 0<
V 3 D b3<
V 5 D 5<
V 4 D Q9<
V #Param D 6[ Actua# .o#tage on 7:!1$
V returns ten times te measured .o#tage )e.g. 55 instead o; 5.5 <,
V %1 /en tere is an error
V /Param D 53 reinitia#ization o; UP
V #Param \D 1[ re#oad settings )Dre#oad proRect>ini ;i#e or registr0,
V #Param \D 3[ re#oad #anguage ;i#e
V #Param \D 4[ recreate programmer )#iHe programmer /as canged,
V #Param \D 6[ re#oad programmer settings )#iHe port settings,
V #Param \D19[ re#oad se#ected part
V #Param \D53[ re#oad e( ;i#e
V #Param \D94[ recreate a## dia#og /indo/s )adRust teir size /en re#oading part,
V #Param DD 0(0100[ re;res part speci;ic /indo/s
V #Param DD 0(0300[ re;res a## editors
V #Param DD 0(0500[ re;res proRect captions
V /Param D 55 #Param \D 1[ sa.e a## proRect settings
V /Param D 46 actua# ;i#e sa.e )#iHe Ctr#2S is pressed,
V #Param \D 1[ main code memor0 /i## "e sa.ed
V #Param \D 3[ data eeprom memor0 /i## "e sa.ed
V #Param \D 4[ con;iguration memor0
V #Param \D 6[ o; "oot memor0
V );or A<!s \D4 is not possi"#e and )123, is not possi"#e,
V /Param D 59+ #ParamD0[ /i## return te and#e o; te UP main ;orm
V,
]DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD^
)V
V -&GCC:S$: /i## c#ose te program
V,
E$a%ple
.ar
/indo/: B-A=[
"egin
/indo/ :D 7ind-indo/)'up .1.('+ ni#,[
!esu#t :D Send&essage)/indo/+ -&GUS$!+ 0+ 0,[
end.
5sae of 5P<(::.(::
-ote. UPG=CC is communicating /it UP+ so UP must "e running at te time. 5PD/11 is #ot sta#'alo#e Ethi#gE7
Stri#g ,al$es may be se#t to 5P by $si#g $pD'll7'll library7
unit upGd##[
inter;ace
49
Programmers by ASIX
7unction UPGCoad7i#e )7i#eAame: PCar[ st0#e: integer,: integer[ stdca##[
)V
V Coad 7i#e )/it e(tension .e( or .ppr,[
V Coading o; .ppr ;i#e can resu#t in #oading .e( ;i#e too[
V !esu#t codes are same #iHe on command #ine.
V
V St0#e \D 1[ UP /i## "e *uiet on ;i#e #oad errors
V St0#e \D 3[ UP /i## do no pre.ious ;i#e sa.ing
V
V,
7unction UPGGetStr<a#ue)<a#ueAame: PCar[ <a#ue: PCar[ Size: integer,: integer[ stdca##[
7unction UPGGetInt<a#ue)<a#ueAame: PCar[ .ar <a#ue: integer,: Cong@oo#[ stdca##[
7unction UPGSetStr<a#ue)<a#ueAame: PCar[ <a#ue: PCar,: Cong@oo#[ stdca##[
7unction UPGSetInt<a#ue)<a#ueAame: PCar[ <a#ue: integer,: Cong@oo#[ stdca##[
7unction UPGCoad7i#eG-nd)-ndC#ass:PCar[ 7i#eAame: PCar[ st0#e:integer,:integer[ stdca##[
7unction UPGSetStr<a#ueG-nd)-ndC#ass:PCar[ <a#ueAame: PCar[ <a#ue:PCar,: @::C[ stdca##[
7unction UPGSetInt<a#ueG-nd)-ndC#ass:PCar[ <a#ueAame: PCar[ <a#ue:integer,: @::C[ stdca##[
7unction UPGGetStr<a#ueG-nd)-ndC#ass:PCar[ <a#ueAame: PCar[ <a#ue: PCar[ Size: integer,: integer[ stdca##[
7unction UPGGetInt<a#ueG-nd)-ndC#ass:PCar[ <a#ueAame: PCar[ .ar <a#ue: integer,: Cong@oo#[ stdca##[
)V
V A## tese ;unctions are used ;or canging interna# settings o; UP in runtime.
V UPGGetInt<a#ue+ UPGSetStr<a#ue+ UPGSetInt<a#ue returns nonzero i; success;u#
V UPGGetStr<a#ue returns amount o; caracters to cop0 into <a#ue string inc#uding nu## terminator
V I; Size is #ess tan re*uied size+ no caracters are copied.
V,
imp#ementation
;unction UPGCoad7i#e[ e(terna# 'upGd##.d##'[
;unction UPGGetStr<a#ue[ e(terna# 'upGd##.d##'[
;unction UPGGetInt<a#ue[ e(terna# 'upGd##.d##'[
;unction UPGSetStr<a#ue[ e(terna# 'upGd##.d##'[
;unction UPGSetInt<a#ue[ e(terna# 'upGd##.d##'[
;unction UPGCoad7i#eG-nd[ e(terna# 'upGd##.d##'[
;unction UPGSetStr<a#ueG-nd[ e(terna# 'upGd##.d##'[
;unction UPGSetInt<a#ueG-nd[ e(terna# 'upGd##.d##'[
;unction UPGGetStr<a#ueG-nd[ e(terna# 'upGd##.d##'[
;unction UPGGetInt<a#ueG-nd[ e(terna# 'upGd##.d##'[
end.
=escription o; setting names and .a#ues is in appendi(.
5.( Running UP "ore than on#e
4he# $ser reC$ires to co##ect more o" the PR%ST& programmers to a comp$ter8 "or each o" them 5P m$st be
r$##i#g7
In a t0pica# case on#0 one instance o; UP is running at a time: anoter e(ecution o; te app#ication resu#ts in passing te
command #ine parameters to a#read0 running instance.
UP can "e run more tan once /it eac instance a.ing uni*ue /indo/ c#ass name. Instances /it te same c#ass
name /i## communicate /it eac oter. -indo/s c#ass name can "e speci;ied on te command #ine using 6+
parameter. A## command #ine parameters are descri"ed in separate capter.
44
Programmers by ASIX
E$a%ple
7irst instance o; UP can "e run in common ;asion ;rom te start menu.
Anoter instance ma0 "e run ;rom command #ine e.g. up / "an!t"er up"
5.* 0##ess to a $rogra""er 47 "ore than one instan#e
:n#0 a sing#e instance o; UP can access a programmer at a time )in case o; P!$S1: tis app#ies a#so to oter uti#ities
and#ing te programmer,. It is up to te user to ensure tat no more tan one instance is accessing a programmer /ic
connects to para##e# port at a time. In case o; US@ programmer tis is tasH o; access rigt management o; te operating
s0stem. 1e operating s0stem /i## not a##o/ mu#tip#e access to a programmer. UP does not a##o/ oter so;t/are to
access P!$S1: e.en i; it is id#e ;or it is continuous#0 monitoring state o; te "utton and .o#tage on te po/er supp#0
pin.
It is possible to "orce 5P to release the programmer "or other applicatio# "0 using dia#og ;or se#ection o; a
programmer. Aa.igate te menu to se#ect a programmer. As #ong te dia#og is disp#a0ed+ te programmer is re#eased
and can "e accessed "0 anoter app#ication There +ill #ot be a#y loss o" 'ata a;ter te dia#og is cance#ed.
5.18 Intel 9X File For"at used 47 UP
UP is using Inte# B$X 7i#es to read and /rite data )common e(tension o; suc ;i#es is .#E$,.
S$pporte' =%X "ile ,aria#ts
K"asicK+ a#so ca##ed Inte# 6%"it B$X 7i#e+ &PAS&-IA produces tis t0pe o; ;i#es /en I-=X8M parameter is
issued
Ke(tendedK+ a#so ca##ed Inte# 53%"it B$X 7i#e+ &PAS&-IA produces tis t0pe o; ;i#es /en I-=X32
parameter is issued
I#tel =%X (ile "ormat 'escriptio#
Inte# B$X 7i#es are te(t ;i#e compound o; #ines )records, o; ;o##o/ing structure:
:CCAAAA11====...CC
. $.er0 #ine "egins /it co#on )0(5A,.
11 Cengt o; te record )num"er o; == ;ie#ds,.
AAAA Address o; ;irst "0te o; te record.
TT !ecord t0pe:
00 % =ata record.
01 % $nd%o;%;i#e record. 1e ;i#e must end /it tis t0pe o; record.
03 % $(tended segment address. )53%"it B$X on#0,
04 % $(tended #inear address. )53%"it B$X on#0,
1ere are a#so oter record t0pes )05+ 05, /ic UP ignores /en reading a ;i#e and does not use /en /riting
a ;i#e.
// !ecord data. 1e num"er o; "0tes must "e e(act#0 CC.
CC CecHsum. 1e cecHsum is "inar0 comp#ement o; sum o; a## .a#ues on te #ine )6%"it "0te "0 "0te
addition is used,.
/ata recor'
$(amp#e o; a data record /it con;iguration memor0 o; a 14%"it part.
:03400$00415750
46
Programmers by ASIX
Cengt o; te record: 02 % Size o; te con;iguration memor0 is one /ord D 14 "its D 3 "0tes )a#igned to /o#e
"0tes,
!ecord address: 200% % Address o; te con;iguration memor0 is 3004 /ic+ addressed "0 "0tes+ is 400$
!ecord t0pe: 00 % =ata record
!ecord data: 2!3( % Con;iguration /ord is 5741
CecHsum: 30 D 03 2 40 2 0$ 2 00 2 41 2 57 D ((=0[ neg =0 D 50
%#' o" "ile
1e on#0 ;orm o; en" of file record is:
:0000000177
%xte#'e' a''ressi#g
1is record t0pes are used /en more tan 94 H@ need to "e addressed )e.g. ;or PIC167 microcontro##ers te
con;iguration in;ormation is stored at 0(50000000,.
In suc case it is necessar0 to use e(tended #inear address record /ic contains upper 19 "its o; te address. Co/er 19
"its are stored in te data record.
:030000040050CA
1is #ine sets upper 19 "its o; address ;or con;iguration memor0 o; PIC167.
In case o; e(tended segment address record+ a segment address )i.e. "its 18%4, is stored. 1e segment address is ten
added to te addresses o; ;ortcoming data records.
Sa,i#g o" the part type i'e#ti"icatio# tag to the .HEX "ile
Since con;usion "et/een se#ected part and te part a .#E$ ;i#e /as generated ;or is a common pro"#em+ UP o;;ers a
possi"i#it0 to sa.e part identi;ication direct#0 to te .#E$ ;i#e. I; Sa.e part t0pe to te ;i#e.
option is se#ected+ te program appends a;ter end o; ;i#e record an identi;ication o; te part t0pe: %P&R'(..... &ost
o; te programs /orHing /it Inte# B$X ;i#es ignore tis #ine+ o/e.er suc ;i#e cannot "e considered as ;u##0
comp#0ing to Inte# B$X 7i#e ;ormat.
5.11 +u$$ort 'or #ali4ration "e"or7
3or=in with calibration infor%ation when usin 5V eraser
@e;ore erasing te part it is necessar0 to sa.e ca#i"ration in;ormation. 1e ;unction KSa.e ca#i"ration in;ormation...K can
"e used to per;orm tis tasH.
Menu( 7i#e Sa.e ca#i"ration in;ormation...
Menu( 7i#e !ead ca#i"ration in;ormation...
1e program a#so ;eatures ;unction ;or "#anH cecHing te part. -en tis ;unction is in.oHed+ ca#i"ration in;ormation
is disp#a0ed.
48
Programmers by ASIX
3or=in with calibration infor%ation of flash %e%or! e>uipped parts
1e ca#i"ration memor0 contents is preser,e' during common cip erasure.
I; it is desired to erase ca#i"ration in;ormation ;or an0 reason+ ;unction K$rase a##+ inc#uding ca#i"ration memor0K can "e
used to per;orm tis tasH. )Part $rase $rase a##+ inc#uding ca#i"ration memor0,.
Warning( )ew flash parts with cali%ration memory *eg PIC+,-.,/! feature also %an"gap %its0 which are part of
cali%ration memory Thus these %its will get erase" along with cali%ration memory once 12rase all0 inclu"ing
cali%ration memory1 function is use"
5.12 0$$li#ation "enu overview
App#ication menu is a common part o; most o; te -indo/s app#ications. Using menu te app#ication ;unctions ma0 "e
se#ected. Actions can "e triggered eiter "0 a mouse c#icH on corresponding menu item or using a He0"oard "0 o#ding
te cAC1Q He0 and pressing a He0 corresponding to ig#igted caracter o; a menu item.
1e menu is di.ided to ;o##o/ing categories:
7i#e
$dit
<ie/
=e.ice
:ptions
Be#p
7:!1$ programmer settings /indo/
P!$S1: programmer settings /indo/
B$X editor /indo/s
File %enu
File 6ew
Key%oar" shortcut( Ctr#2A
Creates a ne/ empt0 ;i#e. I; te current#0 open ;i#e as not "een sa.ed+ te user is prompted to sa.e it ;irst.
File Open...
Key%oar" shortcut( Ctr#2:
:pens a ;i#e using standard -indo/s dia#og. 7or supported B$X ;i#e t0pes see =escription o; Inte# B$X ;i#e ;ormat.
B$X and A45 ;i#es are #oaded as B$X+ te oter are #oaded as @IA.
File Open ne$t file
Imports ne(t B$X or @IA ;i#e /it se#ecta"#e o;;set. 1is ;unction is use;u# i; a user needs to #oad second ;i#e to te
cip memor0. B$X and A45 ;i#es are #oaded as B$X+ te oter are #oaded as @IA.
File Reload...
Key%oar" shortcut( Ctr#2!
!e#oads current#0 open ;i#e ;rom te disH. 1is ;unction is use;u# to re#oad a ;i#e updated "0 anoter app#ication.
I; te option KCecH ;or B$X ;i#e updatesK is turned on )see :ptions,+ te user is asHed /eter to re#oad te ;i#e
/ene.er it is updated.
50
Programmers by ASIX
File +a'e
Key%oar" shortcut( Ctr#2S
Sa.es te ;i#e to te disH. I; 0ou /is to sa.e te ;i#e /it a di;;erent name+ use Sa.e as... instead. Unused memor0
areas ma0 "e sHipped during te sa.ing process and tus ma0 not get sa.ed according to se#ected :ptions.
File +a'e as...
Sa.es te ;i#e /it a ne/ name using a standard -indo/s dia#og. Unused memor0 areas ma0 "e sHipped during te
sa.ing process and tus ma0 not get sa.ed according to se#ected :ptions.
File I%port data %e%or!...
Pro.ides /it importing o; $$P!:& memor0 ;rom separate ;i#e using a standard /indo/s dia#og. 1e ;i#e is read ;rom
te zero address regard#ess o; its contents as i; it /as p#ain $$P!:& data. A ;i#e generated "0 a compi#er cannot "e
imported tis /a0 under norma# circumstances.
1is ;unction is pro.ided ;or compati"i#it0 /it o#der so;t/are /ic sa.es $$P!:& contents to a separate ;i#e. 1is
;unction is considered to "e o"so#ete since contents o; a## memories is sa.ed to a sing#e ;i#e "0 recent app#ications.
)According to &icrocip's recommendation,
File Open he$ file with data auto%aticall!
I; tis coice is cecHed o;; te UP program /i## automatica##0 #oad te e( ;i#e ;or te data memor0 /it #oading o; te
;i#e ;or te code memor0. 1is coice is acti.e on#0 i; separate ;i#e ;or te data memor0 is opened.
File 6ew pro?ect
Key%oar" shortcut( Si;t2Ctr#2A
Creation o; a ne/ proRect.
Usage o; proRect ;i#es is recommended especia##0 /en using se.era# di;;erent parts or using se.era# programmers. A
proRect ;i#e contains a## necessar0 settings and tus pro.ides /it con.enient /a0 o; #oading tem a## at once.
File Open pro?ect
Key%oar" shortcut( Si;t2Ctr#2:
:pens a#read0 e(isting proRect ;i#e using a standard -indo/s dia#og. I; some oter ;i#e /as open /itin tis proRect+ it
is #oaded too.
File +a'e pro?ect
Key%oar" shortcut( Si;t2Ctr#2S
Sa.es a proRect using standard -indo/s dia#og +ith a #e+ #ame. Sa.ing o; te ;i#e /it te same name is per;ormed
automatica##0 #iHe/ise te program settings.
File Close pro?ect
Key%oar" shortcut( Si;t2Ctr#2-
Sa.es current#0 open proRect+ c#oses it and restores te state o; te program as it /as "e;ore starting /orH on te proRect.
File Recent pro?ects
Under tis menu item tere are remem"ered #ast 5 used proRects. A;ter c#icHing on te proRect name+ te proRect /i## "e
#oaded.
51
Programmers by ASIX
File Read calibration infor%ation...
:pens a ;i#e using standard -indo/s dia#og and reads ca#i"ration in;ormation ;rom it.
File +a'e calibration infor%ation...
Using standard -indo/s dia#og creates a ;i#e /it ca#i"ration in;ormation read ;rom te part in te programmer. A;ter
te part is erased it is possi"#e to #oad te ca#i"ration in;ormation "acH using te command Rea' calibratio#
i#"ormatio#.
7or ;urter in;ormation a"out support ;or ca#i"ration in;ormation see separate capter a"out ca#i"ration memor0.
File E$port to binar!...
-rites ra/ "inar0 data ;rom program or $$P!:& memor0 to a se#ected ;i#e. =ata a#ignment o; 6 or 19 "its can "e
cosen.
File E$it
$tan"ar" #in"ows 3ey%oar" shortcut( A#t274
Key%oar" shortcut( A#t2X
$(its te app#ication.
-otice: If the currently opene" file has %een change"0 the application prompts the user with an option to sa4e the
changes If the application termination is force" %y computer shut"own an" there is no user response #in"ows
terminates the application without gi4ing it a chance to sa4e the file or settings after a while
#hen operating with the har"ware the application refuses any system re5uest for shut"own an" may %e reporte" as an
application which is not respon"ing - this is normal
Edit ,enu
Edit Fill with 'alue...
7i##s se#ected memor0 area /it gi.en .a#ue. 1is ;unction is usua##0 used to "#anH )a## ones, or zero )a## zeros, o;
se#ected areas+ "ut ma0 "e a#so used ;or oter purposes.
-en tis ;unction is in.oHed+ te memor0 t0pe is prese#ected according to acti.e /indo/.
I; tere /as a memor0 area se#ected it is automatica##0 prede;ined ;or ;i##ing. A memor0 area can "e se#ected "0 o#ding
do/n te Shi"t He0 and c#icHing a mouse or mo.ing "0 cursor He0s. 7or ;urter in;ormation see e( editors.

Edit Insert te$t...
Inserts a te(t encoded as ASCII or as e(adecima# into a memor0. 1e end%o;%#ine caracter can "e encoded as AUCC+
C!+ C7 or C!2C7.
It is possi"#e to ;i## in indi.idua# "0tes or enc#ose data "0 !$1C- instruction )app#ies to program memor0 on#0,.
-en tis ;unction is in.oHed te memor0 t0pe and starting address is prede;ined according to acti.e /indo/ and
se#ected #ocation.
53
Programmers by ASIX
Edit Enclose b! RET:3
$nc#oses data in se#ected area "0 !$1C- instruction.
1is ;unction can "e in.oHed on#0 i; tere a e( editor /indo/ acti.e+ it ma0 "e a#so in.oHed ;rom te #oca# menu
)rigt mouse c#icH in te e( editor,.
A memor0 area can "e se#ected "0 o#ding do/n te Shi"t He0 and c#icHing a mouse or mo.ing "0 cursor He0s. 7or
;urter in;ormation see e( editors.
View %enu
View Code %e%or!
1ogg#es .isi"i#it0 status o; code memor0 editor. 7or ;urter in;ormation on editors see separate capter.
View EEPRO, %e%or!
1ogg#es .isi"i#it0 o; $$P!:& memor0 editor. 7or ;urter in;ormation on editors see separate capter.
View Confiuration %e%or!
1ogg#es .isi"i#it0 o; con;iguration memor0 editor.
View +how code %e%or!
Key%oar" shortcut( A#t2710
So/s code memor0 editor and "rings its /indo/ to ;oreground. 7or ;urter in;ormation on editors see separate
capter.
View +how EEPRO, %e%or!
Key%oar" shortcut( A#t2711
So/s $$P!:& memor0 editor and "ring its /indo/ to ;oreground. 7or ;urter in;ormation on editors see separate
capter.
View +how confiuration %e%or!
Key%oar" shortcut( A#t2713
So/s con;iguration memor0 editor and "rings its /indo/ to ;oreground.
(e'ice %enu
(e'ice Prora%
Key%oar" shortcut( Si;t275
Program All
Key%oar" shortcut( -6
55
Programmers by ASIX
$rases+ "#anH cecHs+ programs and .eri;ies /o#e part. @e;ore taHing te action a cecH on =e.ice I=+ and
Code>=ata Protection is per;ormed.
Program all b$t %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Per;orms tasH simi#ar to Program A##+ e(cept o; erasing+ programming and .eri;ication o; $$P!:& memor0.
1is ;unction is not a.ai#a"#e ;or parts /itout $$P!:& memor0+ Program A## sou#d "e used instead.
1is ;unction ma0 not "e a.ai#a"#e under certain circumstances o; Code or =ata protection o; te part. In suc
situation te program o;;ers comp#ete erase and reprogramming o; te part+ inc#uding te $$P!:& memor0.
Program co'e memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
$rases+ "#anH cecHs+ programs and .eri;ies code memor0.
Program %%PR&M memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
$rases+ "#anH cecHs+ programs and .eri;ies $$P!:& memor0.
Program co#"ig$ratio# memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Programs and .eri;ies con;iguration memor0.
/i""ere#tial programmi#g
Key%oar" shortcut( Ctrl7-6
Per;orm di;;erentia# programming+ i.e. reads te part and programs on#0 memor0 ce##s .a#ue o; /ic is
di;;erent to desired one. I; code or data protection is app#ied+ it maHes no sense to per;orm di;;erentia#
programming+ and tus comp#ete reprogramming /i## "e per;ormed.
Since tis ;unction re*uires support "0 te programmed part+ it ma0 not "e a.ai#a"#e ;or some o; tem.
/i""ere#tial program %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Per;orm di;;erentia# programming o; te $$P!:& memor0+ it /orHs same /a0 as di;;erentia# programming o;
te code memor0. Since tis ;unction re*uires support "0 te programmed part+ it ma0 not "e a.ai#a"#e ;or
some o; tem. I; code or data protection is app#ied+ it maHes no sense to per;orm di;;erentia# programming+ and
tus comp#ete reprogramming /i## "e per;ormed.
1is ;unction must "e used /it A<! de.ices+ i; te user /ants to program te $$P!:& memor0 on#0 and
te memor0 /ere not erased "e;ore.
Mass pro'$ctio#
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Pro.ides /it eas0 /a0 o; programming o; se.era# pieces o; part /it identica# or simi#ar content. )e.g.
di;;erent seria# num"er,. See &ass production mode ;or detai#s.
Some items ma0 not "e a.ai#a"#e ;or certain parts.
/e,ice Rea'
Key%oar" shortcut( Si;t279
Rea' All
Key%oar" shortcut( -.
!eads out te /o#e part.
Rea' all b$t %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
!eads out te /o#e part e(cept o; $$P!:& memor0.
Rea' co'e memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
!eads out te code memor0.
Rea' %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
!eads out $$P!:& memor0.
Rea' co#"ig$ratio# memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
!eads con;iguration memor0.
Some items ma0 not "e a.ai#a"#e ;or some parts.
54
Programmers by ASIX
/e,ice Veri"y
Key%oar" shortcut( Si;t274
Veri"y All
Key%oar" shortcut( -8
Compares content o; te /o#e part /it contents o; te editors.
Veri"y All b$t %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Compares content o; te part e(cept o; $$P!:& /it contents o; te editors.
Veri"y co'e memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Compares content o; code memor0 /it content o; te editor.
Veri"y %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Compares content o; $$P!:& memor0 /it content o; te editor.
Veri"y co#"ig$ratio# memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
Compares content o; con;iguration memor0 /it content o; te editor.
Some items ma0 not "e a.ai#a"#e ;or some parts.
(e'ice Erase
Key%oar" shortcut( Si;t276
%rase All
Key%oar" shortcut( -9
$rases te /o#e part.
%rase co'e memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
$rases code memor0. 1is ;unction cannot "e used i; te part is code or data protected.
%rase %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
$rases $$P!:& memor0 and "#anH cecHs it. 1is ;unction cannot "e used i; te part is code or data
protected.
@#anH cecH is per;ormed automatica##0 a;ter erasure. Since in most o; te cases te erasure is per;ormed /itout an0
pro"#ems+ it is possi"#e to turn tis ;eature o;; )Option $ettings Programming ,.
(e'ice 2lan= chec=
Key%oar" shortcut( Si;t278
3la#B checB All
Key%oar" shortcut( -/
CecHs te /o#e part /eter it is "#anH.
3la#B checB all b$t %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
CecHs /eter te part+ e(cept o; $$P!:& memor0+ is "#anH.
3la#B checB co'e memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
CecHs /eter code memor0 is "#anH.
3la#B checB %%PR&M
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
CecHs /eter te $$P!:& is "#anH.
55
Programmers by ASIX
3la#B checB co#"ig$ratio# memory
Key%oar" shortcut can %e assigne" in Options Key%oar" shortcuts
CecHs /eter te con;iguration memor0 is "#anH.
Some items ma0 not "e a.ai#a"#e ;or some parts.
(e'ice +elect part...
Key%oar" shortcut( 74
A dia#og /indo/ ;or se#ection o; a part pops up. In case o; certain t0pes o; memories it is necessar0 to se#ect a#so data
organization a;ter te part is se#ected.
1e dia#og /indo/ disp#a0s on#0 parts supported "0 se#ected programmer. I; te se#ected part cannot "e programmed
"0 ICSP+ te ICSP mode is turned o; automatica##0.
1o se#ect a part not supported "0 te programmer+ se#ect di;;erent programmer ;irst.
Options %enu
Options Prora% settins...
Key%oar" shortcut( Si;t2710
Options Prora% settins...@ Prora%%in tab
Key%oar" shortcut( Si;t2710
A## generic options can "e set in tis /indo/.
Settings re#ated to particu#ar programmer )e.g. communication port+ ICSP mode, are a.ai#a"#e in e*uipment
con;iguration[ 1o se#ect t0pe o; part to "e programmed+ memor0 organization+ etc. use separate /indo/+ see se#ecting
part t0pe.
Reload .HEX "ile be"ore e,ery programmi#g
I; tis option is se#ected te ;i#e is reread an0 time programming is in.oHed. I; mass production is acti.e+ te
;i#e is read ;irst and ten ;o##o/ing seria# num"er is issued.
AsB be"ore programmi#g o" &TP 6 programmi#g o" (lash6 Co'e6/ata protectio# programmi#g6
'i""ere#tial program
Set o; options determining /ic actions re*uire user con;irmation to "e taHen. I; te program as to prompt
te user con;irmation it does so Rust once+ e(cept o; te programming Code>=ata protection+ ;or /ic
additiona# con;irmation ma0 "e re*uired. I; te program prompts te user to announce some additiona#
in;ormation )e.g. 1e part to "e programmed as Code protection acti.e a#read0+ erase /o#e partd,+ and te
ans/er is positi.e+ no ;urter con;irmation is re*uired.
Sho+ "$ses +ar#i#g messages
User can se#ect i; e /ants te /arning messages associated /it some ;uses to "e so/n. It's recommended
not to disa"#e tis messages.
A$tomatically close stat$s +i#'o+
Causes status /indo/ to "e c#osed automatica##0 un#ess tere /as a /arning or an error as occurred during
te erasure > programming > .eri;ication.
3eep a"ter s$cces"$l6$#s$cces"$l "i#ishi#g
Causes to program to use standard s0stem Ke(c#amationK sound /en tere is /arning or error or /en tere is
no error. =epends on users coice.
T$r# o"" all so$#'s o" the 5P
I; tis item is cecHed o;;+ te UP ne.er "eeps.
59
Programmers by ASIX
ICSP programmi#g
ICSP programming cannot "e used ;or a## parts+ on te oter and some programmers re*uire programming o;
certain parts in ICSP mode on#0.
-en ICSP ca"#e is used to program microcontro##er direct#0 in te app#ication circuitr0+ te KISCP po/er up
de#a0K causes a de#a0 a;ter app#0ing po/er to te microcontro##er+ e.g to carge ;i#tering capacitors in
app#ication circuitr0. PICEUICF and P!$S1: as "ui#t%in o.ercurrent protection+ /ic measures te current
sort#0 a;ter app#0ing po/er to te microcontro##er. In ISCP mode te actua# de#a0 depends on tis option+ tus
increasing tis .a#ue unnecessari#0 increases te pro"a"i#it0 o; possi"#e damage to te part /en and#ed
incorrect#0. 7or sorter de#a0s te programmer's circuitr0 can detect te o.ercurrent soon enoug to pre.ent te
damage to te part. 1e o.ercurrent #imit is a"out 100 mA ;or "ot po/er supp#0 and programming .o#tage.
Slo+er s+itchi#g o" ,oltage +ith ICSP % A;ter se#ecting o; tis option it's possi"#e to cange carging and
discarging time o; <==. -en tere is a capacitor on <== pin used+ te pin canges its .o#tage #e.e# s#o/er.
1is ma0 cause pro"#ems during programming. So#ution o; tis pro"#em is to increase te carging and
discarging time. A ;ormu#a to compute te time /at /ou#d "e se#ected can "e ;ound in L5si#g ICSPL
section.
/o#Ft a#y bla#B checB be"ore c"g +or' programmi#g
&ost o; te re/rita"#e parts are a"#e to o.er/rite con;iguration memor0 /itout erasing te /o#e part. 1o
taHe te ad.antage o; tis+ "#anH cecHing o; con;iguration memor0 can "e disa"#ed. 1is does not app#0 to
programming o; te /o#e part /en comp#ete erasure is per;ormed. SHipping te "#anH cecH a;ter erasure
s#igt#0 speeds up te programming process /ic is use;u# especia##0 during de.e#opment. Improper#0 erased
part /i## not "e programmed correct#0+ /ic so/s up a "it #ater during .eri;ication process+ on te oter
and improper erasure appens during one in se.era# undreds attempts on#0.
/o #ot per"orm bla#B checB a"ter erasi#g
-en tis item is cosen+ programmer don't cecH+ /eter te de.ice /as proper#0 erased. Programming /i##
"e ;aster+ "ut ma0 occur pro"#em /it "ad erased de.ice.
/o #ot erase 'e,ice be"ore programmi#g
=e.ice /i## not "e erased "e;ore te programming process.
-o 'ata memory erase be"ore its programmi#g
1is item is use;u# ;or programming te A<! de.ices+ /ere .e( ;i#e a.e to "e #oaded separate#0 ;or
$$P!:& memor0. I; user /ants not to cange $$P!:& memor0+ tis coice can "e used.
/o#Ft ,eri"y $#programme' +or's at the e#' o" the memory
I; tere is some c#ear region at te end o; te programmed memor0+ it /i## not "e .eri;ied. 1is ;unction maHes
te .eri;ication ;aster+ te user usua##0 do not mind te content o; te c#ear region at te end o; te memor0.
/o #ot ,eri"y
1is ;unction a##o/s to sHip te .eri;ication step during programming. It can "e use;u# ;or de.e#opment+ "ut
tis ;unction must not "e used ;or production programmingN I; te .eri;ication is sHipped+ /e cannot "e sure
tat te cip as "een programmed correct#0.
Veri"y +ith t+o s$pply ,oltages
1is ;unction is a.ai#a"#e ;or 7:!1$ programmer and can "e used /it interna# supp#0 .o#tage on#0+ it a##o/s
to do .eri;ication /it t/o user de;ined supp#0 .o#tages.
Options Prora% settins...@ Panels t#b
Key%oar" shortcut( Si;t2710
In tis part o; menu can "e con;igured .ie/ o; te app#ication /indo/. User can set /ere and /at contro##ing
component to so/.
54
Programmers by ASIX
Toolbar is a "ar /it speed "uttons Rust under te app#ication menu. I; 0ou desire to ide te too# "ar
comp#ete#0+ turn o;; "ot So/ captions and So/ icons in too#"ar options
Stat$s bar )in te "ottom o; main app#ication /indo/, te status "ar can "e a#so disa"#ed+ oter/ise it is used
to disp#a0s in;ormation a"out se#ected programmer+ ISCP mode+ se#ected part+ ;i#e modi;ication status etc. 1e
status "ar reacts to dou"#e%c#icH and rigt c#icH o; te mouse.
Mass pro'$ctio# co$#ter is disp#a0ed on te status pane# and so/s tota# num"er o; success;u##0
programmed parts.
Options Prora% settins...@ Files tab
Key%oar" shortcut( Si;t2710
(ile sa,e style
1is option can "e used to ini"it /riting o; particu#ar parts o; memor0 to .#E$ ;i#e.
/o a$tomatic checB "or #e+er ,ersio#s o" act$al 7hex "ile
Use;u# especia##0 during so;t/are de.e#opment % te ;i#e /i## "e reread /en its creation>modi;ication time
canges.
ChecB part #$mber +he# loa'i#g .hex "ile
Causes part t0pe identi;ication tag in te .#E$ )i; an0, to "e compared /it se#ected part and asserts a /arning
i; te0 do not matc.
Sa,e part #$mber i#to .hex "ile
Part t0pe identi;ication tag /i## "e appended at te end o; te ;i#e i; tis option is se#ected &ost o; te programs
/orHing /it Inte# B$X ;i#es ignore tis #ine+ o/e.er suc ;i#e cannot "e considered as ;u##0 comp#0ing /it
Inte# B$X 7i#e ;ormat. See Inte# B$X ;i#es ;or more in;ormation.
3I- "ile loa'i#g a#' sa,i#g style
1is option a##o/s to se#ect i; te program asHs o/ to #oad or sa.e a @IA ;i#e ;or parts /at a.e more "0tes
per /ord. 1e program can asH "e;ore e.er0 @IA ;i#e #oading and sa.ing or it can "e #oaded #iHe Citt#e $ndian
or @ig $ndian.
Sa,e $#$se' positio#s to .hex "ile
I; tis option is turned o;; te resu#ting ;i#e ma0 "e sorter+ o/e.er tis ma0 a#so cause con;usion since
memor0 ce## is considered to "e "#anH i; a## its "its are set )i.e. 777+ 5777 etc., /ic ma0 a#so "e .a#id
instruction )e.g. 5777 represents a))* +1,
1e ;i#e is sa.ed in "#ocHs o; 6 or 19 "0tes+ tus te pro"a"i#it0 o; omitting o; suc instruction is prett0 #o/.
Clear mai# 6 'ata 6 I/ locatio#s be"ore rea'i#g7
A## "its in corresponding memor0 area are set upon reading te ;i#e. 1is /i## cause a## positions not sa.ed in
te ;i#e to "e c#ear.
%rase co#"ig$ratio# memory be"ore rea'i#g J It's use;u# to dese#ect tis option+ /en ;uses setting is not
stored in a .e( ;i#e.
Rea' 'ata memory 6 I/ locatio#s "rom the 'e,ice
Causes $$P!:& > I= to "e read ;rom te part inserted in te programmer rater tan a ;i#e+ /ic pre.ents
tis in;ormation to "e o.er/ritten during programming.
4ar#i#g; This "$#ctio# may ca$se spo#ta#eo$s access to the programmer e7g7 $po# starti#g the
program7
Pro?ect stori#g style
Bere can "e set te proRect sa.ing options.
Options Prora% settins...@ Colors tab
Key%oar" shortcut( Si;t2710
Co#ors o; e( editors can "e canged to meet users needs and aestetic ;ee#ing.
56
Programmers by ASIX
Options Prora% settins...@ Editors tab
Key%oar" shortcut( Si;t2710
-arro+ co'e memory e'itor
Causes te code memor0 editor to disp#a0 6 instead o; 19 ce##s per a #ine. 1is is use;u# especia##0 ;or #o/
reso#ution disp#a0s. 1is option ma0 cange spontaneous#0 /en di;;erent part is se#ected.
MasB I/ positio#s
According to speci;ication te I= #ocations sou#d "e masHed /it #ea.ing )t0pica##0, on#0 4 "its ;or user data.
I; tis option is se#ected+ program /i## and#e tis automatica##0.
Co#"ig$ratio# memory e'itor. sho+ c"g +or' i#stea' o" "$ses
Recommended for advanced users only.
1is option pro.ides /it direct editing o; con;iguration /ord.
Options Prora% settins...@ +erial nu%bers tab
Key%oar" shortcut( Si;t2710
7or in;ormation on seria# num"ers and concerning ;eatures+ see separate capter.
Options Prora% settins...@ Others tab
Key%oar" shortcut( )o shortcut
5p'ate checB setti#gs
1e updater options can "e set ere. 1ere are possi"i#ities tat te UP /i## asH at te start i; it can connect to
Internet to "e a"#e to cecH ;or te a program .ersion or it /on't asH and /i## a#/a0s cecH ;or te .ersion or it
/i## ne.er asH and ne.er connect to te Internet.
Options :anuae selection...
Key%oar" shortcut( Ctr#2C
Se#ect a #anguage ;i#e using standard /indo/s dia#og. @0 tis a sing#e insta##ation o; te program can "e used in se.era#
#anguage mutations.
Options Ae!board shortcuts
Key%oar" shortcut( Ctr#2F
A dia#og /indo/ ;or assignment o; He0"oard sortcuts comes up a;ter in.oHing tis command.
9elp %enu
9elp 9elp on prora%
Key%oar" shortcut( 71
In.oHes te e#p 0ou are current#0 reading. 1e e#p ma0 "e in.oHed ;rom .arious p#aces+ a#/a0s "0 pressing 71.
9elp :ist of supported de'ices
So/s a #ist o; a## supported de.ices.
9elp A+IB C Tools website
:pens compan0 /e" pages ASIX s.r.o..
58
Programmers by ASIX
9elp Chec= Internet for an update
-i## access te Internet and cecH i; tere is a ne/ .ersion o; te program.
9elp About
So/s a /indo/ /it in;ormation a"out te program.
FORTE prora%%er settins window
+uppl! fro% the prora%%er
1is 1racH@ar a##o/s te user to set te supp#0 .o#tage supp#ied ;rom te programmer.
In idle state
-en tis item is cecHed+ te programmer /i## supp#0 .o#tage /en it is not programming.
(urin prora%%in
-en tis item is cecHed+ te programmer /i## supp#0 .o#tage during programming.
Reset
1is "utton a##o/s te user to s/itc te state o; te cip reset pin "et/een reset #e.e# and ig impedance.
Options related to PIC %icrocontrollers
Prora%%in %ethod
=VP: C#assica# programming /it 6 to 15 < app#ied to %&CC!><PP
1VP: C<P mode+ on#0 #ogica# .a#ues 0 and 1 are app#ied to %&CC!><PP.
PE
-it PIC34 and dsPIC55 it is possi"#e to coose programming metod using P$ CecH@o(. 1e P$ means
LProgramming $(ecuti.eM+ tis metod is usua##0 ;aster tan common metod o; te programming.
Options related to AVR and )"*1 %icrocontrollers
Oscillator fre>uenc!
1e A<! microcontro##ers re*uire eiter e(terna# or interna# osci##ator running during te programming. 1e ma(ima#
possi"#e communication speed depends on te ;re*uenc0 o; te used osci##ator.
Faster prora%%in with slow cloc=
A;ter te cip erasing its ;uses are programmed so tat ma(ima# ;re*uenc0 o; interna# osci##ator is used. 1en te
programmer can communicate ;aster /it te part. 1e programmer can reac sorter programming times ;or parts
/at use s#o/ c#ocH. 1is ;unction on#0 /orHs /en a## te cip programming is se#ected+ "ecause te re*uired ;uses
.a#ues must "e "acH programmed at te end o; te process.
In'erse RE+ET
I; tis coice is se#ected+ te programmer maHes in.erse reset signa#. It's use;u# i; some reset circuit /at needs in.erse
input #e.e# in comparison /it te output is used in te app#ication and /en te programmer is connected to te input
o; tis circuit.
90
Programmers by ASIX
9VP
I; tis coice is se#ected+ te programmer /i## use ig .o#tage during communication /it te cip. 1is a##o/s
programming o; te cip a#so i; te e(terna# !$S$1 signa# is s/itced o;;.
Options related to I4C %e%ories
I4C bus speed
Coose ma(ima# speed o; te I3C "us. 7:!1$ uses interna# pu##up resistor o; 3.3 HS. /en /orHing /it I
3
C "us.
I4C ,e%or! Address
Coose address o; an I
3
C memor0 to "e programmed.
PRE+TO prora%%er settins window
Idle power suppl!
-o#e 6 %xter#al: 1e programmer does not supp#0 an0 po/er on <== pin. It is possi"#e to !un > Stop te
app#ication program on#0 i; e(terna# po/er supp#0 is a.ai#a"#e.
I#ter#al V: 1e programmer supp#ies 5< on <== pin. 1e app#ication ma0 "e po/ered ;rom tis pin.
Acti'e power suppl!
%xter#al 3 to V: 1e programmer /i## not supp#0 an0 po/er to app#ication+ on te contrar0 it /i## ;eed its
input>output circuitr0 ;rom te app#ication.
I#ter#al V: 1e programmer /i## supp#0 5< ;or te part on <== pin.
Options related to PIC %icrocontrollers
C,C:R pin control
1e state o; %&CC! pin in id#e can "e contro##ed using tese "uttons.
Prora%%in %ethod
=VP: C#assica# programming /it 15< app#ied to %&CC!><PP
1VP: C<P mode+ on#0 #ogica# .a#ues 0 and 1 are app#ied to %&CC!><PP.
Prora%%in alorith%
A$to: Particu#ar a#goritm /i## "e se#ected according to .o#tage present on te <== pin.
VccGV: A#goritm ;or ;ast 5< programming is se#ected.
VccG3 to V: S#o/ programming a#goritm+ toug /orHing /it a## .o#tages /i## "e used.
PE
-it PIC34 and dsPIC55 it's possi"#e to coose programming metod using P$ CecH@o(. 1e P$ means
LProgramming $(ecuti.eM+ tis metod is usua##0 ;aster ten common metod o; te programming.
91
Programmers by ASIX
Options related to AVR and )"*1 %icrocontrollers
Oscillator fre>uenc!
1e A<! microcontro##er re*uire eiter e(terna# or interna# osci##ator running during te programming. 1e ma(ima#
possi"#e communication speed depends on te ;re*uenc0 o; te used osci##ator.
Faster prora%%in with slow cloc=
A;ter te cip erasing its ;uses are programmed so tat ma(ima# ;re*uenc0 o; interna# osci##ator is used. 1en te
programmer can communicate ;aster /it te part. 1e programmer can reac sorter programming times ;or parts
/at use s#o/ c#ocH. 1is ;unction on#0 /orHs /en a## te cip programming is se#ected+ "ecause te re*uired ;uses
.a#ues must "e "acH programmed at te end o; te process.
In'erse RE+ET
I; tis coice is se#ected+ te programmer maHes in.erse reset signa#. It's use;u# i; some reset circuit /at needs in.erse
input #e.e# in comparison /it te output is used in te app#ication and /en te programmer is connected to te input
o; tis circuit.
9VP
I; tis coice is se#ected+ te programmer /i## use ig .o#tage during communication /it te cip. 1is a##o/s
programming o; te cip a#so i; te e(terna# !$S$1 signa# is s/itced o;;.
Options related to I4C %e%ories
I4C bus speed
Coose ma(ima# speed o; te I3C "us. P!$S1: uses interna# pu##up resistor o; 3.3 HS. /en /orHing /it I
3
C "us.
I4C ,e%or! Address
Coose address o; an I
3
C memor0 to "e programmed.
9e$ editor windows
1o disp#a0 contents o; memories o; to "e programmed so ca##ed e( editors are used. =i;;erent co#ors are used to
disp#a0 e( editor ce##s according to origin o; te data+ and teir status+ tus it can "e easi#0 to#d /ic ce##s /ere rea##0
#oaded ;rom te ;i#e+ /ic /ere success;u##0 programmed etc. 1e co#ors can "e adRusted according to user's taste or
needs. )especia##0 recommended on /orHstations /it #o/ co#or disp#a0s,+ see settings+ co#ors.
+electin an area
An area in a e( editor can "e se#ected "0 o#ding do/n te si;t He0 and mo.ing te cursor. A;ter desired area is
se#ected it is possi"#e to per;orm ;i##ing /it a .a#ue and enc#ose to !$1C- instruction /ic are accessi"#e ;rom
conte(t menu )"0 rigt c#icHing te mouse,.
Code %e%or! editor
Menu( Vie+ Co'e memory
Key%oar" shortcut to show the win"ow( 710
Key%oar" shortcut to close the win"ow( $sc
93
Programmers by ASIX
Code memor0 editor so/s contents o; main code memor0 or+ in case o; seria# $$P!:& parts )34((+ 85((+ ...,+ te
contents o; te memor0 itse#;.
EEPRO, editor
Menu( Vie+ %%PR&M memory
Key%oar" shortcut to show the win"ow( 711
Key%oar" shortcut to close the win"ow( $sc
$$P!:& )data memor0, editor is used to so/ content o; additiona# memor0 o; some parts+ t0pica##0 an $$P!:&
memor0. $ince not all of the parts are e5uippe" %y such memory0 this e"itor may not %e accessi%le for some parts
Confiuration %e%or! editor
Menu( Vie+ Co#"ig$ratio# memory
Key%oar" shortcut to show the win"ow( 713
Key%oar" shortcut to close the win"ow( $sc
Con;iguration memor0 editor so/s settings to "e programmed to te part "ut do not reside in an0 o; pre.ious#0
mentioned memories. $ince not all of the parts nee" configuration "ata0 this e"itor may not %e accessi%le for some
parts
Tips "or a',a#ce' $sers.
A#toug tis con;iguration memor0 can "e represented as set o; options in ;act it is noting more "ut a memor0+ /ic
can "e a#so and#ed ce## "0 ce##+ tus it is possi"#e to .ie/ tis memor0 a#so tis /a0. 1is can "e acie.ed "0 turning
on &ptio#s Program setti#gs %'itors Sho+ co#"ig$ratio# memory as ra+ 'ata+ or "0 dou"#e c#icHing te
con;iguration memor0 /indo/.
I= #ocations o; te part )not to "e con;used /it =e.ice I=, can "e a#so ;ound in te con;iguration memor0 /indo/. I=
#ocations can "e programmed /it a .a#ue to identi;0 te part+ e.g. seria# num"er. 1e I= #ocations are al+ays a,ailable
"or rea'i#g+ e.en i; code or data protection is app#ied to te part.
According to recommendation o; &icrocip te I= #ocations sou#d not "e programmed /it an0 .a#ue+ on#0
certain num"er o; "its )t0pica##0 4, o; eac position sou#d "e used to carr0 identi;ication data /i#e oter "its sou#d
"e programmed /it a de;au#t .a#ue. 1is can "e acie.ed "0 turning on &ptio#s Program setti#gs %'itors
MasB I/ locatio#s 777.
95
Programmers by ASIX
8 9elp D Prora%%in Tips on +VF D B+VF 0TA1 Pla!er for
PRE+TO and FORTE
Euic= +tartF Prora%%in and Testin
C,e#te # st#n"#," Serial Vector Format -./s012 1i&e 1', e3%4#nin "es%,i5ti'ns '1 4i46&e0e& IEEE 7748/7
bus '5e,#ti'ns
Serial Vector Format -./s012 is # ,e%'99en"e" 1i&e 1',9#t 1', testin #n" 5,',#99in '1 9#n: ;TAG
"e0i%es/ <', 5,',#99in Xi&in3 CPLD XC85== it is 4i4&: ,e%'99en"e" t' use Xilinx Serial Vector
Format -./3s012/
See i95&e9ent#ti'n st#tus '1 SV< #n" XSV< 1i&es/
C'nne%t PRESTO ', <ORTE t' ;TAG 5',t '1 :'u, #55&i%#ti'n
C'nne%t', 5in'ut is "es%,ibe" be&'>/
St#,t t4e jtagplay.exe uti&it:
Se&e%t Open & Process File in t4e 5,',#9 9enu
E$a%ples of Creatin +VF / B+VF File
At9e& AVR -e// AT9e#7)8 2 5,',#99in
Gene,#te t4e SV< 1i&e usin avrsvf.exe uti&it: #0#i&#b&e 'n ATMEL?s >ebsite+ &'%#te" in T''&s @ S'1t>#,e
'1 AVR 86bit RISC MCUs/
<', e3#95&eA
avr,v- +)atme.a1/0 +, +e +1-m2-1*e."ex +p- +v- +!vm2-1*e.,v- +mp
T4is %'99#n" uses myfile.hex t' %,e#te t4e SV< 1i&e >4i%4 t4e jtagplay.exe uti&it: uses 1', t4e E,#se+
P,',#9 #n" Ve,i1: '5e,#ti'ns/ Run avr,v- +" 1', 9',e in1',9#ti'n/
T4e "e0i%e 9ust be in ,eset st#te "u,in 5,',#99in/
N'tesA S'9e '1 AVR "e0i%es "' n't su55',t 5#e 5,',#99in/ In t4is %#se t4e SV< 1i&e 9ust be
%,e#te" >it4'ut 695 5#,#9ete,/
Xi&in3 CPLDs 5,',#99in
T' ene,#te # XSV< 1i&e use t4e iMPACT s'1t>#,e #0#i&#b&e 1,'9 Xi&in3 >ebsite/ In Operation Mode
Selection+ >4i%4 #55e#,s #1te, iMPACT st#,tu5+ se&e%t Prepare Configration Files ! "ondary#Scan File
! XSVF File. Run #&& '5e,#ti'ns -E,#se+ P,',#9+ Ve,i1:+ Test+ ///2 t4e s#9e >#: #s i1 # 5,',#99e, -e//
Xi&in3 P#,#&&e& C#b&e2 is %'nne%te"+ t4en s#0e t4e ne> 1i&e #n" %&'se iMPACT/ P,'%essin '1 t4e XSV<
1i&e >i&& 5e,1',9 t4e ,e%',"e" '5e,#ti'ns/
We "is%'u,#e usin # SV< 1i&e 1', Xi&in3 XC85== 1#9i&: 5,',#99in/ P,',#99in #&',it49 '1
XC85==BXLBXV "e0i%es %#nn't be %',,e%t&: "es%,ibe" in t4e SV< 1i&e 1',9#t/
L#tti%e CPLDs 5,',#99in
SV< 1i&e %#n be ene,#te" 1,'9 /;ED 1i&e usin Uni0e,s#& <i&e W,ite, -U<W2/ T4is 5,',#9 is # 5#,t '1
is5VM/ is5VM is #0#i&#b&e 'n L#tti%e >eb site+ t4e s#9e #s is5LEVER+ >4i%4 %#n be use" 1', %,e#tin
/;ED 1i&e/

A&te,# CPLDs 5,',#99in
I1 it is set in # 5,',#9 9enu+ *UARTUS II s'1t>#,e b: A&te,# is #b&e t' ene,#te t4e SV< 1i&e/ C'>e0e,+
SV< 1i&e %#nn't be use" #s it is "ue t' >,'n "e0i%e Si&i%'n ID/ A%%',"in t' A&te,#+ SV< 1i&e is inten"e"
1', Aut'9#ti% Test EDui59ent -ATE2 "e0i%es 'n&: #n" A&te,# "' n't %'nte95&#te su55',tin 't4e,s/
Ne0e,t4e&ess+ t4e SV< 1i&e %#n be 1i3e" 9#nu#&&:/ <', "'in t4#t+ 5&e#se e,#se ', %'99ent ECCECKING
SILICON IDE se%ti'n in t4e SV< 1i&e/
94
Programmers by ASIX
PRE+TO / FORTE Prora%%in Connector Pinout
PRESTO <ORTE Pin 1un%ti'n
VPP P Use, %'n1iu,#b&e 5',tA TRST -Test ReSeT2 B
SCK -S:ste9 C&'%(2 B
Use, "e1ine" st#te >4i&e 1i&e 5,'%essin #n" #1te, 1i&e 5,'%essin
N/C/ 6 N't %'nne%te" -(e:2
VDD VDD IBO bu11e,s 5'>e, su55&:
GND GND IBO bu11e,s ,'un"
MOSI D ;TAG TDI -Test D#t# In2
CLOCK C ;TAG TCK -Test C&'%(2
MISO I ;TAG TDO -Test D#t# Out2
LVP L ;TAG TMS -Test M#%4ine St#te2
+VF File I%ple%entation +tatus
SV< su55',t 4#s been i95&e9ente" #%%',"in t' ESe,i#& Ve%t', <',9#t S5e%i1i%#ti'n+ Re0isi'n EE #0#i&#b&e
#t 4tt5ABB>>>/#sset6inte,te%4/%'9Bsu55',tBs01/4t9& >it4 t4ese &i9it#ti'nsA
SV< C'99#n"s P$O #n" P$OM%P 4#0e n't been i95&e9ente" -:et2/
&'()S'()*'( B &$()S$()*$( &ent4 is &i9ite" t' )
F7
bits/
M#3i9u9 su55',te" TCK 1,eDuen%ies #,e F MCG+ 7/5 MCG+ H5= (CG #n" 1,#%ti'ns '1 7 MCG st#,tin
#t 5== (CG 1', PRESTOI <ORTE #""s 75 MCG+ 7= MCG #n" 5 MCG '5ti'ns/
(+,*-S* M%X$M+M max.time S-C 5#,#9ete, is in',e"/
(+,*-S* rn.cont is &i9ite" t' )
F7
BF -#55,'3/ H75 9i&&i'n2/
(+,*-S* min.time S-C is &i9ite" t' )
F7
BF s -#55,'3/ H75 se%'n"s2/
*(S* #n" (+,*-S* SC/ %'99#n"s s4#,e t4e s#9e %'n1iu,#b&e PRESTOB<ORTE 5in -VPP2 #n"
%#n ne0e, be use" t'et4e,
B+VF File I%ple%entation +tatus
XSV< su55',t 4#s been i95&e9ente" #%%',"in t' EXAPP5=F+ A55en"i3 BA XSV< <i&e <',9#tE #0#i&#b&e 'n
t4e Xi&in3 >ebsite >it4 t4ese &i9it#ti'nsA
XSV< C'99#n"s XS-*S'(M%S/S+ XS'($,C #n" XS$(0 4#0e n't been i95&e9ente" -:et2/
It is ,e%'99en"e" t' use t4e XSV< 1i&e 'n&: 1', Xi&in3 XC85==BXVBXL 1#9i&: 5,',#99in #n"
testin/
We 4i4&: ,e%'99en" usin s01 1', #&& #,%4ite%tu,es but XC85==BXVBXL/ W4e,e#s+ 1', 5,',#99in '1
XC85==BXVBXL >e ,e%'99en" usin 3s01+ be%#use '1 &#%( '1 XREPEAT %'99#n" 1', ,e5e#t 5,',#99in+
>4i%4 is ne%ess#,: 1', XC85==BXVBXL+ in SV</
C#uti'nA Runnin 1i&e >it4 XREPEAT %'99#n" %#n be 0e,: s&'>/
Options E$planation
De1#u&t TCK sin#& 1,eDuen%:
T4is TCK %&'%( 1,eDuen%: is use" b: # 5,',#99e, unti& ;TAG P&#:e, en%'unte,s 1i,st F(-1+-,C2
%'99#n" in SV< 1i&e ', >4en it en%'unte,s F(-1+-,C2 %'99#n" >it4 E"e1#u&tE 0#&ue/ T4e XSV< 1i&e
1',9#t "'es n't su55',t t4e F(-1+-,C2 defalt %'99#n"+ t4us t4is TCK 1,eDuen%: is use" 1', #&&
'5e,#ti'ns/ M#3i9u9 %&'%( s5ee" 1', PRESTO is F MCGI t4e &i9it 1', <ORTE is 75 MCG/
I1 $gnore F(-1+-,C2 commands is %4''sen+ 5,',#99e, >i&& 'n&: use 1,eDuen%: set b: use, #n"
<RE*UENCJ %'99#n"s >i&& be in',e"/
<#st C&'%(s O5ti'n -<ORTE 'n&:2
De"i%#te" 1', <ORTE 5,',#99e,/
A%%',"in t' ;TAG s5e%i1i%#ti'n TDI sin#& is s#95&e" 'n TCK ,isin e"e/ But i1 4i4e, 1,eDuen%: is
,eDui,e" -#b'ut 5MCG #n" 4i4e,2+ it %#n be use1u& %4#nin s#95&in ti9e 1,'9 ,isin e"e t' 1#&&in
95
Programmers by ASIX
e"e b: 9'0in s#95&in ti9e >it4in 7B) TCK 5e,i'"/ <', t4#t 1e#tu,e %4''se Fast Cloc3 Option/
RUNTEST >it4'ut ,un$%'unt -SV< 'n&:2
T4e SV< 1i&e inte,5,ete, s4'u&" st#: 1', # s5e%i1ie" #9'unt '1 ti9e in # s5e%i1ie" st#te #n" ,un %&'%(s 'n
TCK/ T4e s5e%i1ie" #9'unt '1 ti9e %#n be e3%ee"e" but it s&'>s "'>n t4e 5,',#99in/ A&t4'u4 it is
n't su55',te" b: t4e SV< s5e%i1i%#ti'n+ 9#n: t:5es '1 5,',#99#b&e "e0i%es #&&'> t' st'5 t4e %&'%( 'n
TCK "u,in t4is s5e%i1ie" #9'unt '1 ti9e/
An't4e, 5'int t' %'nsi"e, is PRESTOB<ORTE %#5#bi&it: t' 9eet t4e #%%u,#te ti9e/ It %#nn't be ,e#%4e"
i1 9#3i9u9 1,eDuen%: is use" -it %#n 'n&: 9eet t4e min.time S-C 5#,#9ete,2/ Wit4 s&'> %&'%( -K7==
(CG2+ 9u%4 bette, ti9in #%%u,#%: %#n be #%4ie0e"/ Wit4'ut #n: %&'%(s+ PRESTOB<ORTE %#n 9eet
min.time S-C 5#,#9ete, 0e,: %&'se&:/ A%%',"in t' #b'0e 1#%ts+ t4,ee '5ti'ns #,e #0#i&#b&eA
n' %&'%( 'n TCK
s&'> %&'%( 'n TCK -K7== (CG2
"e1#u&t s5ee" %&'%( 'n TCK
-xample4 ERUNTEST FE6F SECIE 9e#ns ERun %&'%(s 'n TCK 1', 9ini9u9 ti9e '1 F 9sE/
RUNTEST ti9in 9u&ti5&: -b't4 SV< #n" XSV<2
5in 6*%7 Player version 8.9 and later:
Re%'99en"e" 0#&uesA
1', e3#%t ti9in s5e%i1ie" in SV< #n" XSV< 1i&eA =L -n' #""iti'n#& ti9e2
1', XC85==-XL2 1#9i&:A 7==L ', 9',e
1', At9e& AVRs -e// AT9e#7)82A )5L
RUNTEST >it4 ,un$%'unt #n" n' ti9in -b't4 SV< #n" XSV<2
T4is %'99#n" s4'u&" be inte,5,ete" #s 9ini9u9 %&'%( 1,eDuen%: 'n TCK/ C'>e0e,+ s'9e SV< 1i&e
ene,#t',s -e// Xi&in3 iMPACT2 use t4is %'99#n" #s >#it %:%&e >4i&e #ssu9in t4e %&'%( s5ee" '1 7
MCG/ In su%4 %#se+ ,e%'99en"e" settin is Einte,5,et #s RUNTEST 9in$ti9e >it4 s%#&e 7 MCGE/
0TA1 Pla!er beha'iour when encounters R56TI,E co%%and with ,I6TI,E specifiedF
-It %'n%e,ns 'n&: SV< be%#use RUNTEST 0#,i#nt ,e%',"#b&e in XSV< X(+,*-S* rn.cont is >it4'ut
ti9e s5e%i1i%#ti'n 5'ssibi&it:/2
RUNTEST %'99#n" >it4 ,un$%'unt #n" 9in$ti9e s5e%i1ie" is e3e%ute" #t %u,,ent TCK 1,eDuen%:/
T4e,e1',e+ %'99#n" %#n t#(e 9u%4 &'ne, ti9e t4#n s5e%i1ie" b: 9in$ti9e/
RUNTEST %'99#n" >it4 ,un$%'unt #n" 9#3$ti9e s5e%i1ie" is e3e%ute" #t %u,,ent TCK
1,eDuen%:/ P,',#99e, %#nn't ,es5e%t "e#"&ine s5e%i1ie" b: 9#3$ti9e 5#,#9ete,+ t4is 5#,#9ete,
is in',e"/
VPP PRESTO B P <ORTE 5in us#e >4i&e ,unnin test -1i&e2 B #1te, test %'95&eti'n
Se&e%ti'n '1 VPP 5in 1un%ti'nsA TRST ', SCK "es%,ibe" in SV< 1i&e ', use, se&e%t#b&e %'nst#nt 'ut5ut
-suit#b&e 1', ,eset sin#& t' (ee5 5,',#99e" 5#,t in ,eset "u,in 1i&e 5,'%essin2/
(efault +ettinsF
T4e,e #,e se0e,#& "e1#u&t settins 5,e5#,e"/ Be #>#,e t4#t t4e: #,e 5,i9#,i&: inten"e" 1', usin <ORTE
5,',#99e, n't PRESTO 5,',#99e,/ P&e#se "' n't 4esit#te t' %4#ne settins i1 it "'es n't 1it :'u,
#55&i%#ti'n/
De1#u&t Settins 1', <PGAsA
De1#u&t TCK 1,eDuen%:A 75 MCGI In',e <RE*UENCJ %'99#n"s
<#st C&'%( O5ti'n -<ORTE 'n&:2A 5 MCG #n" #b'0e
RUNTEST >it4'ut ,un$%'unt -SV< '&n:2A "e1#u&t s5ee" %&'%( 'n TCK
RUNTEST ti9in 9u&ti5&: -b't4 SV< #n" XSV<2A =L
99
Programmers by ASIX
RUNTEST >it4 ,un$%'unt #n" n' ti9in -b't4 SV< #n" XSV<2A inte,5,et #s RUNTEST 9in$ti9e >it4 s%#&e
7MCG
VPP PRESTO B P <ORTE 5in us#e >4i&e ,unnin test -1i&e2A T,ist#te
VPP PRESTO B P <ORTE 5in us#e #1te, test %'95&eti'nA T,ist#te

De1#u&t Settins 1', XC85==A
De1#u&t TCK 1,eDuen%:A 5 MCGI In',e <RE*UENCJ %'99#n"s
<#st C&'%( O5ti'n -<ORTE 'n&:2A 5 MCG #n" #b'0e
RUNTEST >it4'ut ,un$%'unt -SV< '&n:2A s&'> %&'%( 'n TCK -K7==(CG2
RUNTEST ti9in 9u&ti5&: -b't4 SV< #n" XSV<2A 7==L
RUNTEST >it4 ,un$%'unt #n" n' ti9in -b't4 SV< #n" XSV<2A inte,5,et #s RUNTEST 9in$ti9e >it4 s%#&e
7MCG
VPP PRESTO B P <ORTE 5in us#e >4i&e ,unnin test -1i&e2A T,ist#te
VPP PRESTO B P <ORTE 5in us#e #1te, test %'95&eti'nA T,ist#te
De1#u&t Settins 1', AVRA
De1#u&t TCK 1,eDuen%:A 7 MCGI In',e <RE*UENCJ %'99#n"s
<#st C&'%( O5ti'n -<ORTE 'n&:2A 5 MCG #n" #b'0e
RUNTEST >it4'ut ,un$%'unt -SV< '&n:2A "e1#u&t s5ee" %&'%( 'n TCK
RUNTEST ti9in 9u&ti5&: -b't4 SV< #n" XSV<2A )5L
RUNTEST >it4 ,un$%'unt #n" n' ti9in -b't4 SV< #n" XSV<2A inte,5,et #s RUNTEST 9in$ti9e >it4 s%#&e
7MCG
VPP PRESTO B P <ORTE 5in us#e >4i&e ,unnin test -1i&e2A T,ist#te
VPP PRESTO B P <ORTE 5in us#e #1te, test %'95&eti'nA T,ist#te
Runnin Pla!er fro% Co%%and :ine
SV< @ XSV< 5&#:e, %#n be &#un%4e" 1,'9 # %'99#n" &ine 1', 4i4e, %'91',t es5e%i#&&: >4en "ebuin/
3ta.p*a2.exe [+p] [+- -1*ename] [+1 1n1-1*e] [+4] [+44] [+, ,er1a*]
+p #ut'9#ti%#&&: 5,'%ess t4e 1i&e s5e%i1ie" >it4 61 1i&en#9e
+- -1*ename SV< B XSV< 1i&en#9e t' be 5,'%esse"
+1 1n1-1*e ini1i&e >it4 '5ti'ns
+4 %&'se t4is uti&it: #1te, 1i&e 4#s been 5,'%esse" >it4'ut e,,',s
+44 %&'se t4is uti&it: #1te, 1i&e 4#s been 5,'%esse" e0en ;ith e,,',s
+, ,er1a* use PRESTO ', <ORTE >it4 s5e%i1ie" se,i#& nu9be,
+-!rte use <ORTE+ n't PRESTO
T4e jtagplay.exe uti&it: ,etu,ns t4ese %'"esA
= &#st 1i&e 5,'%essin >#s >it4'ut e,,',s
7 &#st 1i&e 5,'%essin 1#i&e"
) &#st 1i&e 5,'%essin %'u&" n't st#,t
94
Programmers by ASIX
7 PRECO1
1is so;t/are is used ;or programming C0an 1ecno#og0 eC:G1 microcontro##er. It inc#udes "asic de"ug contro# .ia
eIC$ inter;ace )!un+ Stop+ !eset,.
%.1 Installation
1e insta##ation o; P!$C:G is .er0 simp#e. Get te insta##ation program )P!$C:GG(((G$A.$X$+ su"stitute ((( "0
.ersion num"er, ;rom supp#ied C=%!:& or ttp:>>too#s.asi(.net> )te ne/est .ersion /i## "e at ttp:>>too#s.asi(.net>
e.er0 time, and run it. =uring te insta##ation coose on#0 te ;o#der+ /ere to insta## te P!$C:G+ and te ;o#der name
in te start menu.
%.2 )evi#e $rogra""ing
Connect P!$S1: to eC:G1.
:pen a data ;i#e "0 c#icHing &pe# "utton or (ile6&pe# menu item. Supported are te ;i#es /it e(tension .rom
Press te Program "utton or /e,ice6Program menu item to start programming..
%.3 )e4ugging
Connect P!$S1: to a eC:G processor.
Press te Attach "utton or /e,ice6Attach menu item.
Ao/ can "e used de"ugging "uttons )!un+ Stop+ !eset, or te same named items in =e"ug menu.
) presto.dll librar!
7unctions imp#emented in te presto.d## ena"#e setting or reading o; #ogica# .a#ues at sing#e pins o; te P!$S1:
programmer. <arious communication protoco#s can "e imp#emented tis /a0. :$etPins*! ;unction ena"#es output pins
contro#. :;etPins*! ;unction ena"#es input pins reading. :$en"<yte*! ;unction ena"#es a ;ast SPI @0te on te data and
c#ocH pins to "e sent. I; a#so reading is re*uired+ ten te :$en"<yte'OutIn*! can "e used. 1en tere are a#so ;unctions
;or te programmer ;eatures settings+ ;or supp#0 and programming .o#tages contro# and ;unctions ;or reading o; te
returned .a#ues.
1e #i"rar0 can "e used /it a## P!$S1: programmers+ it does not depend on te .ersion o; te programmer.
The "$#ctio#s impleme#te' i# the presto7'll library are 'escribe' i# 'etail i# 'i""ere#t 'oc$me#t7
96
Programmers by ASIX
APPE6(IB AF Confiuration word addresses in PIC de'ices
PIC10((( Con;iguration /ord addresses
A## PIC10((( de.ices a.e te con;iguration /ord at address 777.
PIC!2xxx Co#"ig$ratio# +or' a''resses
FFFh 4""7h
PIC7M<5=5 PIC7)C5=8A PIC7)CMH7
PIC7)C5=8 PIC7)<57= PIC7)CMH)
PIC7)<5=8 PIC7)CE578 PIC7)CEMHF
PIC7)C5=8A PIC7)CE578 PIC7)CEMH4
PIC7)C5=8 ,1PIC7)C5=8A3 PIC7)<M)8
PIC7)<5=8 PIC7)<MH5
,1PIC7)<MH53
PIC7)<MF5
PIC!Hxxx Co#"ig$ratio# +or' a''resses
PIC18$$$ with cofi %e% addr. FFFh
PIC7MC54 PIC7MC5H PIC7MC546LP PIC7MC5M6LP
PIC7MC54A PIC7MC5HC PIC7MC556CS PIC7MC5H6CS
PIC7MC54B PIC7MC58A PIC7MC556RC PIC7MC5H6RC
PIC7MC54C PIC7MC58B PIC7MC556XT PIC7MC5H6XT
PIC7MC55 PIC7MCV54= PIC7MC556LP PIC7MC5H6LP
PIC 7MC55A PIC7MC546CS PIC7MC5M6CS PIC7M<54
PIC7MC5M PIC7MC546RC PIC7MC5M6RC PIC7M<5H
PIC7MC5MA PIC7MC546XT PIC7MC5M6XT PIC7M<58
PIC7MC5=5
-ote. A## oter supported PIC19((( a.e te con;iguration /ord at address 3004.
PIC!8xxx Co#"ig$ratio# +or' a''resses
,icrocontroller Cf. ,e%. Addr. ,icrocontroller Cf. ,e%. Addr. ,icrocontroller Cf. ,e%. Addr.
PIC78<)4;7= F<<84 PIC78<MF;77 7<<84 PIC78<8F;77 7<<84
PIC78L<)4;7= F<<84 PIC78<MF;8= 7<<84 PIC78<8F;8= 7<<84
PIC78<)5;7= H<<84 PIC78<M4N77 F<<84 PIC78<84;77 F<<84
PIC78L<)5;7= H<<84 PIC78<M4;8= F<<84 PIC78<84;8= F<<84
PIC78<44;7= F<<84 PIC78<M5;7= H<<84 PIC78<85;7= H<<84
PIC78L<44;7= F<<84 PIC78<M5N8= H<<84 PIC78<85;77 H<<84
98
Programmers by ASIX
,icrocontroller Cf. ,e%. Addr. ,icrocontroller Cf. ,e%. Addr. ,icrocontroller Cf. ,e%. Addr.
PIC78<45;7= H<<84 PIC78<M5;75 B<<84 PIC78<85;8= H<<84
PIC78L<45;7= H<<84 PIC78<MM;7= <<<84 PIC78<85;75 B<<84
PIC78<MM;75 7H<<84 PIC78<8M;7= <<<84
PIC78<MH;7= 7<<<84 PIC78<8M;75 7H<<84
PIC78<8H;7= 7<<<84
-ote. A## oter supported PIC16((( a.e te con;iguration /ord at address 500000.
'sPIC30xxx Co#"ig$ratio# +or' a''resses
A## dsPIC50 de.ices a.e te con;iguration /ord at address 4C0000.
'sPIC33xxx Co#"ig$ratio# +or' a''resses
A## dsPIC55 de.ices a.e te con;iguration /ord at address 4C0000.
PIC22xxx Co#"ig$ratio# +or' a''resses
,icrocontroller Cf. ,e%. Addr.
PIC)4<;7MGA=33 )B<C4
PIC)4<;F)GA=33 5H<C4
PIC)4<;48GA=33 8F<C4
PIC)4<;M4GA=33 AB<C4
PIC)4<;8MGA=33 <<<C4
PIC)4<;7)8GA=33 75H<C4
A## PIC34B de.ices a.e te con;iguration /ord at address 4C0000.
40
Programmers by ASIX
APPE6(IB 2F 5P<(::.(:: settin na%es and 'alues
1ooB i#to some example batch "iles to see ho+ to +orB +ith these setti#gs7
This i#"ormatio# is pro,i'e' o#ly "or expert $sers a#' +itho$t a#y +arra#ty7
t0pes are
string D is string
integer D signed 53"it .a#ue
"oo#ean D accessed #iHe integers[ 0 is ;a#se+ oter .a#ue is true
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
Prog.Coad7i#e@;gProg
"oo#ean
I; true+ e( ;i#e is re#oaded e.er0 time part is programmed
7i#e.AutoCecH
"oo#ean
I; true+ e( ;i#e is periodica##0 tested ;or canges
7i#e.Coad:n&odi;0
"oo#ean
I; true+ /en cange is detected+ *uestion pops up
7i#eCoad.C#ear=ata
7i#eCoad.C#earC;g
7i#eCoad.C#earI=
7i#eCoad.C#earCode
"oo#ean
I; true+ contents o; code memor0 are erased )in UP memor0, "e;ore ne/ ;i#e is #oaded[
a## ce##s not stored in e( ;i#e /i## a.e its de;au#t )"#anH, state
Part.Aame
string
Se#ected part name
Prog.Aame
string
Se#ected programmer name
.a#ues are PICC:C:+ PICC:C:G+ CAP!PI+ P<FP!:P+ PICEUICF+ P!$S1
41
Programmers by ASIX
Prog.@usSpeed
integer
Communication speed
1 D Acce#erated
3 D 7ast
5 D &edium
5 D S#o/
Prog.ICSP
"oo#ean
ICSP settings
Prog.Port@ase
integer
@ase address o; used CP1 port or seria# num"er o; de.ice
Canguage7i#e
string
!e#ati.e pat to used #anguage ;i#e
ProRect.7i#e
string
ProRect ;i#e pat
ProRect.Present
"oo#ean
ProRect.1emp#ate
"oo#ean
I; true+ user is asHed ;or proRect name "e;ore its sa.ing
Be(7i#e.7i#e
string
:pened e( ;i#e pat
Be(7i#e.Present
"oo#ean
43
Programmers by ASIX
Be(7i#e.1emp#ate
"oo#ean
I; true+ user is asHed ;or name "e;ore sa.ing

Be(7i#e.Sa.e<oid
"oo#ean
I; true+ empt0 ce##s are sa.ed too
Prog.E@;r$rase7#as
"oo#ean
Euestion "e;ore erasing ;#as parts
Prog.E@;rProg7#as
"oo#ean
Euestion "e;ore programming ;#as parts
Prog.E@;rProg
"oo#ean
Euestion "e;ore programming :1P parts
Prog.E@;r=i;;Prog
"oo#ean
Euestion "e;ore di;;erentia# programming )o; ;#as parts,
Prog.E@;rProgCP
"oo#ean
-arning "e;ore programming part /it some Hind o; protection
Prog.C#oseStat:nGoodAct
"oo#ean
I; true+ status /indo/ is automatica##0 c#osed a;ter read>.eri;0 etc... /itout errors
Prog.C#oseStat:nGoodProg
"oo#ean
I; true+ status /indo/ is automatica##0 c#osed a;ter programming /itout errors
Prog.SHip@#anH7orC;g
45
Programmers by ASIX
"oo#ean
I; true+ no "#anH cecH o; part is per;ormed "e;ore programming con;iguration space
Prog.SHip@#anHCecH
"oo#ean
I; true+ no "#anH cecH o; part is per;ormed "e;ore programming
Seria#
integer
0 D no seria# num"ers
1 D seria# num"ers are ;rom e(terna# ;i#e
3 D seria# num"ers are computed
Seria#.Step
integer
Stepping o; seria# num"ers
Seria#.7i#e
string
7i#e name o; e(terna# ;i#e /it seria# num"ers
Seria#.7i#e.Ae(t
string
Ca"e# o; seria# num"er
Seria#.Cengt
integer
I; seria# num"er is computed+ seria# num"er #engt )digits,
Seria#.Actua#
)unsigned, integer
I; seria# num"er is computed+ actua# computed seria# num"er )i; decima#+ coded as @C=,
Seria#.ASCII
"oo#ean
I; seria# num"er is computed+ I; true+ seria# num"er is stored to part as ASCII caracters
44
Programmers by ASIX
Seria#.Sa.e1o
integer
1 D code memor0
3 D data memor0
Seria#.!et#/
"oo#ean
I; seria# num"er is computed+ I; true+ memor0 ce##s are ;i##ed /it ret#/ instructions
Seria#.Addr
integer
I; seria# num"er is computed+ address /ere to sa.e
Seria#.CP-
integer
I; seria# num"er is computed+ cars per /ord
Seria#.@ase
integer
I; seria# num"er is computer+ "ase o; seria# num"er+ can "e on#0 10 or 19
Seria#.Succ
integer
ne(t seria# num"er is
0 D same
1 D incremented
3 D decremented
5 D random )CS7!,
Seria#.:rder
integer
0 D BiCo i#o
1 D i#o BiCo
3 D CoBi #oi
5 D #oi CoBi
Seria#.-rite.@e;oreProg
"oo#ean
I; true+ current seria# num"er is K/rittenK into opened e( editors Rust "e;ore programming te part.
45
Programmers by ASIX
Seria#.-rite.A;terProg
"oo#ean
I; true+ current seria# num"er is K/rittenK into opened e( editors a;ter success;u# programming.
Seria#.Succ.A;terProg
"oo#ean
I; true+ ne(t seria# num"er is generated a;ter success;u# programming
ICSP.Cong1ime
"oo#ean
I; true+ #onger times ;or s/itcing <cc are taHen
ICSP.Cong1ime.1ime.S/:n
integer
1ime to /ait a;ter <cc is s/itced on in microseconds.
ICSP.Cong1ime.1ime.S/:;;
integer
1ime to /ait a;ter <cc is s/itced o;; in microseconds.
SpecSettings.P!$S1.Po/er
integer
0 D id#e po/er supp#0 is Aone > $(terna#
1 D id#e po/er supp#0 is Interna# 5<
SpecSettings.P!$S1.ProgPo/er
integer
0 D po/er supp#0 during programming is $(terna# 3 to 5<
1 D po/er supp#0 during programming is Interna# 5<
SpecSettings.P!$S1.i3cSpeed
integer
0 D 100HBz
1 D 500HBz
3 D 1&Bz
5 D &a(ima#
49
Programmers by ASIX
SpecSettings.P!$S1.i3cAddr
integer
0 D ;irst suita"#e address or A>A
1 D second suita"#e address
etc...
SpecSettings.P!$S1.C<P
integer
0 D B<P metod
1 D C<P metod
SpecSettings.P!$S1.PICA#g
integer
0 D automatic se#ection
1 D assume <== D 5<
3 D assume <== c 5<
SpecSettings.P!$S1.A<!X1AC.CCF
SpecSettings.P!$S1.A<!X1AC.!P1
integers
represent ma(imum A<! osci##ator ;re*uenc0
.a#ues can "e ;ound in V.#ng ;i#es at item
&ain7orm.P!$S1Spec7orm.Com"oA<!X1AC.(((.Items /ere ((( is minimum
di.isor o; s0stem c#ocH o; se#ected A<!'s SPI modu#e. 1is is 3 ;or
ne/ A<!s+ 5 and 4 ;or o#der A<!s and 34 ;or Atme#'s 6051 arc.
processors.
1ese settings can "e ;ound in ini ;i#e too at
_SpecSettings.P!$S1`+ X1AC!pt and X1ACC#H
44
Programmers by ASIX
APP%-/IX C. 5si#g ICSP
ICSP )In%Circuit Seria# Programming, is a programming mode o; PIC microcontro##ers+ /ic pro.ides /it
programming o; parts so#dered on printed circuit "oard. 1ere are t/o di;;erent programming a#goritms a.ai#a"#e:
B<P )215< app#ied to <pp, or C<P )using te C<P pin,. C<P programming can "e disa"#ed in te con;iguration /ord.
Ae/ microcontro##ers a.e te C<P mode ena"#ed "0 de;au#t tus it is necessar0 to and#e te C<P pin during ;irst
programming )1e C<P pin must "e e#d in #og.0 during B<P programming,.
Pi#s $se' '$ri#g the programmi#g
=VP algorithm IJ!3V applie' to VppK
0MC1R6VPP pin must "e separated ;rom reset circuitr0 )e.g. "0 10HS resistor,. Programming .o#tage )<PP,
o; 215< is app#ied to tis pin during te programming+ rising s#ope and te .o#tage #e.e# must not "e a;;ected
"0 te app#ication circuitr0.
1VP pin )i; te part as an0, m$st be hel' i# log70;;
R3H a#' R3< pins must not "e a;;ected "0 app#ication circuitr0 during te programming.
1VP algorithm I+itho$t J!3VK
R3H8 R3<8 1VP a#' 0MC1R6VPP pins must not "e a;;ected "0 app#ication circuitr0 during te
programming. :ter pins ma0 "e in eiter #ogica# #e.e#.
C<P a#goritm is supported on#0 "0 P!$S1: programmer so ;ar.
Maximal rati#gs o" the pi#s Ic$rre#t 'ra+# "rom the programmerK
PRE+TO PICE5ICA PICCO:O CAPRCPI
C:A D (ATA& VPP G "V/*V )49A 49A 49A 89A
Vpp G 1.V 5=9A
72
5=9A
72
%%# 79A %%# 79A
1, 7or ;#as memor0 parts on#0. In case o; :1P parts te app#ication ma0 dra/ on#0 1mA. 1e programmer pro.ides
current o; 50mA on te <PP pin+ "ut a#most a## te current is re*uired ;or programming /it te :1P part.
1e ;re*uenc0 on data pins ma0 reac se.era# &Bz during te programming and te app#ication circuitr0 must not
signi;icant#0 a;;ect te s#opes o; te signa#s.
Po+eri#g optio#s
In a## cases it is necessar0 to interconnect common ground )GA=,.
1e microcontro##er to "e programmed can "e po/ered eiter
exter#ally ;rom te app#ication
i#ter#ally ;rom te programmer )5<,
$(terna# po/er supp#0 ;rom te app#ication ca##ot "e used ;or certain t0pes o; microcontro##ers+ /ic ;eature
%&CC!><PP pin con;igura"#e as I>:.
Interna# po/er supp#0 ma0 "e used on#0 i; te app#ication circuitr0 does not dra/ too muc po/er ;rom <cc pin o; te
programmer.
Prora%%er
,a$i%al current drawn fro%
the prora%%er
PRESTO 8=9A
72

PIC*UICK
7=9A
72

PICCOLO 5=9A
1, 1e programmer ;eatures so;t/are o.ercurrent protection. I; te a##o/ed current is signi;icant#0 e(ceeded ;or certain
amount o; time )con;igura"#e, te programmer turns te po/er supp#0 o;;. PICEUICF cecHs o.ercurrent upon turning
on <dd and <pp on#0+ /i#e P!$S1: cecHs o.ercurrent a## te time te po/er supp#0 is on.
46
Programmers by ASIX
PR%ST& programmer ;eatures ard/are support ;or e(terna# po/er supp#0. 1e programmer is capa"#e o;
using .o#tage present on <dd to po/er its I>: circuitr0. 1is .o#tage ma0 "e e.en #ess tan 5<. P#ease maHe
sure /eter te microcontro##er 0ou use in 0our app#ication is not on#0 a"#e to run at .o#tage #ess tan 5< "ut
tat it a#so can "e programmed /it suc #o/ .o#tage.
I case o; PICL5IC@ a#' PICC&1& I*RA-/%K it is possi"#e to use e(terna# po/er supp#0 i; <dd pin
remains unconnected. Ae.erte#ess te e(terna# po/er supp#0 .o#tage must "e te same as programmer's )tat
is 5<,.
CAPR0PI programmer supports e(terna# po/er supp#0 on#0+ no oter option is a.ai#a"#e. 1e operationa#
.o#tage is 5<.
I" the applicatio# co#tai#s capacitors +hich slo+ 'o+# po+er s$pply s+itchi#g it may be #ecessary to set lo#ger
charge6'ischarge times i# so"t+are7
Prora%%er Charin current (ischarin current
PRESTO %',,es5'n"s t' 5=O %',,es5'n"s t' 7(O
PIC*UICK %',,es5'n"s t' 5=O %',,es5'n"s t' 7=(O
PICCOLO %',,es5'n"s t' 5=O n'ne
Appro(imate times to "e set in te so;t/are tMNsO G 27 P CMN(O P RMQO .
$.g. ;or app#ication containing capacitor o; 55e7 programmed using P!$S1: 3.5f55f50D4135es is needed to carge
and 3.5f55f1000D63.5ms to discarge te capacitor.
-otes.
Sometimes an error can occur+ tat UP cannot program ca#i"ration /ord or tere are errors /en reading
de.ice I= or it ga.e error o; :.ercurrent #imit on <== or so on. In tis case can e#p to #engten carging
and discarging time a"out se.era# seconds in Program settings... menu item.
I; it ga.e error o; :.ercurrent #imit on <PP+ tr0 to use sorter ICSP ca"#e )at most 30cm,.
ICSP co##ector
A## programmers "0 ASIX are using uni;ied connector ;or ICSP programming /it pin spacing o; 3.54mm. 1is
connector as 9 or 6 pins )depends on te programmer, /it 5 )or 4, signa#s. $(tended .ersion o; te connector )6 pins,
;eatures additiona# C<P pin+ /ic is used ;or C<P programming.
Pin nu%ber +inal Prora%%in connector
7 6MCLR VPPB6MCLR
) not sed 53ey:
F VCC VCC
4 GND GND
5 RBH DATA
M RBM CLOCK
H not sed
8 RBFBRB4BRB5 LVP
48
Programmers by ASIX
Recomme#'e' +iri#g o" 0MC1R6VPP pi#
!ecommended /iring considering recommendations in &icrocip dataseet.
<a#ues o; ! and C determine time to o#d te processor in reset state. 1e diode causes ;ast discarge o; te capacitor
/en <dd is disconnected. Uener diode #imits programming .o#tage )215<, supp#ied "0 te programmer.
1e circuitr0 can "e simp#i;ied "0 omitting !+C and diode. Suc circuitr0 as no reset state o#d time.
(ocu%ent Re'ision 9istor!
(ate Re'ision ,ain chanes
F76;u&:6)==M 7/= Initi#& 0e,si'n
)=6Auust6)==H )/= A""e" >i,in "i#,#9s 1', MSP4F=
M'"i1ie" >i,in "i#,#9 1', 8=57 "e0i%es
A""e" ne> n'tes un"e, t4e >i,in "i#,#9s
A""e" ne> %'99#n"&ine %'99#n"s
A""e" in1',9#ti'n 'n ne> su55',te" 5#,ts
A""e" ne> 5'ssibi&ities '1 se,i#& nu9be,s 1i&e %'99#n"s
A""e" in1',9#ti'n 'n %'99#n" &ine PRESTO se&e%tin >it4 ;TAG P&#:e,
)6<eb,u#,:6)==8 )/7 A""e" in1',9#ti'n 'n CPR7V) %'n0e,te,
A""e" in1',9#ti'n 'n ne> Win"'>s 9ess#e #n" "&& 1un%ti'ns/
S9#&& te3t 1i3es
)76A5,i&6)==8 )/) A""e" >i,in "i#,#9s 1', C:5,ess PS'C "e0i%es/
<i3e" C<G >'," #"",esses '1 PIC)4< 5,'%ess',s/
A""e" %'nt#%t in1',9#ti'n/
H6;u&:6)==8 )/F A""e" n'tes 'n F433=) I
)
C 9e9',ies/
A""e" ne> %'99#n" &ine 5#,#9ete, B"e0i" #n" ne> e,,', %'"e H/
A""e" ne> Win"'>s 9ess#e >4#t %#uses e,#sin '1 t4e %4i5/
A""e" ne> UP O5ti'ns 9enu ite9s "es%,i5ti'n/
60
Programmers by ASIX
(ate Re'ision ,ain chanes
A""e" in1' 4'> t' %,e#te t4e SV< 1i&e 1', L#tti%e CPLD/
A""e" # n'te 'n us#e '1 t4e Bn'e 5#,#9ete, >it4 t4e MSP4F=/
7H6O%t'be,6)==8 )/4 A""e" # n'te 'n PICF)MX/
86De%e9be,6)==8 )/5 A""e" in1',9#ti'n 'n ne> PI95',t ne3t 1i&eQ 1un%ti'n '1 t4e UP/
A""e" in1',9#ti'n 'n ne> u5"#te, 1un%ti'n in t4e UP Ce&5 9enu/
A""e" in1' 4'> t4e 1i&es #,e &'#"e" in #%%',"#n%e >it4 t4ei, e3tensi'n >it4
<i&eBO5en "i#&'/
A""e" # n'te 1', AVR "e0i%es/
In t4e Te%4ni%#& s5e%i1i%#ti'ns s5e%i1ie" 9#3i9#& ICSP %#b&e &ent4/
A""e" in1' 4'> t' %,e#te t4e SV< 1i&e 1', A&te,# CPLD/
S9#&& te3t 1i3es/
86;#nu#,:6)==8 )/M Un"e, t4e MSP4F= SBW 5i%tu,e #""e" in1' 'n MSP4F=<5333/
Un"e, t4e MCU 8=57 5i%tu,e #""e" in1' 'n su55',te" t:5es/
F6M#,%46)==8 )/H A""e" # n'te t' LVP 5,',#99in '1 t4e PIC %4i5s >it4 ICPORT 1use/
A""e" in1',9#ti'n 'n &'in '1 t4e se,i#& nu9be,s t' # 1i&e/
)H6M#,%46)==8 )/8 Un"e, t4e ;TAG 5i%tu,e #""e" n'tes 'n AVRF) 5,',#99in/
F76;u&:6)==8 )/8 A""e" in1' 'n AT39e# "e0i%es %'nne%ti'ns/
A""e" in1' 'n P,',#99in E3e%uti0e/
A""e" in1' 'n Bb&#n( %'99#n" &ine 5#,#9ete,/
A""e" in1' 'n S5ee" C'9b'B'3 >it4 MSP4F= SBW "e0i%es/
S9#&& u5"#tes #n" 1i3es '1 t4e te3t/
)F6O%t'be,6)==8 )/7= A""e" in1' 'n M8FS3M Mi%,'Wi,e 9e9',ies 5,',#99in/
A""e" %'nne%ti'n "i#,#9 1', CC3333 "e0i%es b: Te3#s Inst,u9ents/
A""e" AT88LPM44= in1' un"e, t4e 8=57 %'nne%ti'n "i#,#9/
756;#nu#,:6)=7= )/77 A""e" ne> %'99#n" &ine 5#,#9ete,s 1', t4e UP/
T4e &#be& n#9e PC,:st#& 1,eDuen%:Q %4#ne" t' POs%i&&#t', 1,eDuen%:Q/
In t4e PPRESTO '5ti'ns >in"'>Q se%ti'n t4e,e #,e ne> settins/
In t4e O5ti'ns '1 t4e UP t4e,e #,e ne> settins/
In t4e n'tes 1', PIC "e0i%es %4#ne" 0#&ue '1 #""iti'n#& %#5#%it', t' 7n</
Ne> 5#,#9ete, in t4e PRESTO te%4ni%#& s5e%i1i%#ti'n/
))6;#nu#,:6)=7= )/7) I95,'0e" n'te 'n ne> PIC %4i5s '0e, %u,,ent 5,'b&e9 #n" its s'&uti'n/
746A5,i&6)=7= )/7F A""e" %'nne%ti'n "i#,#9 1', AVR TPI %4i5s/
A""e" n'tes 1', PS'C #n" MSP4F= %4i5s/
)=6A5,i&6)=7= )/74 U5"#te" t#b&e in t4e PDes%,i5ti'n '1 t4e 5,',#99in %'nne%t',Q %4#5te,/
In t4e ",i0e, inst#&&#ti'n %4#5te, #""e" in1' 'n inst#&&#ti'n un"e, Win"'>s H/
)H6A5,i&6)=7= )/75 A""e" in1' 'n %'99#n" &ine 5#,#9ete,s B5"i11 #n" Bee'n&:/
C'95&ete" in1',9#ti'n 'n se,i#& nu9be,s/
746O%t'be,6)=7= )/7M A""e" AT88LP5) 5,',#99in n'te un"e, 8=57 %'nne%ti'n "i#,#9/
A""e" # %4#5te, #b'ut 5,est'/"&& &ib,#,:/
F6M#,%46)=77 )/7H A""e" in1',9#ti'n 'n CC4F= 5,',#99in/
Lin(s 'n %4i5s >i,ins #""e" t' %'ntents/
786M#:6)=77 )/78 In t4e %'99#n"&ine 5#,#9ete,s %4#ne" 5,',#99e, SN 1',9#t/
In t4e t#b&e un"e, SPI 9e9',ies 5i%tu,e #""e" # "es%,i5ti'n '1 CS sin#&/
In t4e 9enu "es%,i5ti'n #""e" in1' 'n PRe%ent 5,'Ne%tsP 9enu ite9/
)=6O%t'be,6)=77 )/78 A""e" n'tes 1', AT88LP57RD) un"e, 8=57 >i,in 5i%tu,e/
C'95&ete" in1',9#ti'n 'n t4e PRESTO ",i0e, inst#&&#ti'n un"e, Win"'>s H/
)86<eb,u#,:6)=7) )/)= A""e" n'tes 1', ne> 8=57 "e0i%es un"e, t4ei, >i,in 5i%tu,e/
C'95&ete" Win"'>s 9ess#es "es%,i5ti'n 1', WR7H 5#,#9ete,/
61
Programmers by ASIX
(ate Re'ision ,ain chanes
A""e" ne> B5,'n#9e %'99#n"&ine 5#,#9ete,/
C'95&ete" in1',9#ti'n 'n AVR 5,',#99in in t4e ;TAG P&#:e, %4#5te,/
7F6;une6)=7) )/)7 A""e" in1',9#ti'n 'n <ORTE 5,',#99e,/
C4#5te, "es%,ibin ;TAG P&#:e, 4#s been %4#ne"/
746Auust6)=7) )/)) A""e" 5i%tu,e "es%,ibin 4'> t' %'nne%t UNIBO 9e9',: t' <ORTE/
A""e" ne> Win"'>s 9ess#es 5#,#9ete,s/
A""e" in1',9#ti'n 'n ne> Bb''t #n" Bn'b''t %'99#n"&ine 5#,#9ete,s/
Cop0rigt g 1881%3013 ASIX s.r.o.
A## trademarHs used in tis document are properties o; teir respecti.e o/ners. 1is in;ormation is pro.ided in te ope tat it /i## "e use;u#+ "ut
/itout an0 /arrant0. -e disc#aim an0 #ia"i#it0 ;or te accurac0 o; tis in;ormation. -e are not responsi"#e ;or te contents o; /e" pages re;erenced
"0 tis document.
63

S-ar putea să vă placă și