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
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.
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.
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
Ich muss jetzt erst einmal weg. Ich Antworte aber heute noch. Vielen Dank und Grüße, Tom
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
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.
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
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
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.
Joe F. schrieb: > welche max. frequenz hat deine mclk? Die Frequenz der mclk beträgt immer 256 kHz. Oder meinst du etwas anderes?
kommt mir zu langsam vor. üblicherweise ist die min. 64x fs (lrclk) welchen codec benutzt du denn?
:
Bearbeitet durch User
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
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
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
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
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.
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.
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.
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
die Shifter haben 2 Seiten A und B. Außerdem je ein Vcc für A und B. Was ist daran so schwierig ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.