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.
I'm having some trouble with the potyo2 version. I built it over 6 months ago and i couldn't get it to work, so i kind of shelved the project. Now i need to get it to work though.

The problem is this(and was when i built the thing):
When trying to download ICD2 operating system from MPLAB IDE, it says:

Auto-connect not enabled - Not connecting (Try enabling auto-connect on the ICD2 settings pages.)
Downloading Operating System
ICDWarn0054: MPLAB IDE has lost communications with the MPLAB ICD 2. Would you like to attempt to reconnect?
Connecting to MPLAB ICD 2
ICD0021: Unable to connect with MPLAB ICD 2
...Download Operating System Failed
ICD0286: Unable to communicate with ICD
ICD0286: Unable to communicate with ICD
ICD0286: Unable to communicate with ICD
ICD0286: Unable to communicate with ICD
ICD0286: Unable to communicate with ICD
MPLAB ICD 2 Ready

So it's pretty much the same problem as Kova had. I don't quite understand his solution of soldering a 10K resistor between MCLR and VCC( it's called VDD in microchip docs) of 4550, cause there already is a 2k2 resistor there. Am i supposed to replace it or add it in parallel?

The board doesn't seem to have any defects, to my knowledge all chips work, 877A and 4550 get supply voltage, windows and linux recognizes the device ( although now it asked to reinstall the ICD2 driver 3 times when i unplugged and replugged the device, now it doesn't anymore). The MC34063 gets somewhat hot, i'm not sure if that's normal. None of the leds light. I have resoldered everything when it first didn't work. I'm not sure about the MCLR option when the 4550 was programmed. If i remember correctly, there was somewhere something about the Q4 being the wrong way in the drawings, atleast mine seems to be the other way, though the case of the transistor of mine isn't exactly the same as in the drawing. The oscillator condensators are 22p, because i remember people recommending them here.

One more thing, when the ICD2 drivers were installed, i followed the instructions that came with MPLAB, but it never asked to install any drivers for Microchip MPLAB ICD 2 Firmware Loader. Also, the instructions are weird, cause somewhere they say do not install the drivers windows would install by default, but then it instructed to just click install the software automatically.

USBVIEW on linux gives me this information:

Unknown Device
Speed: 12Mb/s (full)
USB Version: 1.00
Device Class: ff(vend.)
Device Subclass: ff
Device Protocol: ff
Maximum Default Endpoint Size: 8
Number of Configurations: 1
Vendor Id: 04d8
Product Id: 8001
Revision Number: 0.10

Config Number: 1
Number of Interfaces: 1
Attributes: 80
MaxPower Needed: 100mA

Interface Number: 0
Name: (none)
Alternate Number: 0
Class: ff(vend.)
Sub Class: ff
Protocol: ff
Number of Endpoints: 14

Endpoint Address: 01
Direction: out
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 02
Direction: out
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 03
Direction: out
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 04
Direction: out
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 05
Direction: out
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 06
Direction: out
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 07
Direction: out
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 81
Direction: in
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 82
Direction: in
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 83
Direction: in
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 84
Direction: in
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 85
Direction: in
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 86
Direction: in
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Endpoint Address: 87
Direction: in
Attribute: 2
Type: Bulk
Max Packet Size: 64
Interval: 0ms

Any ideas?

Also it'd be nice, if someone with the knowledge could gather all the procedures to do things with this programmer into a one instruction text. I mean like getting the programmer to a working condition, procedures to connecting a device to be programmed to the programmer and all that kind of stuff. Thanks.
 

Ok, situation is this. I also built another one at the same time. I just finished it, it missed some parts. All the other chips are different except for the 4550, cause i didn't get another programmed at the time. When i try downloading the OS to it, it reported this:

Auto-connect not enabled - Not connecting (Try enabling auto-connect on the ICD2 settings pages.)
Downloading Operating System
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to MPLAB ICD 2
ICDWarn0020: Invalid target device id (expected=0x21, read=0x0)
...Reading ICD Product ID
Running ICD Self Test
... Failed Self Test. See ICD2 Settings (status tab) for details.
...Download Operating System Succeeded
MPLAB ICD 2 Ready

On the status page, it says:

Self test
Target VDD passed
Module VPP low
MCLR GND passed
MCLR VDD passed
MCLR VPP low

Power page says:
Target VDD 4.96
Target VPP 0.00
MPLAB ICD 2 VPP 0.08

Versions page says:

MPLAB ICD 2 version 07.60.00.15
Firmware ICD2
Firmware type 18F
Firmware version 02.07.01.00
Bootloader version 01.01.01.00
Debug exec version
XML version 00.03.06.00
The LED nearest to the programming port is on, when downloading the OS, the 3rd from the programming port flashed. None of the other LEDS light. Again the 34063 seems pretty hot. Note i didn't have a target device(as in a device i wanted to program) connected, still shouldn't the self test pass without one?

Continues:
I tried connecting and it gave me this:

Connecting to MPLAB ICD 2
...Connected
ICDWarn0031: MPLAB ICD 2 contains the incorrect operating system for the selected device. Would you like to download the correct operating system?
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
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to MPLAB ICD 2
ICDWarn0044: Target has an invalid calibration memory value (0x0). Continue?
...Reading ICD Product ID
Running ICD Self Test
... Failed Self Test. See ICD2 Settings (status tab) for details.
...Download Operating System Succeeded
Setting Vdd source to MPLAB ICD 2
ICDWarn0044: Target has an invalid calibration memory value (0x0). Continue?
...Reading ICD Product ID
Running ICD Self Test
... Failed Self Test. See ICD2 Settings (status tab) for details.
MPLAB ICD 2 Ready

Ok another update:

It said invalid operating system, because i had selected target device pic10F222, so after the OS update, it said in the versions page that it was some 12F firmware. I selected target as 18F4550 and redownloaded the OS. Now it says in the versions page:

MPLAB ICD 2 version 07.60.00.15
Firmware ICD2
Firmware type 18F_EGG
Firmware version 01.04.01.00
Bootloader version 01.01.01.00
Debug exec version
XML version 00.03.06.00

It still fails self test and says invalid ICDWarn0020: Invalid target device id (expected=0x90, read=0x0). Does the target in this case refer to a device i want to program or the programmable chips of ICD2?

Another update:

After reading some pages, i understood it's the 877, that needs the OS, so i selected target as 877a and loaded the OS. Now it still fails the self test and the versions page says it's 16F firmware and different version numbers.
 

hi, may i know whether the potyo2 ICD clone is self powered in programming?Original ICD2 think have external power supply.USB can supply enough power?Need extra power supply?how is the circuit?thx
 

d_b said:
Self test
Target VDD passed
Module VPP low
MCLR GND passed
MCLR VDD passed
MCLR VPP low

Power page says:
Target VDD 4.96
Target VPP 0.00
MPLAB ICD 2 VPP 0.08

Again the 34063 seems pretty hot. Note i didn't have a target device(as in a device i wanted to program) connected, still shouldn't the self test pass without one?.

Hi friend, Please check 13 volts that must generate 34063, maybe you comite a mistake, it must not be hot, maybe have a shorcircuit??.....
the self test must past without a target device...

Jose from Peru
 

Dear users,

I just build the potyo icd2 ver C as shown in the attached schematic.
When connecting it to the usb port, the power led is lit but the usb led remains off.
I hear the beep in windows xp and a microchip apparatus is detected.
Strangely, pin 17 on the 18f4550 (RC2) gets high when the reset jumper is open and gets low when resetting the device.
Could it be that I loaded a wrong firmware because port RC1 is not used to indicate usb status ?

I used the firmware from this forum to program the bootloader of the 18f4550, and I verified it during programming.

When starting mplab 7.60 and trying to connect, I get an "unable to connect message" altough the usb device is still available in the device manager. Resetting doesn't help neither.
--------------------------------------------------------------------------
Connecting to MPLAB ICD 2
ICD0021: Unable to connect with MPLAB ICD 2
MPLAB ICD 2 Ready
--------------------------------------------------------------------------

The usb cleanup utility showed this:

--------------------------------------------------------------------------
Running on Windows XP

Device Access Test: ICD2
Pass
Connection established. Device was seen.
Connection closed.
Device should be displayed in Windows Device Manager.

---------------------------------------------------------------------------

It seems to be correctly connected.


Vdd= 4.41 V (port does not give 5V) and Vpp is around 12:60V
All pins on the 4550 have been verified with the schematic. I detected nothing abnormal.

Somebody any idea ?. I have a scope, lab psu and bench multimeter to do some tests if needed.

Thank in advance,

David Thijs
Belgium
 

potyo said:

I think that even if you did want the PGM circuit you wouldn't need the 74HC1G08 as if you look at it closely I think the only thing it does is stop the PGM pin from wildly chaning state when programming the 877

The other problem with HC1G08 is that it is a microscopic component to be dealing with (circled in picture) - barely managed with my crude PCB techniques. I probably would not have used it if I had of known about this document sooner.

 

Speaking of buffers to convert 5V signals to 3.3V:

Why PGC clock signal has bi-directional buffer?
I always thought that clock is coming from ICD2 so only one buffer 5->3.3V needed.
PGD is bi-directional signal that requires bi-directional buffer.

I am using my early design that is only 5V, but now I am moving to 3.3V PICs and trying to accomodate this without building new device.
 

Andy_123 said:
Speaking of buffers to convert 5V signals to 3.3V:

Why PGC clock signal has bi-directional buffer?
I always thought that clock is coming from ICD2 so only one buffer 5->3.3V needed.
PGD is bi-directional signal that requires bi-directional buffer.

I am using my early design that is only 5V, but now I am moving to 3.3V PICs and trying to accomodate this without building new device.

I've never seen any evidence suggesting that circuit does anything and I suspect that it was put there "just in case". I notice that on the latest revision of the genuine ICD2 the AHC126 has been removed and now only has a single 74AHC1G126 on it which I think is used for PGD (I didn't fully check but this would imply that the PGM circuitry has been removed too)
 

I Found the problem, thanks to another member who pointed me on the transistor Q4 which may be incorrectly placed on the pcb.
MCLR of the 877a was always low, keeping it resetted.

But the usb led problem remains. Probably related to firmware which does not set the correct port on the 18F4550

Thanks !
 

I notice that on the latest revision of the genuine ICD2 the AHC126 has been removed and now only has a single 74AHC1G126 on it which I think is used for PGD .
This does not make a sence. ACH126 used for 5V to 3 V and definately needed for PGC and PGD. I would expect ACHT125 to be only one.

Anyone can confirm?
 

Thank you Jose for that piece of information.

Update on my progress:
I found the cause of not having VPP. The diode D1 was the wrong way ( on both of my programmers).

The 2nd one works with 33pf capasitors and unlike i said, the other had 22pf capasitors. I changed them now to 33pf, but i couldn't get it to work. It sitll says connection lost. It's not about the 4550, because i tested both programmers with the same chip, because i don't currently have another 4550 programmed. I have to find the reason later.

The 2nd one works now. atleast it passes the self test and there's no problem connecting that one. I still have to verify it by programming something.

Few questions though:
What exactly is the USB led for? It never lights.
Why does the MPLAB always try to send a new OS to the programmer when i select another chip?
If i just program a chip, Do i need to power the chip with the programmer? I mean do i have to select that option from the settings?
I'm not quite sure about the switch in potyo2. Which way is which. What exactly were the functions and limitations of the positions?

To Potyo: I checked your website today. There was something about version 3 in your forums, but i don't understand your language. Is it something you are thinking of putting in V3 or is V3 ready?
 

USB LED lights or blink, when there is a problem with the usb connection.

Almost every chip needs different OS, this is the reason, why MPLAB sends new OS, when you select another chip.

Powering from ICD2 is fully independent from programming and debugging. If your target board has its own power supply, or it is running for example at 3.3V, then you should deselect that checkbox. Powering from ICD2 is useful only for experimenting or programming chips, which are not in target board (like old programmers with ZIF socket and similar).

-630#652957
-780#685090

There are some minor changes on the board.
1. There is no need for 4066, which can be powered from 13V. Now you can use any 74HC4066. I've added one resistor (R42) and one zener diode (D2) to make this feasible
2. I've added one pull-up resistor (R43) to 16F877's RA4 pin, because sometimes happened, that unchecking the checkbox to power target from icd2 has not disabled it physically.
3. I've removed diode and jumper from 4550's Reset pin, there is no need for it.

You can download the schematic and PCB from here: **broken link removed**

As you see, if you have built my earlier clone, you can need (if you want) to add only that pull-up resistor. you can simply add an SMD or an classic resistor to the bottom side, like on this picture: **broken link removed**
 
Last edited by a moderator:

Andy_123 said:
I notice that on the latest revision of the genuine ICD2 the AHC126 has been removed and now only has a single 74AHC1G126 on it which I think is used for PGD .
This does not make a sence. ACH126 used for 5V to 3 V and definately needed for PGC and PGD. I would expect ACHT125 to be only one.

Anyone can confirm?

Yes I just realised you are correct there. The latest ICD2 has a few SOT353 sized components around the buffering circuitry. 1GAHC126 is the only one I have been able to identify so far (and there is only one). None of the parts around that area turn up any hits in common SMD marking code databases and the only way I was able to identify the 1GAHC126 was by downloading the Texas Instruments datasheet for it and finding that the marking codes matched.

It may be that there are some 1G HCT/AHCT125's on there but I can't confirm as I mentioned earlier - cannot identify the remaining components (have checked the datasheets for all these).

One thing I have noticed is the appearance of a 74HCT04 but at the same time DG411 is gone and replaced with DG412 (inverted inputs) so this is possibly what the HCT04 is for - I have no idea why this would have been done.

If anyone was interested I could post a high res picture (upload/image server not working at the time of writing)
 

Hello potyo, Hello folks,

I build the straight potyo2, and have few to ask.

where do I receive the correct firmware for 18f4550 and 16f877A ?

when does the LED at the 18f4550 RC1 flashing have ?

sorry for my englisch.

thanks bitleiste
 

I have some problems with PicS clone :|
I have changed all transistors, the crystal, the capacitors of crystal with 15pF values (like datasheet) and the capacitor on Vusb with 220nF (like datasheet).

I have burned the two MCU with the firmware 16F877 bott and 18F4550 with MCLR off and all sectors protect from the write.

All voltages are correctly. At the C5 there is 5V and on C2 there is 13V.

The ICD2 seems to work correctly but sometimes when I change the OS the downloading freeze and I must re-burn the file boot on the MCUs with an external programmer :(.

Is it normal?
Is the ICD2 clone so unstable?

Sorry for my english :(
Bye
 

set all sectors unprotected for write
 

Thanks potyo for answering me, but you could've just as well answered bitleiste as well. The other programmer seems to be working now.

bitleiste, goto http://www.icd2clone.com/wiki/Main_Page
and there under the pictures is a link to the Firmwares.

I'm don't quite understand what your other question about the LED means. If that particular LED is the USB led, it only lights, when there's an USB error as Potyo told me few posts ago.
 

PiCS said:
set all sectors unprotected for write

Hi PiCS,
thanks for the answer :D
I have used for the PIC18F4550 the file 18F4550_bootFinal120807 downloaded from the user abrahamq....here the post:


Now I'm going to burn the firmware without the write protection (ICD2_18F4550_boot_Mclr_dis.hex)...but I think that will be the same thing :cry::cry:
I have downloaded these new files from the user alunaro...here the post:


Bye ;)

Edit:
Yes same problem...see the errors:

Downloading Operating System
ICD0031: API: Framing error
...Download Operating System Failed
ICD0029: Connected tool is not an MPLAB ICD 2: Product ID = 0x0 (MPLAB ICD (1))
ICD0082: Failed MPLAB ICD 2 operation
ICD0082: Failed MPLAB ICD 2 operation
ICD0082: Failed MPLAB ICD 2 operation
ICD0082: Failed MPLAB ICD 2 operation

And also these errors:

CD0042: API: Error response (Command Checksum Error (0x04))
...Download Operating System Failed
ICD0024: Communications: Failed to write ('$7F00
' - 6 of 6 bytes - Windows::GetLastError() = 0x0, 'Operation complete.
' - USBCOM = 0x1)


:cry::cry:
 

inaxeon said:
...

If anyone was interested I could post a high res picture (upload/image server not working at the time of writing)

hi, inaxeon
can you upload this hi-res picture. sounds interesting to me :)

best regards,
stroma
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top