Hallo,
wir verwenden in einem Produkt einen ATMega168PB mit externem 16Mhz
Quarz.
Bei der Produktion haben wir hohe Ausschussraten mit µCs, die sich nicht
mehr programmieren lassen.
Wir hatten zunächst Kontaktschwierigkeiten des Programmieradapters
vermutet, können das aber dank einer neuen Programmiervorrichtung
ziemlich sicher ausschließen.
Das Programmieren läuft folgendermaßen per avr-dude ab:
1 | avrdude -C avrdude.conf -p m168pb -F -P /dev/parport0 -c usbasp -e
|
2 |
|
3 | avrdude -C avrdude.conf -p m168pb -P /dev/parport0 -c usbasp -F -u -U efuse:w:0xFC:m -U hfuse:w:0xDC:m -U lfuse:w:0xD7:m
|
4 |
|
5 | --> ab hier etwa 30% Ausfälle
|
6 |
|
7 | avrdude -C avrdude.conf -p m168pb -P /dev/parport0 -c usbasp -F -U flash:w:Bootloader.hex:a
|
8 |
|
9 | avrdude -C avrdude.conf -p m168pb -P /dev/parport0 -c usbasp -F -U lock:w:0xFC:m
|
Das löschen und Fuses setzen funktioniert noch bei jedem Controller.
Etwa 30% der Controller reagieren jedoch nach dem Setzen der Fuses nicht
mehr und lassen sich auch nicht mehr ansprechen ("Target does not
answer").
Der Quarz schwingt jedoch auch bei den Ausgefallenen Baugruppen, wie wir
mit dem Oszilloskop messen können.(!) Die Versorgungsspannaug sind
stabile 5V
- Woran könnte das liegen? Wie können wir in Zukunft weitere Ausfälle
vermeiden?
Vielen Dank