Il PICkit 4 è pronto a mostrarvi di che pasta è fatto

Qualche mese fa, dopo aver ricevuto in regalo un vechio PICkit 1, ne avevo approfittato per parlare dei 15 anni di programmatori Low-Cost Microchip. Sembra che abbia in un certo modo anticipato o previsto gli avvenimenti successivi: il 27 Febbraio di questo anno è stato difatti rilasciato il PICkit 4.

Finalmente! Erano ormai arcinoti i comportamenti frustranti del PICkit 3 (per molti dei quali scrissi un articolo): in primis i cali di tensione all’atto della programmazione (PICkit is trying to supply XXX volts but …) che ci costringevano a ricorrere all’alimentazione esterna del circuito.

Per non parlare della lentezza della programmazione, aggravata dal fatto che quando si cambiava tipologia di PICmicro doveva essere flashato ogni volta un nuovo firmware.

Il fatidico downloading programming executive, in verità, era più che altro una condizione imposta dall’architettura scelta per realizzare il PICkit3 (PIC24FJ256GB106), in quanto non era possibile contenere gli algoritmi di programmazione di tutte le famiglie dei PICmicro. Il PICkit 3 difatti, a differenza del predecessore PICkit 2, supportava una quantità decisamente superiore di dispositivi che ne faceva, nonostante i problemi, una scelta quasi obbligata nel momento in cui volevamo utilizzare famiglie nuove di PICmicro e comunque stare al passo coi tempi.

Si sperava che con la nuova versione venissero risolti tutti i problemi. Non vorrei dire baggianate, ma, osservando le scelte fatte per l’hardware della quarta revisione del nostro programmatore low-cost preferito, deve essere stata determinante l’acquisizione della Atmel! Ad ogni modo il PICkit 4 soddisfa le nostre speranze e ci fa tirare un sospiro di sollievo!

La cosa bella del PICkit4, poi,  è il fatto che avrà il supporto per programmare gli AVR!

L’occhio vuole la sua parte

Il PICkit 4, a differenza dei fratelli che venivano forniti in un blister di plastica trasparente che non lasciava spazio a sorprese, ha una sua elegante scatola all’interno della quale troviamo anche due adesivi.

Partiamo dalla cosa che, da buoni umani, per prima ci colpisce quando andiamo ad aprire la confezione: l’estetica. Il PICkit4 abbandona la forma “giocattolosa” dei predecessori ed assume un aspetto  professionale: è spesso quasi il doppio rispetto ai fratelli apparendo solido al tatto, squadrato, con un pannellino in alluminio frontale sul quale è riportato il nuovo logo a scudo adottato dalla suite MPLAB X e in cima al quale troneggia una barra a led RGB che serve ad illustrare lo stato di funzionamento e le condizioni di allarme del dispositivo (a differenza dei 3 led separati che avevamo prima).

Il pulsante che serviva alla programmazione On-The-Go c’è ancora ma è nascosto sotto lo scudo: premendo la parte in alluminio si sente il click. Il connettore mini-usb è stato abbandonato a favore di un micro-usb ma qui, permettetemi di dissentire con la scelta: avrei preferito il connettore USB tipo C, il micro-usb è quanto di peggio si potesse inventare. A questo punto, per me, era meglio lasciare il mini.

L’occhio quindi ha la sua parte, e dal punto di vista estetico devo dire che, personalmente, mi soddisfa tantissimo. Come dicevo prima non si ha più la sensazione di avere un giocattolo tra le mani bensì uno strumento solido ma la vera rivoluzione si trova all’interno: un PCB completamente ridisegnato e ricco di sorprese.

Sotto al cofano

Sul PICkit1, nel 2003, avevamo un PIC16C745: il primo PIC dotato di modulo USB (1.1) e in tecnologia CMOS. Nel 2005 siamo passati al PIC18F2550 del PICkit2. Si prosegue abbandonando i dispositivi ad 8bit e nel 2008 il PICkit3 vanta un PIC24FJ256GB106. I primi 3 PICkit hanno avuto una differenza di età davvero bassa. Per avere la versione 4 abbiamo dovuto aspettare ben 10 anni! E in tutto questo tempo le cose cambiano di brutto!

Come dicevo più in alto: sarà forse stata determinante l’acquisizione della Atmel ma fatto sta che nel PICkit4 la Microchip abbandona il PICmicro e opta per un dispositivo a marchio AtmelATSAME70Q21B : una MCU ARM Cortex-M7 32bit/300MHz su cui gira un RTOS.

La MCU è coadiuvata da una FPGA che svolge funzioni di supervisione e spinge ulteriormente la velocità di programmazione, il tutto è accompagnato da un buffer di memoria SRAM da 2Mb. Insomma, sulla carta il PICkit 4 è un vero mostro: la forma va a braccetto con la sostanza.

L’adozione di due logiche programmabili mi fa anche pensare che possa esserci molto filo da torcere da parte del mercato dei cloni, a meno che Microchip non decida rilasciare i sorgenti come ha fatto in passato.

La famiglia PICkit al completo!

Ho fatto delle prove programmando tutte le tipologie di PICmicro: dai 12F fino ai 32MX: come scritto anche nel file di Help, a differenza del PICkit 3 non c’è più il lag fastidioso dovuto al cambio firmware a bordo e la programmazione è davvero una scheggia, ad occhio direi dalle 3 alle 5 volte più veloce del predecessore. L’unico rallentamento l’avremo la prima volta che lo usiamo: momento in cui verrà caricato il firmware aggiornato (a proposito: è necessaria la versione 4.15 di MPLAB X IDE).

Nel caso in cui la velocità di programmazione elevata dovesse causare problemi, nelle opzioni del programmatore, presenti nelle proprietà del progetto MPLAB X, è possibile scegliere anche le velocità bassa e media.

Le novità nel comparto hardware non si fermano qui. Prima di tutto abbiamo la funzione “Programmer on the go” supportata dalla possibilità di inserire una scheda microSD sul retro, sulla quale possiamo caricare l’HEX da caricare sul nostro PICmicro, e, in aggiunta, il PICkit4 può anche non essere collegato ad una porta USB! C’è difatti la possibilità di alimentare il nostro nuovo programmatore direttamente dalla scheda su cui si collega.

Il range di tensione si è allargato, si è passati dai 2.0 – 5.5V del PICkit3 agli 1.2-5.5V del PICkit4 e, in aggiunta, quando nelle opzioni di MPLAB X scegliamo di alimentare la scheda direttamente dal PICkit4, non abbiamo più quei fastidiosi errori dovuti a improvvisi cali di tensione: il PICKit4 è in grado di fornire più corrente e il sistema di gestione delle tensioni è più efficiente. Come dicevo sopra, ho provato tutte le famiglie di PICmicro e non ho avuto nessun tipo di problema nemmeno dal punto di vista della tensione di alimentazione.

Il connettore del PICkit4 non ha più 6 pin, bensì 8. I due pin in più permettono la compatibilità con la programmazione JTAG a 4 fili, che rimane retrocompatibile con quella a 2 fili.

Dispositivi supportati

Molti dispositivi vecchi non sono supportati (visualizziamo un pallino rosso in MPLAB IPE) e la maggioranza è ancora supportata in versione beta (pallino giallo). Si tratta comunque di un dispositivo uscito da poco per cui bisogna attendere ancora perchè tutti i pallini gialli diventino verdi (e magari quelli rossi anche!).

Le eeprom, come sul PICkit3, purtroppo non sono supportate ma, data la potenza in gioco, spero che possano diventarlo in futuro sebbene la Microchip non si è espressa al riguardo (nel frattempo se mi serve programmare le eeprom seriali uso il PICkit2!).

Ad ogni modo per particolari esigenze la Microchip ha messo a disposizione un indirizzo email a cui rivolgersi per fare richieste: PICkit4_Update@microchip.com

Le segnalazioni del led RGB

Il led RGB fornisce più informazioni rispetto ai 3 led delle versioni precedenti:

  • Blu: standby
  • Arancio: tensione target di alimentazione da PICkit controllata
  • Verde: tensione target di alimentazione da PICkit non controllata
  • Viola: bootloader in esecuzione
  • Giallo: debugger occupato
  • Rosso: operazione fallita
  • Rosso, lampeggiante piano : problemi durante l’accesso alla memoria eeprom del debugger
  • Rosso, lampeggiante veloce: comandi API del bootloader non processati
  • Bianco, lampeggiante veloce: errore di runtime nel firmware del PICkit4
  • Viola, lampeggiante veloce: debugger forzato in modalità bootload

 

Conclusioni

In molti hanno contestato l’aggettivo che ho utilizzato per definire il PICkit 4: “professionale”, perchè affermano, giustamente, che è stato rilasciato troppo presto quando molte funzioni non sono ancora pronte e moltissimi dispositivi hanno ancora il supporto in versione beta.

Tutti i dispositivi con cui ho provato davano il pallino giallo ma, nonostante questo, non ho avuto problemi. Sarà che sono abituato a soffermarmi sempre sul lato positivo delle cose ma… io la vedo dal punto di vista di chi ultimamente si sta approcciando ai PICmicro e ha la possibilità di comprare uno strumento nuovo piuttosto che spendere i soldi per un PICkit 3, il quale purtroppo ha fatto la sua epoca andando in pensione senza lasciare una buona immagine di se.

Se Microchip ha rilasciato il PICkit 4 adesso, quando gran parte del software non è ancora pronto, avrà avuto i suoi buoni motivi, sicuramente anche di carattere commerciale: cosa che noi utilizzatori, purtroppo, non siamo abituati a prendere in considerazione. Tenete conto, ad esempio, del mercato dei cloni cinesi. E’ difatti possibile trovare anche cloni del PICkit 3 che spesso danno numerosi problemi. Mettetevi nei panni di chi si avvicina ai PICmicro per la prima volta e compra un PICkit 3 cinese. Già l’originale da un sacco di problemi, come ben sappiamo. Figuriamoci un clone cinese non autorizzato! La reazione della maggior parte dei novizi è quella di abbandonare e buttarsi magari su Arduino.

Teniamo conto anche che sono passati 10 anni dall’ultimo PICkit e in questo periodo il mercato dei cloni e dei programmatori non Microchip si è espanso notevolmente, così come la scelta nel mercato delle MCU.

Per tali motivi personalmente non concordo con le critiche verso Microchip per aver rilasciato il PICkit 4 troppo presto e, se vogliamo a tutti i costi contestare il mio utilizzo del termine “professionale”… beh… potrei fare un elenco infinito di cose vendute come “professionali” ma che fatte da un bambino dell’asilo sarebbero venute fuori meglio. La Microchip difatti non ha usato tale aggettivo, l’ho messo io perchè sento di aver speso bene quei soldi, sicuramente meglio rispetto a quelli spesi anni fa per la versione 3.

Aspettiamo quindi impazienti lo sviluppo della controparte software e, per ogni problema, potete fare riferimento all’indirizzo email indicato più in alto.

Dove acquistarlo

Personalmente acquisto i prodotti Microchip sempre sullo store ufficiale: microchipdirect.com. Il prezzo attuale è di circa 54 euro iva e spedizione compresa da Microchip Direct.

Links

Dopo aver installato MPLAB X IDE 4.15, potete consultare l’help del PICkit4 che fornisce numerose informazioni utili.

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 :)