MPLAB Snap: programmatore/debugger a basso costo per microcontrollori PIC® e AVR

Oggi la Microchip ha annunciato un nuovo programmatore/debugger a basso costo (€12,80! a cui vanno aggiunte IVA e spedizione) per microcontrollori PIC®, dsPIC® e AVR. In realtà è chiaramente specificato “most of”, ovvero l’MPLAB Snap non può programmare tutti i microcontrollori non oggetto ma buona parte di essi.

Nell’information sheet dell’MPLAB Snap (scaricabile dal primo link al paragrafo “links” più in basso), è presente una tabella comparativa Snap/PICkit4 in cui in pratica il PICKit4 ha tutte le features mentre lo Snap ne manca di alcune, tra le quali evidenzio la mancata possibilità di alimentare direttamente la scheda target, la mancanza di una scocca (lo Snap è un PCB nudo e crudo), la mancanza di un cavo USB fornito con esso, la mancanza della funzionalità Programmer-To-Go, ma soprattutto, questione più importante: la mancanza della Vpp programmabile.

La mancanza di Vpp programmabile prevede che il microcontrollore PIC target venga programmato esclusivamente utilizzando la modalità LVP (Low Voltage Programming). Come dicevo in un articolo passato, la modalità LVP sui nuovi PIC non necessità più del terzo pin denominato PGM, ma viene eseguita inviando una sequenza particolare di caratteri, consentendoci quindi di risparmiare un pin. Questo significa che, a parte che lo SNAP può essere utilizzato soltanto per i PIC di nuova generazione, bisogna abilitare nella Config Word la modalità LVP. In aggiunta non dimenticatevi che la scheda target va alimentata altrimenti il PIC non sarà riconosciuto, dato che lo SNAP non fornisce tensione.

Il Pinout dell’MPLAB Snap è identico a quello del PICkit4:

Per poterlo utilizzare è necessario avere installata almeno la versione 5.05 di MPLABX IDE che, ricordo, già dalla versione 5 offre il supporto, seppur in versione Beta, per gli AVR e include anche il PICkit4 come programmatore per gli AVR (chiaramente non tutti, il supporto è in via di sviluppo). Per cui: se avete già acquistato un PICkit4 e vorreste acquistare lo Snap solo per gli AVR: è inutile. Se invece avete un vecchio PICkit, questo potrebbe essere un buon compromesso dal momento che pare essere una versione economica del PICkit4 anche se non ho idea se in futuro possa usufruire degli stessi aggiornamenti del PICkit4, ma dato il costo forse ne vale la pena.

Programmazione degli AVR

Sul manuale del PICkit4 viene detto che per poter programmare gli AVR è necessario un adattatore siglato AC102015. Dal momento che l’MPLAB Snap ha lo stesso pinout del PICkit4 io penso sia ovvio che anche lo Snap abbia bisogno di un adattatore sebbene sui PDF disponibili non sia ancora specificato. Nella pagina dell’adattatore in questione si legge:

The Debugger Adapter Board is a connectivity board that gives MPLAB ICD 4 and MPLAB PICkit 4 Debuggers cable compatibility to demo boards with Atmel-ICE, Power Debugger and Segger J-Link style connectors. It supports JTAG, SWD and ICSP protocols in multiple connector formats. It is useful for debugging legacy AVR Xplained demonstration boards with MPLAB PICkit 4 debuggers.

In pratica serve a collegare il PICkit4 alle demoboard con connettori Atmel-ICE, Power Debugger e Segger J-Link, in particolare risulta utile per le demboard AVR Xplained. Non ho l’adattatore in questione ma da quello che leggo sui manuali del PICkit4 io penso si tratti di un semplice adattatore pin-to-pin, ovvero non dovrebbero esserci componenti ma solo un routing delle linee su diversi tipi di connettore. Aspetto che qualcuno che ne sia in possesso o che abbia già fatto esperimenti mi contatti così che possa aggiornare questa parte dell’articolo.

Dato che in molti me l’hanno chiesto, sottolineo che, al momento di stesura di questo articolo, lo SNAP offre supporto parziale per l’ATmega2560 (quello montato su Arduino MEGA) e nessun supporto per l’ATmega328 (quello montato su Arduino UNO).

Nel manuale del PICkit4 c’è questa tabella che indica la corrispondenza dei pin ICSP con gli altri sistemi di programmazione:

 

In particolare l’AVR ISP è il connettore tipico da 2×3 pin presente anche su Arduino UNO. Nel seguente video della Microchip viene spiegato come creare un progetto per AVR in MPLABX Ide (ma viene utilizzata una board Xplained mini, che ha il programmatore già integrato):

Links

Se questo articolo ti è piaciuto, condividilo su un social:
Se l'articolo ti è piaciuto o ti è stato utile, potresti dedicare un minuto a leggere questa pagina, dove ho elencato alcune cose che potrebbero farmi contento? Grazie :)