Verdrahtung Levelshifter

OP #5268787
Lesenswert?

Hallo an alle Interessierten. Ich habe eine Verständnisfrage bzgl. der 
Verdrahtung eines Pi3, einen Levelshifter und LEDs (APA102).
Ich habe dazu einen hoffentlich brauchbaren Plan erstellt. Wäre super, 
wenn jemand darüber gucken könnte ob alles passt und so gebaut werden 
kann.
Angehängte Dateien:
OP #5268864
Lesenswert?

Jobst Q. schrieb:
> Diese Levelshifter sind für Opencollector/Opendrain-Busse wie I2C
> oder
> 1Wire gedacht. Für SPI ist es ungewiss, ob es funktioniert.

Erstmal Danke für die Antwort. Gekauft habe ich diesen Levelshifter
In der Beschreibung ist SPI mit angegeben.
https://www.amazon.de/gp/product/B071S7NTGN/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Aber unabhänig davon ob SPI funktioniert oder nicht, würde meine 
Verdrahtung funktionieren oder grille ich irgendein Bauteil?
#5268899
Lesenswert?

Die recht einfache Schaltung ist hier beschrieben:

https://www.nxp.com/docs/en/application-note/AN10441.pdf

Im Prinzip schalten die MOSFETs durch, wenn eine der Seiten auf Low geht 
und sperren sonst. Der High-Level wird also nicht direkt übertragen, 
sondern über die Pullup-Widerstände (10k) hergestellt.

Wenn die Eingänge hochohmig genug sind und sich die Taktfrequenz in 
Grenzen hält, müsste es gehen, sonst nicht. Ein Grillen ist nicht zu 
befürchten.
Gast #5270305
Lesenswert?

Jobst Q. schrieb:
> Für SPI ist es ungewiss, ob es funktioniert.

Es scheint sich ja um die Standardschaltung nach Philips zu handeln, 
habe ich auch bevorratet.

Eigentlich will ich nun eine dieser verwenden, um einen SPI (SD-Reader) 
am AT328 zu betreiben. Von mir aus spendiere ich auf beiden Enden noch 
10k oder 4k7 Pullups, was spricht nun wirklich dagegen?

Ich hätte auch noch ein paar Boards mit dem Texas TXS0108E hier, soll 
ich eher auf diesen setzen?
Angehängte Dateien:
#5270363
Lesenswert?

Normalerweise haben SPI-Verbindungen PushPull-Ausgänge, die einen 
geringen Ausgangswiderstand haben. Sie schalten aktiv sowohl auf High 
als auch auf Low.

I2C-Verbindungen sind nur bei Low aktiv und haben nur bei Low einen 
niedrigen Ausgangswiderstand. Bei High ist der Pullup der 
Ausgangswiderstand. Diese Levelshifter stellen nur bei Low eine 
Verbindung her.

Der Unterschied wird bedeutsam bei längeren Kabeln und höheren 
Frequenzen, weil dann die PullUps evt. nicht ausreichen, um die 
Leitungskapazitäten schnell genug auf High-Pegel aufzuladen. Deshalb 
können SPI-Verbindungen weit höher getaktet werden als I2C.

Ein SD-Kartenleser braucht vermutlich eine recht hohe Taktfrequenz, um 
schnell viele Daten übertragen zu können. Da würde ich eine andere Art 
von Levelshifter einsetzen, die auch die High-Level aktiv setzt. Der 
TXS0108E scheint mir geeignet.
Gast #5270477
Lesenswert?

Jobst Q. schrieb:
> Normalerweise haben SPI-Verbindungen PushPull-Ausgänge, die einen
> geringen Ausgangswiderstand haben. Sie schalten aktiv sowohl auf High
> als auch auf Low.

Push = aktiv auf High gibt natürlich bessere Anstiegszeiten als ein 
PullUp.

> Ein SD-Kartenleser braucht vermutlich eine recht hohe Taktfrequenz, um
> schnell viele Daten übertragen zu können. Da würde ich eine andere Art
> von Levelshifter einsetzen, die auch die High-Level aktiv setzt.

Die Grenzen sind mir nicht so ganz klar.

> Der TXS0108E scheint mir geeignet.

Zumindest nennt er sich im Datenblatt "FOR OPEN-DRAIN AND PUSH-PULL 
APPLICATIONS" und zeigt im Blockdiagramm eine Art Totem-Pole-Ausgang. 
Ich glaube, ich erspare mir besser Experimente und setze den ein!
#5272836
Lesenswert?

Manfred schrieb:
>> Der TXS0108E scheint mir geeignet.
>
> Zumindest nennt er sich im Datenblatt "FOR OPEN-DRAIN AND PUSH-PULL
> APPLICATIONS" und zeigt im Blockdiagramm eine Art Totem-Pole-Ausgang.

Er hat Open-Drain-Ausgänge; die "One-Shot Accelerator"en sind nur zur 
Flankenbeschleunigung und normalerweise nicht aktiv.

Und beim TXS solltest du keine externen Pull-Ups einsetzen.
#5272880
Lesenswert?

@ Manfred (Gast)

>APPLICATIONS" und zeigt im Blockdiagramm eine Art Totem-Pole-Ausgang.
>Ich glaube, ich erspare mir besser Experimente und setze den ein!

Das würde ich nicht empfehlen, ich hab schon mehrfach Ärger mit solchen 
IC gehabt, die intern Trickschaltungen nutzen. Für unidirektonale 
Signale eines SPI nimmt man unidirektionale Pegelwandler. 5V->3V3 
74HC4050 und für den Rückweg ein 74HCT125, ggf. auch als Einzelgatter.
Gast #5279314
Lesenswert?

Manfred schrieb:
> um einen SPI (SD-Reader) am AT328 zu betreiben.

Jobst Q. schrieb:
> Normalerweise haben SPI-Verbindungen PushPull-Ausgänge, die einen
> geringen Ausgangswiderstand haben. Sie schalten aktiv sowohl auf High
> als auch auf Low.
>
> Der TXS0108E scheint mir geeignet.

Falk B. schrieb:
> Das würde ich nicht empfehlen, ich hab schon mehrfach Ärger mit solchen
> IC gehabt, die intern Trickschaltungen nutzen.

Ich habe heute ein paar Tests gefahren, die SD-Karte lässt sich 
beschreiben und lesen!

Falk B. schrieb:
> Für unidirektonale
> Signale eines SPI nimmt man unidirektionale Pegelwandler. 5V->3V3
> 74HC4050 und für den Rückweg ein 74HCT125, ggf. auch als Einzelgatter.

Auf den MicroSD-Readern hat der Chinamann einen LVC125 drauf. Sollte ich 
mir vielleicht mal ins Lager packen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren