Saya mendapat ATmega328-PU yang tidak dikenali. Bagaimana saya bisa memperbaikinya?

12

Suatu saat di masa lalu, saya membakar bootloader pada batch baru empat ATmega328-PU menggunakan Arduino IDE (perhatikan tidak ada P setelah 328 - ini adalah versi non-picopower dari MCU yang sedikit lebih murah, jangan bingung dengan ATmega328P- PU dengan P ), dan terkejut dengan pesan berikut dari avrdude:

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

Itu berarti avrdude mengira chip itu tidak sesuai dengan labelnya. Kemudian saya mengubah tipe chip pada IDE Arduino saya menjadi ATmega328P-PU dan avrdude membakar bootloader tanpa keluhan. Artinya adalah bahwa chip diberi label sebagai satu MCU dan secara internal itu merespons sebagai yang lain, sedikit berbeda.

Yang ingin saya ketahui adalah:

  • Seberapa jarang acara ini? Adakah yang punya pengalaman serupa? ( Pertanyaan awal, di luar topik )

  • Apakah mungkin untuk memperbaikinya? Bagaimana saya bisa memperbaiki tanda tangan sehingga avrdude mengenali chip dengan benar?

Ini adalah cross-posting dari EE.SE . Saya memposting pertanyaan ini di sana tetapi tidak menarik banyak perhatian, jadi saya ingin melihat apakah ada orang dari komunitas kami yang memiliki pengalaman serupa.

Ricardo
sumber
1
Tampaknya vendor Anda hanya salah memasukkan label 328P (yang mewakili tanda tangan ini) sebagai 328-an.
microtherion

Jawaban:

4

Saat menjelajah sparkfun, saya telah menemukan beberapa posting berita yang menunjukkan perjuangan mereka dengan chip yang salah label. Berikut ini beberapa di antaranya:

Sparkfun telah menerima pengiriman yang dipertanyakan jika IC dari penjual baru di Cina. Mereka memutuskan untuk menguji mereka sebelum mengirim mereka ke produksi, dan tidak ada papan tes mereka yang berfungsi. Menggunakan asam nitrat, mereka mampu menghilangkan kasing IC dan membentuk sebongkah logam yang terlihat seperti tembaga.

Dalam artikel lain, mereka membedah beberapa IC yang mencurigakan dari Atmel, dan menemukan sebuah wafer silikon semikonduktor ON di dalamnya. Chip tidak fungsional ATmegas, tetapi mereka memang memiliki silikon, tidak seperti yang lain.

Dokter
sumber
3
Bisakah Anda menyempurnakan jawaban ini sedikit? Merangkum artikel yang Anda tautkan akan menjadi awal yang baik - saat ini, jika sparkfun turun karena alasan apa pun jawaban Anda tidak akan berharga.
Shog9
@ Shog9 Kenapa? Pertanyaannya jauh dari dasar. Jawaban ini adalah ringkasan dari contoh orang yang menerima chip yang salah label ( pada dasarnya orang yang berbagi pengalaman ). Siapa yang akan membantu ini?
asheeshr
Saya bisa menanyakan hal yang sama kepada Anda, @AsheeshR - mengapa khawatir tentang jawaban ketika pertanyaannya adalah masalahnya? Bagaimanapun, terima kasih telah menambahkan detailnya, TheDoctor.
Shog9
3

Bukan cara yang disukai untuk memperbaiki hal-hal dan tentu saja bukan solusi pertama yang perlu dipertimbangkan, tetapi Anda dapat mempertimbangkan pemrograman byte tanda tangan. Sebelum mencoba ini, pastikan Anda benar-benar ingin melakukan ini dan Anda telah menyelidiki apa yang terlibat untuk membatalkan ini. Ini mungkin melibatkan mengubah file konfigurasi di komputer Anda ...

Bagaimanapun cara untuk mengatur byte tanda tangan pengendali adalah sebagai berikut (belum teruji, saya tidak memiliki AVR cadangan yang tersedia):

avrdude -p atmega328 -c arduino -P /dev/ttyUSB003 -b 19200 -v -U signature:w:0x1E,0x95,0x14:m
jippie
sumber
2
Saya tahu ini sudah sangat terlambat, tetapi saya pikir ini bukan ide yang baik untuk membiarkan jawaban ini diterima karena jawaban yang diterima tidak tertandingi: Tanda tangan pada atmega328 tidak dapat ditulisi, dan setahu saya, tanda tangan tersebut tidak dapat ditulisi pada atmega atau APA PUN. attiny.
microtherion
2
Tidak tertarik, saya mencoba pendekatan di atas, yang diterima avrdude dalam arti: avrdude: writing signature (3 bytes)- namun gagal melakukannya:avrdude: verification error, first mismatch at byte 0x0002: 0x14 != 0x0f
Nick Gammon