Forum: Mikrocontroller und Digitale Elektronik [SPI-Bus] Problem mit Pegel


von Mille (Gast)


Lesenswert?

Hallo,

habe ein Problem mit dem Ausgangspegel des SPI-Busses meiner Bausteine:
Ich habe die MRST-Leitung (SO; Ausgangspegel bei High von +5V) der 
SPI-Schnittstelle mehrere meiner Bausteine (es sind 8) zusammen 
geschalten. Dann habe ich dieses Signal mit einem Spannungsteiler auf 
+3.3V hinuntergeteilt, um mit meinem Interface des Controllers 
kompatibel zu sein.
Nun habe ich bei der Inbtriebnahme gesehen, dass der Pegel bei einem 
High-Zustand ungefähr 3.8V sind anstatt die 5V und damit ist der Pegel 
nach dem Spannungsteiler zu gering um das High vom µC erkannt zu werden.
Ich komme nun nicht drauf, wieso der pegel 3.8V anstatt den 5V ist?

Kann mir da jemand weiterhelfen?

LG Mille

von Christian (Gast)


Lesenswert?

Vielleicht hast du den Spannungsteiler zu niederohmig gemacht und die 
ICs können nicht genug treiben.

von Martin (Gast)


Lesenswert?

Welche Widerstände hat dein Spannungsteiler? Welche Bausteine sind 
beteiligt?

von Mille (Gast)


Lesenswert?

Der Spannungsteiler besteht aus 10k und 2x10k (5V -> 3.3V).

Bausteine sind hauptsächlich Leistungsbausteine von Infineon, die eine 
SPI Schnittstelle zur Diagnose oder Konfiguration haben (TLE7209, 
TLE6244, TLE8102,...).

lg mario

von Floh (Gast)


Lesenswert?

Ein Schaltplan sagt mehr als tausend Worte...

von Martin (Gast)


Lesenswert?

... (TLE7209, TLE6244, TLE8102,...) ...

Nett. Welchen Controller verwendest du?

von SPI (Gast)


Lesenswert?

Mille schrieb:
> Dann habe ich dieses Signal mit einem Spannungsteiler auf
> +3.3V hinuntergeteilt, um mit meinem Interface des Controllers
> kompatibel zu sein.

Das klingt für mich so, als hättest an deinen 3,3V Master (µC) noch 
einmal einen Spannungsteiler ran gehängt um auf 5V zu kommen?!?
Du kannst ja nicht mehr haben als du reingesteckt hast. Das was du 
brauchst ist ein Pegelwandler wie der MAX3373 o.ä.
Schau auch einmal im entsprechenden Artikel nach:
Pegelwandler

von Mille (Gast)


Lesenswert?

Ich habe nur von dem Slave in Richtung Master (µC) einen 
Spannungsteiler, um von +5V auf +3.3V zu kommen...
Zuerst habe ich vermutet, dass irgendein baustein statt 5V schon 3.3V 
als High-Pegel ausgibt und dadurch die ~3.8V entstehen, aber dem war 
nicht so. Alle geben einzelne schön brav die +5V beim High-Pegel aus!

von SPI (Gast)


Lesenswert?

Mille schrieb:
> Ich habe nur von dem Slave in Richtung Master (µC) einen
> Spannungsteiler, um von +5V auf +3.3V zu kommen...

Du hast doch aber sicherlich einen bidirektionalen Betrieb. Soll heißen, 
dass der µC (3,3V) ein SPI Kommando an den Slave (5V) sendet und dieser 
dann evtl. antwortet.
Das Antworten klappt sicherlich, da du ja den Spannungsteiler drin hast, 
aber wie soll der Slave dein SPI Kommando verstehen, wenn du die 3,3V 
über einen Spannungsteiler verringerst?

von SPI (Gast)


Lesenswert?

Ach so, jetzt machts klick. Du hast nur in der SDI Leitung den 
Spannungsteiler. Deswegen muss der Slave deinen 3,3V High Pegel bei SDO 
nicht als High erkennen. Wieder einmal der Verweis auf Pegelwandler

von Mille (Gast)


Lesenswert?

Man hat ja bei SPI getrennte Leitungen für Senden und Empfangen (MTSR 
und MRST). Den Spannungsteiler habe ich, wie oben beschrieben, natürlich 
nur in einer Richtung MRST... master receive slave transmit) drinnen. 
Die anderen leitungen sind vom Pegel her auch angepasst, egal, dass 
funktioniert eh. Es geht nur um die MRST-Leitung!

von Simon K. (simon) Benutzerseite


Lesenswert?

So angemerkt: Der Spannungsteiler ist mit 10k zu 20k aber schon relativ 
hochohmig. Du hast hoffentlich keine sehr hohe SPI Frequenz.

Zu dem Problem: Hast du vielleicht falsche Widerstände eingelötet? 
Könnte sein, dass eine Clamp Diode das Signal auf ca. VCC+0.6V clampt 
(3,8V kommen ja in etwa hin).

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.