ICD2 USB Clone

In Circuit Debugger


Ultimo aggiornamento: 25/03/2013


Tutto il materiale, dove non diversamente specificato, e' coperto dalla licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo.
Creative Commons License

PROGETTO
In Circuit Debugger per MCU Microchip, compatibile ICD2

AUTORI
Walter Lain
Massimo Lunardon

CARATTERISTICHE


Questo circuito e' stato adattato partendo dal progetto di Lothar Stolz.

L'idea era di avere un programmatore/debugger economico per i microcontrollori PIC della Microchip, come parte di un progetto didattico intitolato "Programmare PIC con Linux".
Lo strumento base per utilizzare i PIC e' un programmatore. Esistono molti schemi reperibili su internet, cosi' come molti programmatori commerciali.

Se ci si accontenta di programmare un micro rimuovendolo dal circuito e posizionandolo sullo zoccolo del programmatore, con pochi euro (anche meno di 10) si puo' realizzare un semplice programmatore seriale o parallelo.

Se invece e' sconveniente o impossibile rimuovere il dispositivo dal circuito, oppure si desidera effettuare un debug sia del software che dell'hardware, occorre utilizzare dispositivi piu' complessi, quale ad esempio l'ICD2 prodotto da Microchip. La sigla ICD sta per In-Circuit Debugger, e il dispositivo permette infatti, oltre alla semplice programmazione, anche l'esecuzione (sui micro che la supportano) del debug su scheda. Questo significa poter verificare non solo che il software gestisca correttamente gli I/O, ma anche che il circuito risponda correttamente ai comandi generati dal micro.

L'ICD2 e' in vendita sul sito Microchip al costo di circa 121 euro (in data 7/1/2007), con incluso un manuale, l'ambiente di sviluppo MPLAB (gratuito, disponibile solo per ambiente Windows e non open-source), un cavo USB ed un cavo ICD.

L'IDE di cui si e' discusso in precedenza, Piklab, e' perfettamente in grado di utilizzare l'ICD2 come programmatore, mentre per ora il supporto come debugger e' agli inizi.

E' comunque evidente che la somma di 121 euro, sebbene non sia elevata (la maggior parte degli strumenti di questo tipo costa ben di piu') e non rappresenti un problema per un professionista od un'azienda, puo' essere eccessiva per un semplice hobbista.

Fortunatamente, su internet si possono reperire alcuni schemi per costruire dei cloni dell'ICD2, con funzionalita' simili.

L'unica complessita' di montaggio e' data dal chip FTDI che effettua la conversione da USB a RS232, che e' un SMD con package QUAD 0.8 a 32 pin. Peraltro, sostituendo questo chip con un MAX232, e collegando l'alimentazione ad una fonte a 5V, si puo' utilizzare il circuito direttamente con un collegamento seriale.

Il costo, acquistando tutti i componenti presso Farnell e' di 54,635 euro (a cui vanno aggiunte le spese di spedizione (circa 10 euro), ma e' possibile reperire la maggior parte dei componenti in qualsiasi negozio di elettronica ad un costo inferiore. Il micro utilizzato, che e' un PIC 16F876A, puo' essere richiesto come campione gratuito direttamente a Microchip.

Una delle caratteristiche peculiari di questo dispositivo e' che di fatto viene riconosciuto come un ICD2 anche dall'ambiente MPLAB, che provvede in caso di necessita' ad aggiornare il firmware interno. In questo modo e' stato possibile ottenere una release molto recente del firmware (la 2.7.0, inclusa nell'MPLAB v7.40, che trovate alla fine di questa pagina)

Per programmare il sistema e' sufficiente utilizzare un normale programmatore.

Alternativamente, disponendo di un altro ICD2 e' possibile saldare 5 fili direttamente al micro (come si puo' vedere anche dalla foto seguente) e programmarlo direttamente. Questo sistema e' stato utilizzato anche per recuperare il nuovo firmware, una volta aggiornato dall'MPLAB.


I drivers del chip FTDI (FT232BL) sono disponibili sul sito del produttore per molti sistemi operativi, tra cui Windows, Linux (come sorgenti), Mac OS, ecc...

In ambiente Windows occorre tenere presente che l'MPLAB non gestisce bene le porte seriali dopo la 2, se e' presente uno spazio vuoto.

In ambiente Linux con kernel 2.6 (OpenSUSE 10 e Mandriva 2007), il chip e' stato riconosciuto automaticamente ed allocato come ttyUSB0, senza necessita' di driver aggiuntivi.


Per la realizzazione della scheda fare riferimento alle pagine Incisione dei PCB per prototipaggio.

REV 2.0 - Monofaccia (6/05/2007)
Schemi elettrici e PCB (sono necessarie alcune librerie Kicad reperibili nella sezione relativa.
Firmware

N.B.: i pin 5 e 6 di U3 sono invertiti nello schema. Nel pcb sono invece corretti.

Documenti in formato PDF:
Schema elettrico
Lista componenti
PCB lato rame
PCB lato componenti
Serigrafia lato componenti
Serigrafia lato rame

REV 2.3 - Doppia faccia, con plug RJ11 (17/02/2013)
E' stato aggiunto un connettore RJ11 con lo stesso pinout dell'ICD2. In questo modo e' possibile utilizzare anche il cavetto standard fornito in dotazione con l'ICD.
Il circuito e' stato inoltre ridotto lievemente di dimensioni e convertito in doppia faccia.
Progetto kicad e materiale PDF


Vista 3D della scheda r2.0

Vista 3D della scheda r2.3


Gli autori non si assumono alcuna responsabilita' per eventuali danni di ogni tipo che possano essere causati dall'utilizzo del materiale qui' presente.

Impaginazione by KCS'81