AT90S2313 gegrillt :-(!?

Hallo,

ich bin noch recht unerfahren im Bereich Elektronik, habe aber in den letzten Tagen meine ersten Schritte gemacht und wollte mir einen seriellen Atmel-Programmer basteln

formatting link
- SerCon 2 Mini). Nun ist mir dabei leider ein kleiner Fehler unterlaufen, und ich habe die Leitung DSR hinter den Widerstand R2 gelötet anstatt davor (mittlerweile behoben!). Laut Adapter-Test (gibt's auf der gleichen Website) müsste mein Programmer jetzt funktionieren, wenn ich die Leitungen auf Low schalte, messe ich von GND - Pin etwa -0.7 bis 0 V, bei High etwa 3,6 bis 4V.

Wenn ich den AT90S2313 nun mit AT-Prog programmieren möchte, erkennt dieser zunächst meinen Controller nicht (nur 00), und wenn ich den Speicher des Controllers auslesen möchte, erhalte ich auch nur Nullen. Wenn ich währenddessen mit dem Voltmeter zwischen MISO (=Output des µC) und GND messe, liegt praktisch keine Spannung vor.

Kurzum, meine Frage: Bevor ich mir bei Reichelt einen/mehrere neue Controller bestelle (und wieder 5 Tage auf die Post warten muss...), ist der Controller (durch den Fehler mit dem Widerstand) definitiv zerstört worden? Oder könnte ich etwas übersehen haben?

Herzlichen Dank für eure Hilfe/Ratschläge im Voraus.

Reply to
Timm Linder
Loading thread data ...

"Timm Linder" schrieb im Newsbeitrag news: snipped-for-privacy@posting.google.com...

Auch Hallo,

Ich hab ca. vor einem Jahr mit den AVR's angefangen. Dazwischen immer wieder lange Frustpausen ;-)

Bei mir hat's erst funktioniert als ich mein Steckbrett in die Ecke und die Lochraster-Programmer in die Tonne gekloppt hab. Alles sauber auf selber geätzter Platine aufgebaut und es hat geklappt...

Wie hast du die Pegel gemessen? Multimeter oder Oszi?

Hatte ich auch ständig...

auch nur Nullen.

Also Multimeter. Soweit ich weiß wird zuerst der Resetpin auf Low (GND) gezogen. Dann wird versucht zu programmieren/lesen. Das geht aber so schnell, daß man mit einem Multimeter fast keine Chance hat das mitzubekommen.

Ich hatte damals die Pegel mit LED's versehen, damit ich zumindest sehe ob was passiert. Aber selbst das ist mit dem blosem Auge kaum zu sehen.

Mit dem Oszi wäre das kein Problem.

Checke zuerst mal deinen Aufbau nocheinmal genau durch. Meine Fehlerliste ;-(

Benutzt du PC oder Laptop? (Laptop hat manchmal Probleme) Stecker verwechselt? Männlich/Weiblich? Widerstandswerte Ok? Serielles Kabel gekreuzt/1:1? Kabel vom Programmer zum Prozessor zu lang? (sollte glaub ich nicht länger als 20cm sein) Pinbelegung des Programmiersteckers ok? Aufbau in Ordnung? -> Programmiersteckerfunktion durchprüfen und Prozessorboard OHNE den Prozessor prüfen -> Vcc/Gnd an den richtigen Pins Takt läuft und kommt am richtigen Pin an? Resetpin des Prozessors mit 100K gegen Vcc, Resetpin des Programmieranschlusses an den Resetpin des uC? Prozessor verpolt? Hat mich einige gekostet ;-( usw...

Ich benutze zur Zeit Ponyprog2000

formatting link
und einen parallelen Programmer
formatting link
die 10 polige Version (zwischen jeder Signalleitung eine GND-Leitung), und ein selber entworfenes Board mit einem AT90S4433 (pinkompatibel zum ATMega8).

Ponyprog ist in dieser Newsgroup zwar verschrien, aber funktioniert bei mir einwandfrei. Aufpassen muss man bei den FuseBits (in Ponyprog invertiert), am besten gar nicht anrühren wenn nicht nötig.

Achso, für diesen Programmer im Ponyprog als Interface "parallel, Avr ISP I/O" einstellen. Beim Programmer unbedingt einen 74HCT244 statt einem 74HC244 verbauen.

Für mich hat sich's gelohnt das Ganze auf ner richtigen Platine aufzubauen...

Keine Ursache,

Chris

Reply to
C.Bader

Hast du keine Parallele Schnittstelle? Da besteht der Progammieradapter im einfachsten Falle aus 5 Kabeln.

Ich habe mir zwar die Schaltung lange angesehen aber leider nicht R2 gefunden. Auf jeden Fall scheint DSR hier als Eingang zu fungieren und somit keine Spannung führen. Der Controller wird dadurch warscheinilch nicht zerstört worden sein. Kann natürlich sein das durch die Schutzdioden zu viel Strom geflossen ist und der uC jetzt im Latchup ist. Das solltest du aber durch eine erhöhte Stromaufnahme merken .. btw. er wird fix heiß.

Die Schaltung ist relativ Komplex .. ich kann mir gut vorstellen das du noch einen Fehler mit rein gebaut hast.

Aber der Takt funktioniert? Ich kenne das Progamm nicht .. aber wenn mein Progamm keine Rückmeldung vom uC bekommt (so genau kenne ich das Protokoll nicht) versucht es erst gar nicht die Signatur/Daten zu lesen.

Ich vermute also das irgendwo in deiner Schaltung ein Fehler ist. Was passiert wenn du keinen uC anschliesst und das Progamm aufrufst?

Naja. Das ist kein Wunder weil es nur kurze Impulse sind und die dein Multimeter u.U. nicht auflöst. Hast du evt. eine Oszi oder ein analoges Gerät? (Wobei auch das u.U. zu träge ist aber du evt einen Mittelwertablesen kannst)

Versuch doch mal eine LED mit einem Treiber davor an den Ausgang anzuschliessen.

Das kann ich dir nicht defenitiv sagen weil ich R2 nicht gefunden habe :-o

Aber so ein Controller ist eigentlich relativ robust wenn er nicht mit Überspannung in Kontakt kommt. Deswegen bevorzuge ich auch die Paralelle Schnittstelle weil die keine +-12V liefert.

Ich würde dir ja empfehlen mal einen ganz einfachen Paralellen Progammer aufzubauen. Evt. mit Widerständen zur Strombegrenzung.

Die Belegung solltest du sicher im Internet finden.

Tschüss Martin L.

Reply to
Martin Laabs

Hallo Martin,

danke für deine Antwort!

Ich habe eine (die ist im Moment belegt, ok, das ließe sich ändern), bevorzuge aber trotzdem aus unterschiedlichen Gründen die serielle (u.a. wegen der Kurzschlussfestigkeit). Zur Not wäre ich natürlich auch noch einmal bereit, es an der seriellen zu versuchen.

Ich vermute, du hast dir die falsche angeschaut - auf der Seite sind 3 Stück angegeben, ich spreche vom "Sercon 2 Mini" (ziemlich weit unten), das ist die einfachste aller 3 Schaltungen.

Ich habe ab und zu daran gefühlt, warm ist das Ding eigentlich nicht geworden.

Hmm... was meinst du mit Takt? In der Schaltung ist ja gar kein Quarz o. Ähnliches enthalten, das einen Takt geben könnte, oder verstehe ich da etwas falsch!?

kein µC, aber Adapter an der Schnittstelle: Adapter wird erkannt (ansonsten erscheint eine Fehlermeldung), aber er liest nur Nullen -> es scheint also auch mit µC so zu sein, als wäre gar kein Controller vorhanden!? (ja, das Ding sitzt richtig in der Fassung)

Nein, leider besitze ich so etwas nicht - ich kann die Geschwindigkeit im Programm allerdings auf "Very low" stellen, und an den anderen 3 Pins (SCK, MOSI, Reset) ist eine Veränderung in der Spannung beim Programmieren auch am Multimeter erkennbar.

Hmm, irgendwie weiß ich nicht weiter... trotzdem schon einmal vielen Dank für die Hilfe.

PS: Habe mir "sicherheitshalber" schonmal 3 neue ATs bestellt, trotzdem wüsste ich aber gerne, wieso es im Moment nicht funktioniert...

Reply to
Timm Linder

Ich arbeite schon lange unter anderem mit AVR's. Ich habe mir zweimal aus Spaß einen Programmieradapter für RS232 gebaut und keiner davon hat funktioniert. Es ist Glücksache ob Deine Schnittstelle die nötigen Pegel liefern kann, beim einen funktionierts beim anderen nicht.

Bau einen Parallelportadapter, möglichst einen mit 74244 dazwischen, das funktioniert eigentlich immer. Das ganze andere rumgebastel bringt mehr Ärger und Frust als es wert ist. Auch direkte Verbindung am Parallelport, mit Reihenwiderständen geht meist, aber eben nicht immer.

Übrigens können auch Probleme mit dem Oszillator des AVR die Ursache sein. Abhilfe: einen ATMega8 oder 16 verwenden, die laufen von hause aus erst mal mit dem internen Oszillator, und das sehr zuverlässig.
Reply to
Erik Hermann

Sehr aufmunternd, ich versuche es nämlich auf Lochraster ;-)

Leider steht mir nur ein Multimeter zur Verfügung. Ich habe es jetzt mal mit LEDs ausprobiert: Zunächst blinkt Reset ganz kurz auf (=Low, gegen GND), erlischt dann wieder, dann blinkt SCK munter los. Nach ein paar Sekunden blinkt dann allerdings wieder Reset auf - ich vermute, der Programmer versucht da einfach noch einmal, den Schreibvorgang zu starten!?

PC, habs an zwei verschiedenen PCs ausprobiert.

Ich denke nicht, laut Adapter-Test stimmt ja alles, was die Highs & Lows an den Ausgängen betrifft...

Jap

Habs auch mal mit einem gekreuzten Kabel versucht, dann wird der Adapter gar nicht erst erkannt.

Hmmm... wie gesagt habe ich mich genau an den Aufbau des Sercon 2 Mini gehalten, der auf der Seite beschrieben wird (mir fehlt dazu einfach noch die Erfahrung, um da größere "Umbauten" vorzunehmen). Einen Programmierstecker habe ich nicht, dafür habe ich eine IC-Fassung, oder habe ich jetzt etwas falsch verstanden!?

Ich denke dass die Pinbelegung stimmt - die Angaben im Datenblatt beziehen sich doch auf eine "Vogelperspektive", d.h. man sieht die Oberseite des Controllers!?

Ääääh... Takt - Bahnhof? Wo soll es da einen Takt geben? Sorry, da stehe ich jetzt auf dem Schlauch...

s.o., habe mich genau an den Schaltplan gehalten

Ich denke nicht...

Dankeschön für die Tipps, werde das alles sicherheitshalber noch einmal checken...

Reply to
Timm Linder

Am Fri, 16 Apr 2004 16:20:55 +0200 schrieb Timm Linder:

Vielleicht. Die AVR's müssen immer mit einem externen Takt versorgt werden, wenn du sie programmieren willst. Das ist anders als bei PICs, bei denen der Programmer den Takt erzeugt. Also sollte der AVR in der Zielschaltung stecken, in der es einen irgendwie gearteten Oszillator geben muss. Der Programmer wird dann über einen ISP-Stecker oder einen Zwischensockel mit der Schaltung verbunden.

Ich habe mir am Anfang einen dieser "D-SUB25 + 5 Widerstände"- Programmer gebaut, damit dann einen AT90S2313 programmiert und daraus einen AN910-Programmer für die serielle Schnittstelle gebaut. Hat mich bisher noch nicht im Stich gelassen:

formatting link

MfG Jan

--
Jan Reucker
email: jan dot reucker at web dot de
web:   http://www.reucker-online.de
Reply to
Jan Reucker

Schande über mein Haupt... ich war so blöd und bin davon ausgegangen, dass das Ding keinen zusätzlichen Taktgeber braucht (war ja in der Schaltung nicht eingezeichnet, habe dabei vergessen, dass die ja eigentlich für ISP gedacht ist), dann kann es natürlich nicht gehen. Werde das also noch nachrüsten und dann funktioniert's hoffentlich...

Trotzdem noch einmal herzlichen Dank an alle, die versucht haben, mir trotz meines ziemlich dummen Fehlers zu helfen ;-).

Reply to
Timm Linder

Jo, auf die gleiche Idee hat mich jemand anderes gerade auch gebracht... ich denke, daran sollte es liegen. Dankeschön!

Reply to
Timm Linder

Jan Reucker schrieb:

s/einem externen //

Es muß /irgendein/ Takt laufen. Alle neueren Controller generieren im Auslieferungszustand einen Takt mit dem internen RC-Oszillator. Der Nachfolgetyp ATtiny2313 übrigens auch.

Prinzipiell könnte bei AVR auch der Programmer den Takt erzeugen, allerdings dürfte die Programmierung dann ziemlich gemütlich werden. Ich habe aber mal irgendeine ISP-Schaltung gesehen, die XTAL1 mit auf den Steckverbinder gelegt haben.

--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
				Kristian Köhntopp, de.comp.os.unix.misc
Reply to
Joerg Wunsch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.