Hallo Forum :), ich habe ein kleines Problem was ich leider nicht alleine lösen kann. Vielleicht hatte das ja schonmal jemand von euch und kann mir weiterhelfen. Es geht um das Programmieren des Atmega32 der auf einer Platine verlötet ist. Ich möchte ihn über ISP mittels AVRStudio programmieren, was leider des öfteren fehlschlägt. Und genau da liegt mein Problem. Mein AVRStudio gibt mir fast immer einen ISP Mode Error(ich denke ihr wisst was ich meine oder?) aus, wenn ich ihn programmieren will(manchmal hingegen klappt es). Unten im AVRISP Fenster steht: Warning:Flash byte address 0x0020 is 0x00(should be 0x0C)...Failed Die ISP Frequenz ist auch um 1/4 kleiner als die Taktfrequenz des Atmega32. Somit denke ich, dass ich alle Bedingungen für das ISP erfüllt habe aber trotzdem will er nicht. Kann mir jemand erklären woran das liegen könnte? Falls ihr nochmehr Information benötigt kann ich diese gern bereitstellen. Danke schonmal für eure Hilfe. Gruß Marian
Hi, befinden sich andere SPI Teilnehmer auf den Leitungen? Gruß, Dirk
Ja und zwar gibt es noch einen Beschleunigungssensor der über SPI ausgelesen wird. Könntest du mir erklären wie dieser ein Problem verursachen könnte?
Ist sichergesetllt, dass dieser deaktiviert ist wärend du den AVR flash'st? z.B. Reset an nCS des Sensors oder so...
Naja direkt sichergestellt ist es nicht aber er müsste eigentlich resetet sein, da ja der µC während des Programmierens über das ISP auf Reset gezogen wird und somit der Beschleunigungssensor ja auch auf Low(da am Pin des µC´s ja in diesem Moment ein Low-Zustand ist) gezogen ist. Schlecht erklärt aber ich denke ihr wisst wie ich es meine oder?
Achso habe noch etwas vergessen. Ich weiß aber auch nicht ob das möglich ist. Ich hatte nämlich eine Vermutung woran das liegen könnte. Auf meiner Platine ist ein Quarz(7,3728 MHz) direkt neben dem ISP-Stecker. Kann es sein, das dieser Quarz irgendwie die ISP-Frequenz stört und somit dieses Problem verursacht?
Während des Reset (ISP) sind die AVR-Pins nicht auf Low gezogen, sondern hochohmig. Manche Chips interpretieren das als H-Pegel. Den Beschleunigungssensor (und sein Verhalten) kenne ich aber mangels Bedarf (noch) nicht. ...
Hm...also könnte mein Beschleunigungssensor das Problem sein. Aber wie genau funktioniert das denn, das er mir beim Programmieren dazwischen funkt und verhindert, dass ich den Flash meines µCs programmieren kann? Kann mir das mal jemand genau erklären? Also meint ihr, das es genügen müsste, einfach den Beschleunigungssensor mit auf Reset zu ziehen, wenn ich per ISP programmieren möchte? Danke und Gruß, Marian
MISO mittels Widerstand entkoppeln? Also ISP direkt an AVR, Sensor über Widerstand. Dann kan Sensor nicht dazwischensabbeln weil AVR "stärker" ist. ...
Also "einfach" einen Widerstand in Reihe schalten zwischen MISO des µC und MISO des Sensors? Und wenn ja wie groß soll dieser sein? Und würde der nun enstandene Pegel vom Sensor denn noch genügen um mit dem µC zu kommunizieren? Könnte ich auch den CSB-Pin meines Sensors an die Resetleitung des ISP mit dranhängen? Das würde doch auch garantieren, dass mein Sensor während des Programmierens deaktiviert ist oder?
Hi, du solltest an deinen Beschleunigungssensor ( an CS) einen Pull Up / down anschliessen, damit dieser waehrend der Programmierung disabeld ist. Gruß, Dirk
Ok ich habe mich jetzt etwas schlau gemacht. Ich brauche ein Highpegel am Sensor um ihn zu deaktivieren. Wie stelle ich das an? Habe Pull-Up Widerstände gefunden aber dann ist ja CS immer auf High gezogen...wie soll ich ihn dann vom µC aus auf Low ziehen um mit ihm zu reden? Kann ich wirklich einfach einen 10kOhm Wiederstand parallel zwischen SS und Vcc legen damit das funktioniert?
Hi, VCC | R µC ----------|----- CS Sensor zur Aktivierung des Sensors muss der µC ein LOW Pegel erzeugen. Gruß, Dirk
Du könntest auch einen anderen Pin als /SS als ChipSelect benutzen...
Danke schön an alle...so dachte ich mir das jetzt auch, wollte nur sicher gehen. Gruß Marian
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.