Microchip ICD 2 és PICkit 2 klón építése (és összehasonlítása AVR USBtinyISP-vel)

Elhatároztam, hogy az eddig elhanyagolt PIC mikrovezérlőkhöz építek egy rendes programozót ill. debuggert.
Előzmények: 2000-ben építettem első programozómat egy JDM 2-t, ami soros portra csatlakozik. Ez többé-kevésbé működött: általában jó volt, de néha többször kellet próbálkozni, mire sikerült a flash-be beégetni a programot. Miután megírtam a szakdolgozatomat nem nagyon foglalkoztam PIC-ekkel. Az időközben eltelt majd' 10 év alatt a soros vonal eltűnt a számítógépekről, emiatt a JDM 2-t már csak egy nagyon régi Athlon XP processzoros számítógéppel tudom használni.

Microchip ICD 2 klón

Egy-két hete elkezdtem építeni egy ICD 2 klónt. Potyo terveit használtam fel. Az USB kapcsolatért felelős PIC18F4550-t és a PIC16F877A-t is felprogramoztam a régi JDM 2-vel. Az PIC18F4550-es IC működött is, ha rádugtam a számítógépre látszódott az USB eszköz, de sem az MPLAB és a Piklab sem tudott kapcsolódni. Egy ideig próbálgattam cserélni 74HC4066, 74HC126 és 74HCT125 IC-ket, de az nem hozott javulást. Úgy tűnt, hogy a PIC16F877A nem működik. Amikor később egy másik PIC16F877A-t próbáltam felprogramozni, már nem sikerült.

Párhuzamos portos Tait programozó

Tehát építettem egy párhuzamos portra csatlakoztatható Tait kompatilibilis programozót, amiben 74LS06 helyett ULN2803 IC-t használtam.
Tait programozó Tait kompatibilis programozó
A Piklabból működött, de elég nehezen sikerült feléleszteni és nem igazán volt megbízható, nehezen sikerült a programozási műveletet elindítani. Egy-két próbakapcsolást készítettem PIC18F1220-al, hogy teszteljem a programozót, a Piklabot és az SDCC-t.

Microchip PICkit 2 klón

Majd ezután nekiláttam egy (illetve kettő) PICkit 2 klónt (ua. magyarul) készíteni. Most már látom, hogy a FET-ekből felépülő típus helyett egy bipoláris tranzisztorosat kellett volna megépítenem. Az ellenállásokat és a kondenzátorokat felületszerelt változatra cseréltem ott, ahol lehetett. A PICkit 2-be kerülő PIC18F2550-t a Tait programozóval égettem. Ezek majdhogynem elsőre működtek, de ezek sem hibátlanul: nem mindig sikerül a programozás. A pk2cmd Linuxos változatát használtam, mert sajnos a Piklab csak az 1.x-es verziójú firmware-eket támogatja.
PICkit 2 klón

Microchip ICD 2 klón építésének befejezése

A PICkit 2-vel végül sikerült felprogramozni a PIC16F877A-t és az ICD 2-m is működőképessé vált. A kör bezárult. Most van három USB-s és egy párhuzamos portra csatlakoztatható PIC programozóm/debuggerem. Bár egyik sem tökéletes.
Potyo féle ICD 2 klón

Atmel AVR USBtinyISP

Valószínűleg elfogult vagyok az AVR-ekkel szemben, de az USBtinyISP elkészítése ehhez képest pofonegyszerű volt. Először építettem egy párhuzamos portos programozót, ami szó szerint négy ellenállásból és a csatlakozóból állt és azzal felprogramoztam az ATtiny2313-at. Majd ezt az IC-t beraktam az USBtinyISP NYÁK-ján levő foglalatba és kész. Az avrdude megbízhatóan kezeli: nincs olyan, hogy nem ismeri fel a cél IC-t vagy hiba történik programozás közben. Bár tény, hogy az USBtinyISP csak egy programozó, debuggolni nem lehet vele.