Warum liefert der Tx-Pin eines USB-zu-TTL-Adapters Strom?

Ich mache gerade ein kleines elektronisches Brett auf meinem eigenen. Darauf ein Mikrocontroller: ein ATmega328p, der mit 5V läuft. Um mit einem Computer zu kommunizieren, habe ich geplant, ein XBee zu verwenden, aber im Moment verwende ich einfach einen Adapter TTL <-> USB basierend auf einem FTDI FT232RL-Chip ( hier ).

Das Problem ist, egal ob die Stromversorgung an mein Board angeschlossen ist oder nicht, sobald ich diesen seriellen Adapter daran anschließe, leuchtet eine kleine LED, die anzeigt, ob mein eigenes Board versorgt ist oder nicht. Nach der Überprüfung ist der TX-Pin des Adapters schuldig: Von ihm fließen fast 11 mA.

Das Problem scheint nicht von meiner selbstgebauten Schalttafel zu stammen, da bei einem Arduino das gleiche Problem auftritt. Außerdem heizt sich der Programmer (ein USBasp-Klon) etwas auf, und ich habe das Gefühl, dass mein serieller Adapter dafür verantwortlich ist ...

Wie kann ich das beheben? Ist das normal ? Könnte es nicht meinen Mikrocontroller beschädigen?

Nur zur Verdeutlichung, versuchen Sie, die Schaltung mit 3,3 V oder 5 V zu betreiben? Ich nehme an, die LED, die auf dem Programmiergerät leuchtet, ist die "TX"-LED? Wenn Sie ein Foto Ihrer Verbindungen zur Verfügung stellen können, wäre die Diagnose viel einfacher.
@neufuture Ich habe meinen Beitrag bearbeitet: 5V, und die LED ist auf meinem Board, tut mir leid, dass ich unklar bin! Ist das Foto notwendig? Denn bei einem Arduino Uno R3 mit demselben Mikrocontroller tritt das gleiche Problem auf!

Antworten (1)

Der USB<->TTL_serial-Adapter wird über USB mit Strom versorgt.
Eine seiner Hauptaufgaben besteht darin, die TX-Signalleitung in den Zustand zu treiben, der für die jeweils stattfindende Kommunikation geeignet ist.
Wenn keine Kommunikation stattfindet, ist der Standardzustand für eine TTL-UART-TX-Leitung hoch (also 3,3 V oder 5 V oder was auch immer die Versorgung des Geräts ist).
Infolgedessen füttern Sie dieses "Hoch" in Ihren anderen Schaltkreis (ATmega, Adruino, was auch immer).
Was macht nun dieser andere Schaltkreis mit diesem „Hoch“?
Nun, die meisten Mikrocontroller-Dinge (und viele andere auch) haben eine Art Diodenanordnung zwischen ihren E / A-Pins und ihren Versorgungsleitungen - entweder absichtlich als ESD-Schutz oder einfach als unvermeidliches Ergebnis des Herstellungsprozesses - etwa so:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wie Sie also sehen können, versucht Ihr USB <-> TTL_Serial-Adapter, wenn er versucht, seine Arbeit zu erledigen und ein „High“ an den E / A-Pin des Mikros anzulegen, aufgrund der internen Dioden des Mikros, am Ende zu versuchen, den mit Strom zu versorgen ganze Schaltung. Einige Adapter können diesen Sachverhalt mehr oder weniger tolerieren als andere ...

Wie könnte ich diesen Verbrauch vermeiden?
Ein Vorwiderstand, sagen wir 1k oder 4,7k würde das tun. Oder verwenden Sie einen optoisolierten Adapter. Andernfalls verwenden Sie das xbee, das Sie verwenden möchten