ICD2 - Clone

L'icd2 è un programmatore/debugger ICSP (in circuit serial programming) di casa microchip. Permette il debug e la programmazione della maggior parte (se non tutti ) dei device pic serie 16/18/24 e dspic. Un paio di anni fa, dato il costo eccessivo del programmatore originale ho iniziato a cercare in rete qualche soluzione "alternativa" e ho trovato un progetto su un sito tedesco di un ICD2-clone. Cosi ho deciso, basandomi sullo schema trovato sul sito tedesco (harald sattler) di modificare leggermente lo schema e di rifare il pcb per adattare il tutto alle mie esigenze.

Premessa

Esistono diverse tipologie di icd2-clone:

  1. Usb native: Utilizza un pic 18f4550 come interfaccia pc-->usb-->icd2
  2. Usb emulata: Utilizza un FT232 come interfaccia usb/seriale per comunicare con l'icd (è il nostro caso!!)
  3. Seriale: Utilizza un max232 come interfaccia usb/seriale
Nel mio caso analizzeremo il secondo tipo di ICD2.



Breve Descrizione del funzionamento

Non sto qui a farvi la pappardella sul come e il perchè di ogni particolare, ma vi spiego solamente come funziona a grandi linee un ICD2. Pensiamo di dividere in due parti l'icd, la prima parte ha il compito di dialogare con il pc (quindi attraverso la porta usb , utilizzando quindi l'integrato ft232). La seconda parte composta da un pic 16f876a ha il compito di contenere un fw apposito (scaricato in automatico da mplab sul pic-debugger) che permette di debuggare il device su cui stiamo lavorando.

In poche parole mplab si programma il pic16f876a presente sull ICD2 per poter debuggare il device su cui stiamo lavorando:-)

Installazione

Per poter far funzionare l'icd2 sul nostro pc dobbiamo fare due operazioni:

  1. Installare i driver per l'integrato FT232
  2. Far riconoscere l'icd2 a mplab

La prima operazione è molto semplice ed intuitiva, si possono scaricare direttamente i driver dal sito Ftdchip e installarli

La seconda oeprazione può essere un po macchinosa in quanto le ultime versioni di mplab riconoscono solo la porta seriale com1. Visto che l'integrato FT232 è un VCP (virtual comm port) dovremo spostare manualmente il numero di porta su com1, andando in risorse del computer->pannello di controllo-->sistema-->gestione periferiche. Ora troviamo la periferica appena installata (quella dell'FT232) e clicchiamo su proprieta di tale perferica. Navigando tra le schede si trova la voce Numero porta che è da spostare su com1 o com2.





A causa di non so quale motivo su alcuni pc mi è capitato di dover spostare su com2 la porta e impostare com1 su mplab per fare funzionare l'icd.

Per fare un test una volta impostato su mplab l'icd (attraverso Debugger-->settings) provate a cliccare su connect. Se tutto funziona (non vi saranno errori rossi ma un solo warning dovuto all'interfaccia pc-rs232). Mentre se vi appare l'errore 0x02 getLastError() significa che non avete impostato bene la porta su cui connettere l'icd2 (sia su mplab che in gestione periferiche).

Una volta fatto cio potrete iniziare a lavorare con il vostro icd2 clone:-)

Per qualsiasi altra domanda contattami pure. Vi metto il necessario (file e schemi+pcb) qui a lato, pronti per essere scaricati.

File

[ Firmware per pic16f876a]
Scarica

[ Schemi + Pcb ]
Scarica