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 to all
I just finished the assembly of my version of ICD2 **broken link removed**.
Everything works fine when I debug and program a PIC18F4550, but when I try to program in debug mode a PIC16F877A or 876A I am getting the following error:
Verify failed (MemType = Config, Address = 0x2007, Expected Val = 0xF772, Val Read = 0x0
Then the ICD cannot identify the device any more(Invalid target device id (expected=0x71, read=0x0)
When I read the problematic target device with a programmer I found out that the debug fuse is set. If I clear it and then connect with ICD the device is recognized again, but if try to program the same problem appears again.
Any ideas?
Thanks in advance
Nick
 

Hi NICK7

Sorry to hear you have fallen at the last hurdle!

MPLAB - what settings have you got for:
Debugger, Settings...., Program tab?

normally select • Allow ICD2 to select ........

If you specify the ranges you must be correct and include Config

Configure, Select Device - is 877A selected?
Have you got: watchdog - off, power-up timer - off, low voltage - disabled, write protect off.

Is it a hardware problem? With changing from 4550 to 877A have you changed chip or target board? If you,have changed board then suspect board.

regards ... Polymath
 

TQFP version with DG411 Vpp control
Single sided board 3"x1.3"

WARNING:I did not build this exact schematics, but layout and schematics were tested with very similar design.

Let me know if any errors.

Edit: Updated DG411 13V control per comments below - 2 switches used now.
 

Andy:

Comparing to 0430_004.pdf, it seems you didn't connect P.14 of DG411, so only 1 switch for VPP path. Why use 2 switches for VPP? I can only think of reducing 'on' resistance. But that seems to contradict with Lothur's suggestion of limiting inrush current, and NICK7's design of adding 1K series resistance. :?

How identical is 0430_004.pdf to the original ICD2 design? Which schematic is most identical to original ICD2?
 

It is possible that they used 2 switches in parallel for 13V to reduce resistance, but this will add only 17mV per each mA.
With Vpp current less tham 1 mA I don't see any voltage drop with 18F PICs.

Maybe they wanted higher Vpp current capacity for PIC16C?
Or just don't leave open switches.

Anyway, the reason I dropped this is because I can't make single sided artwork in this area - too much for a single sided board.

Edit: I will redesing board tonight to use dual switch on 13V
 

Hi R2D1

I think the DG411 is a good solution. It provides:
Hi-Z when all off
Break-Before-Make - by software port data buffering
Current limiting for switches - on resistance of 35Ω
Two switches in parallel for Vpp will ensure /MCLR risetime is less than 1µS (MChip Spec) when charging any reset capacitors on target board.

From MChip prog. spec.
Do not allow excess time when transitioning MCLR between
VIL and VIHH; this can cause spurious program executions to occur.

I understand this is Original ICD2
**broken link removed**
but some say not - some say Original uses 74AHC buffers
perhaps those who know better could post Original
It is known that MChip market different designs under the same part number because the functionality is the same.

If you anticipate using PIC24 or dsPIC 3v3 devices or a target Vdd lower than 5V0 then you will need output buffers. Refer to:


Seems a shame to do all this work without including buffers.

Polymath
 

polymath said:
Seems a shame to do all this work without including buffers.
Funny, I've been thinking the same thing these last few days. The never ending compromises between fuctionality, capability, simplicity, size, and economy (grin).

Bravo Gentlemen on your excellent effort and detective work on this project.

Kind regards, Mike

<added>

Hey guys, does this Hong Kong clone appear to include the buffers? It looks like a decent through-hole layout.

**broken link removed**
 

Clone is clone, it will never be as good as the original.

We should definately address 3V3 issues, more and more people using 3.3V devices...

I updated Vpp control with 2 switches on 13V - see above
 

Andy_123: Clone is clone, it will never be as good as the original.
- WHAT ? So Negative and Wrong.
The definition of a clone is - an identical copy.
You are talking about a poor copy with less features - NOT a clone!

A true clone would be identical in all aspects - nothing lost - nothing added.

What we have here - through the good work and resource of EDAboard members is a great opportunity to create a design that not only has all the functionality and features of the original but can surpass it. Enhanced features, easier manufacturing, less components, less cost etc., etc.

Please do not refer to these lesser compromised designs as clones - they clearly are not!

Polymath
 

Polymath
You are correct, we are not trying to make clone,
it will be wrong word here,
we are trying to get functional analog as close as possible to the original...
 

Mike, K8LH

I agree a neat clean design containing:

PIC18F4550 with 16MHz xtal
PIC16F877 (now obsolete) with 20MHz xtal
1 x 74HC126, 1 x 74HC125, 1 x 74LS07N,
powered ONLY from USB
MC34063 for adjustable +VHH via 5k0 preset (20k & 10k on earlier designs)
2 x transistors for switching Vpp line
1 x jumper to isolate target Vdd
1 x 3pin Voltage REG?? any guesses?
3 x LED - USB, Busy, Error
1 x Power LED simple but saves hours fault finding

It looks like the place for a polyfuse has been taken by a wire link.
I use a autoreset polyfuse on Vbus to protect my PC USB ports - as yet no one has suggested protecting the expensive PC hooked on the input.

How about an galvanically isolated ICD2?
This would be far superior to any existing design.

Just a thought!
The USB Specified Maximum capacitance that can attached to the Vbus of a USB port is 10µF.


accept no limitations - only consequences!© ... Polymath
 

PIC18F4550 with 16MHz xtal
PIC16F877 (now obsolete) with 20MHz xtal
1 x 74HC126, 1 x 74HC125, 1 x 74LS07N,
powered ONLY from USB
MC34063 for adjustable +VHH via 5k0 preset (20k & 10k on earlier designs)
2 x transistors for switching Vpp line
1 x jumper to isolate target Vdd
1 x 3pin Voltage REG?? any guesses?
I don't see inductors for 34063?
No ferrite bead for USB +5V

Strange choice 16 MHZ for 4550 and 20 MHZ for 877.
Why not to use both 20MHz?
 

Andy_123
The inductor is an axial lead type - the green component just below the input cap., shottky diode and output cap.
The other components look like three resistors and preset for feedback.
Filter ceramic cap. and large current sense resistor.

Ok perhaps a ferrite could go where the link is - but from sad experience I recommend a fast polyfuse - I tend to build and solder live circuits - a bad habit!!

Yes, the designers have missed a considerable saving - using only one 20MHz xtal
- was this a brazilian, mcu.cz or EDAboard idea - I cannot remember?
If they are still using 877 they have old or cheap stock to use - perhaps the same applies to their xtal stock.
I bet their design will change - even putting a jumper wire on their existing production board - it is worth £.. $ .. yen ...


best regards ... Polymath
 

this guy is from Hong Kong,

deleted link...
 

Andy_123
Yes, I was aware of them but I was not going to advertise for them (a business) - unlike mcu.cz this Hong Kong business does not provide info & circuit details to help others.
They are a business not a charity.

Polymath
 

What about this one here

**broken link removed**

Could I/we get rid if the CY7C64613 and repalce it with the 18F4550 part and get rid of the serial part and the PSU and add our own and just use the resst of it

Just a thoght as there are pelnty of good design out there

wizpc
 

Hi wizpic
I saw that some months ago - the majority is the same as MChip CypressUSB ICD2 which I have built.
Output buffers are as discussed on:


The rest in my opinion over-complicates the design without any advantage - specifically - the power supply - using less common components.

It is all surface mount - might be a problem for some.

But if you like it Go-For-It!

Polymath
 

Hi
After of one day of dramatic (and traumatic!!!) debuging I found sourse of the error I refered in my previous post. I replaced the 330R resistor at the output of the PGC (Clock) driver with a 15R. Now everything works fine. I program & debug with no errors 16F876A, 877A and 18F4550. It is very very fast!!!My design includes double power supply (USB or EXT automaticaly choosen), 125,126 buffers, tl497 for delivering 12V (with the digital pot), and DG411. Many thanks to all people that work and help me through this forum.
(Info you can find in my web page, look my previous post)
Nick
 

First off, thanks to everyone who has posted their work on this forum. It has been very educational to follow the thread as the designs progressed.

I have just built a 4550/877A ICD2 clone using the PCB layout and firmware from "PICS".

I am running Windows 98 and MPLAB V7.40. I can see the ICD in Device Manager as Microchip MPLAB ICD 2 Firmware Client. If appears and disappears as I plug and unplug the ICD. Both the Power and USB LEDs are lit. When I try to connect to the ICD, all I get is:

MPLAB ICD 2 Ready
Connecting to MPLAB ICD 2
...Connected
ICDWarn0054: MPLAB IDE has lost communications with the MPLAB ICD 2. Would you like to attempt to reconnect?
Connecting to MPLAB ICD 2
...Connected
ICD0286: Unable to communicate with ICD
ICD0082: Failed MPLAB ICD 2 operation
MPLAB ICD 2 Ready


If I try and download the OS I get:

Downloading Operating System
ICD0042: API: Error response (Command Checksum Error (0x04))
...Download Operating System Failed
ICD0024: Communications: Failed to write ('$7F00
' - 6 of 6 bytes - Windows::GetLastError() = 0x0, 'The operation completed successfully.
' - USBCOM = 0x1)
ICDWarn0054: MPLAB IDE has lost communications with the MPLAB ICD 2. Would you like to attempt to reconnect?
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

The Busy LED is lit during the OS download followed by the Error LED.

I have reflashed both the 4550 and the 877A with no change. Does anyone have any recommendations on where I should focus next?. I have run out of ideas

Cheers,

Adrian
 

what pcb? you must check soldering, shortcuts etc. It runs smoothly. Only yesterday I got message that this is not original ICD2.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top