Forum: Mikrocontroller und Digitale Elektronik Port C am ATmega8


von R. Strub (Gast)


Lesenswert?

Hallo zusammen

Bei meinem ATmega8 habe ich das Problem, dass wenn ich auf Pins des Port 
C den High-Pegel anlege, ich eine Spannung von zwischen 0.8-3 Volt (je 
nach Pin unterschiedlich, jedoch immer gleich) messen kann.

Bei den Ports B und D erhalte ich stehts 5 Volt, wie der Chip auch 
gespiesen wird.

Codeausschnitte:
1
DDRB = 0x0;
2
DDRC = (1<<DDC4)|(1<<DDC3)|(1<<DDC2)|(1<<DDC1);
3
DDRD = (1<<DDD4)|(1<<DDD3)|(1<<DDD2)|(1<<DDD1)|(1<<DDD0);
4
5
PORTC |= _BV(1);
6
PORTC |= _BV(2);
7
PORTC |= _BV(3);
8
PORTC |= _BV(4);

Kennt jemand das Problem?
Danke schon im Voraus

R. Strub

von Falk (Gast)


Lesenswert?


von Hannes L. (hannes)


Lesenswert?

R. Strub wrote:
> Bei meinem ATmega8 habe ich das Problem, dass wenn ich auf Pins des Port
> C den High-Pegel anlege, ich eine Spannung von zwischen 0.8-3 Volt (je
> nach Pin unterschiedlich, jedoch immer gleich) messen kann.
>
> Bei den Ports B und D erhalte ich stehts 5 Volt, wie der Chip auch
> gespiesen wird.

Bist Du sicher, dass die Versorgungsspannung anliegt? PortC wird nicht 
von VCC versorgt sondern von AVCC. Es gehören immer alle GNDs und VCCs 
angeschlossen.

...

von Hannes L. (hannes)


Lesenswert?

Falk wrote:
> JTAG Fuse!
>
> http://www.mikrocontroller.net/articles/ATmega
>
> MFG
> Falk

Mega8 und JTAG???

War wohl wieder mal 'n Aufmerksamkeitstest, oder?

...

von Holger K. (krulli) Benutzerseite


Lesenswert?

Falk wrote:
> JTAG Fuse!

ohje.... Der Mega8 hat aber kein JTAG Interface. Demzufolge auch keine 
JTAG Fuse.

Edit: Mist, wieder war ich zu langsam ;)
Hallo ...Hannes...

von Hannes L. (hannes)


Lesenswert?

> Mist, wieder war ich zu langsam ;)

Mach Dir nix draus, das passiert mir auch immer wieder. Ist mir aber 
nicht wichtig, bin schließlich Lego-Dingsbums, ähh Legastheniker.

Gruß übern Bach...

von Falk (Gast)


Lesenswert?

@ Hannes Lux (hannes)

>Mega8 und JTAG???

Uuups. Hab ihc da was übersehen? ;-)
Vielleicht isses AVCC?

MfG
Falk

von déjà vu (Gast)


Lesenswert?

vielleicht. vielleicht liegts aber auch am nicht angeschlossenen AVCC.

von R. Strub (Gast)


Lesenswert?

AVcc liegt auf +5V ... genau wie der Pin 7 (Vcc)

JTAG is wohl eher nicht der Fall ;)

Andere Ideen?
Gruss R. Strub

von Hannes L. (hannes)


Lesenswert?

Falk wrote:
> @ Hannes Lux (hannes)
> Uuups. Hab ihc da was übersehen? ;-)

Durchaus möglich. Vielleicht ja das hier:
Beitrag "Re: (Adress-) Springen im SRAM"

;-)

...

von Johannes A. (Gast)


Lesenswert?

Machst Du was mit dem ADC? Und wenn ja, auf welchem Level liegt AREF?

Ich hatte mal das Problem, dass unbenutzte ADC-Eingänge, die an AVCC 
lagen, welche höher war als die AREF, bei jedem(!) Ändern von ADMUX 
äußerlich messbare Spikes an den benutzten ADC-Eingängen bewirkten, die 
mir die Messungen versauten.

Vielleicht ist ja auch das Umgekehrte möglich, also dass eine AREF < 
AVCC auf die digitalen C-Outputs durchschlägt?!?

Gruß Johannes

von R. Strub (Gast)


Lesenswert?

ARef ist zusammen mit AVcc und Vcc auf +5V ... der ADC selber brauch ich 
(noch) nicht.

Gruss R. Strub

von Johannes M. (johnny-m)


Lesenswert?

R. Strub wrote:
> ARef ist zusammen mit AVcc und Vcc auf +5V ... der ADC selber brauch ich
> (noch) nicht.
AREF hat an VCC nichts verloren! Da gehört allerhöchstens ein 
100nF-Kondensator gegen Masse dran.

von Falk (Gast)


Lesenswert?

@ Hannes Lux (hannes)

>> Uuups. Hab ihc da was übersehen? ;-)

>Durchaus möglich. Vielleicht ja das hier:
>Beitrag "Re: (Adress-) Springen im SRAM"

>;-)

Was du immer so für Leichen ausgräbst . . .;-)

MFg
Falk

von Reto S. (rstrub)


Lesenswert?

Hm ... wie sieht's denn aus, wenn ich Spannungen am ADC messen will vom 
0 - 5 Volt?

Weil irgend wo gibt's ja da so ne Formel

Als was muss/kann ich dann Vref annehmen, wenn ich Aref mit nem C auf 
Masse setz?

Gruss Reto

von Falk (Gast)


Lesenswert?

@ Reto Strub (rstrub)

>Als was muss/kann ich dann Vref annehmen, wenn ich Aref mit nem C auf
>Masse setz?

Das hängt von der Einstellung des ADC und deiner Aussenbeschaltung ab.

MfG
Falk

von Hannes L. (hannes)


Lesenswert?

> Als was muss/kann ich dann Vref annehmen, wenn ich Aref mit nem C auf
> Masse setz?

Exakt das, was Du mittels ADMUX ausgewählt hast. Mit ADMUX lässt sich ja 
neben Messquelle und Ergebnisformatierung auch die Referenzquelle 
einstellen.

Der C von AREF nach GND soll die intern ausgewählte AREF glätten 
(reinigen).

...

von Johannes M. (johnny-m)


Lesenswert?

Es gibt nur einen einzigen Fall, in dem man an AREF etwas anderes 
anschließt als besagten Kondensator, und das ist, wenn man eine extern 
vorgegebenen Referenzspannung verwenden will, die nicht intern vom 
Controller zur Verfügung gestellt wird. AVCC ist intern über die 
REFS-Bits als Referenz wählbar und hat deshalb nichts am AREF-Pin 
verloren.

von Hannes L. (hannes)


Lesenswert?

Ergänzung:

Johannes M. wrote:
> Es gibt nur einen einzigen Fall, in dem man an AREF etwas anderes
> anschließt als besagten Kondensator, und das ist, wenn man eine extern
> vorgegebenen Referenzspannung verwenden will, die nicht intern vom
> Controller zur Verfügung gestellt wird.

Wobei ich dabei auf den Kondensator nicht verzichten würde, ich würde 
also die externe Referenzspannung zusätzlich zum Kondensator 
anschließen.

> AVCC ist intern über die
> REFS-Bits als Referenz wählbar und hat deshalb nichts am AREF-Pin
> verloren.

...

von Reto S. (rstrub)


Lesenswert?

OK ... hab nun AVref von AVcc weggenommen und mit einem 100n Kondensator 
gegen GND verlötet. Leider ohne sichtbaren Erfolg. An Pin 27 (z.B.) habe 
ich weiterhin 0.88 Volt bei einem High-Pegel.

Sonst noch wer ned Idee?

Gruss Reto

PS: Hier mal noch nen Blick ins Schema (Vref ist hier noch 
falsch):http://img172.imageshack.us/img172/1504/atmega8go8.gif

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

TWI (TwoWireInterface) benutzt? Vielleicht unabsichtlich? Das kann die 
normalen Portfunktionen überfahren.

von Johannes A. (Gast)


Lesenswert?

Ich war ein paar Tage nicht da, deshalb erst heute:

Beim Blick auf das Schaltbild kommt mir noch eine, zugegeben, ziemlich 
dumme Idee: Hat IC4 überhaupt eine (passende) VCC an Pin 16 und GND an 
Pin 8? Wenn nicht, z.B. infolge einer kalten Lötstelle, benehmen sich 
selbst CMOS-Chips höchst merkwürdig...

Und @ Johannes M. ein klares Jein. Mit beiden REFS-Bits auf 0 muss AREF 
unbedingt an einer externen Spannung liegen, auch wenn es die AVCC ist. 
Das war zu Prä-Mega8-Zeiten sogar ein Muss, und dazu gab es auch eine 
AppNote von Atmel "Replacing the AT90S4433/2333 with the ATmega8" oder 
so. Aber ok, die Zeiten sind vorbei ;-)

Gruß Johannes

von STK500-Besitzer (Gast)


Lesenswert?

>Mit beiden REFS-Bits auf 0 muss AREF unbedingt an einer externen Spannung
>liegen, auch wenn es die AVCC ist.

Da Aref in diesem Fall die Referenzspannung liefert, ist die Aussage 
sinnfrei.
Sobald Aref nicht die Referenzspannung liefert (REF1:0 > 0), sollte da 
keine Spannung angelegt werden, weil es sonst zu einem Kurzschluß 
zwischen der intern eingestellten und der externen Spannung kommt. (Auch 
wenn der "Ausgang" recht hochohmig ist, da es sich dabei um einen 
Eingang handelt.)

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
Noch kein Account? Hier anmelden.