Pegelwandler

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

Vorwort

Dies ist die erste aufgeräumte Version. Sicher nicht die letzte.

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 -12V/12V Pegel einer seriellen RS232 Schnittstelle. Die Probleme beim Pegelwandeln können sein:

  1. Überlastung einer oder beider Seiten
  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, daß man die Signalleitungen zwischen den Bauteilen überprüft. Wenn 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 (der aktuelle Pentium wird mit 45nm Technologie hergestellt!) werden auch die Abstände und Schichtdicken immer geringer. Das reduziert natürlich auch die Spannungsfestigkeit 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.). Die Schutzdioden beginnen Strom zu leiten, wenn die Eingangsspannung ca. 500mV über VCC ansteigt oder mehr als 500mV unter GND absinkt. Im Normalbetrieb sollten die Schutzdioden keinen Strom leiten. Manchmal kann man sie aber zur Spannungsbegrenzung missbrauchen, siehe Step Down mit Vorwiderstand.

Pw schutzdioden.png

5V tolerante Eingänge

5 Volt tolerant bedeutet, daß 3 Volt Bausteine ohne Probleme von einem 5 Volt Baustein angesteuert werden können.

Viele Bauteile mit einer Betriebsspannung von 3 V verfügen über 5 V tolerante Eingänge. Man sollte aber grundsätzlich im Datenblatt darüber nachlesen, 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.

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

Ob ein Bauteil 5V-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.

Vorsicht bei:

  • 74LVXxxxx und 74LCXxxxx (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!

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össer 0.8 * Vcc
  • LOW kleiner 0.2 * Vcc

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.8V -> 5V

  • Die besondere Eigenschaft der alten TTL Schaltkreise, nämlich daß Strom bei LOW aus dem Eingang in den treibenden Ausgang fliesst kann man sich zu nutze machen wie die nachfolgende Schaltung zeigt. Dabei wird der HIGH-Pegel des 1,8V Signals durch eine Schottkydiode um ca. 0,3V auf 2,1V erhöht. Damit ist man fast offiziell im HIGH-Berich für TTL (Schaltschwelle 1,4V, HIGH>2.0V). Der LOW-Pegel wird auf ca. 0,3V erhöht, was voll den TTL-Richtlinien entspricht. Als Schaltkreisfamilie muss ein TTL-Typ eingesetzt werdem, 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.3V -> 5V

  • 3.3V Pegel werden bei TTL kompatiblen Eingängen richtig erkannt (Schaltschwelle 1,4V). Es ist kein Pegelwandler erforderlich. Direkte Verbindung.
  • 5V CMOS Eingänge haben typisch eine minimale Eingangsspannug für HIGH ([math]\displaystyle{ V_{IH} }[/math]) von 0.6 * VCC = 0.6 * 5V = 3V. Das kann ein 3.3V CMOS Ausgang direkt treiben, allerdings kann sich das Zeitverhalten dadurch etwas ändern weil der HIGH Pegel später erkannt wird. Vorsicht! Viele 5V CMOS ICs wollen für HIGH offiziell mindestens 0.7V * VCC = 3.5V oder manche auch 0.8 * VCC = 4.0V! Das geht dann offiziell nicht mehr mit einem 3.3V Ausgang! Für Hobbyzwecke kann man das aber ggf. probieren.
  • 3.3V Open Collector nach 5V (TTL oder CMOS): Einfach einen Pull-Up Widerstand hinzufügen und gut. Allerdings verbraucht der Pull-Up Widerstand bei LOW relativ viel Strom und kann bei HIGH nicht allzuviel Strom liefern. Die Schaltgeschwindigkeit von LOW nach HIGH wird durch die Grösse des Pull-Ups bestimmt.

Pw oc 3-5.png

  • 3,3V auf echte 5V (CMOS) geht am einfachsten mit einem Baustein der HCT Familie (NICHT HC !). Diese haben TTL-compatible Eingänge und echte CMOS Ausgänge
  • Man kann einen Komparator in nichtinvertierender Schaltung benutzen (LM339/393). Allerdings ist diese Lösung meist relativ langsam, abhängig vom verwendeten Komparator.

Pw comp 3-5.png

Bauteile

  • 74HCTxxx (245, 244, 240 ...)
  • 74HCT125: OE Pins auf Masse und dann das Signal einfach anschließen.
  • SN74LVC07AD

5V -> 9..15V

  • Am einfachsten geht das mit einem Open Collector Ausgang, einfach einen Pull-Up hinzufügen (an die hohe Spannung) und fertig.

Pw oc 5-12.png

  • Man kann einen Komparator benutzen. Allerdings ist diese Lösung meist relativ langsam, abhängig vom verwendeten Komparator. Wenn nur zwei Signale pegelgewandlet 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 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 5V Gatters auf HIGH ist dann ist der Transistor ausgeschaltet, der Pull-Up Widerstand R7 zeiht den Ausgang auf +12V. Ist der Ausgang des 5V Gatters auf LOW ist, dann ist er vollkommen durchgesteuert und der Ausgang nahe 0V (je nach Typ ca. 300mV). Der Vorteil ist hier erhöhte Störsicherheit im Gegensatz zur einfachen Ansteurung der Basis über einen Vorwiderstand. Ausserdem 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.

  • 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, bei Reichelt verfügbar
    • HEF4104, 4fach LOW-HIGH Pegelwandler mit normalen und invertierten Augängen sowie Tristate. Um ggf. sicherzustellen, dass wie im Datenblatt beschrieben immer VDDI <= VDDO ist, kann man einfach eine Diode von VDDO nach VDDI schalten (z. B. Schottky SB120, aber auch 1N4148 & Co sollte problemlos funktionieren)
    • CMOS 4504, 6fach LOW-HIGH/HIGH-LOW 3-20V Pegelwandler, TTL/CMOS (umschaltbar) => CMOS, kein Reihenfolge von Vcc/Vee erforderlich (Bezugsquelle: CSD)
    • MAX232, der braucht nur 5V Versorgungsspannung. Allerdings ist der Ausgangswiderstand relativ hoch (ca. 300Ohm) und man kann nur ca. 5mA Ausgangstrom liefern. Die Ausgangsspannung beträgt maximal 10V.

5V -> 3.3V

  • 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 5V tolerant sind und es trotzdem schnell sein soll, muss ein Gatter aus der LVC oder AHC Familie dazwischen geschaltet werden. Bei 3V Betriebsspannung kann man problemlos 5V an den Eingang anlegen. Der Baustein 74HC4050 erlaubt per Definition eine Pegelwandlung bis etwa 15V (siehe Datenblatt). Beide Anordungen verbrauchen auch sehr wenig Ruhestrom.
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)
  • 74HC4050 (bis 15V Step Down Pegelwandlung laut Datenblatt, bei Reichelt in DIP und SO erhältlich)
  • MAX3373/MAX3375
  • NC7SZ08 oder andere aus derselben Serie. CMOS-Logik mit 5V-toleranten Eingängen, recht flott und braucht dank SOT-23 auch wenig Platz auf dem Print
  • 5V Open Collector auf 3.3V Eingang. Einfach einen Pull-Up hinzufügen (Pull-Up liegt auf 3.3V). 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 Ohm und 1kOhm. Der Nachteil dieser Lösung ist der relativ hohe Stromverbrauch (~3mA), der relativ geringe Ausgangsstrom (mehr als 200..300uA sollte man da nicht rausziehen) und die relativ geringe Geschwindigkeit (ca. 10 MHz).

Pw st 5-3.png

  • 1 kOhm Vorwiderstand. Dadurch wird der Strom vom 5V Ausgang in die 3.3V Versorgung durch die internen Schutzdioden auf ca. 1mA begrenzt. Diese Lösung ist auch relativ langsam (ca. 5MHz). Ggf. kann man den Vorwiderstand auf 100 Ohm reduzieren, das erhöht dann wieder die Geschwindigkeit. Aufpassen, einige ICs vertragen nur 1mA oder weniger durch die Schutzdioden! Ausserdem muss man aufpassen, das jetzt von der 5V Seite Strom in die 3.3V Versorgung eingespeist wird. Besonders in Schaltungen mit sehr niedrigem Stromverbrauch kann das zum Problem werden, wenn weniger Strom verbraucht wird als über die Vorwiderstände eingespeist wird. Dann nimmt es meist der Spannungsregler für 3.3V ü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,3V als die internen Silizizumdioden mit ~0,7V), außerdem ist teilweise noch eine Zenerdiode enthalten, die ggf. den überschüssig eingespeisten Strom aufnehmen kann.

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 geniessen, denn die brauchen teilweise kurzzeitig einen relativ hohen Strom, um die Eingänge zu treiben.

5V <-> 3.3V

  • Wenn die 5V 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

1,65V...5,5V <-> 1,65V...5,5V

Bauteile

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

1,2V...3,6V <-> 1,65V...5,5V

Bauteile

  • TXB0101
  • TXB0102
  • TXB0104
  • TXB0106
  • TXB0108

1,2V...3,6V <-> 1,2V...3,6V

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,5V...3,6V <-> 1,5V...5,5V

Bauteile

  • 74LVC4245A

Mit galvanischer Trennung

Pw opto.png

  • GMR-Koppler von der Firma NVE
  • iCoupler Technologie von der Firma Analog Devices
  • Kapazitiver Koppler

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.
  • 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

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 .

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:

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.

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

µC <-> Parallelport (ISP-Dongle, JTAG Wiggler, ...)

Dieser Schaltplan funktioniert auch bei 3.3V 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.

2 Leitungspaare 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.

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

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

Weblinks