Smartmouse


Lo smartmouse/phoenix è una doppia interfaccia necessaria per operazioni più evolute: è necessaria per smanettare sulle card originali, modificarle, leggerne i contenuti, ed è necessaria per programmare le WaferCard SMD e le Gold ID, cioè quelle in tutto e per tutto simili alle smartcard originali (vedi sezione WaferCard).

Dopo qualche periodo di lavoro tra wafer e ludipipo, vi verrà spontanea la domanda: "..Ma non c'è un'altro modo per programmare PIC ed EEPROM senza doverle tutte le volte smontare?" ..La risposta è: Si, c'è: con lo SmartMouse!

Qui trovate il progetto (originale di Red Baron) che ho seguito per la realizzazione dello SmartMouse. Nel Primo .zip trovate il progetto originale; nel secondo trovate lo stesso progetto con in più il PCB ridimensionato ed ottimizzato per essere stampato. In più ho aggiunto il disegno del pannello colorato che vedete nella foto, e che serve come memorandum per la posizione degli interruttori/deviatori.

download smartmouse_phoenix-RED_BARON.zip  (328Kb .zip)

download smartmouse_phoenix-BLUTO.zip (180Kb .zip)

smartmouse.jpg (39278 byte)

La procedura l'ho già descritta nella sezione Wafer, ma qui voglio essere ancora più preciso: vi servono una Wafer (di qualunque tipo) uno SmartMouse, un ISOmultipipo (cioè quelli con lo slot per inserire direttamente la wafer).

Aprite ic-prog, andate in "hardware settings" e scegliete la COM a cui collegare il ludipipo o lo smartmouse (nel mio caso COM1 perchè ho il modem su COM2). In "Setting" "Opzioni" potete settare anche la lingua.

ic_prog_01.gif (36645 byte)

Dovete ora settare il tipo di PIC o EEPROM con cui ic-prog dovrà lavorare; per prima cosa specifichiamo il PIC: andate in "Settaggi" "Device" "Microchip PIC" e qundi selezionate il tipo di pic con cui state lavorando: se avete una Wafer DIL leggete sul PIC (è l'integrato più lungo) la sigla: potrà essere 16F84 oppure 16F84A; scegliete il tipo di pic dall'elenco di conseguenza. Se avete una Wafer ID Gold, settate il pic come 16F84A.

ic_prog_02.gif (29611 byte)

Una volta selezionato il tipo di PIC la schermata che dovreste avere è qualcosa di simile..

ic_prog_03.gif (20022 byte)

Ora cliccate su "File Apri" e andate a caricar il vostro loader.hex; potete usare quello che (forse) viene fornito con il pacchetto che avete trovato, oppure potete scaricarne uno da me QUI. IL loader è uno speciale .hex che una volta caricato sul pic, consente allo SmartMouse di programmare direttamente la EEPROM attraverso il PIC, senza bisogno di smontare alcunche'.

Dunque caricate il loader; l'oscillatore deve risultare settato a "XT" e i fuses devono essere tutti deselezionati.

ic_prog_04.gif (21819 byte)

Quindi connettete il vostro ISOmultipipo alla COM che avete scelto, inserite la Wafer nel connettore ISO e cliccate il tasto con la saetta "Program All". Dovrebbe partire la procedura di programmazione e verifica del PIC. Se tutto è andato a buon fine vi verrà comunicato.

ic_prog_05.gif (5786 byte)

Ora dobbiamo programmare la EEPROM; torniamo in "Settings" "Device" e troviamo il modello di EEPROM corrispondente alla nostra (anche in questo caso il modello lo potete leggere sull'integrato stesso). Se, verosimilmente, aveste una EEPROM del tipo 24LC16 scegliete senza problemi il modello 24C16.

ic_prog_06.gif (21805 byte)

Per programmare la EEPROM ora dobbiamo usare lo SmartMouse, quindi dobbiamo informare ic-prog che andremo ad usare lo SmartMouse, spuntando l'opzione "Smartcard (Phoenix)" nel menu "Settings".

ic_prog_07.gif (21281 byte)

Ora andate in "File Apri" e trovate il file .hex o .bin che dovete caricare sulla EEPROM; nelle prime righe del listato potrete leggere cose del genere...

ic_prog_08.gif (20755 byte)

Collegate alla vostra COM lo SmartMouse settato a Phoenix 3,57Mhz; inserite la Wafer e accendete lo SmartMouse. Quindi schiacciate il tasto con la saetta "Program All". Anche in questo caso se la procedura è andata a buon fine ne dovreste essere avvertiti.

ic_prog_09.gif (5749 byte)

Ora dobbiamo rimuovere dal PIC il loader e caricarci invece il vero listato .hex che serve a far funzionare i codici della Wafer. Perciò togliamo l'opzione "Smartcard (Phoenix)" dal menu "Settings" e reimpostiamo PIC 16F84A come device predefinita...

ic_prog_10.gif (21221 byte)

Schiacciamo "File Apri" e cerchiamo il nostro .hex da caricare sul PIC; anche in questo caso l'oscillatore deve essere su "XT" e i fuses disabilitati se così non fosse vi consiglio di cercare un pacchetto di codici diversi e di non provare a caricare tale .hex sul PIC. Ricolleghiamo quindi alla COM l'ISOmultipipo e inseriamo la Wafer nello slot. Schiacciamo "Program All" e attendiamo il messaggio di missione riuscita.

ic_prog_11.gif (22064 byte)

Fatto. Avete programmato la SmartCard senza smontare gli integrati. Ripeto, questa è l'unica procedura possibile per programmare anche le Wafer ID Gold.

TIP&TRICK

  1. Non è necessario che ogni volta andiate a ricercare il modello di PIC o EEPROM nel labirinto delle diverse tipologie; una volta che avete selezionato il vostro modello di PIC e di EEPROM, queste rimangono nella lista "Recent Devices" nel menu "Settings". Quindi cliccando qui avete la lista delle ultime scelte fatte e le potete richiamare direttamente.
  2. La procedura sopra richiamata può essere automatizzata; andando nel menu "Comandi" "SmartCard Wizard" potete seguire una procedura passo passo che vi guiderà attraverso la programmazione (con ISOmultipipo e SmartMouse) delle Wafer. La procedura che sopra ho riportato è l'analitico di quello che accade lungo la procedura del Wizard; a volte questa procedura, seppure più lunga, può dare luogo a risultati migliori e meno errori rispetto alla procedura col Wizard.

 

INDEX