Ich möchte zwei UARTs eines Mikrocontrollers (3,3V) mit verschiedenen
Systemen nutzen, welche mit 1,8V, 2,5V, 3,3V und mit 5V arbeiten können.
Dazu könnte ich nun jeweils drei 2-Bit (RX,TX) Levelshifter nehmen. Ich
bin bei TI auf den SN74LVC2T45 gestoßen, welcher mir geeignet erscheint
und auch günstig zu bekommen ist. Da in meiner Schaltung nur 3,3V und 5V
vorhanden sind, würde ich die 1,8V und 2,5V einfach per Spannungsteiler
erzeugen.
Wäre das Vorhaben so machbar? Oder gibt es für diese Anwendung auch
einen einzelnen IC, der alle vier Level bereitstellen kann?
Thomas K. schrieb:> Ich benutz diese Teile selber - funktioniert super. Bei dem Preis kann> man sich das selber basteln wirklich sparen - wird nur teurer :-)
LOL! Bauteilwert 10ct? Für einen Pegelwandler braucht man doch keine
externe Platine, die paar wenigen Bauteile kriegt man doch auf so gut
wie jede Platine noch irgendwo draufgequetscht.
Die Schaltung selbst ist aus der I2C Specification. Man kann damit sogar
bidirektionale Busse wie I2C pegelwandeln.
Für einen UART ist das eigentlich nicht wichtig, aber wenn es diskret
sein soll, ist die Schaltung meiner Meinung nach unschlagbar.
Weitere Informationen finden sich in der Artikelsammlung:
Pegelwandler.
Auf diese Schaltung war ich bei der Suche auch schon gestoßen aber ich
möchte schon alles mit auf meine Platine setzen :)
Der SN74LVC2T45 ist leider doch nicht geeignet, da sich nur beide Ports
gemeinsam in der Richtung umschalten lassen. Der SN74AVC2T245 hat zwei
Direction Eingänge und wäre ideal, leider ist dieser nur als QFN
erhältlich und damit für mich nicht verlötbar.
Der SN74AVC4T774 hat getrennte Direction Pins und ist als TSSOP
erhältlich, nur hat dieser 4 Ports, die ich eigentlich nicht benötige.
Kennt jemand eine ähnliche Variante mit 2 Ports eines anderen
Herstellers als TSSOP oä.?
Alternativ könnte ich auch für jeden RX/TX Port einen SN74AVC1T45 bzw.
SN74LVC1T45 nehmen.
Am besten wäre natürlich immer noch eine Single Chip Lösung, sofern es
eben einen einzelnen IC gibt, der alle vier Level bereitstellen kann.
qwertz schrieb:> Auf diese Schaltung war ich bei der Suche auch schon gestoßen aber ich> möchte schon alles mit auf meine Platine setzen :)
Dann kopier sie doch. Schaltplan ist ja verfügbar.
qwertz schrieb:> Am besten wäre natürlich immer noch eine Single Chip Lösung, sofern es> eben einen einzelnen IC gibt, der alle vier Level bereitstellen kann.
Das wirst du nicht finden. Zumindest keinen der alle 4 Pegel
GLEICHZEITIG kann.
qwertz schrieb:> Ich möchte zwei UARTs eines Mikrocontrollers (3,3V) mit verschiedenen> Systemen nutzen, welche mit 1,8V, 2,5V, 3,3V und mit 5V arbeiten können.
Brauchst Du tatsächlich alle vier Pegel? In Empfangsrichtung kannst Du
etwas verwenden, was bei 1,8V-Logik für einen zu deinem µC passenden
High-Pegel sorgt (Schmitt-Trigger könnte passen). Vielleicht brauchst Du
auch nur einen Längswiderstand, damit bei anliegenden 5V die
Schutzdioden auf 3,3V nicht überlastet werden.
In Senderichtung solltest Du mal die Schwellen für Low- und High-Pegel
aufschreiben. Wenn der Low-Pegel für 5V immer unterhalb des High-Pegels
für 1,8V anfängt, reicht Dir ein einzelner Levelshifter (und ggf. noch
ein Widerstand zur Strombegrenzung).
Bei den Widerständen musst Du nur aufpassen, dass sie mit der
Eingangskapazität ein RC-Glied bilden. Die Eingangskapazität ist im
pF-Bereich, der Widerstand wird sich irgendwo zwischen 10 und 100 kOhm
bewegen, d.h. ab dem oberen zweistelligen MBaud-Bereich wird´s kritisch.
Gruß,
Max
Max G. schrieb:
> Brauchst Du tatsächlich alle vier Pegel? In Empfangsrichtung kannst Du> etwas verwenden, was bei 1,8V-Logik für einen zu deinem µC passenden> High-Pegel sorgt (Schmitt-Trigger könnte passen). Vielleicht brauchst Du> auch nur einen Längswiderstand, damit bei anliegenden 5V die> Schutzdioden auf 3,3V nicht überlastet werden.>> In Senderichtung solltest Du mal die Schwellen für Low- und High-Pegel> aufschreiben. Wenn der Low-Pegel für 5V immer unterhalb des High-Pegels> für 1,8V anfängt, reicht Dir ein einzelner Levelshifter (und ggf. noch> ein Widerstand zur Strombegrenzung).
Es handelt sich um eine Schaltung zum Testen von verschiedenen Systemen,
die mit den genannten vier Pegeln arbeiten. Es können auch in Zukunft
weitere Systeme hinzukommen. Aus diesem Grund möchte ich Tricksereien
bei der Pegelerkennung vermeiden und für jedes Level einen
entsprechenden Treiber verwenden.
Da es wohl wirklich kein IC gibt, der alle vier Pegel gleichzeitig
bereitstellen kann, werde ich nun mehrere SN74LVC1T45 verwenden.
>Wäre das Vorhaben so machbar? Oder gibt es für diese Anwendung auch>einen einzelnen IC, der alle vier Level bereitstellen kann?
Einige CPLDs/FPGAs, mit mehreren IO-Bänken
Ich versteh nicht so ganz, wie du das gleichzeitig machen willst.
Jeden Ausgang 4 mal nach Außen führen, jeweils mit 1,8V; 2,5V; 3,3V; 5V?
Oder ein mal pegelwandeln und dann nur in der Lage sein können die
Zielspannung noch zu variieren?
Ansonsten schau dir mal den ADUM1402 an.
Simon K. schrieb:
> Jeden Ausgang 4 mal nach Außen führen, jeweils mit 1,8V; 2,5V; 3,3V; 5V?
Genau das, letztendlich werden die Ausgänge nicht wirklich
gleichzeitig genutzt, es soll eben nur die Möglichkeit bestehen, ein
beliebiges Gerät der vier möglichen Pegel mit entsprechendem
Steckverbinder anzuschließen, ohne erst noch etwas umstellen zu müssen.
qwertz schrieb:> Es handelt sich um eine Schaltung zum Testen von verschiedenen Systemen,> die mit den genannten vier Pegeln arbeiten.
Ich hatte vor kurzem dasselbe Problem, ich habe es vorerst mit
Optokopplern (HCPL0601) gelöst, Ist allerdings nicht ganz billig, und du
musst dir für die Verschiedenen Spannungen andere Vorwiderstände für die
LED ausrechnen.
Getestet habe ich bisher nur bei 5V, 3,3V und 2,5V sollte auch noch
problemlos gehen, 1.8V sollte man gut testen. Natürlich begrenzt du auch
hier die maximale Baudrate.
Ein Vorteil dabei ist, dass du den Prüfling galvanisch von der anderen
Schaltung trennst.