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.
PROGETTO
In Circuit Debugger per MCU Microchip, compatibile ICD2
AUTORI
Walter Lain
Massimo Lunardon
CARATTERISTICHE
- Connessione USB (emulazione RS232)
- Compatibile con ICD2 Microchip
- Puo' eseguire il debug in-circuit
- Fusibile di protezione
- Jumper per fornire alimentazione alla scheda in debug
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