Forum: Analoge Elektronik und Schaltungstechnik TXS0108E Level Shifter 3v auf 1.8v


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tom P. (tom_p89)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte eine I2S Clock (256 KHz) von 3V auf 1.8V übersetzen. Dafür 
habe ich mir den TXS0108E gekauft. Laut Datenblatt müsste der das 
schaffen.

http://www.ti.com/lit/ds/symlink/txs0108e.pdf

Meine Testergebnisse sind allerdings enttäuschend (siehe angehängtes 
Bild).
Woran könnte das liegen? Grün ist das Clock Signal und Gelb liegt am 
Ausgang vom Level Shifter an.

1.8V liegen an VCCA an und 3V an VCCB, OE ist mit VCCA verbunden. Das 
Clock Signal hat eine Amplitude von 3V und liegt an einem B-Port an.

Vielen Dank schon mal!

: Bearbeitet durch User
von Magnus M. (magnetus) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Viel kapazitive Last am Ausgang?

von Teo D. (teoderix)


Bewertung
0 lesenswert
nicht lesenswert
Sind die 1,8V am TXS... überhaupt angeschlossen?

von Tom P. (tom_p89)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Teo D. schrieb:
> Sind die 1,8V am TXS... überhaupt angeschlossen?

Ja... 1.8V an VCCA und 3V an VCCB.

Ich habe jetzt noch das Device angeschlossen welches das Clock Signal 
bekommen soll. Damit sieht es schon rechteckiger aus.

von Teo D. (teoderix)


Bewertung
0 lesenswert
nicht lesenswert
Probe abgeglichen, 100nF vorhanden u. richtig positioniert?

von Tom P. (tom_p89)


Bewertung
0 lesenswert
nicht lesenswert
Teo D. schrieb:
> Probe abgeglichen, 100nF vorhanden u. richtig positioniert?

Die Kondensatoren sind schon auf der Platine verbaut:

https://www.geras-it.de/arduino-kompatibel/3-3v-5v-txs0108e-8-channel-logic-level-converter-convert-ttl-bi-directional-mutual-convert/a-441/

Probe ist abgeglichen.

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
a) die Clock sieht doch gar nicht so schlecht aus
b) warum nimmst du einen bi-direktionalen Levelshifter?
c) hast du mal einen einfachen Spannungsteiler ausprobiert? z.B. 
12K/18K?

: Bearbeitet durch User
von Teo D. (teoderix)


Bewertung
0 lesenswert
nicht lesenswert
KA ob's weiterhilft, aber zeig mal'n Bild von Deinem Aufbau.

von Tom P. (tom_p89)


Bewertung
0 lesenswert
nicht lesenswert
Ich muss jetzt erst einmal weg. Ich Antworte aber heute noch.

Vielen Dank und Grüße,

Tom

von Joe F. (easylife)


Bewertung
2 lesenswert
nicht lesenswert
Das Verhalten des Levelshifters ist ganz normal.
Er darf im Falle dass beide Seiten High oder Low sind die Leitung ja 
nicht stark treiben, denn er soll bi-direktional arbeiten.
Im Datenblatt sieht man auch, dass der Ausgangsstrom stark abnimmt, wenn 
das Signal z.B. gegen 0V geht.
Um die Flanken steil zu machen, bedient sich TI eines zusätzlichen 
Schaltkreises, der für kurze Zeit den Ausgang stärker treibt (one-shot 
accelerator).

Da deine 1.8V Clock am 0.9V Punkt steil ist, denke ich dass das Signal 
absolut brauchbar ist. Ich würde trotzdem den Spannungsteiler 
ausprobieren (preiswerter).

Alternative wäre auch ein SN74LVC1G17
Den kann man mit 1.8V betreiben, am Eingang ist er aber bis 5.5V 
tolerant.

: Bearbeitet durch User
von Clemens L. (c_l)


Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> Alternative wäre auch ein SN74LVC1G17

Schmitt-Trigger ist hier nicht notwendig; statt -17 ist -125 sehr 
verbreitet.

Für 4/8 Bits auf einmal wären SN74LVC125A/SN74LVC541A geeignet.

Für unidirektionale Puffer gibt es anscheinend keine fertigen 
Breakout-Boards; die musst du dir selber löten.

von Tom P. (tom_p89)


Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> a) die Clock sieht doch gar nicht so schlecht aus
> b) warum nimmst du einen bi-direktionalen Levelshifter?
> c) hast du mal einen einfachen Spannungsteiler ausprobiert? z.B.
> 12K/18K?

a) Das stimmt, allerdings kommt es zwischendurch vor, dass die Clock die 
1.8V bei weitem nicht erreicht, das führt dann zu Rauschen. Für die 3V 
am Eingang des Level Shifters nutze ich den 3V Pin auf meinem STM32 
Discovery Board. Kann es sein, dass der Level Shifter zu viel Strom 
zieht und deshalb zwischendurch bei manchen Takten die Spannung 
einbricht? Für die 1.8V habe ich ein Labornetzteil verwendet.

b) Es geht um eine Duplexverbindung. 3 von 4 Leitungen verlaufen vom 
Master zum Slave also 3V->1.8V aber die 4. verläuft in die andere 
Richtung.

c) Nein das habe ich noch nicht probiert, weil ich am Ende eh die 
Bi-direktionale Verbindung brauche aber ich werde es morgen einfach mal 
ausprobieren für die 3 Leitungen.

: Bearbeitet durch User
von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
alle signale sind für sich unidirektional. du brauchst also für mclk, 
lrclk und sdout einen 3v-1.8v umsetzer und nur für sdin (vom master aus 
gesehen) einen 1.8v-3v umsetzer. die bidirektionale lösung ist dafür 
'too much'.

: Bearbeitet durch User
von Tom P. (tom_p89)


Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> alle signale sind für sich unidirektional. du brauchst also für mclk,
> lrclk und sdout einen 3v-1.8v umsetzer und nur für sdin (vom master aus
> gesehen) einen 1.8v-3v umsetzer. die bidirektionale lösung ist dafür
> 'too much'.

Es wäre halt angenehm gewesen ein Bauteil für alles verwenden zu können 
und bei der Master-Slave Zuordnung flexibel zu sein. Aber wenn es so 
nicht funktioniert werde ich wohl auf die unidirektionale Variante 
umsatteln.

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
welche max. frequenz hat deine mclk?

: Bearbeitet durch User
von Tom P. (tom_p89)


Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> welche max. frequenz hat deine mclk?

Die Frequenz der mclk beträgt immer 256 kHz. Oder meinst du etwas 
anderes?

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
kommt mir zu langsam vor.
üblicherweise ist die min. 64x fs (lrclk)
welchen codec benutzt du denn?

: Bearbeitet durch User
von Tom P. (tom_p89)


Bewertung
0 lesenswert
nicht lesenswert
Die SCK beträgt 256 kHz... die mclk Frequenz ist wesentlich größer (ich 
habe das durcheinander gebracht). Übertragen wird aber nur die SCK, WS 
und SD über den Bus bzw. über den Pegelwandler.

: Bearbeitet durch User
von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
Tom P. schrieb:
> Die SCK beträgt 256 kHz... die mclk Frequenz ist wesentlich größer (ich
> habe das durcheinander gebracht). Übertragen wird aber nur die SCK, WS
> und SD über den Bus bzw. über den Pegelwandler.

ok, macht sinn. ich suche dir morgen einen 1.8-3v translator raus. mit 
mobiltelefon etwas schwierig. probiere mal spannungsteiler für 3v->1.8v 
und evtl. akzeptiert dein master ja sogar das 1.8v sdin signal. 1.8v 
sind über 3.0/2=1.5v

von Tom P. (tom_p89)


Bewertung
0 lesenswert
nicht lesenswert
Super, danke Dir!
Das werde ich probieren.

von Clemens L. (c_l)


Bewertung
0 lesenswert
nicht lesenswert
Tom P. schrieb:
> 3 von 4 Leitungen verlaufen vom Master zum Slave also 3V->1.8V

Viele (aber nicht alle) Logikfamilien vertragen Spannungen größer als 
Vcc am Eingang; LVC wurde schon genannt.

(Ein Spannungsteiler würde mit den parasitären Kapazitäten einen 
RC-Filter bilden. Ob das bei dir zu langsam wird, musst du selber 
messen.)

> aber die 4. verläuft in die andere Richtung.

Dafür gibt es Logikfamilien mit extra niedriger Schaltschwelle am 
Eingang, z.B. LV1T: SN74LV1T34/SN74LV1T125.

: Bearbeitet durch User
von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
Für eine günstige und platzsparende 1.8V->3.3V Umsetzung könnte man 
einfach eines dieser single-gate AND oder OR Gates nehmen (AND: beide 
Eingänge zusammen legen, OR: einen Eingang auf GND):

NC7SVL08P5X
NC7SVL32P5X

: Bearbeitet durch User
von Gästchen (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joe F. schrieb:
> Das Verhalten des Levelshifters ist ganz normal.
> Er darf im Falle dass beide Seiten High oder Low sind die Leitung ja
> nicht stark treiben, denn er soll bi-direktional arbeiten.

Exakt.
Ich kann mich noch schwach daran erinnern dass es ein Knackpunkt bei 
diesen Levelshiftern war: die schwache Treibkraft, die durch diese 
"direction autosensing" resultiert. Da kann man schnell auf die Schnauze 
fallen wenn man es nicht berücksichtigt, und wenn ja, arbeiten sie dann 
recht fix und brauchen wenig Platz.

von Gästchen (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Schau mal auf das interne Schaltbild auf Seite 17:
Pullups sind 40K wenn Low getrieben wird
Pullups sind 4K wenn High getrieben wird

Also schon recht hochohmig.

von Tom P. (tom_p89)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe das Problem jetzt gelöst indem ich den STM einfach auch mit 
1,8V betreibe. Die Notwendigkeit eines Levelshifters fällt damit weg. 
Ich konnte durch eure Beiträge trotzdem einiges lernen also vielen Dank! 
:)
Im Anhang befindet sich ein Bild von der Lösung.

von Faruk (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich habe auch einen ähnliches problem ich muss von einem 3,3 V auf 5,0 
V.
habe auch TXS0108E und stm32f4 ich bekomme es irgendwie nie raus.

ich weiss nicht wie ich es anschalten soll

VCCA AUF 3,3 VOLT von dem stm32f4 3V pin zu dem TXS0108E VCCA , OE 
ebelfalss mit 3V
von dem stm32f4 5v pin zu dem TXS0108E VCCB.

GND von der TXS0108E mit der GND von stm32f4 verbunden.

Danke im Voraus

von Stephan H. (stephan-)


Bewertung
0 lesenswert
nicht lesenswert
die Shifter haben 2 Seiten A und B. Außerdem je ein Vcc für A und B.
Was ist daran so schwierig ?

von Clemens L. (c_l)


Bewertung
0 lesenswert
nicht lesenswert
Faruk schrieb:
> VCCA AUF 3,3 VOLT von dem stm32f4 3V pin zu dem TXS0108E VCCA , OE
> ebelfalss mit 3V von dem stm32f4 5v pin zu dem TXS0108E VCCB.

Schaltplan!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.