ATtiny 2313 e HV programming, tutti in sciopero

Ciao ragazzi, stavo facendo un pò di esperimenti con fuse degli ATtiny2313 e sono incappato in un bel problema. Uso l'avr dragon e avr studio 6, l'hex lo faccio con l'ide di arduino e l'ATtiny è collegato al dragon correttamente per la programmazione high voltage. Carico lo sketch senza problemi però quando vado a cambiare solo il fuse per disabilitare il reset il software mi dice che non può portare a termine l'operazione bloccando di fatto il micro. Nonostante sia predisposto per la programmazione high voltage non mi fa nemmeno cancellare il micro per ripristinare i fuse originali, mi vede un ID differente e non posso più usarlo. Ho fatto la prova con 3 differenti micro e tutti lo stesso risultato. Sapete perchè si comporta in questo modo? Ho seguito la procedura che faccio sempre con altri microcontrollori ma questa volta c'è qualcosa che va storto, magari è proprio il fuse del reset che da problemi. La sigla intera del micro è ATtiny2313V-10PU Me ne restano solo 2, se avete dei suggerimenti li accetto volentieri... nel frattempo provo a ripristinare i 3 disobbedienti...

Che ID ti restituisce?

A pag.163 di http://www.atmel.com/Images/doc2543.pdf è descritta la procedura, con l'AVR Dragon dovrebbe pensarci lui però.. molto strano

Ora non ho i micro collegati però ricordo con precisione che erano diversi, uno lo ricordo 0xFFFFFF. Piu tardi li collego e posto gli id di tutti e 3.

Di fatti è stranissima come cosa, l'avr dragon fin'ora non ha perso mai un colpo.

Se le connessioni sono corrette: http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRDragon/SCKT3300D3.htm Hai controllato se i 12v sono precisi? Comunque magari prova diverse volte sullo stesso micro se hai l'ID parzialmente corretto, vuole dire che qualche bit non è stato trasferito correttamente

Può tornarti utile: http://forum.allaboutcircuits.com/showthread.php?t=32578 Anche se la vedo molto dura.. non so se ti conviene perderci troppo tempo

Ciao

Grazie del link, ho trovato informazioni interessanti.

Most likely you have enable the RSTDSBL fuse bit feature(so that you can use PORTA 2 as I/O pin) and then programmed the chip with internal oscillator with fast startup.

The moment you apply power, the chip is running and thus can never go into program mode. Sometimes even the Dragon HVP will not help.

Bingo, è la mia stessa situazione.

Some information here: 1. avoid changing the RESET pin into I/O pin 2. if one have to, make the reset pin an input other than output 3. if one has to make it an output, just wait about half a second after power up in code before doing so 4. place aside a known good MCU at hand to serve as "sanity check" of the tools hardware if something is not working as usual.

Una prova folle potrebbe essere quella di cercare di rallentare l'avvio del micro per permettere la programmazione con ad esempio un cambio di temperatura (tipo mettere il micro in freezer o in un posto molto caldo, sempre nei limiti operativi però, non mi ricordo se il caldo o il freddo rallentano l'oscillatore interno) e, con l'AVR Dragon (a temperatura normale) provare a resettare tutto Ovviamente è una prova folle che sconsiglio ma micro morti per morti...

flz47655: Una prova folle potrebbe essere quella di cercare di rallentare l'avvio del micro per permettere la programmazione con ad esempio un cambio di temperatura (tipo mettere il micro in freezer o in un posto molto caldo, sempre nei limiti operativi però, non mi ricordo se il caldo o il freddo rallentano l'oscillatore interno) e, con l'AVR Dragon (a temperatura normale) provare a resettare tutto Ovviamente è una prova folle che sconsiglio ma micro morti per morti...

wow pelletta su fai questa prova,sono curioso :grin:

Non mi fregate più con gli esperimenti, ancora porto i segni del gatto con il pane imburrato :grin:

Pelletta, ma perché hai disattivato il pin di reset? Ti serviva proprio quel pin?

Non mi serviva, stavo solo facendo delle prove. Comunque penso che ci sarà una soluzione, altrimenti la Atmel non darebbe la possibilità di impostare quel fuse se causa l'inutilizzo del micro... Tra un pò mi metto sotto e vedo se posso fare qualcosa.

Pelletta: Sapete perchè si comporta in questo modo? Ho seguito la procedura che faccio sempre con altri microcontrollori ma questa volta c'è qualcosa che va storto, magari è proprio il fuse del reset che da problemi.

Devi usare il ripristino fuse di emergenza, alimentalo, collega il reset a GND, metti il micro con il fondo verso l'alto a passaci sopra un potente magnete per tre volte con un movimento regolare e in meno di 3 secondi, le passate devono essere sia in avanti che indietro, se lo senti vibrare leggermente la manovra ha avuto successo, in caso contrario riprova.

astrobeed:

Pelletta: Sapete perchè si comporta in questo modo? Ho seguito la procedura che faccio sempre con altri microcontrollori ma questa volta c'è qualcosa che va storto, magari è proprio il fuse del reset che da problemi.

Devi usare il ripristino fuse di emergenza, alimentalo, collega il reset a GND, metti il micro con il fondo verso l'alto a passaci sopra un potente magnete per tre volte con un movimento regolare e in meno di 3 secondi, le passate devono essere sia in avanti che indietro, se lo senti vibrare leggermente la manovra ha avuto successo, in caso contrario riprova.

che storia è questa :astonished:? ma parli seriamente o coglioneggi? Non l'ho mai sentita questa, dove l'hai scovata? Comunque mi sto facendo l'idea che il mio modesto Programmatore HV è meglio del Dragon :P visto che io queste prove le ho fatte senza avere problemi, quindi niente microonde, congelatori, supermagneti :D

Mi piace tantissimo questa tecnica, intanto ti ringrazio. Proverò con i magneti al neodimio, ne ho diversi belli potenti. Se è una coglionetta pazienza, fa parte del gioco ;)

Così lo distruggi definitivamente, secondo me una sorta di programmazione parallela manuale può avere successo, bisogna seguire il datasheet

Ciao

[quote author=Michele Menniti link=topic=128007.msg962994#msg962994 date=1350664759] Non l'ho mai sentita questa, dove l'hai scovata? [/quote]

Atmel application note AN544b, "Disaster Recovery" capitolo 4 paragrafo 2 per gli ATtiny.

flz47655: Così lo distruggi definitivamente, secondo me una sorta di programmazione parallela manuale può avere successo, bisogna seguire il datasheet

Ciao

Che intendi dire? la programmazione che serve per il 2313 è parallela, è quasi identica a quella dei mega, cambia solo un segnale; ci sono tempi precisi da seguire e la tensione tollerata va da 11,5 a 12,5V, con una corrente minima; il vero problema è che a volte, determinate combinazioni fanno assorbire al micro una corrente ben più elevata di quella normalmente richiesta, e se il "generatore" non è predisposto per tale evenienza il micro non si programma più. Nelle mie prove, per i micro in condizione normale usavo una R in serie da 1K; quando li ho iniziati ad imputtanire, facendo le prove più disparate, mi sono accorto che alcuni non riuscivo più a programmarli ed ho notato che sul pin reset la tensione scendeva fino a 7-8V; nello schema definitivo ho abbassato la R a 100ohm, risolvendo ogni problema; chiaro che in questi casi qualcosina il micro ha subìto, ma l'80% li ho riutilizzati in circuiti vari e stanno ancora funzionando. BUD, forse sarebbe una misura fa fare...

@ Astro: grazie della segnalazione :)

astrobeed: [quote author=Michele Menniti link=topic=128007.msg962994#msg962994 date=1350664759] Non l'ho mai sentita questa, dove l'hai scovata?

Atmel application note AN544b, "Disaster Recovery" capitolo 4 paragrafo 2 per gli ATtiny. [/quote] E quale sarebbe il link a questa AN? Io non l'ho trovata. :P

Io ho trovato questa della Microchip :sweat_smile: