Kann man einen 3.3V-Ausgang (ESP8266 GPIO) direkt mit einem 5V-Eingang (AVR) verbinden, wenn am 3.3V-Ausgang ein 10K-Pulldown angeschlossen ist (für ESP8266 im Reset)?
Ein Pulldown bringt da nichts. Da hilft nur ein Blick ins Datenblatt. Der minimale High-Pegel des Ausgangs muss höher sein als der minimale High-Pegel des Eingangs.
Michael schrieb: > Kann man einen 3.3V-Ausgang (ESP8266 GPIO) direkt mit einem 5V-Eingang > (AVR) verbinden, wenn am 3.3V-Ausgang ein 10K-Pulldown angeschlossen ist > (für ESP8266 im Reset)? Nein, zumindest ist es sehr knapp, denn die Worst-Case-Werte sind: - AVR Eingang High min. 0,6*Vcc = 3V (ATmeag8). - ESP8266 Ausgang High min. 0,8*VIO = 2,64V. Welche Bedingungen beim ESP8266 gelten habe ich auf die Schnelle nicht gefunden, bzw. welche Betriebsart und Last dabei berücksichtigt ist (Tabelle Seite 15). Wenn das für die max. Last von 12mA gilt, könnte das bei 10kOhm Pull-Down fast 3,3V werden - viel Störabstand zu den 3V des AVR bleibt aber nicht übrig. Gruß Dietrich
> Wenn das für die max. Last von 12mA gilt, könnte das bei 10kOhm Pull-Down fast
3,3V werden
Verstehe ich das richtig: Ich sollte die Laste reduzieren (den Pull-Down
grösser machen), um es unkritischer zu machen, z.B. 47K Pull-Down am
3,3V-Ausgang? Das ist kein schnelles Signal.
@Noch einer: > Pulldown bringt da nichts
Der Pull-Down muss am 3.3V-Pin einen definierten Pegel herstellen, wenn
der ESP aus ist (z.B. per Chip-Enable-Pin).
Ich glaube die Fage hat sich erledigt, ich kann auch auch einen Pull-Up auf 3,3V am 3,3V-Pin verwendne (Pull-Down war nur drin, weil ich bisher mit Transistor geplant hatte).
Nanu? Nach den garantierten Werten funktioniert es nicht. Der ESP liefert nicht genug Spannung, damit der AVR sicher High erkennt. Ob der Pull-Up die garantierten 2,64V auf die geforderten 3V anhebt? Reiner Zufall, ob es funktioniert. Anderer Ansatz - hast du mal geschaut, ob du es mit einem Komperator oder ADC einlesen kannst?
Alle Beispielschaltungen zum ESP8266 zeigen eine direkte Verbindung von TX (ESP, 3.3V) zu arduino & co, man liest deshalb nicht von Problemen.
Noch einer schrieb: > Ob der Pull-Up die garantierten 2,64V auf die geforderten 3V anhebt? > Reiner Zufall, ob es funktioniert. Diese Worst-Case-Angabe hat aber einen deutlichen Ausgangsstrom als Bedingung. Wenn man den nicht hat, ist der Pegel auch ohne Pullup oberhalb 3V - nur gibt es vermutlich kein Diagramm o.ä. dazu im Datenblatt. @Michael: Atmel hat das im STK500 mit 2 Transistoren und drei Widerständen gelöst. http://www.atmel.com/webdoc/stk500/stk500.section_aqi_nwk_yb.html Such mal nach MISOT in dem Schaltplan. VTG ist die kleine Spannung, z.B. die 3V3, VCC die 5V. Nachteil: man muss dieser Schaltung sowohl die 3.3V als auch die 5V zur Verfügung stellen.
Gibt es Line-Driver (Tri-State-Ausgang, non-invertig), die bei 5V-Versorgung 2,6V auf der Eingangsseite zuverlässig als H erkennnen? In den PDFs der Chips a la 74LVC1G126DBV steht zwar oft was von gemischter 3V/5V-Umgebung, aber anscheinend meinen die damit nur die Richtung 5V->3,3V (3,3V-Versorgung). Leider lässt die parametrische Suche das nicht eingrenzen.
Michael schrieb: > den PDFs der Chips a la 74LVC1G126DBV steht zwar oft was von gemischter > 3V/5V-Umgebung, aber anscheinend meinen die damit nur die Richtung > 5V->3,3V (3,3V-Versorgung). Ja, so sehe ich das auch. Aber Pegelwandlung von 3,3V auf 5V geht am einfachsten mit 74HCT-Bausteinen (versorgt mit 5V). Das "T" steht für "TTL", d.h. die haben einen Minimum-High-Pegel von 2V. Gruß Dietrich
Google hat die abgebildete Schaltung gefunden (http://woodsgood.ca/projects/2015/01/19/level-shifting-interface-arduino-esp8266/). Links die 3,3V-Seite, rechts die 5V-Seite. Das schöne daran ist, dass das bidirektional ist. Gibt es zufällig ein IC, in dem solche Einheiten mehrfach enthalten sind?
Michael schrieb: > Gibt es zufällig ein IC, in dem solche Einheiten mehrfach enthalten sind? http://www.ti.com/lsds/ti/logic/bidirectional-voltage-translation-products.page (und natürlich bei anderen Herstellern) Aber brauchst du überhaupt bidirektional?
> überhaupt bidirektional? Vielen Dank für den Link. Bidirektional ist eigentlich unnötig. Ich habe 5 Verbindungen zwischen den ICs (2 x Seriell, 2 x Reset und ein Signal). Zur Zeit braucht ich dafür 15 Bauteile. Ich wünschte es ginge mit weniger. AVR soll den ESP resetten können, ESP den AVR - dafür die Reset-Verbindungen und das (Bootloader-)Signal.
Also wenn es nur darum geht einen 3V3 Ausgang einem AVR mit Vcc von 5V zuzuführen und man hat noch einen ADC frei dann würde ich mir den Pegelwandler sparen und den ADC des Atmegas nutzen. Auf der anderen Seite: Pegelwandler mit Transitor und zwei Widerständen bringt nun auch niemanden ins Grab, was ist denn daran so kompliziert dass man sowas nicht nutzt?
> wenn es nur darum geht einen 3V3 Ausgang einem AVR mit Vcc von 5V zuzuführen
ADC nützt nichts, es geht um vorgegebene Pins (serielle Verbindung,
Reset, ESP GPIO0).
Michael schrieb: > Bidirektional ist eigentlich unnötig. Ich habe 5 Verbindungen > zwischen den ICs (2 x Seriell, 2 x Reset und ein Signal). Für unidirektionale Wandler kann man irgendwelche Logikbausteine aus einer Familie, die die entsprechenden Pegel verträgt, nehmen, z.B. 74LV: SN74LV1T34: 1x Buffer SN74LV4T125: 4x Buffer with Output Enable (oder AND/OR/NOT/etc., falls benötigt)
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.