www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega168 gibt Spannung aus VCC bei 5V am TXD/RXD


Autor: Björn G. (tueftler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Habe hier einen Atmel Mega 168 am laufen der sich ein wenig merkwürdig 
verhält.

Er gibt aus VCC ca. 2,5V aus, wenn ich in die Pins TXD/RXD einen 
TTL-Pegel gebe.
Dadurch werden sogar die LEDs getrieben, die eigentlich "VCC OK" 
signalisieren sollen.

Das ist nun natürlich unschön.

Was auch merkwürdig ist, wenn ich bei eingeschalteten uC per UART etwas 
drauf schreibe, fängt er von vorne an und hört dann auch nicht mehr 
damit auf.
Per Debugger konnte ich sehen, dass er immer genau bis zu sei() läuft 
und dann wieder beim main() anfängt.

Ich denke hier hat wohl der IC nen Schaden :-)

BOT ist disabled und ansonsten sollte er auch kein Reset bekommen.

Björn

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn G. schrieb:

> Er gibt aus VCC ca. 2,5V aus, wenn ich in die Pins TXD/RXD einen
> TTL-Pegel gebe.

Thema Schutzdioden: Von jedem Pin gegen GND bzw. Vcc liegt eine Diode. 
Ist ganz normal das Verhalten.

Autor: André (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das eigentlich unschoene ist, dass du an einen IC-Pin eine Spannung 
anlegst, obwohl der IC selbst aus ist. Sowas macht man nicht :)

Gruessle

Autor: Björn G. (tueftler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blöde Sache das.

An dem ATMega ist ein FT232R angeschlossen dessen TX/RX immer auf high 
ist, auch wenn er den PowerOn-Pin noch nicht aktiviert hat (bzw. auf low 
gezogen hat).

D.h. durch den PFet bekommt der uC noch kein Strom, aber die 
Datenleitungen haben schon Saft.
Der POn schaltet erst durch, wenn der FTDI am PC richtig angemeldet ist 
was nun diesen Zustand mit sich bringt.

Aber schon merkwürdig, dass der Atmel bei UART-Daten einfach mal so 
einen Reset durchführt.

Irgendwas ist doch hier total fischig.

Björn

Autor: me (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach doch einfach in die Datenleitung welche zum Avr geht ein Widerstand 
rein. So 1k - 10k dann sollte die Spannung einbrechen und den Avr bzw 
die LEDs nicht mehr treiben können - ohne VCC.

lg

Autor: Björn G. (tueftler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf sowas muß ich wohl zurück greifen.
Leider ist die Platine schon fertig.
Aber zumindest nur der Prototyp.

An diese Möglichkeit habe ich nun wirklich nicht gedacht :-)

Björn

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der FTDI hat in der Beziehung ein etwas unschönes Verhalten. Ich habe 
dann bei einer ähnlichen Geschichte dann folgende Lösung genutzt:
VccIO an der AVR-Spannung, Vcc an ein Port-Pin des AVR und abgeschaltet, 
wenn nicht gebraucht. Ub vom USB geht an ein AVR-Portpin und der 
schaltet den ganzen Kram ein, wenn der USB-Anschluß hergestellt wird.

Zumindest war dann die Stromaufnahme im Sleep so, wie erhofft.

Gruß aus Berlin
Michael

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darf man VccIO vom FT2xx komplett auf 0V legen? Das Datenblatt erlaubt 
dies nirgends explizit, allerdings steht auch nirgends, dass man das 
nicht darf. Man könnte den Bereich 1,8V-5,2V allerdings so auslegen...
Ich habe daher bisher immer zu der Widerstandslösung gegriffen, bzw. den 
AVR laufen lassen, nur den Rest hinter dem AVR per AVR abgeschaltet.

Autor: Andreas Vogt (tico)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn G. schrieb:
> Per Debugger konnte ich sehen, dass er immer genau bis zu sei() läuft
> und dann wieder beim main() anfängt.
>
> Ich denke hier hat wohl der IC nen Schaden :-)

Das ist wenig wahrscheinlich. Vermutlich hat eher Dein Code einen 
Schaden. Wenn man z.B. Interrupts einschaltet, für die es keine 
Interruptfunktion gibt, kann es leicht zu dem von Dir beschriebenen 
Verhalten kommen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Björn G. schrieb:
> Er gibt aus VCC ca. 2,5V aus, wenn ich in die Pins TXD/RXD einen
> TTL-Pegel gebe.

Einfach mal das AVR-Datenblatt lesen.
Da gibt es maximale Eingangspegel bezogen auf den VCC-Anschluß!

D.h. VCC muß immer zuerst anlegt werden!


Peter

Autor: Björn G. (tueftler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ihr da.

@Michael: Ja, das ist wirklich nicht so schick gelöst was FTDI da 
gemacht hat. Normalerweise gehörten TX/RX im unangemeldeten Zustand auf 
Tristate und nicht einfach auf high.

@Andreas: Du hattest recht mit Deiner Vermutung in Sachen falschem 
ISR-Namen. Hatte leichtgläubig den UART-ISRNamen eines Mega1280 benutzt 
was hier nicht zu traf. Ist mir bisher noch nicht aufgefallen, dass der 
uC dann so reagiert :-)
Nun funktioniert alles wie es sollte.

@Peter: Mir war schon klar dass das nicht die feine Art ist einen IC zu 
betreiben. Wie oben beschrieben ist bisher nie diese "Arbeitsweise" des 
FTDIs bei meinen Platinen aufgefallen. Blöde Sache das.

...wieder was dazu gelernt.

Schönen Abend noch,
Björn

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.