Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic 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.

Register Log in

icd2 high-level description

Status
Not open for further replies.

fejesjoco

Newbie level 2
Joined
Apr 23, 2008
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,321
pov 16f877

Hi!

Could someone please show me where I can find a summarized, high-level description of how ICD2 works, from a schematic designers point of view? I'm sure it's somewhere, the ones who built the first ICD2 clone ever must have figured that out (the hard way, by reverse engineering), I just can't find it, not as a whole anyways, only bits and pieces. By higher level I mean English words instead of schematics. My problem is that there are too many different versions of ICD2 clones, and the differences between them make it hard for me to understand the root, basic idea that these clones are based on. I need this because I want to make certain modifications, and when I see an already customized clone, I'm just not sure what I can remove and what to keep, or what was already removed from that version. So I figured that if I know the basic circuit description, the algorithm how it works, how MPLAB controls the two PIC's in it, how those PIC's control the other peripherals and IO pins, then I will understand everything. Not a specific implementation, not the detailed USB protocol, just a schematics-focused, high-level building block, interconnections outline.

Here's an example of what I need, and partly what I already figured out. 8 particular pins of the 18F4550 should be directly connected to 8 pins of the 16F877, these are sometimes referred to as PSP0..7. RB1,6,7 of the 16F877 should be connected to pins 1,2,3 of an MCP41010. If the ICD2 want an X volts programming voltage, then it sets the digital potmeter's wiper to position Y. When self testing, he 16F877 measures the required voltages by using the AN0..3 pins which are connected to what and what. The 18F4550 resets the other PIC by sending an X value to it's RB3 pin. You know, something like this, the outline, the idea behind all ICD2 schematics.

Also, here's an example why I need such a description. Take a look at potyo's 2.1 version clone. The VDD is inverted two times in a row and I don't see WHY, seems like it's connected nowhere. The PGD pin of the 18F4550 is constantly pulled high and I don't see WHY. This version also features a customization, it lets you separate the ICD2 from the target after you finished programming, it's achieved with a jumper and the ISP-PGD and ISP-PGC are routed through a 74HC4066 switch IC. This is one of the things I mentioned which is a deviation from a basic idea, a customization I don't necessarily need and can safely remove. This specific clone is just an example, the same goes for all other ICD2 clones I've seen so far. Some have their own additions, some have removed unused things, and I just can't reconstruct the original idea by looking at any of them.

Hope you understand what I need, and hope the good answer exists somewhere.

Also, another question. As you'll see, if I want to create schematics, it doesn't matter because it's implemented in the firmware, so this one is just out of curiosity. How can MPLAB reprogram the 16F877 when it's PGD and PGC pins are used for something else (ie. the digital potmeter)? And how can the 18F4550 reprogram itself? I mean, how can a code rewrite itself while running?
 

blueroomelectronics

Advanced Member level 5
Joined
Sep 17, 2006
Messages
1,686
Helped
179
Reputation
356
Reaction score
77
Trophy points
1,328
Location
Toronto, Canada
Activity points
8,700
icd2 reverse engineering

I've got a simplified version of the ICD2 on my site. The Inchworm with schematics. Works like a charm, popular kit and only two ICs.
And there are rules concerning PGC & PGD if you want to use the ICD.
 

fejesjoco

Newbie level 2
Joined
Apr 23, 2008
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,321
icd2 versions

I knew about Inchworm, but I didn't notice that pdf earlier, now I did and read it. So now I know that the resistor, inductor etc values don't need to be exactly the same in the clones, because the generated voltage is loop controlled. So if the dc-dc conveter supports the needed voltage range, the ICD2 will find the correct digital potmeter wiper position by guessing. (Also, I see it everywhere that the wiper is connected to a terminal, that's pointless, isn't it?) Now, you see, if you look at a schematics of a clone, you can't tell this information, one might think that those values are the only possibility, and looking at other schematics may just be more confusing. So now I know a lot more about the power supply, but the Inchworm doesn't have a 18F4550 in it, so I'm still interested in the interconnection logics.
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top