Ho ricevuto un ATmega328-PU con etichetta sbagliata. Come posso ripararlo?


12

Qualche tempo fa, stavo bruciando bootloader su un nuovo batch di quattro ATmega328-PU usando l'IDE Arduino (nota che non c'è P dopo 328 - è la versione non-picopower leggermente più economica dell'MCU, da non confondere con l' ATmega328P- PU con una P ) e sono rimasto sorpreso dal seguente messaggio di avrdude:

avrdude: Device signature = 0x1e950F 
avrdude: Expected signature for ATMEGA328 is 1E 95 14 
Double check chip, or use -F to override this check. 

Ciò significa che avrdude pensava che il chip non fosse quello che diceva la sua etichetta. Quindi ho cambiato il tipo di chip sul mio IDE Arduino in ATmega328P-PU e avrdude ha masterizzato il bootloader senza lamentele. Ciò significa che il chip è stato etichettato come un MCU e internamente ha risposto come un altro, leggermente diverso.

Quello che vorrei sapere è:

  • Quanto è raro questo evento? Qualcuno ha avuto un'esperienza simile? ( Domanda originale, fuori tema )

  • È possibile risolvere questo? Come posso correggere la firma in modo che avrdude riconosca correttamente il chip?

Si tratta di un cross-post da EE.SE . Ho pubblicato questa domanda lì ma non ho attirato molta attenzione, quindi volevo vedere se qualcuno della nostra comunità aveva un'esperienza simile.


1
Sembra che il tuo venditore abbia semplicemente etichettato erroneamente alcuni 328P (che è ciò che questa firma rappresenta) come 328s.
microtherion

Risposte:


4

Durante la navigazione in sparkfun, ho trovato diversi post di notizie che mostrano la loro lotta con chip senza etichetta. Eccone alcuni:

Sparkfun aveva ricevuto una spedizione discutibile se i CI da un nuovo venditore in Cina. Hanno deciso di testarli prima di inviarli in produzione e nessuna delle loro schede di test ha funzionato. Usando l'acido nitrico, sono stati in grado di rimuovere il case dei circuiti integrati e hanno modellato un pezzo di metallo che sembrava rame.

In un altro articolo, hanno analizzato alcuni circuiti integrati sospetti da Atmel e hanno trovato all'interno un wafer di silicio a semiconduttore ON. I chip non erano ATmegas funzionali, ma avevano silicio, a differenza degli altri.


3
Puoi dare una risposta a questa risposta? Riassumendo gli articoli a cui ti sei collegato sarebbe un buon inizio - in questo momento, se sparkfun si interrompe per qualsiasi motivo, la tua risposta sarà inutile.
Shog9,

@ Shog9 Perché? La domanda è lontana dalla base. Questa risposta è un riepilogo dei casi di persone che ricevono chip con etichetta errata ( essenzialmente persone che condividono esperienze ). Chi sarà d'aiuto?
asheeshr,

Potrei farti la stessa domanda, @AsheeshR - perché preoccuparsi di una risposta quando la domanda è il problema? Comunque, grazie per aver aggiunto i dettagli, TheDoctor.
Shog9,

3

Non è il modo preferito per risolvere le cose e certamente non è la prima soluzione da considerare, ma puoi considerare di programmare i byte della firma. Prima di tentare questo, assicurati di voler davvero farlo e di aver indagato su ciò che è coinvolto per annullarlo. Ciò può comportare la modifica dei file di configurazione sul tuo computer ...

Ad ogni modo il modo di impostare i byte della firma del controller è il seguente (non testato, non ho un AVR di riserva in giro):

avrdude -p atmega328 -c arduino -P /dev/ttyUSB003 -b 19200 -v -U signature:w:0x1E,0x95,0x14:m

2
So che è molto tardi, ma non credo sia una buona idea lasciare che questa sia la risposta accettata non contestata: la firma su un atmega328 non è scrivibile e, per quanto ne sappia, la firma non è scrivibile su QUALSIASI atmega o ATtiny.
microtherion

2
Per interesse, ho provato l'approccio sopra, che avrdude ha accettato in un certo senso: avrdude: writing signature (3 bytes)- tuttavia non è riuscito a farlo:avrdude: verification error, first mismatch at byte 0x0002: 0x14 != 0x0f
Nick Gammon
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.