I'm not sure what really happens on boot up. normaly the CY7C64613 loads its code from USB. but it can also retrieive some configuration data from the EEPROM. CY7C64613 also offers to boot completely from EEPROM. at the moment i have no idea what's going on on the ICD2.
I'm working on it.
The firmware for the CY7C64613 in the ICD2 is downloaded on the USB interface. If you look in the ICD2_USB drivers directory under MPLAB, there are two ".inf" files: one loads a driver for the "raw" CY7C64613 and the other loads a driver for the configured CY7C64613.
The EEPROM in the ICD2 has to contain the correct enumeration information (vendor ID and product ID) so that the Windows driver will recognise it and download the firmware. The file "icd2.mp3" looks like it contains the correct data (the numbers match the ".inf" file settings), but I haven't checked this.
I was also hoping to build a USB ICD2, but can't find anywhere in the UK to get the 52-pin CY7C64613 (the 80-pin version is available from RS).
other question:
someone knows what value to use for the USB power inductivity. on the pictures of ICD2 found in the forum icd2.de.vu denoted as L2 and L5. the inductivities are used to limit the inrush current.
hi all
yet another schematic.
finally i finished to enter the schematic with USB interface. feel free to check for errors. my design is completely SMD. I will publish the PCB in *.pdf format as soon as I finish the layout.
j
(unfortunately I can't share the *.sch and *.brd files, you know why :wink: )
Hi jenda
I've look for your schematic, i thnik it was a problem with the buffers 74HC125.
You must put two 74HC125 in parallel for each entry. I've realized it with only one on each entry and it doesn't work correctly.
Look at my schematic on the board, or on www.mcu.cz, you will seen how the buffers are plugged
The original ICD2 uses a 74HCT device for the input buffers. Maybe this explains why it only needs one gate but CrazyDuck needs two. My prototype using DIL ICs works fine with a 74HCT126 with inverters on the enable line (as per real ICD2).
I found some other bugs concearning the buffers. the input-buffers should accept TTL levels as mentioned above. therefore a 74HCT125 has to be used. the output buffers are standard CMOS 74HC126 and are powered from the target. as a consequence U9C has to be exchanged in order to get the right supply. so I used the third gate of the 74HC126 and changed U15 from NAND to AND like it is done by microchip (see pics foun on EDAboard).
I will post an updated version later when all bugs are found.
bufers on 74HC125 and 74HC126 in my design from www.mcu.cz is parallel only for corecting level on unused gates and simplify DPS realy nice joke, no :lol: :lol: :lol:
Output bufer (74HC126) is powered from target due to corect level for target power in range 2-6V. Input buffer is power from ICD2 and transform input levet (2-6V) to corect for PIC in ICD2
Hi
The /ENABLE input of the thirt output buffer is also inverted. That is the reason why I used the NAND. What I messed up is the supply of the buffers. I changed it and use now a NAND and a noninverting ENABLE. All output Buffers a powered by the target and the input buffers are powered form ICD2 and are TTL level. As mentioned I will post the final version later.