Archivio mensile:novembre 2013

Conversione programmatore TL866CS a TL866A

Per chi non lo sapesse, il programmatore TL866 (MiniPro http://www.autoelectric.cn/minipro/) è uno dei programmatori più venduti negli ultimi tempi tra i migliori de-bricker/makers.

E’ un piccolo dispositivo che permette la programmazione di un gran numero di memorie (ROM/FLASH/NVRAM) e microcontrollori (MCU/MPU).

Ma non solo, programma SRAM/DRAM, PLD/GAL/CPLD ed esegue il check di molte porte logiche.

L’ultimo aggiornamento del client supporta circa 13137 ic.

Il costo è davvero irrisorio, con 50€ vi portate a casa un accessorio che vi tornerà spesso molto utile.

Sul mercato esistono due versioni: TL866CS e TL866A.

Il prezzo è praticamente identico e seppure la versione CS è stata prodotta dopo la versione A, non ha introdotto nessuna miglioria.

Anzi… una peggioria! Le due versioni si differenziano solo ed esclusivamente per la porta ICSP presente solo nella versione A.

La porta ICSP è molto comoda perchè molti controllori possono essere programmati solo attraverso ICSP, quindi la versione A permette di programmare molti più microcontrollori rispetto alla versione CS.

Come un pollo, io (ma come parecchie altre persone) ho acquistato la CS dando per scontato che fosse migliore.

Scendendo nel dettaglio, le piastre sono identiche, manca fisicamente il connettore e i firmware sono leggermente differenti.

Saldare un connettore non ci aiuterà a rendere la nostra CS in una A.

Bisogna moddare il firmware.

In aiuto ci viene incontro un utente del forum di eevblog, radioman , che programmatore alla mano ha: pubblicato un piccolo tutorial, schema elettrico e creato un piccolo software che permette di creare un firmware versione A.

Il tutto è pubblicato al post: link

Io non ho fatto altro che documentarmi e seguire il tutorial proponendovi la mia esperienza.

La mia guida riguarda una delle prime tecniche per la conversione, in cui bisognava riprogrammare il controller con un pickit.

Attualmente,  il software di radioman permette di riprogrammare tutto via usb senza usare il pickit: leggete i pdf all’interno del suo tool di conversione.

Fatta la dovuta premessa andiamo a bomba 🙂

Prima di tutto, il minipro monta un PIC18F87J50… i tizi hanno pensato bene di grattare la superficie ma grazie al PicKit2 e alla funzione di autorilevamento è stato abbastanza facile arrivare ad identificare il pic montato.

draw_1118-7

Sulla mia piastra mancava anche un condensatore che, però, non ne comprometteva l’uso.

Grazie allo schema elettrico ho potuto fixare il problema.

draw_1118-2

Menate a parte, saldiamo un connettore per l’icsp sulla piastra.

Questo sarà il connettore che servirà al minipro per programmare altre mcu via icsp… è ciò che manca alla versione CS.

Già troveremo i fori e tutto…

2013-11-18 20.46.33 2013-11-18 20.45.02

Fatto ciò bisogna installare un connettore icsp per la programmazione del PIC18F87J50 all’interno del minipro.

E’ un connettore standard icsp, io ho risolto in questo modo:

2013-11-18 20.47.49 2013-11-18 20.47.56

A questo punto non ci manca che collegare il PicKit2, dare alimentazione e procedere con la parte software.

2013-11-18 20.48.46 2013-11-18 20.49.18 2013-11-18 20.49.45

 

Scaricate il tool fatto ad-hock da radioman link

Mirror: Radioman TL866 ToolKit

Nel file zip ci sono due file pdf: in uno lo schema elettrico, nell’altro la procedura di aggiornamento e qualche dettaglio in più (molto interessante) sul firmware e la procedura di codifica e decodifica nella fase di upload dello stesso… una menata pazzesca ma bella!

Ogni minipro ha un proprio DevCode ed un proprio SerialNumber univoco.

Lanciamo l’applicativo e cloniamo entrambi i codici.

Collegate il vostro minipro, andate sulla linguetta “firmware”, poi “clone”.

ciao

Magari salviamoci il codice su un file txt e conserviamolo.

Mettete la spunta su “full flash”, “generate TL866A firmware” e poi “save”

2013-11-18 21_03_11-TL866 firmware updater (1 device connected)

L’applicativo creerà un file .hex che sarà il nuovo firmware versione A, con DevCode e SerialNumber appena indicati, da caricare nel PIC18F87J50.

Potete sia creare nuovi seriali con la funzione random (Edit) oppure editarli a mano.

Pare che la cosa per ora sia ininfluente in quanto non è presente un meccanismo di blacklist o cose del genere…

Ora abbiamo un file .hex versione A con i nostri seriali originali…

Avrete bisogno di un programmatore esterno…. per programmare il tl866 (!!!).

Io ho usato un PicKit2, voi siete liberi di usare ciò che vi pare a patto che riesca a programmare PIC18F87J50.

Il  PIC18F87J50 del minipro ha il CodeProtect abilitato, quindi potete scrivere ma non leggere il contenuto di memoria.

2013-11-18 20_55_38-PICkit 2 Programmer

Da come si evince dall’immagine, dopo una lettura, non otteniamo un bel nulla… tanti 00000 e una bella scritta in rosso Code Protect.

Passiamo alla procedura di writing.

Importiamo il file hex appena generato dall’applicativo di prima.

Immagine

Immagine1

 

Immagine2

Clicchiamo su write! 🙂

Immagine3

Immagine4

Apriamo il client del del mini pro e….

Immagine5

 

BINGO!!! 🙂

Adesso c’è da capire se prima o poi dovremmo dare un nuovo seriale o tornare in CS… ma penso di no!

Mi terrò il mio minipro a vita così 🙂