Eben habe ich erstmals einen Mega128L benutzt. Dank der hervorragenden Tipps auf diesen Seiten ist es mir schnell und gut gelungen, den SMD-Baustein auf meine selbst entworfene Platine zu löten. Dann habe ich den 4 MHz Quarz mit zwei 15 pF Kondensatoren, Dioden und Pullup-Widerstände in den Programmierleitungen, sowie Anschlüsse für LC-Dislplay und STK200-Programmier-Dongle eingelötet. Die Betriebsspannung war 5V. Mit SP12 habe ich folgende Fusebytes eingestellt: LowFuses: 11111111 HighFuses: 11011001 ExtFuses: ------11 Danach habe ich ein für den Mega16 geschriebendes Programm für den Mega128 übersetzt und zu übertragen, das zunächst einige Ausgabe auf dem Display macht. Dieses hat funktioniert. Daraufhin habe ich einige weitere Bausteine auf die Platine gelötet. Im Wesentlichen waren das einige 5V rail-to-rail OPs, die zunächst zwei Port F Anschlüsse kontaktierten. Danach ging es bergab: Erst wurden die Display-Ausgaben langsamer (4 Zeichen/ Sekunde) und auch Warteschleifen wurden sehr langsam. Es schien, als wenn der Prozessortakt plötzlich um ein Vielfaches langsamer wäre. Darauf hin habe ich einige andere Fuse-Einstellungen probiert und auch wieder die obigen benutzt, jedoch nie mehr etwas aufs Display bekommen. Das Display ist in Ordnung, wie der Anschluss am Mega16 zeigt. AvrDude hat danach viele Male problemlos leicht veränderten Code übertragen und verifiziert. Dann traten Verifizierungsfehler auf, danach wurde der Prozessor nicht mehr erkannt. Nach 12 Stunden war wieder eine fehlerfreie Übertragung möglich, jedoch erschien trotzdem nichts mehr auf dem Display. Meine Frage: Ist es möglich, dass der Prozessor durch statische Spannungen zerstört wurde? Ich habe die Platine mit der Hand oft angefasst. Oder gibt es noch eine Chance, etwas auszuprobieren, um den Originalzustand wieder herzustellen?
ich hatte mal einen Haarriss in einer Leiterbahn zu einer LED, der hat wie ein Kondensator gewirkt: einschalten ok, dann wurde die LED langsam dunkler. Also vielleicht mal die Leiterbahnen durchmessen?
> ich hatte mal einen Haarriss in einer Leiterbahn zu einer LED, > der hat wie ein Kondensator gewirkt: Selten so gelacht. Rechne dir mal die Kapaziät aus, die so ein Haarriss bildet (sind es schon pF?) und überlege dann, ob die LED dann wirklich langsam dunkler wird.
Das ist natürlich möglich, wobei ich die relevanten Kontakte am Anfang schon durchgemessen hatte. Das merkwürdige ist auch: Selbst wenn ein Programm korrekt übertragen wurde, was alle PORT B Pins auf Low setzen sollte, passiert dies bei keinem Pin. Die DC-Messwerte liegen alle auf mittleren Spannungen (0.7 V, etc.). Weiss jemand, wie empfindlich die AVRs auf statische Spannungen sind?
hi, im Datenblatt bei I/O Ports sind Schutzdioden ersichtlich, die für das ESD-Problem gedacht sind. (kurzzeitige Überspannung, Höhe/Dauer der Spannung hab ich leider auf die Schnelle nicht gefunden). Ansonsten gilt für jeden PIN: Vcc +/- 0.5V (S. 322ff). Hast Du alle Vcc und alle GND Pins des AVR angeschlossen? Das ist wichtig. Ciao Thomas
> Ansonsten gilt für jeden PIN: Vcc +/- 0.5V (S. 322ff).
Ist natürlich Quatsch!
richtig:
Maximale Spannungen: Vcc +0.5V bzw. GND -0.5V
Ciao Thomas.
> Hast Du alle Vcc und alle GND Pins des AVR angeschlossen? Das ist
wichtig.
Nein, hatte ich nicht. Ich habe es nachgeholt und folgendes erlebt:
Beim ersten Versuch funktionierte wieder alles, dann wurde es langsamer
und letztlich erschien wieder nichts auf dem Display. Vielleicht ist das
nur auf die Pause vor dem Test zurückzuführen.
Inzwischen habe ich auch die Kondensatoren und den Quarz ausgetauscht
(nun 8 statt 4 MHz). Auch ohne Änderung. Der Versuch, den internen
Taktgeber anstelle des externen Quarz zu nutzen, führte dazu, dass der
Prozessor nicht erkannt wurde.
Beim Mega16 reichte es übrigens, einfach die Stromversorgung
anzuklemmen um einen definierten Programmstart auszulösen. Ist das beim
Mega128 irgendwie anders?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.