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


von Tom P. (tom_p89)


Angehängte Dateien:

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


Lesenswert?

Viel kapazitive Last am Ausgang?

von Teo D. (teoderix)


Lesenswert?

Sind die 1,8V am TXS... überhaupt angeschlossen?

von Tom P. (tom_p89)


Angehängte Dateien:

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)


Lesenswert?

Probe abgeglichen, 100nF vorhanden u. richtig positioniert?

von Tom P. (tom_p89)


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)


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)


Lesenswert?

KA ob's weiterhilft, aber zeig mal'n Bild von Deinem Aufbau.

von Tom P. (tom_p89)


Lesenswert?

Ich muss jetzt erst einmal weg. Ich Antworte aber heute noch.

Vielen Dank und Grüße,

Tom

von Joe F. (easylife)


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)


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)


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)


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)


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)


Lesenswert?

welche max. frequenz hat deine mclk?

: Bearbeitet durch User
von Tom P. (tom_p89)


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)


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)


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)


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)


Lesenswert?

Super, danke Dir!
Das werde ich probieren.

von Clemens L. (c_l)


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)


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)


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)


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:

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)


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-)


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)


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!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.