Dies ist die erste aufgeräumte Version. Sicher nicht die letzte.
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:
- Überlastung einer oder beider Seiten
- Inkompatible Logikpegel und daraus resultierendes Nichtfunktionieren der Schaltung, oder noch schlimmer sporadische Fehlfunktionen
- Verzögerungen der Signale durch die Pegelwandlung und daraus resultierende maximale Signalfrequenzen
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 Schaltkreistrukturen (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.
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.
[bearbeiten] 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 die auf 3V arbeiten verfügen über 5V 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!
[bearbeiten] 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.
[bearbeiten] STEP-UP: 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 (VIH) 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.
- 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.
Bauteile
- 74HCTxxx (245, 244, 240 ...)
- 74HCT125
- SN74LVC07AD
[bearbeiten] STEP-UP: 5V -> 9..15V
- Am einfachsten geht das mit einem Open Collector Ausgang, einfach einen Pull-Up hinzufügen (an die hohe Spannung) und fertig.
- 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.
- Pegelwandler mit Transistor, nicht invertierend
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).
- Wenn mehr Geschwindigkeit, Ausgangsstrom und weniger Stromverbrauch nötig ist, dann muss ein spezieller Baustein her, wie z.B.
- MOSFET-Treiber (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 4148 & 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.
[bearbeiten] STEP-DOWN: 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 Step-Down 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).
- 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).
- 1 kOhm Vorwiderstand. Dadurch wird der Strom vom 5V Ausgang in die 3.3V Versorgung durch die internenen 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 Verorgung 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, außerdem ist teilweise noch eine Zenerdiode enthalten, die diesen sink-Strom aufnehmen.
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.
- 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).
- 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.
Bauteile
- SN74CB3T3306
- MAX1741
- MAX3378E
- 74AHC126 s.u.
- ST2378 (bei CSD erhältlich, 3.5 eur, leider TSSOP)
[bearbeiten] Mit galvanischer Trennung
- 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.
[bearbeiten] Praktische Beispiele
[bearbeiten] 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
[bearbeiten] 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
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:
5V AVR an eine MMC.
Der MAX3378E ist günstig zur Anbindung von 5V Mikrocontrollern an 3.3V SD/MMC Karten. Verfügbar in kleinem Gehäuse, bidirektional ohne Richtungsumschaltung und wenig Pins, ideal für SPI.
- MAX3378E
- 74LVC245 mit 3.3V Betriebsspannung geht auch gut
[bearbeiten] µ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.
- 74ALVC16245 - 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: