Tutorials - PIC

 

ICSP-ICD


ICSP

Dunque, per programmare un PIC basta connettere al dispositivo di programmazione le linee sopra indicate. E questo può essere fatto anche se il chip NON viene estratto dalla scheda su cui deve lavorare e messo nello zoccolo del programmatore (cosa indispensabile per gli smd).

Infatti, basterà che questi pin siano resi disponibili all' esterno della scheda attraverso un semplice connettore unificato. Questo, se realizzato correttamente, permette di programmare il PIC anche senza toglierlo dalla scheda su cui è montato. Anche senza la necessità di un dispositivo di programmazione con ZIF.

Questa connessione viene chiamata ICSP - In Circuit Serial Programming.

Sfruttando il modulo integrato di questa comunicazione seriale ad alta velocità, in diversi PIC è stata implementata una ulteriore circuiteria ausiliaria che ha lo scopo di supportare la funzione di debug on-board, direttamente attraverso le risorse del componente e senza aggiungere altri moduli esterni.
Questa funzione è denominata ICD (In Circuit Debugger).
Attraverso l' ICD è possibile avanzare passo-passo le istruzioni, eseguire il programma con breakpoint, visualizzare i registri di memoria e modificarli, visualizzare gli SFR e modificarli, il tutto senza rimuovere il chip dalla sua posizione sulla scheda.

Microchip ha sfruttato gli stessi pin della programmazione per effettuare una connessione seriale tra il sistema di sviluppo (un PC con installato l' ambiente di sviluppo, ad esempio MPLAB) e il microcontroller: così si può parlare di una connessione ICSP/ICD unica.

Dunque, implementando sulla scheda una connessione ICSP/ICD avremo la possibilità di programmare il PIC senza spostarlo e, per i modelli che ne sono dotati, potremo anche effettuare un debug completo del firmware, sempre senza muovere il chip. 

 


  • Tenere ben presente che anche i dispositivi di programmazione che utilizzano zoccoli o ZIF impegnano solamente i pin di alimentazione del PIC e quelli dei segnali di programmazione.
     

  • Durante la programmazione non occorre che il chip sia fornito di oscillatore o altri componenti esterni.
     

  • I pin utilizzati per programmare il chip, prima e dopo l' operazione di programmazione sono rilasciati alle loro funzioni originarie. La programmazione HVP con ICSP non sottrae all' uso nessun pin.
    Per contro, la programmazione LVP, sempre possibile attraverso la stessa connessione, sottrae all' uso un pin, chiamato PGM.
     

  • La funzione ICD utilizza gli stessi pin ICSPDATA-ICSPCLK che sono usati in programmazione e li impegna per tutto il tempo del debug, dove non possono essere utilizzati per altri scopi. PErò, al termine del debug, i pin sono rilasciati alla destinazione prevista dal programma
     

  • ICSP/ICD non rende inutili i dispositivi di programmazione esterni, in quanto essi saranno sempre necessari per la produzione, dove occorre ripetere la programmazione su vari chip, o anche su molti per volta (gang programmer), indipendentemente dal sistema di sviluppo del software.
     
    Ma certamente rende il dispositivo di programmazione del tipo visto all' inizio, superfluo per la sperimentazione, i prototipi, l' istruzione, ovvero dove si stanno sviluppando programmi o si fanno modifiche e aggiornamenti del firmware, che è pratico poter inserire rapidamente senza levare e rimettere il chip sulla scheda. 

 

Vediamo più dettagli.


 

   

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 02/10/11.