Pages: [1] 2 3   Go Down
Author Topic: 1284p piantato?  (Read 2905 times)
0 Members and 1 Guest are viewing this topic.
MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buona sera a tutti.

Ho una board con su un atmega1284p , 16mhz clock programmabile solo via icsp.
Dopo un paio di giorni di programmazioni corrette, da stasera l'avrdude mi risponde questo simpaticissimo e criptico messaggio

Code:

C:\avrdude -c usbasp -p atmega1284p -P usb -e -F

avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATMEGA1284P is 1E 97 05

avrdude done.  Thank you.

Premere un tasto per continuare . . .

Come potete notare il comando è per la cancellazione del chip,ma fa lo stesso anche per programmazione e scrittura fuse...
Lo butto o posso tentare qualcos'altro?
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Marche
Offline Offline
Edison Member
*
Karma: 34
Posts: 2276
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hai stuzzicato i fuse per caso?
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 573
Posts: 12636
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il messaggio veramente non è tanto criptico....
programm enable: target doesn't answer = non c'è dialogo tra il programmatore ed il micro, il resto è consequenziale.
possibili situazioni che portano a ciò:
1 - collegamenti ISP difettosi
2 - errata programmazione dei micro (combinazione fuse non riconosciuta, chip bricked, sbloccabile solo con l'HV riprogrammando i fuse)
3 - disabilitazione del RESET o della programmazione SPI mediante opportuno fuse (sbloccabile solo con l'HV mediante riprogrammazione fuse preceduta da chip erase se si sono bloccati anche i BLB)
4 - cancellazione dei tre byte della signature (succede... superabile col parametro -F, ma vedo che lo usi già)
5 - chip guasto, ma è una ipotesi remota
6 - programmatore difettoso (test incrociati con altro micro o con Arduino come programmatore ISP)
Piuttosto è strana la riga di comando che usi (dichiarazione della porta USB e mancanza dei BAUD), ma immagino che finora ti abbia sempre funzionato....
Altro non mi viene in mente.
Logged


MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao bud, e ciao michele, intanto grazie.

Penso che quasi sicuramente è successo qualcosa coi fuse, anche se non riesco a capire esattamente il perchè sia successo.
Come precedentemente specificato la MCU è stata programmata più volte, quindi escluderei i punti 1 e 6 (il programmatore programma ancora correttamente altri chip).

Ora vorrei un attimo capire se posso tentare di riprogrammarlo in HV direttamente su scheda o devo per forza smontarlo ... è smd smiley-sad
Ma soprattutto devo capire se riesco a fare un programmatore HV specifico minimale con quello che ho in giro per casa...
Fonti?
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 134
Posts: 9679
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ora vorrei un attimo capire se posso tentare di riprogrammarlo in HV direttamente su scheda o devo per forza smontarlo ... è smd smiley-sad
Ma soprattutto devo capire se riesco a fare un programmatore HV specifico minimale con quello che ho in giro per casa...

Devi smontarlo per forza e ti costa meno sostituire il micro.
Un tentativo che puoi fare è scollegare il quarzo e fornire un clock esterno di almeno 500 kHz al micro tramite il pin XTAL1, in questo modo puoi ovviare al problema setup sbagliato dei fuse clock che è una delle cause principali di brick, se la cosa ha successo metti a posto i fuse e rimonta il quarzo.

Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Astro , in cuor mio purtroppo supponevo che lo dovessi smontare per forza....  smiley-cry

Al limite a smontarlo ci posso provare, infondo è tqfp , ho dissaldato di peggio!

Si lo sò che per 6 euro di micro mi conviene cambiarlo, ma visto che sto facendo esperimenti, già se mi capita un altra volta non lo sò se è più conveniente!

Ho trovato in rete questo PROGRAMMATORE HV ARDUINO BASED

Dite che vale la pena tentare di attaccarlo alla meno peggio e vedere se riesce a reimpostare i fuse?
Ovviamente lo sketch andrà modificato in modo tale da impostare i fuse correttamente per il mio micro.
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 573
Posts: 12636
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Purtroppo la programmazione HV è estremamente invasiva, richiede il collegamento di ben 18 pin, che devono essere sgombri da segnali, oltre alla normale alimentazione, certamente non puoi farla sul circuito e temo che dovrai realizzare un PCB adattattore specifico.
Il mio Programmatore HV a giorni sarà realizzabile in quanto finalmente sta per partire il service dei PCB originali. Se vuoi muoverti in modo più semplice basta che cerchi il sito della Mightyohm, lì trovi lo schema elettrico applicato (salvo nuove versioni...) al mega328P; ti basta studiare le linee di collegamento e confrontarle con il datasheet del 1284, per vedere come devi usarle sul tuo micro; non è difficile, ci vuole solo un po' di pazienza; se vuoi risparmiarti la "fatica" di questa fase, vai sul sito di Elettronica In, sezione relativa alla Rivista 165 di Aprile 2012 e scaricati l'intero articolo della mia prima puntata, lì c'è lo schema elettrico e trovi le connessioni specifiche per il 1284.
Concordo con Astro sul fatto che costi meno sostituirlo, ma magari il gusto della sperimentazione.....
Invece ignoro questa cosa del quarzo da 500KHz; il solo fatto di collegare un segnale da 500kHz al pin XTAL1 rimette a posto i fuses in automatico o questa cosa permette di riprogrammarli? puoi spiegarla meglio?
Logged


Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2415
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In soldoni se per caso ha impostato il clock del micro ad un oscillatore esterno e.. l'oscillatore esterno non c'è, basta collegarcelo per poterlo riprogrammare temporaneamente all'oscillatore interno. Io in genere utilizzavo proprio un cristallo oscillatore da 8Mhz (senza condensatori) coi piedini piegati per collegarlo ai due pin adiacenti ma questa è un altra storia  smiley-grin
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 134
Posts: 9679
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Invece ignoro questa cosa del quarzo da 500KHz; il solo fatto di collegare un segnale da 500kHz al pin XTAL1 rimette a posto i fuses in automatico o questa cosa permette di riprogrammarli? puoi spiegarla meglio?

Non un quarzo da 500 kHz, ma un segnale di clock da almeno 500 kHz, ovvero un'onda quadra con ampiezza di 5V, o 3.3V a seconda della tensione di alimentazione del micro, che va collegato al pin XTAL1.
Con questo "trucco" fornisci un clock al micro se per errore sono stati settati i fuse per il clock esterno, nel caso di setup come RC il problema non esiste, in questo modo il micro funziona ed è possibile settare i fuse nel corretto modo.
Da notare che alcuni programmatori hardware possono utilizzare la connessione ISP a 10 pin dove su uno di questi è disponibile proprio un clock ausiliario per ovviare a questo tipo di problemi.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 573
Posts: 12636
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

flz, mi pare che tu non abbia afferrato il concetto di Astro:
Quote
Un tentativo che puoi fare è scollegare il quarzo e fornire un clock esterno di almeno 500 kHz
, non esiste la possibilità di far lavorare il micro a frequenze maggiori di 8MHz senza quarzo o oscillatore esterno. Ma ora che leggo meglio mi pare che tu abbia definito correttamente oscillatore esterno in contrapposizione al quarzo, quindi tutto chiaro.

EDIT: Astro, mi sono corretto da solo nella frase successiva, per me la cosa era chiara, ho sbagliato a scrivere smiley

« Last Edit: December 04, 2012, 03:57:12 am by Michele Menniti » Logged


MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ritengo opportuno specificare che non sto seguendo la strada del clock esterno perchè sono più per l'ipotesi che il problema non sia tanto il clock (ho un quarzo esterno a 16mhz montanto di default) ma la disattivazione della programmazione via SPI.
L'idea mia era di prendere il circuito in oggetto del link postato sopra ed attaccarci direttamente il mio 1284p e dargli na bottarella (nessun adattatore, salderei dei microfili)
Se riesco a recuperarlo riprogrammando  i fuse bene, altrimenti lo butto.
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22938
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:

C:\avrdude -c usbasp -p atmega1284p -P usb -e -F
Prova specificando una velocità di comunicazione, tipo "-b 19200" come si fa con l'ArduinoISP. Magari abbassando il baudrate riesci a risolvere.

PS:
spero che il parametro "-F" tu lo abbia usato solo in questo caso. Non va mai usato normalmente perché in caso di una comunicazione imperfetta (e può capitare, chi ha programmato centinaia di chip può confermartelo) forzi la scrittura provocando spesso danni.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 573
Posts: 12636
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora la strada unica è quella della programmazione HV, la parte più fastidiosa sono i collegamenti, per quelli fai riferimento al mio articolo, il software di mightyohm dovrebbe essere totalemnte compatibile, io i primi esperimenti li ho fatti con quel firmware, poi l'ho stravolto perché ho creato uno stand-alone ed aggiunto tutti i micro ATMEL PDIP, ma i segnali sono obbligati, ti basta scegliere ATMEGA328P dal menu per attivare la programmazione parallela compatibile col 1284 e sei a posto, ma il micro lo devi certamente togliere dal circuito, o comunque devi isolare tutte le piste, magari un bel tagli netto e poi le ricongiungi smiley

Leo: da quando intervieni senza leggere i post precedenti? smiley-razz (leggi dopo il punto 6 del mio primo post)
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22938
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Leo: da quando intervieni senza leggere i post precedenti? smiley-razz (leggi dopo il punto 6 del mio primo post)
Non avevo letto bene  smiley-sweat
Per il discorso "porta" a seconda dei programmatori si può usare una sintassi diversa per specificare la porta a cui sono attaccati. Non so l'usbasp se accetta anche "usb" al posto del percorso esatto.
Logged


Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2415
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Confermo che usbasp accetta usb al posto degli altri parametri

Col TQFP se ha briccato è praticamente spacciato, dovrebbe dissaldarlo/riprogrammarlo/risaldarlo, questo è proprio il punto debole degli AVR, per sperimentare è sempre meglio andare di DIP  smiley-twist

Io avevo provato a costruire il Mightyohm su.. breadboard, guarda che macello era venuto



Mancano delle connessioni nella foto ed avevo il micro in DIP, ha funzionato ma ai successivi micro briccati ho comprato il Dragon smiley-grin
Non ne vale la pena perdere così tanto tempo per sbriccare un mico.. se te sei in TQFP e vuoi saldare/dissaldare mi raccomando dotati di un programmatore HV perlomeno per riprogrammare il micro e non provare su breadboard

Ciao
Logged

Pages: [1] 2 3   Go Up
Jump to: