Forum: Mikrocontroller und Digitale Elektronik SPI Level Shifter für schnelle Signale


von Gurgelhals (Gast)


Lesenswert?

Hallo,

in einem Projekt muss ich eine SPI Kommunikation auf verschiedenen 
Spannungsleveln realisieren.

Master: 1V8 Logiklevel
Slave: 3V3 Logiklevel

Da die einzelnen SPI Leitungen ja unidirektional sind, muss ich MOSI und 
SCK von 1V8 auf 3V3 regeln und MISO von 3V3 auf 1V8. Nachdem die 
Kommunikation relativ schnell statt findet (SCK ca. 16MhZ) brauch ich 
niedrige Schaltzeiten.

Ich überlege einen GTL2003[1] Chip von NXP zu verwenden.

Ich verstehe nur nicht ganz, wie ich den Chip verbinden muss, wenn ich 2 
Pins in die eine Richtung und einen in die andere hab. Wie (und auf 
welcher Seite des Chips) müsste ich die Pullups realisieren? Brauch ich 
überhaupt Pullups im Fall von SPI?

Kann mir dabei vielleicht jemand einen Rat geben oder hat jemand 
vielleicht Alternativvorschläge?

Vielen Dank!

[1] - http://www.farnell.com/datasheets/1648263.pdf

von Uwe Bonnes (Gast)


Lesenswert?

SN74LVC1T45/8T245

von Matthias G. (matttthias)


Lesenswert?

genau....

oder wenn zwei (2) Kanäle in die selbe Richtung geschiftet werden 
sollen:

74LVCH2T45DC  (NXP)
alternativ
SN74LVC2T45DCU  (Texas)

: Bearbeitet durch User
von Rudolph R. (rudolph)


Lesenswert?

Gurgelhals schrieb:
> Brauch ich überhaupt Pullups im Fall von SPI?

Bestenfalls am Chip-Select für den Fall, dass der Controller durch den 
Reset geht.

von Willem B. (mr_willem)


Lesenswert?

Wäre eventuell ein TXB0104 von TI eine Alternative?

Den habe ich von TI direkt in SO14 Ausführung als Sample bekommen.
Der sollte bei 1.8V laut Datenblatt bis 60 Mbps funktionieren.

von Gurgelhals (Gast)


Lesenswert?

Vielen Dank für eure Tipps.

Der TXB0104 sieht auch gut aus und von der Beschaltung her ist er auch 
sehr simpel gehalten, gefällt mir fast besser als der GTL.

Schade nur, dass ich die Teile nicht bei Reichelt bekomme, das wäre mir 
das liebste gewesen. Na gut, das werd ich mir evtl. samplen lassen.

Ich bin echt mal gespannt. Laut einem Tutorial [1] kommt es bei einer 
25MhZ SPI zwischen SCK und MISO schon zu solchen delays, dass die Bits 
zu spät (also zu asynchron zur Clock) reinpurzeln. Deshalb muss beim 
Pegelwandeln so wenig wie möglich Zeit vergeuden.

Viele Grüße

[1] 
http://neurorobotictech.com/Community/Blog/tabid/184/ID/13/Using-the-Jetson-TK1-SPI--Part-3-Configuring-SPI-in-the-device-tree.aspx

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.