Mega8: Reset-Pin immer intern auf LOW

Cassio

Aktives Mitglied
29. Okt. 2008
4.027
17
38
Region Hannover
Sprachen
  1. BascomAVR
Hallo zusammen!

Gestern hatte ich mit einem Mega8A ein paar kleine Programmtests gemacht....
Hat auch alles super funktioniert.

Nach einem Umbau des Testaufbaus und dem Einspielen des neuen Programms, stand der AVR auf einmal. :hmmmm:
Ich habe natürlich gleich an einen Fehler im Programm gedacht und obendrein die Verdrahtung noch zig mal kontrolliert.
Passt aber alles!

Mit dem AVRISPmkII kann ich auch das Programm einspielen, verifizieren lassen und die FUSES ändern.
Geht alles!

Das Einzige, was mir etwas seltsam vorkam, war die LED am Programmer.
Normalerweise leuchtet sie ja grün oder rot.... bzw. orange beim Programmieren.
Das passt auch soweit. Wenn ich aber die Versorungsspannung einmal unterbreche und wieder anlege, blinkt die LED orange. :hmmmm:
Da dieser Effekt aber nach dem ersten Programmieren vorbei war, hatte ich da nicht viel drauf gegeben.

Dann habe ich aber mal mit einem Voltmeter alle Spannungen gemessen......
Siehe da, der Reset-Pin ist immer LOW..... aber der 10k Pullup ist in Ordnung!

Wie kann denn das sein? :hmmmm:
Habe ich irgendwas übersehen, oder ist er jetzt einfach nur defekt?


Grüße,
Cassio
 
Hallo Cassio,

vielleicht hast du das Fusebit RSTDISBL programmiert (=0). Dann ist die alternative Portpin-Funktion des RESET-Pin verfügbar und PC6 ist auf diesen Pin geroutet. Wenn du nun beim Pin 6 des Port C Direction auf Output (=1) gesetzt hast, ist der Pin auf LOW, wenn hier das PORT-Register 0 ist (nach Reset ist das so). Wenn der Reset-Pin nicht mehr aktiv ist, dann kannst du natürlich via ISP-Programmierung die Fusebits nicht mehr prüfen, da dieser ja für ISP-Programmierung benötigt wird. Im Notfall dann eine andere Programmierungsart verwenden, da benötigst du natürlich einen geeigneten Programmierer.

Wenn RSTDISBL nicht programmiert ist, dann müsstest du am Reset-Pin einen Pullup-Widerstand zwischen 30kOhm und 80kOhm haben.

Gruß,
Dirk
 
Hallo Dirk!

Das mit dem RSTDISBL ist mir schon klar.
Habe ich aber nicht gesetzt, sonst könnte ich den AVR ja per MKII nicht mehr erreichen. :wink:

Das funktioniert aber und ich kann auch munter die FUSES ändern.....

Hier mal zwei Snapshots:

So war es eben, bei der ersten Abfrage---> 1_Mega8A_RST-def_1.gif

Dann habe ich die interne Frequenz auf 1MHz geändert, geschrieben und noch mal per REFRESH neu einlesen lassen.
Das Ergebnis ist auch OK----> 1_Mega8A_RST-def_2.gif

Komischer Weise ist der Reset-Pin jetzt wieder LOW. :hmmmm:


Ich kann ja mal eine leere Datei nehmen und speziell den PinC.6 auf HIGH setzen.
Ob das aber etwas ändern wird?


Grüße,
Cassio
 
Hi Cassio,

trenn doch mal den AVRISPmk2 vom Aufbau und meß dann nochmal am Reset-Pin. Eventuell hat dein PullUp ja nen Wackler auf dem Steckbrett oder irgendwo anders fehlt die Verbindung. Verfolg doch mal mit dem Voltmeter alle Punkte von Vcc über die beiden Pole des PullUps bis zum Reset-Pin.

Gruß
Dino
 
Hallo !

Tja....
Leider keine Änderung!

Hier das kurze Programm mit der Anweisung bei PC6:
Code:
'Mega8A Test (Reset-Pin)
'
$regfile = "m8adef.dat"
$crystal = 1000000                                          'Intern !

$hwstack = 64
$swstack = 64
$framesize = 64




Ddrb = &B_0000_0001
Portb = &B1111_1110


Ddrd = &B_0000_0000
Portd = &B1111_1111


Ddrc = &B_000_0000
Portd = &B111_1111



Led Alias Portb.0


Do

Toggle Led
Wait 1

Loop

End


Hier das Verhalten des Reset-Pins, wenn ich den AVR via MKII anspreche:
1_Mega8A_Reset-Pin.gif


Ansonsten liegt der Reset-Pin immer bei ca. 370mV !


Grüße,
Cassio
 
Verfolg doch mal mit dem Voltmeter alle Punkte von Vcc über die beiden Pole des PullUps bis zum Reset-Pin.

Hi Dino!

Habe ich alles schon probiert.

Der Zustand von PC6 ändert sich nicht.
Immer so ca. 370mV.

Der aktuelle Testaufbau ist ein Mega8A, eine LED (mit 1K8) und der Reset-Pullup (10k). :cool:

Spannungen sind überall OK!


Ich schätze mal, das der AVR im Eimer ist....
warum auch immer. :hmmmm:


Grüße,
Cassio
 
Hier das kurze Programm mit der Anweisung bei PC6:
Code:
'Mega8A Test (Reset-Pin)
'
$regfile = "m8adef.dat"
$crystal = 1000000                                          'Intern !

$hwstack = 64
$swstack = 64
$framesize = 64

Ddrb = &B_0000_0001
Portb = &B1111_1110

Ddrd = &B_0000_0000
Portd = &B1111_1111

[B][COLOR="#FF0000"]Ddrc[/COLOR][/B] = &B_000_0000
[B][COLOR="#FF0000"]Portd[/COLOR][/B] = &B111_1111

Led Alias Portb.0

Do

Toggle Led
Wait 1

Loop

End
hast du dich da eventuell verschrieben ?
 
Hallo!

Also es scheint wirklich nur am Reset zu liegen!

Ich war eben mal dreist und habe PC6 ohne Vorwiderstand mit Vcc (+5V) versorgt. :D


Siehe da... der AVR nimmt seinen Dienst auf und die LED (an PortB.0) beginnt im Sekundentakt zu blinken..... so wie es im kleinen Testprogramm steht, dass ich eben erst eingespielt hatte.

Sobald ich die Draht-Brücke wieder entferne und nur den 10K Widerstand am Reset lasse, sinkt die Spannung auf 370mV und der AVR blebt stehen.
Schon seltsam! :hmmmm:


Grüße,
Cassio
 
Hi Cassio,

wenn RSTDISBL nicht programmiert ist, dann hat dein Programm KEINEN Einfluss auf den logischen Zustand des Pins PORTC.6. Da der Mikrocontroller einen internen Pullup-Widerstand hat, müsstest du ein HIGH am Pin haben, auch ohne angeschlossenen externen 10kOhm Pullup. Wenn dies nicht der Fall ist, ist der Mikrocontroller wahrscheinlich kaputt. Der AVRISPmkII kann den RESET-Pin ordentlich treiben (im Gegensatz zu vielen anderen Programmern), deshalb kommst du noch in den Programmiermodus.

Gruß,
Dirk
 
Hi Dirk!

Sieht demnach so aus, als wäre mein interner Pullup wohl defekt.

Ich messe aktuell gerade mal die Stromaufnahme am Reset-Pin, wenn ich einfach die Drahtbrücke zu Vcc einstetze.

Es sind stabile 5,25mA die in den Pin PC6 gehen.

Die gesamte Stromaufnahme des AVR`s liegt bei ca. 8,5mA.


Sieht doch eigentlich alles ganz gut aus. :wink:


Ach so...
Ist es eigentlich normal, dass man am Reset-Pin die interne 1MHz Frequenz als überlagertes Signal auf Vcc messen kann? :hmmmm:
Habe zumindest auf den knapp 5V noch ein Signal mit 680mV Sp-Sp und ca. 1,15MHz.

Grüße,
Cassio
 
Ich messe aktuell gerade mal die Stromaufnahme am Reset-Pin, wenn ich einfach die Drahtbrücke zu Vcc einstetze.

Es sind stabile 5,25mA die in den Pin PC6 gehen.

Die gesamte Stromaufnahme des AVR`s liegt bei ca. 8,5mA.


Sieht doch eigentlich alles ganz gut aus. :wink:
Hi Cassio!

Also der RESET-Pin hat ja keine Stromsenke, also stimmt da ja etwas nicht, es dürfte hier kein Strom messbar sein.

Ach so...
Ist es eigentlich normal, dass man am Reset-Pin die interne 1MHz Frequenz als überlagertes Signal auf Vcc messen kann? :hmmmm:
Habe zumindest auf den knapp 5V noch ein Signal mit 680mV Sp-Sp und ca. 1,15MHz.

Grüße,
Cassio

Ich denke mal nicht, dass das so in Ordnung ist, möglicherweise hast du hier aber einen Messfehler (Kopplung des Signals) ... oder es liegt am defekten Pin, der intern mit anderen Signalen gekoppelt ist. Da würde ich mir aber nicht weiter den Kopf drüber zerbrechen. Hast du ein Ersatz-ATmega8A, wenn ja dann setz den doch mal ein.

Grüße,
Dirk
 
Hallo Dirk!

Hast Recht!
Ich werde mir da nicht weiter den Kopf drüber zerbrechen. :wink:

Der AVR ist defekt.... auch wenn er sonst funktioniert.
Ergo kommt er zu den Anderen in meiner Sammlung. :cool:

Hätte ja sein können, dass es eine Registereinstellung gibt die ich nicht kenne.....
und damit der AVR wieder normal gearbeitet hätte.

Letztlich ist er aber wohl einfach nur defekt.


Grüße,
Cassio
 
Hi Cassio,

kann es sein das du Probleme mit der Versorgung hast und er sich dann die Spannung irgendwie über die anderen Pins und Reset durch die Schutzdioden zieht ? Miß mal was an Vcc/AVcc los ist.

Gruß
Dino
 
Hi Dino!

Nee.... kann nicht sein.

An der Versorgung und auf dem Steckboard befanden sich drei Einheiten mit AVR`s.

Zwei Mini-Module von mir:
Einmal das AVR32pin mit einem Mega8A und
ein AVR44pin Modul mit Mega1284.

Tja und dann noch der defekte Mega8A.
Die Spannungen habe ich alle gemessen..... und auch alle GND-Verbindungen überprüft. :wink:

Als der Fehler aber gestern zum ersten Mal auftrat, befand sich der besagte Mega8A aber auf einem eigenen Steckboard.... incl. einem T6963C Display. Hat auch alles super funktioniert.

Nach einem Umbau.... eigentlich nur den Displaytyp gewechelt ....ging das Theater dann los.

Keine Ahnung was da passiert.
Vielleicht ist mir ja auch der Draht von den -9V (Kontrastspannung) irgendwie mal an den Reset-Pin gekommen? :hmmmm:
Könnte aber eigentlich auch nicht sein.
Zum Einen hatte ich alles Spannungslos und so lange hält die negative Spannung beim 7660 nicht....
und zum Anderen hätte das baulich auch gar nicht passieren können.

Egal.... ich lege das gute Stück mal an die Seite und kann ihn ja zum nächsten Usertreffen mal mitbringen. :wink:


Grüße,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)