Tôi đã nhận được một ATmega328-PU bị lỗi. Lam sao tôi co thể sửa no?


12

Thỉnh thoảng, tôi đã đốt bộ tải khởi động trên một lô bốn ATmega328-PU mới bằng Arduino IDE (chú ý không có P sau 328 - đó là phiên bản MCU không phải là picopower rẻ hơn một chút, không bị nhầm lẫn với ATmega328P- PUP ) và rất ngạc nhiên với thông báo sau từ avrdude:

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

Điều đó có nghĩa là avrdude nghĩ rằng chip không phải là những gì nhãn hiệu của nó nói. Sau đó, tôi đã thay đổi loại chip trên Arduino IDE của mình thành ATmega328P-PU và avrdude đã đốt bộ tải khởi động mà không có khiếu nại. Điều đó có nghĩa là con chip được dán nhãn là một MCU và bên trong nó đã phản hồi như một con khác, hơi khác một chút.

Những gì tôi muốn biết là:

  • Sự kiện này hiếm như thế nào? Có ai có kinh nghiệm tương tự? ( Câu hỏi gốc, ngoài chủ đề )

  • Có thể khắc phục điều này? Làm cách nào để sửa chữ ký để avrdude nhận ra chip chính xác?

Đây là một -chéo bài từ EE.SE . Tôi đã đăng câu hỏi này lên đó nhưng không thu hút được nhiều sự chú ý, vì vậy tôi muốn xem liệu có ai trong cộng đồng của chúng tôi có trải nghiệm tương tự không.


1
Có vẻ như nhà cung cấp của bạn chỉ đơn giản viết sai một số 328P (đó là những gì chữ ký này thể hiện) là 328s.
microtherion

Câu trả lời:


4

Trong khi duyệt Sparkfun, tôi đã tìm thấy một số bài viết cho thấy cuộc đấu tranh của họ với các con chip bị gắn nhãn sai. Ở đây có một ít:

Sparkfun đã nhận được một lô hàng đáng ngờ nếu IC từ một người bán mới ở Trung Quốc. Họ quyết định thử nghiệm chúng trước khi đưa chúng vào sản xuất, và không có bảng thử nghiệm nào của chúng hoạt động. Sử dụng axit nitric, họ đã có thể loại bỏ vỏ của IC và tạo ra một khối kim loại trông giống như đồng.

Trong một bài viết khác, họ đã mổ xẻ một số IC đáng ngờ từ Atmel và tìm thấy một wafer silicon bán dẫn ON bên trong. Các chip không phải là ATmegas chức năng, nhưng chúng có silicon, không giống như các chip khác.


3
Bạn có thể trả lời câu hỏi này một chút không? Tóm tắt các bài viết bạn liên kết đến sẽ là một khởi đầu tốt - ngay bây giờ, nếu sparkfun đi xuống vì bất kỳ lý do gì câu trả lời của bạn sẽ không có giá trị.
Shog9

@ Shog9 Tại sao? Câu hỏi là cách ra khỏi cơ sở. Câu trả lời này là một bản tóm tắt các trường hợp của những người nhận chip bị gắn nhãn sai ( về cơ bản là những người chia sẻ kinh nghiệm ). Điều này sẽ giúp ai?
asheeshr

Tôi có thể hỏi bạn như vậy, @AsheeshR - tại sao phải lo lắng về câu trả lời khi câu hỏi là vấn đề? Dù sao, cảm ơn vì đã thêm chi tiết, TheDoctor.
Shog9

3

Không phải là cách ưa thích để sửa chữa mọi thứ và chắc chắn không phải là giải pháp đầu tiên để xem xét, nhưng bạn có thể xem xét lập trình các byte chữ ký. Trước khi thử điều này, hãy chắc chắn rằng bạn thực sự muốn làm điều này và bạn đã điều tra những gì liên quan để hoàn tác việc này. Điều này có thể liên quan đến việc thay đổi tập tin cấu hình trên máy tính của bạn ...

Dù sao, cách để thiết lập byte chữ ký của bộ điều khiển như sau (chưa được kiểm tra, tôi không có một máy dự phòng AVR nằm xung quanh):

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

2
Tôi biết điều này là rất muộn, nhưng tôi không nghĩ rằng nên để câu trả lời này là câu trả lời được chấp nhận: Chữ ký trên atmega328 không thể ghi được và theo hiểu biết của tôi, chữ ký không thể ghi được trên BẤT K at thái độ
microtherion

2
Vì hứng thú, tôi đã thử cách tiếp cận ở trên, điều này được chấp nhận theo một nghĩa nào đó: avrdude: writing signature (3 bytes)- tuy nhiên nó đã không thực hiện được:avrdude: verification error, first mismatch at byte 0x0002: 0x14 != 0x0f
Nick Gammon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.