ATMEGA16 läuft nicht

Gast #142294
Lesenswert?

Hallo.

Mein ATMEGA16 funktioniert nicht. Selbst angeschlossene LEDs leuchten
nicht auf, wenn ich diese direkt BEIM RESET anschalte (Quellcode dafür
100% OK). ergo : Die Ports werden gar nicht gesetzt, was ein Rundgang
mit dem Spannungsmesser und Oszillographen bewiesen hat.

Nun gege ich von der Annahme aus, dass der Chip überhaupt nicht mit der
Programmverarbeitung beginnt. Programmieren lässt er sich seltsamerweise
aber. (?)

Zur schaltung:

Einen Stromlaufplan kann ich leider nicht vollständig zur Verfügung
stellen, da Target 3001! in der freien Version nur 100 Pins zulässt und
das Layout mehr oder weniger gezeichnet wurde :-|. Als
Spannungsversorgung schließe ich ein Netzteil (13,5V 265ma) an den
Spannungswandler, zu beiden Seiten durch 10µF gepuffert. Da der eine
Kondensator so und so Leiterbahntechnisch direkt neben Vcc und GND
liegt, habe ich auf den 100nF verzichtet. ARef, XTAL1 und XTAL2 habe
ich komplett unbeschalten gelassen, da im Datenblatt steht : ARef wäre
egal, und im Internet, dass man das beim internen Oszi mit XTAL1 und 2
auch tun könnte.

Kurzschluss, etc. ist natürlich nicht vorhanden, auf diese
Möglichkeiten hin, sowie auf Funktionalität anderer Baugruppen wurde
hinreichend getestet.

Ist nun mein AT defekt, muss ich diese Pins auch noch beschalten, ist
der Kondensator ungeschickt, oder ist es irgend etwas anderes ???

Vielen Dank an alle, die sich diesen langen Text durchgelesen haben,
und mir trotzdem helfen wollen. ;-)

MfG

Christoph
Gast #142298
Lesenswert?

So.... hier sind sie :

Locks : alle 0

OCDEN    0
JTAGEN   1
SPIEN    1
CKOPT    0
EESAVE   0
BOOTSZ1  1
BOOTSZ0  1
BOOTRST  0
BODLEVEL 0
BODEN    0
SUT1     0
SUT0     1
CKSEL3   1
CKSEL2   1
CKSEL1   1
CKSEL0   0

PS: könnte mir einer folgende Fuses näher erläutern ???
BOOTRST
BOOTSZ1/0
EESAVE
CKOPT
OCDEN
JTAGEN - muss ich den Ausschalten, um PC2-5 zu verwenden
Gast #142301
Lesenswert?

Nein. ab nur den einen.
Kann der etwa defekt sein ?
Ich hab aber bis jetz nichts "schlimmes" mit dem angestellt. Immer
wenn er nicht in der Fassung ist, war er in antistatischem Schaumstoff,
und einen Kurzschluss gabs auch nicht. (genauso wie überspannung)
Gast #142305
Lesenswert?

an PortA hab ich den 74HC541N als Treiber. Danach gehen die Ausgänge
über je einen 180 Ohm Wiederstand an zwei 7segment Anzeigen
parallel(segmente untereinander verbunden). Die gemeinsamen Kathoden
gehen an den Kollektor von NPN-Transistoren, deren Emitter an GND
liegt. Die Basis ist mit je einem 3,0KOhm wiederstand an PortC.0 und
C.1 angeschlossen. Ohne den ATMEGA eingesetzt funktioniert das
tadellos, wenn ich die Leitung künstlich auf wunschpegel setze.
Gast #142306
Lesenswert?

AVcc und AGND sind korrekt angeschlossen.
DDRA ist 0xFF (Ausgänge)
DDRC ist 0xFF (ebenfalls)
PORTA ist 0b10101010 (4 sollten auf alle Fälle leuchten)
PORTC ist 0b00000010 (linke 7segment anzeige. PORTC.1 = 5V)
LEDs in 7segment anzeige sind siehe oben über einen Puffer und
Vorwiederstand an Vcc.
Gast #142309
Lesenswert?

Einen anderen Port kann ich nicht verwenden. Der Chip sitzt auf seinem
Thron (Sockel) in einer fertig aufgebauten Platine. Mir ist nicht
bewusst, dass ich den PortC zerschossen habe. Der Chip ist keine Woche
alt, und vor dieser Platine nie im Einsatz gewesen. Könnte den die
Schaltungsanordnung wie oben beschrieben den PortC durchrauchen ?.
Aber erst mal grundsätzlich : oben hab ich gefragt, ob es OK ist, XTAL1
und XTAL2 unbeschaltet zu lassen, genauso wie ARef. Ich vermute nämlich
immernoch stark, dass der ATMEGA gar nichts macht, wenn ich saft
anlege.
Gast #142310
Lesenswert?

Einen freien Port auf HIGH setzen bringt nichts, da sich der ATMEGA
scheinbar nicht regt. (programmieren lässt er sich), doch bei jeder
inbetriebnahme macht er nichts. Kann das daran liegen, dass die 10µF zu
groß sind, und ich den 10uF neben dem Chip gegen einen 100nF austauschen
sollte ?
Gast #142315
Lesenswert?

Könnte es sein, dass ich die Falsche Datei unter .include angeben
(AVR-Studio Assembler)

ich schreibe immer :
.include m16def.inc
aber es gibt auch noch m{161,162,163,169}def.inc
und in jeder steht eine andere Register - IO register belegung

Auf meinem Chip steht genau :
"ATMEGA 16"
"16PI"
"0439J"
welche soll ich verwenden ?
Gast #142321
Lesenswert?

Hi Christoph,

>Kann es dann villeicht an der JTAGEN Fuse liegen, dass die den PORTC
>reserviert ? Die ist laut PONYProg nämlich 1 (Häkchen im Kästchen)

"Häkchen im Kästchen" heißt _aktiv_ und
_aktiv_ heißt Null !!!

hth
Gunter
Gast #142322
Lesenswert?

AVcc ist mit Vcc verbunden.
Das JTAGEN-Problem (soweit wie es ein Problem war) ist gelöst. Die
Ports B,C,D funktionieren einwandfrei, jedoch einzig udn allein bei
Port A tritt beim beschreiben mit dem Bitmuster 10101010 an sämtlichen
Ausgängen eine Spannung von ~0,5V auf. Hat der Port A etwa auch noch
eine Funktion, die man erst abschalten muss ?
Gast #142323
Lesenswert?

> Hat der Port A etwa auch noch eine Funktion,
> die man erst abschalten muss ?

Jein. Port A wird von AVCC gespeist, nicht von VCC. Deswegen spricht
das beschriebene Sympton sehr stark dafür, dass AVCC bei dir eben doch
nicht richtig angeschlossen ist.
Gast #142325
Lesenswert?

Mach erstmal die 100nF-Keramik-C's dran. Ohne die wird dein
Spannungsregler schwingen. Und weitere 100nF direkt an den AVR.

Und dann poste mal dein Programm, vielleicht ist es ja doch nicht 100%
in Ordnung.

...
Gast #142327
Lesenswert?

Das Teil funzt nun. Ich hatte zwei Drahtbrückenenden, die nebeneinander
liegen falsch eingelötet, und damit AVcc mit GND verbunden. Jetzt läuft
alles wunderbar.


Ich sehe diesen Thread hiermit als geschlossen an. (Problem gelöst)


PS:
@ ...HanneS...
Der Spannungwandler ist mit 10µF beschaltet, wovon einer wegen der Nähe
zum AVR den 100nF ersetzt. (s.o.)
Gast #142329
Lesenswert?

10µF ist sicherlich ein Elko. Der kann den 100nF Keramik nicht ersetzen,
da er zu langsam ist. Ohne die Keramik-C's kann es gehen, muss aber
nicht. Manche Spannungsregler schwingen dann.

...

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