9.4  Einsatz des MSP430 in 5V-Schaltungen

Der MSP430 benötigt für den Betrieb eine stabilisierte 3,3V-Gleichspannung. Viele elektronische Bauteile, wie SPI- oder I2C-Bausteine, sind für eine Versorgungsspannung von 5V ausgelegt. Aus diesem Grund muss die Peripherieschaltung des MSP430 für die unterschiedlichen Versorgungs- und damit auch Signalspannungen ausgelegt sein. Speziell am Übergang zwischen 5V- und 3,3V-Logik muss man aufpassen, dass die Logikpegel ohne Fehler transformiert werden, ohne dass dabei die Gefahr besteht, den einen oder anderen Baustein mit zu hoher Eingangsspannung zu belasten. In der Texas Instruments Application Note SLAA148 [Tex02] sind zu diesem Thema einige Grundlagen erläutert.

9.4.1  Beschaltung für digitale Eingänge

Digitale Eingänge lassen sich durch einen Spannungsteiler oder durch eine Transistorschaltung für den Einsatz in 5V-Netzwerken beschalten. Alternativ dazu kann man die benötigte Vorschaltung für digitale Eingänge durch eine Operationsverstärkerschaltung oder integrierte Bausteine, wie den ULN2003A, realisieren.

Spannungsteiler

Die einfachste Beschaltung für einen digitalen Eingang ist ein Spannungsteiler, wie er in der Schaltung aus Abbildung 9.10 dargestellt ist.


PIC

Bild 9.10.: Spannungsteiler für 5V/3,3V-Eingänge


Dabei ist USig,high der maximale Pegel des Signals, USig,low die Spannung des unteren Logikpegels. Damit der MSP beide Logikpegel richtig erkennen kann, muss für einen HIGH-Pegel UMSP,high > 1.9V und für einen LOW-Pegel UMSP,low < 0.9V sein. Mit der Widerstandstoleranz Tol% ergeben sich nach [Tex02] damit folgende Bedingungen, die erfüllt werden müssen:

R1-
R2 < -USig,high --UMSP,high-
UMSP,high ⋅(1 + 2Tol% ) (9.2)
R1
---
R2 >   USig,low - UMSP,low
---------------------
UMSP,low ⋅(1- 2T ol% ) (9.3)
R1 R2 V-CCMSP--
   ILeak (9.4)

Die dritte Bedingung (Gleichung 9.4) resultiert daraus, dass der Eingangsstrom ILeak in den Port die Eingangsspannung UMSP nicht nennenswert beeinflussen soll.

Als weitere Bedingung soll die maximale Eingangsspannung am MSP auch nicht um mehr als 0.3V überschritten werden, damit die Schutzdioden des Eingangs nicht ansprechen müssen:

         ---------R2--------
USig,high ⋅R1 (1- 2T ol%) + R2 < V CCMSP  + 0.3
(9.5)

Für die Auslegung des Spannungsteilers definieren wir zuerst den Strom durch den Spannungsteiler. Damit man nicht zu anfällig für Störungen wird, wählen wir ihn bei 100μA. Die Versorgungsspannung des MSP sei 3.3V, USig,high = 5V. Legen wir den Pegel bei dieser Spannung auf 2.7V, so folgt aus der Spannungsteiler-Gleichung (Gleichung 9.6) bei Verwendung der jeweils nächsten Werte aus der E12 Widerstands-Normreihe dann R1 = 22 und R2 = 27.

                R
UMSP  = USig ⋅----2---
              R1 + R2
(9.6)

Selbst wenn wir als Worst-Case eine Toleranz der Widerstände von 5% annehmen, werden die Bedingungen der Gleichungen 9.2 bis 9.5 mit diesen Werten sicher erfüllt.

Transistorschaltung

Eine weitere Möglichkeit die Signalpegel anzupassen, ist die Verwendung eines NPN-Transistors. Der Transistor wird in Emitterschaltung, wie sie in Abbildung 9.11 dargestellt ist, betrieben. Bei dieser Art der Transistorbeschaltung erhält man einen invertierten Eingang. Das heißt, das logische Signal am MSP430 ist bei einem HIGH-Pegel des 5V-Signals LOW und umgekehrt. Die 3.3V-Speisung des Transistors kann man wahlweise auch aus einem digitalen Ausgang des MSP betreiben. Dadurch kann man die Schaltung dann z.B. zum Energiesparen abschalten.


PIC

Bild 9.11.: Emitterschaltung für 5V/3,3V-Eingänge


Die Schaltung ist so ausgelegt, dass UCE (entspricht ja UMSP ) bei einem HIGH-Pegel der Signalspannung USig der Sättigungsspannung des Transistors entspricht. Das sind bei den meisten npn-Bipolartransistoren etwa 0.2V. Der MSP430 interpretiert diese Spannung als LOW-Pegel (daher ist die Schaltung auch invertierend). In diesem Fall fällt fast die gesamte Spannung am Kollektorwiderstand RC ab. Den maximalen Kollektorstrom legen wir bei 10μA fest. Damit ergibt sich:

         3.3V -  0.2V
RC   =   ------------≈ 330kΩ.                     (9.7)
            10μA

An der Basis-Emitter-Strecke fällt im leitenden Zustand eine Spannung von etwa 0.7V ab. RB1 muss dann so gewählt werden, dass der Kollektorstrom IC maximal wird und der Transistor in Sättigung geht. Der Basisstrom IB ist im Normal-Aktiven-Betrieb und auch gerade beim Übergang zwischen Normal-Aktiven-Bereich zum Sättigungsbereich proportional zum Kollektorstrom. Wir haben einen maximalen Kollektorstrom von IC,Sat = 10μA gewählt. Mit einem gängigen Stromverstärkungsfaktor des Transistors (siehe Datenblatt) von B = 100 ist der Basisstrom, ab dem der Transistor in Sättigung geht, IB,Sat = IC,SatB = 0.1μA. Wir legen fest, dass bei einer Signalspannung größer als USig = 0.8V der Transistor in Sättigung gehen soll. Der Basisstrom muss dann mindestens 1μA groß sein. Für den Widerstand RB1 gilt dann:

         0.8V---0.7V-
RB1  =       1μA     = 1M Ω                      (9.8)

Damit unsere Schaltung auch garantiert LOW-Pegel hat, selbst wenn auch noch eine Restspannung V low,Max < 0.7V am Eingang anliegt, brauchen wir RB2. Wenn der sichere Abschaltpegel des Transistors 0.2V beträgt, ergibt sich

       (            )
RB1- >   Vlow,Max-- 1  ⇒  RB2 <  RB1-⇒  RB2 =  330kΩ
RB2       0.2V                  2.5
(9.9)

Eingang mit Operationsverstärker

Auch Operationsverstärker und Komparatoren eignen sich als Eingangsbeschaltung an der Schnittstelle zwischen 5V- und 3.3V-System. Dazu verwendet man eine Schaltung, wie sie z.B. in Bild 9.12 zu sehen ist.


PIC

Bild 9.12.: Schaltung mit Operationsverstärker für 5V/3,3V-Eingänge


Der hier exemplarisch verwendete LM339 hat den Vorteil, dass seine Eingänge auch über die Bauteil-Versorgungsspannung hinaus mit größeren Spannungen bis 32V beaufschlagt werden können, ohne dass sich dadurch die Lebensdauer des Bauteils abrupt verkürzt. Bei anderen Operationsverstärkern und Komparatoren ist dies nicht unbedingt der Fall und sollte im Einzelfall unbedingt geprüft werden. Um die Eingangsspannung zu reduzieren, kann man auch auf einen Spannungsteiler, wie in Kapitel 9.4.1 beschrieben, zurückgreifen. Allerdings verliert man damit den günstigen hohen Eingangswiderstand der Stufe.

Durch seine Komparatoreigenschaften ist der LM339 für den gegebenen Zweck bestens geeignet. Mit dem Spannungsteiler R1/R2 definiert man den Umschaltpunkt zwischen LOW- und HIGH-Pegel: USchalt = 3.3V (R2)(R1 + R2). Bei den im Bild gewählten Werten R1 = 68 und R2 = 47 kommt man beispielsweise auf eine Schaltspannung von etwa 1.5V. Die Pullup-Widerstände am Ausgang benötigt der LM339, da er nur einen Open-Kollektor-Ausgang hat. Natürlich kann eigentlich jeder beliebige Operationsverstärker oder Komparator für einen solchen Pegelumsetzer verwendet werden. Wichtige Auswahlkriterien sind Energieverbrauch, Spannungsfestigkeit am Eingang, Eingangswiderstand und Schaltgeschwindigkeit.

9.4.2  Beschaltung für digitale Ausgänge

In der Regel sind digitale Ausgänge beim Betrieb mit 3.3V für 5V-Komponenten weniger kritisch als umgekehrt, solange sie auch wirklich ausschließlich als Ausgänge genutzt werden. Die meisten 5V-Komponenten arbeiten mit TTL-Pegeln, wobei die Schaltschwelle zwischen LOW- und HIGH-Pegel in der Regel im Bereich von 1.0V bis 1.6V liegt. 2.4V sind laut TTL-Norm als HIGH-Pegel definiert. Damit ist mit einem zwischen 0V und 3V schaltenden Ausgang des MSP430 ein sicherer HIGH-Schaltpegel zu erzeugen.

Benötigt man dennoch eine Beschaltung der digitalen Ausgänge für die unterschiedlichen Pegel (z.B. weil der MSP430 die nachfolgende Last nicht treiben kann), bieten sich im Wesentlichen eine Emitter- oder eine Operationsverstärkerschaltung an.

Emitterschaltung

Eine Emitterschaltung, wie wir sie im vorherigen Abschnitt kennengelernt haben, lässt sich auch in umgekehrter Richtung für die Beschaltung von digitalen Ausgängen einsetzen. Abbildung 9.13 stellt eine Transistorschaltung für die Einbettung von digitalen MSP430-Ausgängen in 5V-Schaltungen dar.


PIC

Bild 9.13.: Transistorschaltung für 3,3V/5V-Ausgänge


Die Berechnung der Bauteilgrößen erfolgt analog zu Kapitel 9.4.1. Zuerst legen wir den maximalen Kollektorstrom IC,Sat fest. Wir wählen als IC,Sat = 10mA. Dies ist sehr hoch gegriffen, soll aber den Fall einer hohen Last abdecken. Ist auf der Lastseite die Anforderung geringer, muss man natürlich neu kalkulieren.

Damit ergibt sich für den Kollektorwiderstand bei einer Kollektor-Emitter-Sättigungsspannung von UCE,Sat = 0.2V:

RC   =  5V----0.2V- = 480Ω                      (9.10)
          10mA

Der Basisstrom, bei dem der Transistor in Sättigung geht (mit B = 100) ist damit:

I      =   IC,Sat= 100μA                       (9.11)
 B,Sat       B

Beim leitenden Transistor fällt an der Basis-Emitter-Diode eine Spannung von etwa 0.7V ab. Damit wird

         3.3V - 0.7V
RB1  =   ------------= 26kΩ                     (9.12)
            100μA
RB2 wählt man um den Faktor 10 größer als RB1, kann ihn aber auch weglassen.
Operationsverstärkerschaltung

Eine Alternative zur Emitterschaltung ist eine Komparatorschaltung, wie sie in Abbildung 9.14 dargestellt ist. Über den Spannungsteiler aus R1 und R2 wird die Schaltschwelle definiert, bei der zwischen LOW- und HIGH-Pegel des MSP430 unterschieden wird.


PIC

Bild 9.14.: Komparatorschaltung mit einem Operationsverstärker für 3,3V/5V-Ausgänge


Es ist sinnvoll für die Schaltschwelle etwa 1,5V zu wählen. Die Schaltschwelle ergibt sich nach USchalt = 3.3V (R2)(R1 + R2). Unterhalb der Schaltschwelle liegt am Ausgang dann ein LOW-Pegel an. Die Ausgangsspannung wird maximal (HIGH-Pegel), wenn die Signalspannung des MSP430 größer als die Schaltschwelle ist.

9.4.3  Beschaltung für bidirektionale Ports

Die Beschaltung für einen bidirektionalen Port, also einen MSP430-Port, der sowohl als Ausgang als auch als Eingang verwendet werden kann, setzt sich aus einem Spannungsteiler, wie wir ihn in Abbildung 9.10 kennengelernt haben, und der Komparatorschaltung aus Abbildung 9.14 zusammen. Die gesamte Schaltung für einen Port ist in Abbildung 9.15 dargestellt. Diesmal verwenden wir allerdings keinen Komparator mit Open-Kollektor-Ausgang, sondern einen Operationsverstärker mit Bipolarer Endstufe. Wichtig ist hierbei, dass der OP zumindest die untere Grenze der Versorgungsspannung erreichen kann, damit ein sicherer LOW-Pegel auch eingestellt werden kann. Nicht ganz so kritisch, aber trotzdem relevant ist der HIGH-Pegel. Auch hier sollte man mindestens bis auf 4V an die obere Versorgungsspannung herankommen. Gut eignen sich so genannte Rail-to-Rail-Verstärker wie der OPA830, die beide Versorgungsspannungsgrenzen erreichen.


PIC

Bild 9.15.: Beschaltung für einen bidirektionalen Digitalport


Mit R1 und R2 wählen wir die Schaltschwelle V ref wie schon zuvor bei 1.5V. R3 und R4 bilden den Spannungsteiler für die 5V-Logikpegel. Deren Dimensionierung wurde in Kapitel 9.4.1 diskutiert. Wird der MSP-Digitalport als Eingang betrieben, so ist dieser sehr hochohmig und beeinflusst den Eingangspegel des Operationsverstärkers nicht. Über R3 liegt ein LOW-Pegel am Eingang des Komparators an, der dann auch zu einem LOW-Pegel am Ausgang des Komparators führt. Wenn von der 5V-Komponente ein HIGH-Pegel angelegt wird, steigt über dem Spannungsteiler R3∕R4 das Potential an und sowohl MSP-Eingang als auch Komparator-Ausgang haben einen HIGH-Pegel. Damit unterschiedliche Pegel an Komparator-Ausgang und 5V-Komponente nicht zu einem Kurzschluss führen, benötigen wir den Entkopplungswiderstand R5. Der Widerstand sollte hochohmig gewählt werden, um den Strom zu begrenzen. Gleichzeitig darf er aber auch nicht zu groß werden, denn am R3∕R4 Spannungsteiler muss ja auch ein HIGH-Pegel noch ankommen. Nach [Tex02] können folgende Worst-Case-Bedingungen für die Dimensionierung der Widerstände definiert werden:

R4-
R3 < (1 - 2Tol%) (                )
  Usig,Highmin-- 1
   Urefmax (9.13)
R4 <                         (    R4-          )
Usig,Highmin---Urefmax--⋅-1-+-R3(1-+-2Tol%-)-
          (IMSP  + IOP )⋅(1+ T ol%) (9.14)
R
--4
R3 > (1 + 2Tol%) ( U       max    )
  -sig,High----- 1
   V CCMSP (9.15)
R5 < ------UOP,Hig(hmin----VSys+max-------)
(1+  Tol%) ⋅ I   + USys+max--Urefmin-
              5V      R4(1+Tol% ) (9.16)

Gleichung 9.13 und Gleichung 9.14 beschreiben die Bedingung, dass ein HIGH-Pegel am MSP sicher erkannt wird und Gleichung 9.15 stellt sicher, dass auf der anderen Seite kein zu hoher Pegel am MSP ankommt. Die letzte Gleichung 9.16 stellt sicher, dass auch an der 5V-Komponente ein HIGH-Pegel erkannt wird. Tabelle 9.1 beschreibt die verwendeten Konstanten der Formeln mit typischen Werten.


Tabelle 9.1.: Erklärung der Konstanten und typische Werte (aus [Tex02])
V CCMSP Versorgungsspannung MSP 3V ± 10%
V CCOP Versorgungsspannung Komparator 5V ± 10%
Usig,High HIGH-Pegel der 5V-Komponente 45,5V
Uref Eingangs-Referenzspannung des KomparatorsV CCMSP 2 ± 10%
UOP,High HIGH-Pegel des Komparators V CCOP - 1V V CCOP
USys+ Schaltschwelle der 5V-Komponente 1,93,5V
Tol% Toleranz der verwendeten Widerstände 5%
IMSP Eingangsstrom Ports MSP ±1μA
IOP Eingangsstrom Komparator ±700pA
I5V Eingangsstrom der 5V-Komponente ±50nA

Mit den gegebenen Werten ergibt sich aus Gleichung 9.13 R4∕R3 = 1.386 und aus Gleichung 9.15 R4∕R3 = 1.14. Mit dem Mittelwert beider Werte folgt dann aus Gleichung 9.14 R4 < 4.55. Wählen wir R4 auf der ”sicheren” Seite bei 2.2, folgt damit R3 1.8. Zuletzt bestimmen wir für R5 < 479, also z.B. 330.

9.4.4  Integrierte Lösungen für bidirektionale Ports

Natürlich gibt es für 5V/3.3V-Systeme auch schon fertig integrierte Bausteine, die diesen Zweck erfüllen. Ein Beispiel sind die Bausteine 74LVX3245 und 74LVX4245 (Alternativbezeichnung SN74LVC4245). Ein typisches Funktionsbild eines solchen Bausteins ist in Bild 9.16 gezeigt.


PIC    PIC

Bild 9.16.: Integrierte Lösung mit dem 74LVX4245 für das 5V/3,3V-Interface [Tex05]


Der Chip arbeitet mit zwei Betriebsspannungen und die jeweilige Seite erhält so immer die richtigen Spannungspegel. Mittels eines ”Direction-” Pins wird die Signalrichtung vorgegeben. Doch Vorsicht, bei Fehlern kann das auch sehr schnell zu zerstörten Portpins führen. Die Maxim-Bausteine MAX3000–MAX3012 funktionieren ähnlich, sind jedoch bidirektional und benötigen keine Richtungswahl. Wenn man nur ein oder zwei Datenleitungen hat, stellen die TI-Chips SN74LVC1T45DCKTG4, SN74LVC2T45, SN74CB3T1G125 eine Alternative dar. Die hier vorgestellten ICs sind keineswegs die einzigen auf dem Markt befindlichen. Sucht man nach dem Begriff ”Level Translators” wird man z.B. auch bei Fairchild, National Semiconductor oder ST Microelectronics fündig.

9.4.5  Pegelwandler für Schnittstellen

MAX232: Pegelwandler für TTL/RS232

Viele Schnittstellenbausteine arbeiten mit TTL-Pegeln. Dabei betragen die Spannungs-Pegel für das LOW-Signal 0V und für das HIGH-Signal 5V. Die serielle RS232-Schnittstelle des PCs arbeitet jedoch mit -12V (für den HIGH-Pegel) und +12V (für den LOW-Pegel). Die Pegelanpassung ist, wie wir ja im letzten Kapitel erfahren haben, kein wirkliches Problem. Die nötigen Spannungen von ±12V sind jedoch in den meisten reinen Digitalschaltungen nicht vorhanden, und jetzt nur für die PC-Schnittstelle eine komplette neue Spannungsversorgung aufzubauen ist eigentlich wenig ökonomisch. Aus diesem Grunde bieten viele Hersteller Schnittstellenbausteine an, die sich die nötigen Versorgungsspannungen gleich selbst erzeugen. Der bekannteste Vertreter dieser Schnittstellenbausteine ist der MAX232. Dessen typische Beschaltung ist in Abbildung 9.17 dargestellt.


PIC

Bild 9.17.: Typische Beschaltung des MAX232 für TTL/RS232


Zur Bereitstellung der ±12V-Spannungen setzt der MAX232 zwei DC/DC-Wandler ein und benötigt vier Kapazitäten, die von außen angeschlossen werden. Der Chip ist in der Lage, die Pegel für TTL nach RS232 und umgekehrt von RS232 nach TTL umzusetzen. Dabei sind die Anschlüsse T1IN und T2IN, sowie R1OUT und R2OUT für den Anschluss an TTL-Bausteine und T1OUT, T2OUT, sowie R1IN und R2IN für die RS232-Schnittstelle vorgesehen.

Ein Nachteil ist, dass der MAX232 zum einen nur ein 5V-Interface hat und zum anderen die notwendigen 1μF-Kondensatoren verhältnismäßig groß ausfallen. Natürlich gibt es auch speziell auf 3.3V-Anwendungen zugeschnittene Bausteine, wie den MAX3232, der zudem noch mit kleineren 100nF-Kondensatoren auskommt. Leider kosten solche Bausteine fünf mal so viel wie der normale MAX232.

Isolierte serielle Schnittstelle

Wir haben in Kapitel 9.3.3 die galvanische Trennung und damit auch isolierte serielle Schnittstellen schon thematisiert. Dieser kurze Abschnitt beschäftigt sich mehr mit der schaltungstechnischen Lösung einer entsprechenden Isolierung. Im Prinzip kann man einfach die dort gezeigte Optokopplerschaltung (Abbildung 9.9) mit einem MAX232 koppeln und erreicht so eine galvanische Trennung der RS232-Schnittstelle. Eine Alternative und gleichzeitig kompaktere Variante ist die Verwendung eines ADUM2402-Magnetokopplers, der die Isolation nicht auf optischem Wege sondern durch eine magnetische Übertragungsstrecke erreicht. Ein weiterer Vorteil neben der kompakten Bauweise dieser Technologie ist die hohe erreichbare Isolationsspannung von 5000V, so dass diese Art der galvanischen Trennung auch gemäß DIN EN 60601-1 für medizinische Geräte verwendet werden kann.


PIC

Bild 9.18.: MAX232 mit Magnetokoppler ADUM2402 für den galvanisch getrennten Betrieb der seriellen Schnittstelle mit dem MSP430.