ATMega168 gibt Spannung aus VCC bei 5V am TXD/RXD

OP #1290657
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
OP #1290725
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
Gast #1290727
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
#1290799
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
#1290808
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.
#1290887
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.
#1290926
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
OP #1291844
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.