Elektronikwissen im Bereich "Allgemeine Schaltungstechnik"

Elektronikwissen zu: Pegelwandler für SPI

0,00
Häufiges Problem in der Schaltungsentwicklung sind die unterschiedlichen Versorgungsspannungen digitaler Schaltkreise. Beispielsweise wird ein Mikrocontroller mit einer Betriebsspannung von 5 V versorgt, aber über SPI sollen Komponenten angeschlossen werden, welche mit einer Betriebsspannung von 3,3 V arbeiten.

Beim SPI handelt es sich um eine unidirektionale Verbindung. In einer Richtung ist die Wandlung der 5-V-Ausgangssignale des Mikrocontrollers auf 3,3-V-Signale für die Eingänge der Komponenten (MOSI, SCK und CS) umzusetzen. Die zweite Richtung ist die Datenrichtung von den Komponenten zum Mikrocontroller (MISO), dort werden Signale mit maximal 3,3-V-Pegel zu einem mit 5 V versorgten Mikrocontroller gesendet.

Lösung 1: Spannungsteiler
Oft werden für die Wandlung von 5-V-Ausgangssignalen zu 3,3-V-Eingängen Spannungsteiler aufgebaut. Damit ist jedoch häufig kein zu 100 % sicherer Betrieb möglich, denn es sollten möglichst hochohmige Widerstände verwendet werden, um die Ströme gering zu halten, und je nach Eingangskapazitäten der Komponenten kann es zu Verschleifungen bei schnellerer Signalübertragung kommen. In die andere Richtung, also von der 3,3-V-Komponente zum 5-V-Controller, werden die Signale direkt verbunden. Für einen ATmega wie auf dem Arduino-Board ist die minimale Spannung am Eingang, welche sicher als High-Pegel erkannt wird, mit VIH = 0,6 x VCC definiert. Bei einer Versorgungsspannung von 5 V beträgt VIH also 3 V, für den VS1011 ist ein High-Pegel am Ausgang schon ab 2,3 V definiert, was also unter Umständen nicht ausreicht, um vom Mikrocontroller richtig erkannt zu werden.

Lösung 2: Bidirektionaler Pegelwandler aus MOSFETs
Auch eine Lösung mit dem von uns bereits vorgestellten bidirektionalen Pegelwandler kann genutzt werden. Dabei sind jedoch auch die Kapazitäten der MOSFETs zu beachten, diese sollten möglichst gering sein, da es sonst auch dort bei höheren Übertragungsgeschwindigkeiten zu Problemen kommt.

Lösung 3: Logikgatter
Eine sichere Methode zum Umsetzen der Pegel setzt auf die Verwendung von Logikbausteinen der 74er-Reihe. Diese weisen sehr geringe Kapazitäten auf und können somit auch bei höheren Übertragungsgeschwindigkeiten verwendet werden. Zur Wandlung von hohen Ausgangspegeln auf geringe Pegel kann der Logikbaustein 74HC4050 der 74er-Reihe eingesetzt werden, er kann Eingangssignale bis 15 V auf einen Pegel von bis zu 2 V absenken. Bei der Umsetzung vom niedrigen zum höheren Pegel kann ein 74HCT125-Baustein abhelfen, dieser arbeitet mit einer Betriebsspannung von 4,5 V bis 5 V und kann Signale von 2,3 V als High-Pegel erkennen sowie mit einem Pegel seiner Betriebsspannung wieder ausgeben. Im Beispiel-Bild 3 sind jeweils nur einzelne Gatter aus den Logikbausteinen abgebildet. Anstatt eines 74HCT125 sind auch viele andere Gatter der 74HCT-Familie einsetzbar (245, 244, 240 ...). Es werden auch spezielle Pegelwandler für SPI angeboten, welche jedoch meist recht teuer sind, hingegen sind 74er-Logikbausteine aufgrund ihrer hohen Verbreitung eine kostengünstige und sichere Alternative.

Lesen Sie zu diesem Thema im ELV-Journal:
AudioShield ASA1 for Arduino
Mit dem „AudioShield for Arduino“ kann ein Arduino-Board in einen MP3-Player verwandelt werden. Da-bei steht – neben der Fähigkeit, MP3-Dateien direkt auf Stereolautsprecher ausgeben zu könn...