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.

[SOLVED] Project to replace CY7C64613 in the ICD2

Status
Not open for further replies.
Hi,

Can someone help me on this:

I am going to build the ICD2 clone made by PiCS(Rev B) and would like to know that after I finished assembly the Hardware, there is 2 hex file in the zip file
(http://www.icd2clone.com/w/images/a/a3/ICD2_Clone_4550_-_PiCS.zip).

Do I need both of them, and also how I upload the firmware(s) to the PICS from the computer ?

Also, after I do the previous step, should I download the OS firmware as well
(as found in MPLAB) ?

When I buy Original ICD2, does it have pre-firmware inside of it?
 

Hi RedAlert,

first of all... you need to understand how ICD works. Main part is PIC16F877 (where MPLAB download OS according to PIC selected). Then you have PIC18F4550, the bridge between ICD and USB. You need also Vpp generator (DC-DC converter), Vpp switch, Vdd switch and optional buffer.

Vpp gen can be from ready-made to some ICs (as you can see in schematics posted), according with what you can find easily.

Vpp switch can be DG411 or transistors or LM358. Vdd switch can be mosfet or transistor. Buffer can be made or not...

Firmware are two because you have two PIC (4550 and 877). 877's hex is usually only a bootloader (for MPLAB to download appropriate OS) and you can find two hex files: one for 877 and one for 877A.

Obviously you need a working programmer in order to program 4550 and 877. Look for simple schematic (like JDM or LPT based programmers).

Again, read all posts in this thread, see all schematics, try to understand differences between them and then choose the best way according with components you can find where you live (as I do... drawing my own schematic).

Good luck!

Regards.
 

Greetings to all who have contributed in this great project, with which I have some problems...

I also have build Potyo's version od the ICD with variable Vpp, using his original PCB design and using hexes provided on www.icdclone.com. After construction and programming Windows recognises the device, and drivers are installed (it appears in Device manager as it is supposed to). When in MPLAB (versions 7.3 and 7.4), i receive the message that the device is connecting, which lasts for 4-5 seconds, afther it asks for a new OS to be downloaded and then it says it lost the communication with ICD2. At the same time my target device gets VCC, and ICD stays locked in taht state (even when I short the reset jumper of 16f877A, it resets, clear the error LED, but it still has VCC on target)

What can cause this?

Inproper drivers?
Lousy soldering? (I had one solder bridge on first turn on, on the leftmost part of the board, which I repaired after first turn-on. Could something be damaged in process?)
I added additional SMD capacitors between every VDD and VSS pin of both PICs, Vusb condensator is 470nF polyethilen type (shold it be ceramic?), but as I said, USB seems to work well. I suppose the error is either in communication between the chips or in 16f877A.

Does it make difference how I programmed the chips?
I used serial programmer based on JDM (AllPic).
Software was WinPic, singe I didn't manage to config the WinPic800 (couldn't change the programmer).
Chips passed verification, so I guess that they are correctly programmed and not damaged.

Here is the exact text that pops out when i connect the ICD:
Auto-connect not enabled - Not connecting (Try enabling auto-connect on the ICD2 settings pages.)
Connecting to MPLAB ICD 2
...Connected
ICDWarn0030: MPLAB ICD2 is about to download a new operating system. If MPLAB IDE is just starting, it will appear to "hang" at the splash screen. Please be patient. MPLAB IDE will finish it's intialization after the OS is downloaded. (Note: You may wish to select to ignore this warning in the future.)
Downloading Operating System
ICD0021: Unable to connect with MPLAB ICD 2
...Download Operating System Failed
ICD0082: Failed MPLAB ICD 2 operation
MPLAB ICD 2 Ready

I revisited the soldering, no more errors to be found there, but still the same. Any suggestion will be apritiated..
 

Hi
I made schematic similar as potyo. Can you send or recomend me firmware for PIC16F877 and 18F4550. My firmware work incorrectly if i use hardware reset on ICD.
Thank you.
Radek
 

ka1ra said:
I made schematic similar as potyo. Can you send or recomend me firmware for PIC16F877 and 18F4550. My firmware work incorrectly if i use hardware reset on ICD.
I think, there is no better firmware. Do you really need the hardware reset:?: You must hold it in reset at least 10-15 seconds to restart, but the problem is not with the firmware, it is with the drivers inside windows.
 

RedAlert said:
Hi,

I am going to build the ICD2 clone made by PiCS(Rev B) and would like to know that after I finished assembly the Hardware, there is 2 hex file in the zip file
(h**p://www.icd2clone.com/w/images/a/a3/ICD2_Clone_4550_-_PiCS.zip).

?

Hi,
I have problem with reset on ICD2.

I used this Firmware.
1) ICD2 is working and I push reset (pin RA4 -PIC18F4550 to +5V)
2) RB3 change status from 0V to +5V
- PC lost communication and unmount driver on Hardware manager
- MPLAB lost communication with ICD2
3) I'm push software buton on MPLAB for reset and connect
4) MPLAB writes:
Connecting to MPLAB ICD 2
ICD0019: Communications: Failed to open port: (Windows::GetLastError() = 0x2, 'Systém nemůže nalézt uvedený soubor.
')
ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready
5) Connection is not established, +5V is on pin RA4 -PIC18F4550 !
6) I'm disconnect USB cable, set programmer = none, debugger = none, next connect USB cable and set programmer=ICD. ICD works again.


Where is error, why hardware reset not work? Is firmware for PIC18F4550 correct?

Added after 8 minutes:

to potyo:
why do not change voltage on RB3 -PIC18F4550 from 5V (reset signal) to 0V (working signal, =+5V on MCLR-PIC16F877) - it is HW or firmware problem on ICD, but not Windows
Do you have other experiencis with you ICD2?
 

I see no errors, this is normal.

The reset and connect command is to reset the target device, and reconnect to it. Not to reset the ICD2.
 

Problem is on pin RB3 -PIC18F4550 which hold reset signal more then 10 minutes.

Added after 13 minutes:

I interrupted wire from RB3-PIC18F4550 to tranzistor and PIC16F877 (eliminate probable hardware problem on board) but problem persist. If I change status (by reset) on RB3-PIC18F4550 to 5V, then do not return to 0V and ICD do not work.
 

I dont understand your problem. As I see, everything is normal. I dont know the exact function of 4550's RA4 pin, but it is not for resetting the ICD2.
 

85_1163866175.JPG


https://obrazki.elektroda.pl/85_1163866175.JPG

If I connect J1-1 with J1-2 then pin MCLR (pin1) on PIC18F4550 receive log0 (0V). Next on pin RB3 (pin36) put log1 (+5V) and transistor Q4 put collector to log0 (0V) and MCLR (pin1) on PIC16F877 have log0. Result of this is reset of PIC18F4550 and PIC16F877. Next I interrupt connect J1-1 with J1-2 then pin MCLR (pin1) on PIC18F4550 go to log1 (+5V). But not change log1 to log0 on pin RB3(pin36).

Added after 33 minutes:

potyo, thank you for your help.
It was my mistake. In my clone is switch on pin RA4 -PIC18F4550 and block PIC16F877. Switch have different role then your switch.
 

NICK7 said:
HI Thelux

Thanks for your answer
Can you upload the firmaware (.hex) that you are using for PIC18F4550 and for PIC16F877A in order to reprograme my ICD?
Regards Nick
Glad to hear it. I got scared by your previous post, as I'm about to make pretty much the same design as yours, but with much of the original "ICD2 Clone V1.5" that was using the cypress USB chip.
The only big difference from your schematic is I'm leaving out the external PS, as I don't need to power projects from my ICD2, and therefore leaving out the TPS2111 switching chip. I also got a FDS4435 for VDD_T switch.

Have you made any changes to your design since?

If not, Wish me luck.

Daemons
 

potyo said:
ka1ra said:
I made schematic similar as potyo. Can you send or recomend me firmware for PIC16F877 and 18F4550. My firmware work incorrectly if i use hardware reset on ICD.
I think, there is no better firmware. Do you really need the hardware reset:?: You must hold it in reset at least 10-15 seconds to restart, but the problem is not with the firmware, it is with the drivers inside windows.

Looking at your design Potyo, or PICS'... my question is do I need the 4550 reset bouton at all? What is it needed for exactly?
Can I just assemble the 2K2 Pullup for MCLR instead?

Also, is it true that PGM isin't used at all? I find this odd since it is on the original ICD2, is it not?

Daemons
 

I build the Pics pcb. First the board was disconnecting / connecting to windows constantly. I noticed that the Firmware i D/L from icd2clone.com didn't has MCRL pin disabled , so i had to do it by setting the right config bit. Now the board is stable in USB mode, i can touch the pcb and the board stays connected with wondows.

But i can't "download icd2 OS" within MPLab. I just had a pic16f877 (non A). If i use firmware 16f877.hex and trying to download OS, i get a error msg from MPLab immidiatly. When i use firmware 16f877a.hex and try to download OS , it looks like it's actually downloading the firmware but i got a error msg after about 20 sec.
Whats the difference between 16f877A and non A? Cant find a datasheet on microchips site.

Can the PICS pcb be used with a pic16f877?

I would like to build the potyo pcb but i can't find MCP41010 anywhere, is there a replacement. Can i use a manual pot or resistor instead of the MCP41010?

Is there any clone that comes closer to original icd2 then potyo2?

Michi
 

Hi, Daemons.
PGM was used on old ICD, not on ICD2. you can see it from the manual..
 

My final pcb (double layer)

It's use (18F4550A, 16F877A, MG411, DCP010515, etc )

I succeed to program 18F4550A, 16F877A, 16F876A, 18F2550, 30F4061)

pingouindunord.free.fr/ICD2/
 

pingouindunord said:
My final pcb (double layer)

It's use (18F4550A, 16F877A, MG411, DCP010515, etc )

I succeed to program 18F4550A, 16F877A, 16F876A, 18F2550, 30F4061)

pingouindunord.free.fr/ICD2/

Cant open the site!! :(
 

Okay, this originally started out as a post asking for help on diagnosing my problems, but I think I managed to fix it myself just after posting. So I've edited it just to put my solution out there for anyone with similar problems:

My ICD2 clone (PiCS rev B, from www.icd2clone.com) worked for a while but lately has been having problems, ie - getting verify errors during programming, generally within the first few memory locations, and the problem occurred even when the target PIC, and both PICs on the ICD2 were changed.

The kinds of errors I was getting in MPLAB looked like this:
Code:
Programming Target...
...Validating configuration fields
...Erasing Part
...Programming Program Memory (0x0 - 0xBF)
Verifying...
...Program Memory
ICD0161: Verify failed (MemType = Program, Address = 0x16, Expected Val = 0xBA9, Val Read = 0x7A9)
ICD0275:  Programming failed.
MPLAB ICD 2 Ready

The apparent problem was the length of the cable I was using to go from the RJ12 jack on the ICD2, to the target board; my cable was about 3 feet long, I never even stopped to think about whether that would cause problems when I was making the cable. I made a new cable, less than a foot long, and everything is working fine now.
 

The site does work but youcan't use the http://www. in front,

I have downloaded them, I've add a quick look tha layout is ok but i don't like the idea where you got to bend some pins on the PIC chips as they have have tracks passnig underneath the pads

pingouindunord I just can't understand if you made it double sided why not reduce the size of your track's and use more of the top layer, I know why you have done it the way you have which makes it easier to make at home ratrher then trying to solder underneath the IC sockets

I have redesignd potyo in altium and consisderd to make it double side and have some boards made and sell has a kit but but that was going to cost to much so i just designed as single sided, potyo was a very good layout and thanks for sharing

wizpic
 

The pingouindunord´s page:

**broken link removed**

Regards.
 

Hi,

I have realized an icd2 clone RevB, and i had some problems in the USB connection. It had some small interruptions.
I think it is due to the master clear of 18F4550, wich is not connected, cause inopportune resets. So I have put a pull up to Vdd with 10k resistance in the Mclr pin. It seems to solve the problem.

What do you think about this solution? Why the master clear is unconnected in the RevB?

Regards.

(Sorry for my bad english)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top