Wie kann ich feststellen, ob ein Mikrocontroller beschädigt ist?

8

Ich habe ein paar Mikrocontroller in meinem "Junk Parts" -Behälter. Ich denke, einige von ihnen kamen dort an, als sie nach dem Programmieren ein seltsames Verhalten zeigten. Ich habe seitdem viel gelernt, zum Beispiel, wie eine falsche Optimierung des Compilers solch seltsames Verhalten verursachen kann. Auf der anderen Seite könnten einige der Mikrocontroller durch statische Aufladungen, Spannungen außerhalb der Toleranz usw. beschädigt worden sein. Daher glaube ich, dass einige in gutem Zustand sind.

Bevor ich alles wegwerfe, habe ich mich gefragt: Gibt es eine relativ einfache oder einfache Möglichkeit, einen Mikrocontroller zu testen, um festzustellen, ob er noch gut ist?

Die Mikros sind insbesondere die Atmel ATTiny13, ATTiny26 und ATTiny2313, sowohl DIP- als auch SOIC-Versionen.

JYelton
quelle
2
Abhängig von Ihrem Programmierer sollte er in der Lage sein, vor dem Programmieren mit dem Chip zu sprechen, um seine ID und dergleichen zu überprüfen. Hast du so etwas versucht?
Dext0rb
Wenn Sie USBTiny und AVRDude verwenden, wird angezeigt, ob keine Verbindung zum Chip hergestellt werden kann. in diesen Fällen behandle ich sie als tot. Manchmal ist die Programmierung abgeschlossen, aber der Chip verhält sich merkwürdig. In diesen Fällen scheint die richtige Art der Diagnose die von @Passerby vorgeschlagene zu sein.
JYelton
@JYelton In diesem Beitrag finden Sie nützliche Informationen zum Anschließen von Arduino an das Programmieren von Mikros. Sie können den Befehl avrdude -e verwenden, um das Gerät zu löschen und festzustellen, ob avrdude mit Ihrem Gerät kommunizieren kann. Hier ist die Manpage für die avrdude-Befehlsreferenz.
Chetan Bhargava
Sie können Arduino auch für die Hochspannungsprogrammierung verwenden, um andere (Kommunikations-) Probleme mit AVRs zu lösen (oder auch nicht). rickety.us/2010/03/arduino-avr-high-voltage-serial-programmer
jippie

Antworten:

10

Wenn ich jede MCU vollständig auf ihre korrekte Funktionalität testen würde, würde ich für jede eine Testplatine mit einem Adapter oder Sockel bauen, um den einfachen Wechsel des IC zu erleichtern. Verbinden Sie jeden E / A-Pin mit einem visuellen Ausgang wie einer LED und programmieren Sie ihn mit einer einfachen Firmware, die jeden Pin nacheinander testet. Ein weiterer Schritt wäre das Testen der Kommunikation und anderer Funktionen, je nachdem, wie gründlich Sie sein möchten.

Wenn Sie jedoch einfach nur schnell überprüfen möchten, ob die MCU ordnungsgemäß mit dem Programmierer kommuniziert. Ich würde einen Programmierer wie Pocket AVR Programmer mit einer Breakout-Karte oder einem Adapter für jede MCU verwenden. Testen Sie dann über die Befehlszeile schnell jede MCU, um festzustellen, ob sie reagiert.

Ein Beispiel für den ATTiny2313 wäre:

Geben Sie hier die Bildbeschreibung ein http://www.ladyada.net/make/usbtinyisp/avrdude.html

davivid
quelle
Ein Arduino (wenn Sie einen zur Hand haben oder einen zur Hand haben möchten) kann auch verwendet werden, um sie zusammen mit avrdude zu testen, wie @davivid erwähnt. Sie können sie schnell auf einem Steckbrett verkabeln.
Chetan Bhargava
4

Programmieren Sie sie mit einem nicht optimierten, einfach zu debuggenden / beobachtenden Code. Wenn es nicht so funktioniert, wie es sollte, aber auf einem bekanntermaßen guten Chip funktioniert, können Sie davon ausgehen, dass die Chips beschädigt sind.

Passant
quelle