Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Short version of help for the ICD2

Status
Not open for further replies.
Test your Inchworm+ with a more basic PIC like the 16F628A as it only requires 5 connections, sounds like you have not connected all the GND & VDD pins on your dsPIC.
 

ScratchBuild said:
Hi guys and newbies,

I started this thread because I cannot see any of you guys trying to build the ICD2 reading 55 pages and then try to figure out what and where to go with this.

I will post what I have but does not guarantee it is the latest. So if you have later stuff than me please feel free to post.

Regards

Nic

Added after 11 minutes:

Here is the latest firmwares I use:

There are tjree firmwares for the 4550
1) The first one is the original
2) The second is the fix for the firmware overwrite problem
3) the third disables MCLR

Regards

Nic

Hi ScratchBuild,

You said that there are three firmwares for the 4550. But I only find two version of bootload for 4550. One is ICD2_18F4550_boot.hex. Another one is ICD2_18F4550_boot_Mclr_dis.hex. Could you kindly advise if both of them can fix the firmware overwrite promble? Thanks!
 

I'm wondering why in the PICS ICD2 schematics PIC18F4550 MCLR is hanging and has no RC network. Any thoughts on this?
 

Hi guys,

First, sorry for my english whitch could be a pain...

I've built potyo v2 PCB, I use 16F877A & 18F4550 with the firmwares posted at the top of the topic.

I've tried the 2 versions of firmwares for 18F4550 (with and without MCLR), but since I have a resistor between Vcc and MCMR, it should be (and it is) equivalent.

My Vpp is working (11.3V), LED 6 is ON but all others leds off.

MCLR=5V on each PIC.


20MHz cristal is working on 18F, and signal goes from 18F to 16F perfectly (verified with scope).

WinXP recognize the USB devices, driver installation is done

But, when I launch mplab (8.10) and try to connect to potyo2, I get :

ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready

note that debug\download OS is unavailable.

Please help me, I don't now what to do. I'm debuging since a couple of hours, my card seems to be ok, I can't locate where is the problem.

Could the problem be between 18F and 16F, or only in 18F ?

Thank you so much !

PS : I also added 100nF capacitors on 16F & 18F supplies pins.
 

Yes !

I've replaced the 2 PIC by new ones : it's working ! I don't know what happened with the others PIC.

It's working (prog & debug) :
- PIC18F4550 @ 5V
- PIC24FJ48GA004 @ 5V
- dsPIC30F2010 @ 2.0V, 3.3V, 5V

I use MPLAB 8.10.

:D:D:D

I'm going to route a SMD version of potyo v2 PCB and build 4-5 cards :D
I will place a document about it (listing of links, SMD-routing, maybe CAD design files - eagle) on the web, before 2009... I will post the link in this topic.

Thanks to potyo, and all the others ! Very good job !
 

Hi All,

Thanks ---. I have solved the problem. The Pics ICD2 clone is working now. A million thanks to Pics and all.


Hi Potyo,

I built ur ICD2 clone (the latest version) as well. The only different with ur schematic diagram is i'm using 180uH instead of 170uH. The inductor type i used is looked like a resistor.

Now I'm facing a problem where everytime plug in the usb connector, the USB LED will blink. Therefore, i decided to add a reset button follow by a 68ohm resistor to pin 1 at PIC18F4550 by referring to Potyo2 version.

After that, the USB LED will stop blinking after i press the reset button. Then the ICD2 will work as normal.

Can you tell me how to solve this problem? Will it caused by the inductor? Can anyone tell me how to solve it?

Thanks in advance.
 

hi all, i'm making ICD2 clone using PiCs design. Where can i get the EAGLE schematic and pcb layout?
 

Did someone notice that potyo2-rev2 use a 74HC4066 powered by Vpp (~11-12.5V), (instead of CD4066 powered by 5V in rev1), and that 74HC4066 must be powered with a Vcc <= 10V ?
 

Yes. That has been discussed. It may not have been on this thread. I think the general consensus was to replace it with a CD4066. A slower part, but fast enough and it can handle up to 15v.

Added after 3 minutes:

mz_fadhli said:
hi all, i'm making ICD2 clone using PiCs design. Where can i get the EAGLE schematic and pcb layout?

Go to this link: http://icd2clone.com/wiki/Main_Page

Good luck!
 

I haven't rev C but i have rev B schematics-pcb. I made the clone (Eagle) and it works perfectly.



You can have firmwares and notes for configuring it here:



Here you can find an example to use the ICD2 clone debugger:



And finally... (i found it in the main thread but i don't remember who was the author):

#Important tips NOT implemented in the previous board.
(I think you could add them to the board to avoid further problems although the board works as it is).

Notes from PICS and DraganM

The circuit is continuosly updating and could be enchanced with:

*Rev.B:

1) R=10k on MCLR on F4550 (is better) -aunque el firmware de la version B haga MCLR Disabled para Pic18F4550-
Also, R1 can be replaced with multiturn potentiometer 22k and adjust Vpp on 12,5V.
2) C=10pF o 12pF for crystal (important): change capacitors for oscilator (C6,C7)
3) C=330nF replace with 100nF and add in parallel 4u7 (elco) for V_USB (+5V) (c8) (important)
4)add 100nF on USB connector, on F877A and on F4550 (important) -between VCC and VSS- pins 31-32
(otherwise could appear problems of communication with MPLAB before unloading the SO the 1st time)
5)osc=RC for F877A (very important)
6)use 1N4148 instead 1N5819 (not important)
7)use BC327 and BC337 (not important)
8)use firmware from www.icd2clone.com and PiCS

9) inductor can oscilate between 100µH to 1mH. Tested values are 100µ-180µH (ver datasheet del MC34063A)
10) de PICS: Set all sectors unprotected for write when burning firmware
11) de PICS: Uncheck Power target circuit from Mplab ICD2(5v VDD) to avoid errors on mplab.


*Rev.C is double sided board with minor modification :

-added pot for adjust Vpp (9v..14v)
-added resistor for mclr PIC18F4550
-and change capacitor for oscillator with 12pF (C6,C7)


General advises:
For all that people who can't read or being too lazy to get through ~60 pages of this topic

Some basic thesis :
1. If you don't have some advanced skills in electronics - don't do this project !!! (make some easier programmer)
2. If you have only multimeter & soldering iron - don't do this project !!!
3. If you don't want to debug your code via ISP - don't do this project...

Why ?
Because, for 99.99%, you'll fail...

What should you have in your equipment :
1. Good soldering iron (decent hotair for TQFP smd work)
2. Good multimeter
3. Any kind of logic analyzer, oscilloscope, etc... (it don't have to scope 20MHz signals....)
4. Reliable simple programmer for 18F PICs (Lothar's Stolz JDM (check his site), SCHAER, etc...)

What next ? :

1. Choose your project - potyo2 or some PiCS
or
1a. Get the schematics and create your own PCB (the harder way)
2. Get the parts
- Yes, there are 0.47 Ohm resistors ... (smd and thru-hole are available)
- No, you can not use 18F2550 instead of 4550 (Parallel Port is needed)
- Yes, you can solder manual potentiometer instead of MCP41010 digpot
- the inductance of VPP generator's coil may be about 100-200uH
3. Make the PCB
- using your favourite method (toner transfer or UV varnish)
- if you created your own PCB :
- check the connections
- check them again
- now get the original schematic and check your routes again
- and again... (most errors comes from erratic layout)
4. Make vias or jumpers
- Yes, it is possible to create doublesided PCB at home with vias
- Yes, it is possible to create doublesided PCB at home with under-IC vias (you need some 0.5-0.6mm copper wire and this kind of tool : **broken link removed**)
- No, you don't have to solder the vias
- Yes, you should have 0.5mm drill in your equipment

5. Solder ICs (TQFPs and SOICs)
5a. Check shorts twice
6. Depending on your project you should program your 4550 & 877(A) now, or you can do it later

7. Solder remaining parts
7a. Check shorts and major connections (power rails for shorts, D+, D-, PSP0-7 lines, RD, CS, WR, 877_MCLR)
8. Connect to USB port

If Windoze detects it & driver installation is ok & MPLAB recognizes it clearly, download the OS & be happy - you're very lucky guy (chick Smile )

But, for 99.99%, something went wrong...

Troubleshooting:
1. Unknown Device :
- there may be problem with power rails - check for shorts
- there may be problem with D+,D- rails
- there may be problem with 4550 programming - reprogram it
- there may be problem with 4550 config fuses :
4550 configuration most important settings:
a) HS+PLL oscillator
b) 96MHz prescaler - divide by 5 (20MHz input)
c) CPU system clock postscaler - PLL/2 (48MHz CPU clock)
d) FullSpeed USB clock source - PLL/2
e) USB Voltage Regulator - Enabled
f) Watchdog disabled
- there is not enough of bypass capacitors (VUSB to GND)
- there is too big capacitance between VUSB & GND (10uF should be max) - check capacitors you've soldered

- of course there can be some more stupid errors...

2. If device is recognized by WinXX then the driver should be installed without problems - if not - you might have problem with your PC/windoze

3. If device is visible in Device Manager as MicrochipTools then MPLAB should detect it - if not - reinstall MPLAB, reinstall ICD2 USB drivers

4. Select ICD2 as PROGRAMMER & Setup ICD2 in MPLAB - communication:USB, DO NOT CONNECT AUTOMATICALLY, DO NOT UPLOAD OS AUTOMATICALLY !!!! (at least for the first time)

5. There should be enabled Download ICD2 Operating System command in Programmer menu - try it
- Unable to communicate with ICD - check PSP lines, check 877_MCLR, check 877(A) programming, check 877(A) fuses, 877(A) power rails bypass capacitors
877(A) configuration FUSES :
a) HS oscillator
b) WDT off
c) PUT off
d) BOD off
e) LVP disabled
f) all code protection OFF !!!

- framing errors - read general problems troubleshooting (comes next in this post)

6. OS Downloaded OK, but ICD2 Self Test Failed : go into Programmer/Settings/Status
- MCLR Vdd : Low - enable Power Target from ICD & run Self Test again - if it pass then it is normal behavior
- MCLR Vdd : Low/ Target Vdd : Low - check 1RA1 line, VDD metering resistors , switching transistors (those PNP ones)
- Module Vpp / MCLR Vpp High/Low - check VPP generator for output voltage, VPP metering resistors (1RA0 line, 1RA3 line)


GENERAL FAILURES TROUBLESHOOTING :
- check VPP generator's filtering capacitors - IT IS CRITICAL for ICD2 - if it's too low, then the spikes from generator would kill any USB & inter-IC transmittions by spreading via power lines
- scope power lines for spikes & check bypass capacitors
- recheck again for short-circuits
- reprogramm 4550 and/or 877(A) with proper HEX
- install earlier version of MPLAB (Yes, it sometimes cures the thing)
- IC's shouldn't get hot or even warm - check for shorts and check for proper voltages on terminals - if 4550 is getting warm, but ICD is working then you have not enough bypass capacitors on it's power rails... the same may be applied to 877(A)

Of course, there can be more problems, but if you can not overcome them, then you should drink some coffee and let this great programmer to be made for you by someone else...


I hope it's enough ;)
bye
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top