ATMEGA32 Einzellne Pins durchgebrannt ?

OP #1458331
Lesenswert?

Hallo,

ich hab ein kleines Problem mit einem ATMEGA32 und einem 
Experementierboard. Ich habe 8x LED´s am PortC angeschlossen. Die LED´s 
haben alle einen 470 Ohm Vorwiderstand. Die Platine hat einen 
Spannungsregler auf 5V. Also fließen durch die LED´s max. 10mA. Die 
müssen ja auch nicht hell leuchten. Ich wollte nun die LED´s mit 
folgendem Code testen.
1
.include "m32def.inc"  
2
      
3
        ldi r16, 0xFF       
4
        out DDRC, r16       
5
ende:
6
        ldi r16, 0x00 
7
        out PORTC, r16     
8
        rjmp ende
1
#include <avr/io.h>
2
#include <util/delay.h>
3

4

5
int main()
6
{
7
  while(1)
8
  {  
9
  DDRC  = 0xFF;
10
  PORTC = 0x00;
11
  }
12
}

Bei beiden Programmierungen leuchten nur LED 1;2;7;8 die LED´s 3;4;5;6
leuchten nicht und sind nicht gegen Masse durchgeschalten. Ich hab zu 
beginn ausversehen mal
1
PORTC = 0xFF;
 angegeben dadurch müsste Plus auf Plus geschalten sein, da ein High am 
Ausgang anliegt. Aber kann deswegen der ATMEGA durchgebrannt sein ?

Mit freundlichen Grüßen

Doubleyou
Angehängte Dateien:
#1458639
Lesenswert?

Doubleyou W. schrieb:
> Hallo,
>
> wenn ich die Einstellungen wie hier habe, kann ich es Programmieren.

Ist das die Einstellung, mit der dein Prozessor grundsätzlich 
funktinioert? Dann nimm den Haken bei JTAGEN weg und der PORT C sollte 
sich wieder ganz normal verhalten.

> Liegt es vielleicht doch am IC ?

Mit ziemlicher Sicherheit nicht.
OP #1458653
Lesenswert?

Also ich hab ja nun beide varianten versucht.

Wenn ich JTAG das Häckchen wegmache, dann kann ich den Microkontroller 
nicht mehr über ISP-Schnittstelle erreichen. Somit kann ich das obige 
Programm nicht aufspielen und testen. Hinzuzufügen ist, das ich einen 
externen Quarz mit 16MHz habe.

Wenn ich bei JTAG ein Häckchen setze, dann kann ich den Microkontroller 
über ISP-Schnistelle erreichen, aber der PortC verhält sich immer noch 
nicht korrekt.

Also ich hab hier momentan 2x ein ATMEGA32 den wo ich nicht mehr 
ansprechen kann muss ich erstmal wieder zugänglich machen, wie mir das 
im Beitrag zuvor geraten wurde.

Mit freundlichen Grüßen

DoubleU
#1458657
Lesenswert?

Was du da beschreibst, ist völlig unlogisch.

JTAG hat nichts mit der Fähigkeit des ISP Programmierens zu tun.

Du gehst hoffentlich so vor:

Du hast einen Prozessor, der grundsätzlich funktioniert.
Von dem liest du als allererstes die Fuses aus.
Damit hat dein Fuseprozessor die momentane Konfiguration
Dann schaltest du die JTAGEN Fuse um. Und nur diese!
Dann schreibst du die Konfiguration zurück.

Alles muss wie gehabt weiter funktionieren. Nur eben mit dem 
Unterschied, dass die Pins am PORT C ihre JTAG Funktion verloren haben.
OP #1458661
Lesenswert?

Stefan B. schrieb:

> Die Schaltung aus Beitrag "ATMEGA32 Einzellne Pins durchgebrannt ?"
> wird aber nicht funktionieren, weil unvollständig (Vcc für µC fehlt,
> Quarz fehlt).

Das oben ist nicht die komplette Beschaltung, Ich dachte ich hab 
vielleicht die LED´s schon nicht richtig beschaltet, deswegen hab ich 
oben nur einen kleinen auszug.

Reset
XTAL2
XTAL1
AREF
AVCC
AGND
VCC
GND

sind auf dem Board alle mitbeschaltet. Ich habe den Schaltplan momentan 
nicht in Digitalerform da, sonst hätte ich ihn mit angehängt.

Mit freundlichen Grüßen

DouleU
Persönliche Seite #1458665
Lesenswert?

Doubleyou W. schrieb:

> Ich habe den Schaltplan momentan
> nicht in Digitalerform da, sonst hätte ich ihn mit angehängt.

Es ist unerheblich in welcher Form der Schaltplan vorhanden ist, 
Hauptsache es ist einer vorhanden.

Ein handgemalter Schaltplan eingescannt oder abfotografiert ist besser 
als keiner.

Zur Not tut es auch ein gutes (=richtig ausgeleuchtetes und scharfes) 
Foto des Aufbaus.

Die Fuses (Low Freq.!) passen nicht zum 16 MHz Quarz!
#1458732
Lesenswert?

Ich bin ein bischen verwirrt - erst funktioniert er garnicht mehr 
(09:32), dann funktioniert er mit anderen Fuses wieder (10:46)?

Jedenfalls ist ein 16MHz Quarz etwas viel für den Oszillator, wenn der 
auf CKOPT=1 (unprogrammed) eingestellt wird. Steht ja auch deutlich 
dran, dass diese Einstellung für <= 8MHz gut ist
OP #1458733
Lesenswert?

Ich hab das ganze ja auch mal durchgemessen. Ich hab an PC1/PC2&PC7/PC8 
die gewünschte 0V anliegen, da der IC die Pins gegen Masse durchschaltet 
an PC3/PC4&PC5/PC6 liegen jedoch 3,3V bis 5V an ein Pin hat nur 3,3V 
keine Ahnung warum.

Ich glaub ich leg die Platine weg und bau mir ne neue :P Ich will euch 
ja nicht mit so einem Problem auf die Nerven gehen. Irgendwo ist da wohl 
ein Wurm vergraben werd bestimmt noch drauf kommen.
OP #1458738
Lesenswert?

A. K. schrieb:
> Ich bin ein bischen verwirrt - erst funktioniert er garnicht mehr
> (09:32), dann funktioniert er mit anderen Fuses wieder (10:46)?

Ich hab hier Vorort zwei ATMEGA32 IC´s an dem IC wo ich die Fuses JTAG 
über PonyProg deaktiviert habe geht garnichts mehr.

> Jedenfalls ist ein 16MHz Quarz etwas viel für den Oszillator, wenn der
> auf CKOPT=1 (unprogrammed) eingestellt wird. Steht ja auch deutlich
> dran, dass diese Einstellung für <= 8MHz gut ist

das heißt bei CKOPT=1 das Häckchen wieder wegnehmen ?
#1458740
Lesenswert?

Ja.
Solange du nicht an den CKSEL Fuses rumspielst, kannst du nicht viel 
kaputt machen.

Aber denk IMMER an die Grundregel Nummer 1:
Ehe du an den Häkchen rumspielst, lass Ponyprog die aktuelle 
Fuseeinstellung vom Prozessor auslesen!
Das ist ganz wichtig und würde ich auch dann auf jeden Fall machen, wenn 
Ponyprog behauptet, das von sich aus schon zu tun.

Das ist einer der wichtigsten Tips überhaupt:
Ehe du etwas veränderst, IMMER zuerst das aktuell vorhandene vom Chip 
auslesen lassen. Egal welcher Chip, egal welche Software.

Sonst landest du ganz schnell in der Falle, dass du nicht nur diese 1 
Fuse veränderst, sondern alle anderen ebenfalls. Genau das dürfte dir 
bei deinem ersten Chip passiert sein und du hast ihn unbeabsichtigt auf 
externen Takt (und damit ist kein Quarz gemeint) umgestellt.
#1458741
Lesenswert?

Dein erstes Fuse-Bild zeigt keinen Haken, also CKOPT=1, was eine 
Einstellung für <= 8MHz ist. Das Schaltbild zeigt einen 16MHz Quarz. Im 
Text steht, das sei die nicht funktionierende Konfiguration. Passt also 
zusammen.

Wenn man die Fuses erst einmal versemmelt hat, dann ist ist etwas 
schwieriger, sie wieder gerade zu biegen, denn mit ISP geht das ohne 
Tricks nicht mehr. 16MHz Quarz durch 3-8MHz ersetzen könnte helfen.
Gast #1458876
Lesenswert?

Hoi,

nun geht alles lag also doch am den JTAG. Ich hab mir nochmal das 
Datenblatt angeschaut. Und hab diesmal erst alles auf den Quarz 
eingestellt und erst dannach den JTAG weggenommen. Beim erstenmal hab 
ich das aufeinmal gemacht und hab wahrscheinlich den Fehler gemacht, auf 
den mich "Karl heinz Buchegger" aufmerksam gemacht hat.

>Aber denk IMMER an die Grundregel Nummer 1:
>Ehe du an den Häkchen rumspielst, lass Ponyprog die aktuelle
>Fuseeinstellung vom Prozessor auslesen!
>Das ist ganz wichtig und würde ich auch dann auf jeden Fall machen, wenn
>Ponyprog behauptet, das von sich aus schon zu tun.

>Das ist einer der wichtigsten Tips überhaupt:
>Ehe du etwas veränderst, IMMER zuerst das aktuell vorhandene vom Chip
>auslesen lassen. Egal welcher Chip, egal welche Software.

Bei dem Vorgang ist wohl was schief gegangen.

Also danke nochmal an all, jetzt kann ich Produktiv weiter machen. Ich 
hoffe ich habe eure Nevern nicht zu arg strapaziert.


Mit freundlichen Grüßen

Doubleyou

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren