Pegelwandler

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Einleitung

Pegelwandeln (engl. level shifting) wird oft notwendig, wenn Systeme mit unterschiedlicher Ausgangs- und Eingangsspannungen (z. B. Versorgungs- oder Logikspannungen) miteinander verbunden werden sollen. Das vielleicht bekannteste Beispiel ist die Umsetzung von 0V/5V TTL Logikpegeln auf die -13V/13V Pegel einer seriellen RS232 Schnittstelle. Die Probleme beim Pegelwandeln können sein:

  1. Überlastung einer oder beider Seiten, bis hin zur Zerstörung
  2. Inkompatible Logikpegel und daraus resultierendes Nichtfunktionieren der Schaltung, oder noch schlimmer, sporadische Fehlfunktionen
  3. Verzögerungen der Signale durch die Pegelwandlung und daraus resultierende maximale Signalfrequenzen

Überlastung

Das Erzeugen von verschiedenen Versorgungsspannungen ist ziemlich einfach, aber man muss sicher gehen, dass man die Signalpegel der Bauteile auf Toleranz überprüft. Wenn z.B. ein 5V Bauteil ein Signal an ein 3V Bauteil schickt, können beide Bauteile beschädigt werden. Vor allem für neue ICs ist es ein Problem mit "hohen" Spannungen wie 5V zu arbeiten. Auf Grund der immer kleineren Schaltkreisstrukturen (aktuelle Prozessoren werden mit 14nm Technologie hergestellt!) werden auch die Abstände und Schichtdicken immer geringer. Das reduziert natürlich auch die Spannungs- und Stromfestigkeit der Transistoren auf dem IC. Neue ICs vertragen deshalb meist nur noch 3.3V, teilweise sogar weniger! Die Überlastung erfolgt durch zu hohe Spannung und dadurch mehr oder weniger langsame Zerstörung des ICs.

Schutzdioden

Hauptursache Nummer zwei für Überlastung von ICs mit verschiedenen Betriebsspannungen sind die in nahezu allen ICs integrierten Schutzdioden. Deren Aufgabe ist es in Normalfall, elektrostatische Entladungen auf eine sichere, niedrige Spannung zu begrenzen. Die Entladungen geschehen durch unsachgemässe Handhabung und Transport von ICs, z. B. wenn jemand über einen Kunstfaserteppich läuft, sich dabei elektrostatisch auflädt und einen IC anfasst, oder wenn Bauteile in einem Gerät eingebaut sind und der Anwender berührt offen liegende Kontakte (RS232 Eingang, USB-Stick, PCI-Steckkarten beim Einbau etc.). Auch elektrostatische Entladungen / EMV können Ursache zu hoher Pegel auf den Leitungen sein.

Die Schutzdioden beginnen, Strom zu leiten, wenn die Eingangsspannung ca. 300 mV - 600 mV über UCC ansteigt oder entsprechend unter GND absinkt. Im Normalbetrieb sollten die Schutzdioden keinen Strom leiten. Manchmal kann man sie aber zur Spannungsbegrenzung missbrauchen, siehe Spannungsherabsetzung mit Vorwiderstand.

Besonderes Augenmerk ist hierbei auf die optimale Dimensionierung des R zu legen, um sicherzustellen, dass kein zu hoher Strom über die Schutzdioden abgeführt werden muss. Je nach Chip-Type und Ausgang halten diese zwischen 100 µA und 10 mA aus.

Pw schutzdioden.png

5-V-tolerante Eingänge

5-Volt-tolerant bedeutet, dass 3-Volt-Bausteine ohne Probleme von einem 5-Volt-Baustein angesteuert werden dürfen.

Viele Bauteile mit einer Betriebsspannung von 3 V verfügen über 5-V-tolerante Eingänge. Man sollte aber grundsätzlich im Datenblatt dies nachschauen, bevor die Schaltung aufgebaut wird. Sind sie es nicht, so ist ein Pegelwandler auf den Verbindungsleitungen zwischen den Bauteilen notwendig. Ein Pegelwandler kann eine einfache Zener-Diode mit einem Widerstand sein, es kann aber auch ein eigens dafür vorgesehener IC sein. Sind die Signalwege bidirektional, so wird man meist die Lösung mit einem eigenen IC bevorzugen.

Bei geringen Geschwindigkeitsanforderungen und erlaubten flachflankigen Signalen (bei Zähl- und Takteingängen ist dazu Schmitt-Trigger-Verhalten erforderlich) genügt ein Serienwiderstand (Richtwert 10 kΩ) in Verbindung mit der Eingangsschutzbeschaltung. Bei allen derartigen „passiven Pegelkonvertern“ muss die Logikschaltschwelle durchfahren werden. Bei heutzutage üblichen treibenden CMOS-Ausgangsstufen ist das kein Problem.

Ob ein Bauteil 5-V-tolerant ist und unter welchen Betriebsbedingungen das gilt, steht im Datenblatt des betreffenden Bauteils vom betreffenden Hersteller. Wenn es auf diese Eigenschaft ankommt, lieber genau bei Lieferanten nachsehen, von welchem Hersteller die Bauteile kommen.

Beispiele

AVRs sind generell nicht 5-V-tolerant, wenn sie mit 3,3 V betrieben werden! Die absolute obere Grenze für Eingangsspannungen liegt bei UCC + 0,5 V. Zu finden in den elektrischen Spezifikationen im Datenblatt.

Die GPIO-Pins des Raspberry Pi sind ebenfalls nicht 5-V-tolerant!

Vorsicht bei:

  • 74LVXxxxx und 74LCXxxxx (245, 244, 240 ...) an Vcc = 3,3 V.
    Achtung: Nicht alle 74LVX sind für 5 V -> 3,3 V geeignet, da jeder Hersteller die ICs anders baut!
  • SN74LVC07AD
  • SN74LV1T04 (auch geeignet zur umgekehrten Konvertierung (3,3V->5V))

Kompatibilität von Logikpegeln

Siehe auch http://www.interfacebus.com/Design_Translation.html

Verschiedene Mikroprozessoren haben eigene elektrische Kenndaten für HIGH- und LOW-Pegel, die abhängig von der Versorgungsspannung sind, z. B. der R8C:

  • HIGH größer 0,8 * UCC
  • LOW kleiner 0,2 * UCC

Man muss die Spannungen der Aus- und Eingänge vergleichen. Wenn es um ein Hobbyprojekt geht, kann man einfach messen. Wenn es um eine kommerzielle Anwendung geht, die man verkaufen will, sollte man besser die Spezifikationen der ICs studieren.

UNIDIREKTIONAL

1,8 V ⇒ 5 V

  • Die besondere Eigenschaft der alten TTL-Schaltkreise, nämlich dass Strom bei LOW aus dem Eingang in den treibenden Ausgang fließt kann man sich zunutze machen, wie die nachfolgende Schaltung zeigt. In dieser wird der HIGH-Pegel des 1,8-V-Signals durch eine Schottkydiode um ca. 0,3 V auf 2,1 V erhöht. Damit ist man fast offiziell im HIGH-Bereich für TTL (Schaltschwelle 1,4 V, HIGH > 2,0 V). Der LOW-Pegel wird auf ca. 0,3 V erhöht, was voll den TTL-Richtlinien entspricht. Als Schaltkreisfamilie muss ein TTL-Typ eingesetzt werden, also LS, F, AS oder ähnlich. CMOS-Typen wie HC, LVC etc. funktionieren nicht!

Pw LS.png

Achtung: Diese Schaltung entspricht bei HIGH ungefähr einem offenen TTL-Eingang, was zwar meistens funktioniert, aber etwas störempfindlich sein kann. Davon wurde in der TTL-Ära stets abgeraten. Zudem ist der Pegelwechsel LOW nach HIGH durch den niedrigen Strom eher langsam. Man kann das jedoch mit einem Pullup-Widerstand absichern. Dann sind auch Gatter der 74HCT-Reihe einsetzbar.

3,3 V ⇒ 5 V

Diese Konversion ist mit Abstand die häufigste. Dabei kann man getrost 3,3 V (früher) und 3 V (moderner) gleich setzen.

  • 3,3-V-Pegel werden bei TTL-kompatiblen Eingängen richtig erkannt (Schaltschwelle 1,4 V). Es ist kein Pegelwandler erforderlich. Direkte Verbindung. Einer der großen Vorteile klassischer TTL-Technik!
  • 5-V-CMOS Eingänge haben typisch eine minimale Eingangsspannug für HIGH ([math]\displaystyle{ V_{IH} }[/math]) von 0.6 * UCC = 0.6 * 5 V = 3 V. Das kann ein 3,3-V-CMOS-Ausgang direkt treiben, allerdings kann sich das Zeitverhalten dadurch etwas ändern, weil der HIGH Pegel später erkannt wird. Vorsicht! Viele 5-V-CMOS-ICs wollen für HIGH offiziell mindestens 0,7 * UCC = 3,5 V oder manche auch 0,8 * UCC = 4,0V! Das geht dann offiziell nicht mehr mit einem 3,3-V-Ausgang! Für Hobbyzwecke kann man das aber ggf. probieren.

Zu beachten ist, dass der nicht ganz nach High durchgesteuerte Eingang Querstrom von der Speisespannung ziehen kann. Das kann für batteriebetriebene Geräte oder USB-konformes Standby durchaus ausschlaggebend sein.

Möglich ist auch eine Zentrierung des Ausgangspegels mit 2 Widerständen wie im folgenden linken Bild. Allerdings besteht die Gefahr, dass die 3,3-V-Versorgung hochläuft, da Spannungsregler (hier: für die 3,3 V) nicht dafür ausgelegt sind, bei Überspannung an deren Ausgang zusätzlich Strom nach Masse abzuleiten: Die 3,3-V-Verbraucher müssen bei High eine Mindestlast erbringen, etwa mit einem zusätzlichen Widerstand R3 vom Ausgang nach GND.

Zentrierung-3P3-5P.png Zentrierung-3P3-5P-R3.png

  • 3,3-V- Open Collector nach 5 V (TTL oder CMOS): Einfach einen Pull-Up Widerstand hinzufügen und gut. Allerdings verbraucht der Pull-Up-Widerstand bei LOW auf jeden Fall Strom und begrenzt bei HIGH den maximalen Gate-Umladestrom. Die Schaltgeschwindigkeit von LOW nach HIGH wird durch die Größe des Pull-Ups bestimmt. Je nach Geschwindigkeitsanforderungen kann der in Mikrocontrollern meistens zuschaltbare innere Widerstand dazu benutzt werden. Zudem kann dieser, bei bekannt LOW bleibendem Eingangspegel, zur Reduktion der Stromaufnahme abgeschaltet werden. Bipolare TTL-Schaltkreise benötigen in der Bastelschaltung keinen Pull-Up (liefern Strom); bei Schaltungen mit erhöhter Zuverlässigkeit ist dennoch ein externer Pull-Up angeraten (Richtwert 4,7 kΩ).

Pw oc 3-5.png

Hinweis: Das Simulieren von Open Collector in Mikrocontrollern oder mittels Tristate-Treibern oder die Verwendung von Open-Collector-Ausgängen von Schaltkreisen, bei denen keine höhere Ausgangsspannung spezifiziert ist (etwa 74HC03), ist für diesen Zweck unzulässig und wenig hilfreich, weil Gateschutzdioden und andere parasitäre Siliziumstrukturen den Strom aus dem Widerstand nach 3,3 V ableiten und so maximal 4 V generieren. Auch hier besteht die Gefahr des Hochlaufens der 3,3-V-Versorgung.

  • 3,3 V auf echte 5 V (CMOS) geht am einfachsten mit einem Baustein der HCT-Familie (NICHT HC!). Diese haben TTL-kompatible Eingänge und echte CMOS-Ausgänge
  • Man kann einen Komparator in nichtinvertierender Schaltung benutzen (LM339/393). Allerdings ist diese Lösung relativ langsam, abhängig vom verwendeten Komparator. Komparatoren bieten eine freie Wahl des Eingangsspannungsbereichs und sind deshalb eine gute Wahl bei variabler Speisespannung der Treiberseite.

Pw comp 3-5.png

Bauteile

  • 74HCT245, 74HCT244oder 74HCT240 (Das T ist wichtig. HCs können funktionieren, sind aber suboptimal, da bei 5V Versorgung und höheren Temperaturen Uinput,high = 3,2 V)
  • 74HCT125: OE Pins auf Masse und dann das Signal einfach anschließen.
  • SN74LVC07AD
  • SN74LV1T04 (auch geeignet zur umgekehrten Konvertierung (5 V ⇒ 3,3 V))
  • 74V1T126 (single Gatter, Uinput,high = 2 V)

5 V ⇒ 9..15(..30) V

  • Am einfachsten geht das mit einem (geeigneten!) Open-Collector-Ausgang, einfach einen Pull-Up hinzufügen (an die hohe Spannung) und fertig. Ein 74xx03 geht hier nicht! Auch kann man nicht einen Push-Pull-Ausgang eines Mikrocontrollers dafür verwenden, indem man den Ausgang bei HIGH zum Eingang macht.

Hintergrund sind parasitäre Dioden zwischen Ausgang und Speisespannung. Alle (geeigneten) Treiberausgänge haben eine maximal erlaubte Kollektorspannung, die zu beachten ist. Mehr Freiheit hat man bei der Verwendung von Einzeltransistoren, wobei eine gewisse Lücke von 30 V bis 200 V von Bipolartransistoren dominiert wird; für kleinere oder größere Spannungen gibt es preiswerte MOSFETs. (Die Lücke entsteht durch den geringen Bedarf des Weltmarktes an diesen Kollektorspannungen.)

Pw oc 5-12.png

  • Man kann einen Komparator benutzen. Allerdings ist diese Lösung relativ langsam, abhängig vom verwendeten Komparator. Wenn nur zwei Signale gewandelt werden müssen bietet sich der LM393 an, ein Doppelkomparator mit Open-Collector-Ausgang, mit dem man auf einen beliebigen Pegel ausgeben kann. Der LM339 (man beachte den unauffälligen Zahlendreher) ist ein Vierfachkomparator mit den gleichen Eigenschaften. Wenn wenig Platz vorhanden ist, dann ist der TL311 im winzigen SOT-23 Gehäuse sehr empfehlenswert. Bei jedem Komparator kann auch einfach eine Invertierung gemacht werden, einfach die Eingänge + und - vertauschen. Diese Komparatoren eignen sich bis ca. 1 MHz.

Pw trans inv.png

  • Pegelwandler mit Transistor, nicht invertierend

Pw trans ni.png

Die Idee ist einfach. Wenn der Ausgang des 5-V-Gatters auf HIGH ist dann ist der Transistor ausgeschaltet, der Pull-Up-Widerstand R7 zieht den Ausgang auf + 12 V. Ist der Ausgang des 5-V-Gatters auf LOW ist, dann ist er vollkommen durchgesteuert und der Ausgang nahe 0 V (je nach Typ ca. 300 mV). Der Vorteil ist hier erhöhte Störsicherheit im Gegensatz zur einfachen Ansteuerung der Basis über einen Vorwiderstand. Außerdem wird dadurch nicht die Logik invertiert. Nachteilig ist der geringe Strom, der bei HIGH zur Verfügung steht (typisch 100 µA). Diese Schaltung ist die seltene Anwendung einer Basisschaltung für digitale Signale. Der Vorteil der Basisschaltung ist die höhere Grenzfrequenz durch die herabgesetzte Wirksamkeit der (störenden) Miller-Kapazität.

  • Wenn mehr Geschwindigkeit, Ausgangsstrom und weniger Stromverbrauch nötig ist, dann muss ein spezieller Baustein her, wie z. B.

    • MOSFET-Treiber z.B. ICL7667
    • Motortreiber ICs: (z. B. L293, L298, UCC27325 und deren Verwandte), wenns nicht zu schnell ist (einige Dutzend kHz)
    • CD40109, 4fach Pegelwandler, bei Reichelt verfügbar
    • HEF4104, 4fach Pegelwandler mit normalen und invertierten Ausgängen sowie Tristate. Um ggf. sicherzustellen, dass wie im Datenblatt beschrieben immer UDDI <= UDDO ist, kann man einfach eine Diode von UDDO nach UDDI schalten (z. B. Schottky SB120, aber auch 1N4148 & Co. sollte problemlos funktionieren)
    • CD4504, 6fach Pegelwandler 3-20V, Eingangspegel TTL oder CMOS (umschaltbar) => CMOS, keine Reihenfolge von UCC/UEE erforderlich (Bezugsquelle: CSD)
    • MAX232, der braucht nur 5 V Versorgungsspannung. Allerdings ist der Ausgangswiderstand relativ hoch (ca. 300 Ω) und man kann nur ca. 5 mA Ausgangstrom liefern. Die Ausgangsspannung beträgt maximal 10 V.

5 V ⇒ 3,3 V

Ob 3,3 V (klassisch) oder 3 V (modern) ist bei dieser Betrachtung nahezu egal.

  • Zuerst sollte man prüfen, ob die Eingänge 5V-tolerant sind. Dann kann man die ICs direkt verbinden. Sehr schnell und billig!
  • Wenn die Eingänge nicht 5-V-tolerant sind und es trotzdem schnell sein soll, muss ein Gatter aus der LVC- oder AHC-Familie dazwischen geschaltet werden, also eines mit 5V-Toleranz. Bei 3 V Betriebsspannung kann man problemlos 5 V an den Eingang anlegen. Der Baustein 74HC4050 erlaubt per Definition eine Pegelwandlung bis etwa 15 V (siehe Datenblatt). Beide Anordungen haben auch eine sehr niedrige Ruhestromaufnahme.
Bauteile
  • 74LVC245A ('A' ist wichtig, I/Os 5V-tolerant)
  • 74LVC245DW
  • 74LVT245
  • 74LVXxxx (245, 244, 240 ...) an Vcc=3,3V. Achtung: Nicht alle 74LVX sind für 5V -> 3,3V geeignet, da jeder Hersteller die ICs anders baut!
    • 74LVX04
    • 74LVX244 (Fairchild)
    • 74LVX245 (nicht von Reichelt, nicht 5V tolerant)
    • bei TI heissen die 74LVX... nur 74LV...
  • 74HC4050 (bis 15 V Step-Down-Pegelwandlung laut Datenblatt, bei Reichelt in DIP und SO erhältlich)
  • MAX3373/MAX3375
  • NC7SZ08 oder andere aus derselben Serie. CMOS-Logik mit 5-V-toleranten Eingängen, recht flott und braucht dank SOT-23 auch wenig Platz auf der Platine
  • 5 V Open Collector auf 3,3-V-Eingang. Einfach einen Pull-Up hinzufügen (Pull-Up liegt auf 3,3 V). Nachteilig ist der relativ hohe Stromverbrauch bei LOW, die begrenzte Geschwindigkeit bei hochohmigen Pull-Ups und der relativ geringe Ausgangsstrom bei HIGH (abhängig vom Pull-Up).

Pw oc 5-3.png

  • Spannungsteiler mit 680 Ω und 1 kΩ. Der Nachteil dieser Lösung ist der relativ hohe Stromverbrauch (~3mA), der relativ geringe Ausgangsstrom (mehr als 200..300 µA sollte man da nicht rausziehen) und die relativ geringe Geschwindigkeit (ca. 10 MHz).
fehlerhafter SPI-Takt nach Pegelwandler mit Widerstandsteiler (1,8/3,3 kΩ)
unten: 5V-Ausgang am Mikrocontroller
oben: 3,3V-Eingang an der SD-Karte nach Pegelwandler

Pw st 5-3.png

  • 1 kΩ Vorwiderstand. Dadurch wird der Strom vom 5-V-Ausgang in die 3,3-V-Versorgung durch die internen Schutzdioden auf ca. 1 mA begrenzt. Diese Lösung ist auch relativ langsam (ca. 5MHz). Ggf. kann man den Vorwiderstand auf 100 Ω reduzieren, das erhöht dann wieder die Geschwindigkeit. Aufpassen, einige ICs vertragen nur 1 mA oder weniger durch die Schutzdioden! Ausserdem muss man aufpassen, da jetzt von der 5-V-Seite Strom in die 3,3-V-Versorgung eingespeist wird. Besonders in Schaltungen mit sehr niedriger Stromaufnahme kann das zum Problem werden, wenn die Stromaufnahme geringer ist, als über die Vorwiderstände eingespeist wird. Dann nimmt es meist der Spannungsregler für 3,3 V übel wenn jemand „schiebt“, sprich, Strom einspeist. Denn die allermeisten Spannungsregler können nur Strom liefern (source), aber keinen Strom aufnehmen (sink). Es gibt 4-fach-Diodennetzwerke, die die internen Schutzdioden entlasten können (Schottkydioden mit kleinerer Flusspannung von ≈ 0,3 V als die internen Silizizumdioden mit ≈ 0,7 V), außerdem ist teilweise noch eine Zenerdiode enthalten, die ggf. den überschüssig eingespeisten Strom aufnehmen kann.

Alle Lösungen mit Vorwiderständen reduzieren die Flankensteilheit der Signale. Dies kann bei Takt- und Zähleingängen zu unerwünschten Schwingungen und damit Fehlzählungen führen. Derartig benutzte Eingänge sollten Schmitt-Trigger-Verhalten aufweisen.

Pw vw 5-3.png

Achtung: Mindestens für 74HC(T) Gatter ist dokumentiert (Philips 74HC/T High-Speed CMOS User Guide), dass auch schon geringer Strom durch die internen Schutzdioden zu einer unerwünschten Kopplung von Eingängen führen kann, d.h. der Strom fliesst zu einem anderen Eingang wieder hinaus. Sind also andere Eingänge ebenso hochohmig angeschlossen, kann dieser Querstrom zu Fehlfunktion führen.

BIDIREKTIONAL

Für bidirektionale Busse gibt es spezielle Pegelwandler mit 2 Versorgungsspannungen. Allerdings brauchen die meist ein Signal zur Richtungsumschaltung. Auch muss man die Reihenfolge der Versorgungsspannungen beim Einschalten beachten. Aktive bidirektionale Pegelwandler OHNE Steuereingang zur Richtungsumschaltung sind mit Vorsicht zu genießen, denn die brauchen teilweise kurzzeitig einen relativ hohen Strom, um die Eingänge zu treiben.

5 V ⇔ 3,3 V

  • Wenn die 5-V-Seite TTL-kompatible Eingänge hat kann wieder der Spannungsteiler oder Vorwiderstand wie bei der unidirektionalen Anpassung verwendet werden (mit all seinen Vor- und Nachteilen).

Bauteile

  • SN74CB3T3306
  • SN74CBTD3861 (10 Bit,flow through, Betrieb mit 5 Volt)
  • MAX1741
  • MAX3378E
  • 74AHC126 s.u.
  • ST2378 (bei CSD erhältlich, 3.5 eur, leider TSSOP)
  • TXS0104E (TI: 4-BIT BIDIRECTIONAL VOLTAGE-LEVEL TRANSLATOR FOR OPEN-DRAIN AND PUSH-PULL APPLICATIONS)
  • SN74LVC07A
  • von Analog Devices die ADUM Serie

1,65 V ... 5,5 V ⇔ 1,65 V ... 5,5 V

Bauteile

  • SN74LVC1T45
  • SN74LVC2T45
  • SN74LVC(H)8T245
  • SN74LVC(H)16T245

1,2 V ... 3,6 V ⇔ 1,65V ... 5,5V

Bauteile

  • TXB0101
  • TXB0102
  • TXB0104
  • TXB0106
  • TXB0108

1,2 V ... 3,6V ⇔ 1,2 V ... 3,6 V

Bauteile

  • SN74AVC(H)1T45
  • SN74AVC(H)2T45
  • SN74AVC(H)4T245
  • SN74AVC(H)8T245
  • SN74AVC(H)16T245
  • SN74AVC(H)20T245
  • SN74AVC(H)24T245
  • SN74AVC(H)32T245

1,5 V ... 3,6 V ⇔ 1,5 V ... 5,5 V

Bauteile

  • 74LVC4245A

Mit galvanischer Trennung

  • Optokoppler (Langsam! Es gibt verschieden schnelle Koppler, aber über 1 MHz kommen sie kaum hinaus. Grundregel: Solche mit Fototransistoren sind am langsamsten, Richtwert 10 kHz, Fotodioden sind schneller, schnelle Optokoppler haben eine gesondert zu speisende Empfängerschaltung.)

Pw opto.png

  • GMR-Koppler von der Firma NVE
  • iCoupler Technologie von der Firma Analog Devices
  • Kapazitiver Koppler (schnell, begrenzter Potenzialversatz)
  • Transformatorkopplung (nur für gleichspannungsfreie Wechselsignale geeignet; sehr schnell; Beispiel: Netzwerkkarten)

Lit.: Galvanische Trennung: Optokoppler, GMR-Koppler oder iCoupler?, Siegfried W. Best, Redaktion elektronik industrie, elektronik industrie 11-2003, S. 22ff.

Praktische Beispiele

Einfaches RS232-Interface

Erfolgreicher Einsatz bis 19200 Baud und bis zu 10 m Leitungslänge Beschränkungen:

  • ggf. Platzbedarf
  • Geschwindigkeit s.o.

Beispiel: http://www.hagtech.com/pdf/translator.pdf

I2C-Bus: gemeinsam 3.3V und 5V

  • Philips PCA9515: I2C Puffer mit Pegelwandlung. Der PCA9515 ist ein I2C-Bus Repeater, welcher I2C Busse mit verschiedenen Spannungen isoliert. Verfügbar bei Reichelt und DigiKey.
  • AN97055 von Philips, "Bi-directional level shifter for I²C-bus and other systems"
  • Bevor man ein Philips I2C Chip auswählt sollte man prüfen ob er verfügbar ist und auch das verfügbare Gehäuse wählen. Man sollte auch überlegen ob ein Puffer wirklich gebraucht wird. Wenn man echte I2C ICs mit 5V betreibt, dann sind die Eingänge vom Typ Schmitt Trigger CMOS (z. B. PCF8574). Dann müssen 3.3V Pegel auf 5V umgesetzt werden. Wenn man jedoch SMBUS Ics verwendet (z. B. ADT7461, Silabs 8051) dann sind die Schwellspannungen TTL kompatibel und es ist keine Anpassung notwendig. Für neue Pegelwandler sollte man hier nachschauen. http://www.bus-buffer.com
  • "Two-transistor circuit replaces IC". Für diese Anwendung kann ENABLE direkt mit 3.3V verbunden werden. Es ist eigentlich nur dazu da, den ICs "hot-swappable" zu machen (kann unter Spannung gesteckt und getrennt werden). Es geht sogar mit nur einem Transistor siehe Forum. Man sollte beachten, daß die Schaltung sowohl für SCL als auch SDA benötigt wird.
  • Noch einfachere Lösungen mit nur einem MOSFET und zwei Pull-Up Widerständen pro Leitung sind in den folgenden Links zu finden.
    • AN10441.pdf von NXP
    • 39340011.pdf (Kapitel 18), bei der Berechnung der erreichbaren Geschwindigkeit dürfen die parasitären Kapazitäten der FETs nicht ignoriert werden

Auswählbare Pegel

Frage: Ein CMOS Logikpegel zwischen 1,8V, 2,5V und 3,3V (abhängig von der Anwendung) muss auf 5V CMOS Logikpegel gewandelt werden. Es geht nur um diese Richtung mit maximal 8MHz. Es gibt die Stromversorgung für alle Pegel. Ein normaler Komparator wie LM311 ist nicht möglich, da er beim Betrieb mit 5V Versorgunsspannung erst ab 1V zu schalten anfängt. Meine Idee ist die Verwendung eines High Speed OPVs mit R2R Eingang, z. B. LMH6645.

Antworten:

  • Man könnte einen ultra-low threshold N-Kanal MOSFET nehmen und als Open Drain mit einem Pull-Up nach 5V betreiben, BSH103 könnte passen (Schwellspannung ~0,4V).
  • High-Speed Single Supply Komparator wie z. B. TL712 .
  • SN74LVC1T45
  • SN74LVC8T245

Frage: Ich suchen einen IC, welcher eine Pegelwandlung von 3,3V nach 1,8V, 2,0V oder 5V ermöglicht und während des Betriebs umgeschaltet werden kann.

Antworten:

  • So ein IC ist der Linear LTC1555L-1.8 .
  • SN74LVC1T45
  • SN74LVC8T245

AVR SPI (SDC/MMC)

Für bidirektionalen Betrieb zwischen 5V-AVR und 3,3V-Geräten und anders herum gibt es den Level-Translator MAX3378E von Maxim.

Wenn die Datenrichtung am SPI im Zielsystem festgelegt ist, reichen unidirektionale Bausteine:

  • 3x von 5V nach 3,3V und 1x von 3,3V nach 5V: MAX3392E
  • 1x von 5V nach 3,3V und 3x von 3,3V nach 5V: MAX3390E

Zum Anschließen einer SDC/MMC an einen 5V-AVR eignen sich somit der MAX3978E und der MAX3392E. Beide sind u.A. im winzigen TSSOP-14-Gehäuse verfügbar, nehmen sehr wenig Energie auf und eignen sich auch für andere Spannungen. Mit 3,3 und 5V beträgt die garantierte Übertragungsrate 8Mbps.

Eine weitere Möglichkeit zum Übersetzen zwischen 3,3 und 5V liegt in der Verwendung des 74LVC245.

Bastlerfreundlicher als MAX33XXX (in SO-Gehäuse):

  • 5V > 3,3V (SCK, MOSI, CS): 74LVC-serie (z.B. 74LVC14A)
  • 3,3V > 5V (MISO): 74HCT-Serie (z.B. 74HCT125, 74HCT251)

5V-AVR an eine MMC (ohne Level-Shifter-Baustein):

Mikrocontroller ⇔ Parallelport (ISP-Dongle, JTAG Wiggler, ...)

Dieser Schaltplan funktioniert auch bei 3,3 V wenn man einen 74HC244 anstatt eines 74LS244 verwendet: Parallel port interfacing made easy: Simple circuits and programs to show how to use PC parallel port output capabilities.

Doppeltes Leitungspaar RX/TX 5V/3,3V

Der SparkFun's Logic Level Converter ist eine Baugruppe mit MOSFETs BSS138 für die Pegelwandlung von 5V auf 3,3V. 5V/2,8V und 5V/1,8V sind ebenfalls machbar.

Steuerleitung zwischen Mikrocontroller und FPGA

Oftmals werden PLDs oder FPGAs per Microcontroller-Platine angesteuert. Ältere Typen laufen meist als 5V oder sitzen in 5V-kompatiblen Platinen. Sollen moderne FPGAs angesteuert werden, trifft man fast immer auf 3,3-V-Typen, bzw. muss sogar 2,5-V- / 1,8-V-Bänke beschalten, wenn nur noch dort Pins frei sind.

Mikrocontroller ⇒ FPGA

Die 5 V sind also im Extremfall auf 1,8 V herabzusetzen, was bei einem maximal zulässigen Diodenstrom von 3 mA (Beispiel Xilinx) einen Mindestwiderstand von ca. 1 kΩ erfordert. Die resultierende maximale Schaltfrequenz liegt dann bei einem typischen FPGA-Eingang bei etwa < 500 kHz. Soll der Eingang aus Belastungsgründen nicht mit mehr als 0,3 mA belastet werden, müsste der Widerstand auf 10 kΩ steigen, wodurch die Frequenz auf 1/10 sinkt. Zudem ist der Eingang dann störempfindlicher. Daher ist es besser, man schaltet dem Eingang eine zusätzliche Z-Diode bei und dimensioniert den Vorwiderstand so, dass die Strombelastbarkeit des Mikrocontrollers ausgelastet wird.

Eine weitere Möglichkeit ist es, die Spannung mit einer Diode in Vorwärtsrichtung herabzusetzen. Dann muss jedoch der Vorwiderstand noch exakter toleriert werden und auch Abweichungen der Spannung (Welligkeit) berücksichtigt werden.

FPGA ⇒ Mikrocontroller

Umgekehrt ist es oft nötig, dass Bausteine einen fremden Chip treiben müssen, dessen Eingang bereits mit einem Pull-Up versehen ist. Über diesen wird dann stets ein Strom in die Schutzdiode eingeprägt, auch wenn der Ausgang auf HIGH geht. Soll z. B. von einem PLD oder einem FPGA aus eine Mikrocontrollerplatine bedient werden, die über einen Pull-Up von 1 kΩ verfügt, würden immer ca. 1 mA in die Schutzdiode eingeprägt. Hier kann eine Seriendiode helfen, die Spannung genügend herabzusetzen, um den Ausgang zu schützen und dennoch die Funktion zu erhalten. Dann steuert ein LOW-Ausgang den Eingang auf geschätzte 1V, was aber meistens für das Erkennen von LOW noch sicher reicht.

Bauteile

  • 74ALVC164245 - 16bit dual supply translating transceiver. Eine Seite von 1.5V bis 3.6V, die andere von 1.5 bis 5.5V.
  • 74LVX573 (unidirektional, Latch, nicht alle Hersteller bauen diesen 5V tolerant!)
  • 74LVX245 (bidirektional, nicht alle Hersteller bauen diesen 5V tolerant!)
  • 74LVX125 - Low Voltage Quad Buffer with 3-STATE Outputs. http://www.fairchildsemi.com/pf/74/74LVX125.html
  • SN74LVC2T45
  • SN74LVC8T245 - 8-Bit Dual-Supply Bus Transceiver with Configurable Voltage Translation and Three-State Outputs. http://focus.ti.com/docs/prod/folders/print/sn74lvc8t245.html
  • 74LCX244MSA von Fairchild.
  • MAX3377
  • MAX3000 8-Kanal bidirektioneler Pegelwandler ohne Richtungsumschaltung
  • ADG3308 8-Kanal bi-dir. Pegelwandler ohne Richtungsumschaltung, 1,15V..5,5V, 50MBps (hohe Umschaltströme beachten)

Vierfachdioden im kleinen 6-poligen SMD-Gehäuse:

Siehe auch

Weblinks