PDA

View Full Version : what IS an ICSP connector?



mslaney
- 12th December 2004, 12:01
I'm very new to PICs. I have read a few references but I need the explanation simplified.
My ICSP. I know that it allows programming on the fly but here are the questions that I have.

What do I attach my ICSP connector to? I have a Velleman 8048 kit with the connector on it but where is it supposed to go? The documentation simply says "To your application" but If I use the onboard LEDs and switches, that IS my application.
Do I need a second PIC that actually does the work while another handles the communication to the PC?

Does ICSP provide realtime debugging info on the PC? Kind of like the basic stamp software?

Yes, I am a recovering BS user that craves the power and cost of PICs.

c_Moore
- 12th December 2004, 13:38
Hi mslaney,


I hate to say this,but take a look at the datasheet and it will explain the ICSP function. If you have never looked at one,I know they can be a bit confusing. Also you don't need a second pic to do ICSP.that is a function of some pics.
also know as low voltage programming.
hope this helps




regards Charlie

mslaney
- 12th December 2004, 14:12
Thanks for your quick reply. The response time on this board is terrific thanks to folks like you.

As for the datasheet. I try to study as best I can but it does get a bit confusing. I suppose it's the myriad of options and features.
Never apologize for telling people to read the datasheet or manual :).

My programmer/trainer board is rather limited in terms of flexibility, it has 6 LEDs and four switches, so I think I'll try to build one on a big proto board. Any suggestions in addition to what is currently on this 'schematics' subgroup?

Thanks,
Mike Slaney

Luciano
- 12th December 2004, 17:14
Once your "application" (the proto board with a PIC sitting on it) is ready, you can then program its PIC through the ICSP connector of the Velleman KIT 8048. When you program the PIC on your proto board make sure that there is no PIC placed in the sockets of the KIT 8048. (All the IC sockets of the KIT 8048 have to be empty when you use its ICSP connector).

The last page of the 8048 user's manual shows how to connect a PIC16F627 to the ICSP connector of the KIT 8048. (In this example your proto board has a PIC16F627 on it, pin configuration may vary for other PICs, see datasheet).

User's manual of the Velleman KIT 8048:
http://www.velleman.be/Downloads/0/Usermanual_K8048_UK.pdf

Schematics of the Velleman KIT 8048:
http://www.velleman.be/Downloads/0/Manual_K8048_UK.pdf


Have fun!


Regards,

Luciano

mslaney
- 13th December 2004, 02:49
Thanks Luciano.
It sounds like I could just skip the 8048 alltogether and just build a programmer/icsp interface right on the protoboard.

mister_e
- 13th December 2004, 03:06
Well depending wich programmer you already use, but link below is the easyest way i know... i'm currently using this method since the begining, never had any problem when using PicStart Plus...

Just have to jump the according programming pins (PGD,PGM,MCLR,GND) to your favorite programmer and that's it.

http://microengineeringlabs.com/support/icsp.htm

But as is read from the last page of Luciano's link http://www.velleman.be/Downloads/0/Usermanual_K8048_UK.pdf it's using the same method...

Luciano
- 13th December 2004, 12:46
Hi Mike!

The Velleman 8048 kit uses the High Voltage Programming.

The information below is taken from the WEB.
(I have added only one or two sentences).

Regards,

Luciano


* * * * * * * * * * * * *

The PIC16F877 supports three methods to get a program into the chip:

High Voltage Programming (HVP):
HVP uses 12-14V on the reset (MCLR) pin to enable the serial programming mode via pins B6 and B7.

Low Voltage Programming (LVP):
LVP uses B3 as (TTL level) enable input for the same serial programming mode.

Self-programming (bootloader):
Self-programming uses a program executed by the 16f877 itself. This is the approach used by loader firmware.


HVP is always available. This is the programming method common to all PIC chips. LVP seems to be available on all new flash chips (16f87x, 16f62x). Self-programming is unique to the 16f877 and its close relatives (16f87x). LVP is available only when it is enabled by a bit in the fuses word (which can only be changed using HVP). LVP claims pin B3 as enable pin. By default a 16f877 is delivered with LVP enabled.


* * * * * * * * * * * * *

High Voltage Programming pro's and con's

PRO:
-Can be used with all PICs, no dedicated pins.
-Can program fuses word.

CON:
-Needs 12-14V to enable, so programmer hardware is a bit complicated.

Comment:
-Best (only?) choice for production work.

* * * * * * * * * * * * *

Low Voltage Programming pro's and con's

PRO:
-Does not need 12-14V to enable, so only simple (TTL-only) hardware is needed.
-Can program fuses word (but not LVP enable).

CON:
-Pin RB3 is dedicated to program-enable.
-Can not change LVP enable bit in the fuses word.
-Can be used with newer flash PICs only (16F87X, 16F62X).

Comment:
-Good choice for a very simple parallel port programmer.

* * * * * * * * * * * * *

Self-programming (bootloader) pro's and con's

PRO:
-Activation method can be choosen freely.
-Communication method can be choosen freely.

CON:
-Can not program fuses word.
-Can not be combined with code read-protection.
-Can be used with 16F87X PICs only because the bootloader reduces the amount of code flash available for the application.
-Some compilers are not compatible with (some) bootloaders.
-A programmer is needed in order to get the bootloader into the chip. (In a new 16F87X PIC there is no bootloader into the chip).

Comment:
-Good choice for a simple serial port-based loader.

* * * * * * * * * * * * *

This information is taken from:
"WLoader - a 16f877 application loader".
http://www.voti.nl/wloader/index_1.html

mslaney
- 13th December 2004, 21:08
In regards to the bootloader, if I built the larger board with a bootloader I would not need a programmer onboard. I would need one to do the initial programming with a new chip (or after a smoke-out) but I could use my K8048 as the programmer only when necessary.
But then again, a built-in programmer would only take up a few square cm.

Well, this is 1 if I understand bootloading.......Does bootloading work with ICSP?

Mike Slaney

mister_e
- 14th December 2004, 01:10
NOP, Its two different things.

In fact bootloader will use your serial DB9 connector. you'll don't need any kind of programmer.

see the above link. This explain how to work ICD with MicroCode Studio but the provided circuit is the same.

http://www.rentron.com/PicBasic/MCS_X3.htm

i really love this MicroCode Studio

Luciano
- 14th December 2004, 16:56
The bootloader works only for PICs with a large flash memory.

A bootloader is a good choice when your product needs often a new software and you let the users or a maintenance person do the software update. You can write your own PC software and give it to your user together with a serial cable. The new software will be loaded through the RS232 port of your product.

In my opinion High Voltage Programming (HVP) through the ICSP connector is a better option for hobby purpose.

Micro Engineering Labs sells low-cost programmers.
http://www.melabs.com/products/epic.htm
The EPIC Plus PICmicro programmer is powered by an AC adapter or two 9-volt batteries. So you can use it anywhere even if there is no AC power around.

When you buy or build a PIC programmer the most important part is its software.

- Which PIC devices are supported?
- Setting of configuration fuses adequately supported for each supported device?
- Setting of configuration fuses correctly implemented for each supported device?
- ICSP connector, ZIF Adapters?
- Windows XP, W2K, Linux or DOS support?
- Serial, parallel, USB? (Link PC to Programmer).
- Help file?
- User's manual?
- Author support?
- Do I get a new version of the software when new PIC devices are released?
- ...
- ...
- ...

Luciano

microczek
- 3rd March 2008, 06:59
your programmer is complete withe PIC installed.

the ICSP connector is to program other pics while installed in their application if they have an icsp connector. [ note: to do this u must remove the PIC from the programmer. ]

i used a flat ribhbon cable from the 28 pin socket to a breadboard for i/o and i am running my N SCALE trains using ONLY an NTE1774 motor driver. and a 16 volt DC wall wart. [ the 2 pins on the 1774 markes "Z" are for voltage regulation only, leave them un connected. ]

the ribbon cable has a header that fits into the PIC socket. mine is 16 pins so i use only pins 1 to 8 and 21 to 28 on the 28 pin socket.

pins 2 3 4 5 6 & 7 are connected to RA0 thru 5 on the 18 pin socket.

I hope this helps.

again the k8048 and 1 NTE1774 motor driver gives me 4 1 amp outputs up to 25 volts or 2 driver pair giving dc motor reversability. in railroad terms 2 isolated power blocks, or 2 suitch machines, or 4 signal lights.

skimask
- 3rd March 2008, 14:27
your programmer is complete withe PIC installed.
I guess an answer after 3+ years is better than no answer at all! :D

microczek
- 5th March 2008, 07:05
new at forums. didnt notice date. sorry. Joe