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.
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.
Die einfachste Beschaltung für einen digitalen Eingang ist ein Spannungsteiler, wie er in der Schaltung aus Abbildung 9.10 dargestellt ist.
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:
![]() | < ![]() | (9.2) |
![]() | > ![]() | (9.3) |
R1 ∥ R2 | ≪![]() | (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:
![]() | (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 = 22kΩ und R2 = 27kΩ.
![]() | (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.
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.
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:
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,Sat∕B = 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:
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
![]() | (9.9) |
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.
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 = 68kΩ und R2 = 47kΩ 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.
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.
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.
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:
Der Basisstrom, bei dem der Transistor in Sättigung geht (mit B = 100) ist damit:
Beim leitenden Transistor fällt an der Basis-Emitter-Diode eine Spannung von etwa 0.7V ab. Damit wird
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.
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.
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.
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:
![]() | < (1 - 2Tol%) ⋅![]() | (9.13) |
R4 | < ![]() | (9.14) |
![]() | > (1 + 2Tol%) ⋅![]() | (9.15) |
R5 | < ![]() | (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 | 4…5,5V |
Uref | Eingangs-Referenzspannung des Komparators | V CCMSP ∕2 ± 10% |
UOP,High | HIGH-Pegel des Komparators | V CCOP - 1V …V CCOP |
USys+ | Schaltschwelle der 5V-Komponente | 1,9…3,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.55MΩ. Wählen wir R4 auf der ”sicheren” Seite bei 2.2MΩ, folgt damit R3 ≈ 1.8MΩ. Zuletzt bestimmen wir für R5 < 479kΩ, also z.B. 330kΩ.
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.
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.
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.
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.
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.
Bild 9.18.: | MAX232 mit Magnetokoppler ADUM2402 für den galvanisch getrennten Betrieb der seriellen Schnittstelle mit dem MSP430. |