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
Vielleicht hast du den Spannungsteiler zu niederohmig gemacht und die ICs können nicht genug treiben.
Welche Widerstände hat dein Spannungsteiler? Welche Bausteine sind beteiligt?
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
... (TLE7209, TLE6244, TLE8102,...) ... Nett. Welchen Controller verwendest du?
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
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!
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?
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
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.