Guten Morgen zusammen,
ich habe in meiner Schaltung Störungen auf der I2C und SPi Leitungen.
Ich suche gerade nach den Ursachen und weiß nicht, wo ich genau suchen
soll. Die Schaltregler Ausgänge sehen gut aus. Ich hatte auch Testpunkte
herausgeführt, die im Layout auf freie Plätze positioniert worden sind.
Kann man dadurch Störungen einfangen, die Einfluss auf die Bussysteme
haben könnten? Als Kern bentuze ich einen STM32.
MfG
Wenn die Testpunkte nahe am normalen Verlauf der Leiterplatte sind bei
den Frequenzen von I²C und SPI nicht.
Wenn der Testpunkt am anderen Ende der Platine ist und die Leitung dahin
unter den Induktivitäten der Schaltreglern durchgeht, ganz bestimmt.
Wie sehen denn die Störungen aus?
mh schrieb:> Wenn die Testpunkte nahe am normalen Verlauf der Leiterplatte sind bei> den Frequenzen von I²C und SPI nicht.
Die Frequenz spielt überhaupt keine Rolle beim "einfangen von
Störungen".
-_- schrieb:> ich habe in meiner Schaltung Störungen auf der I2C und SPi Leitungen.
Wie sehen die Störungen, die Du gemessen hast, denn aus? Und wie hast Du
sie gemessen? Und woraus schließt Du, dass die Ausgänge des
Schaltreglers ok sind?
Das sich Dein Bus über einen Testpunkt irgendetwas einfängt, würde ich
mal ausschließen.
Schaltplan/Layout und eine Beschreibung Deiner Messung wären hilfreich.
Msd schrieb:> Die Frequenz spielt überhaupt keine Rolle beim "einfangen von> Störungen".
Juhuu, sind wir endlich wieder bei der Wortklauberei. Wenn etwas nicht
funktioniert kann man durchaus sagen, dass man sich eine Störung
"einfängt", auch wenn es sich nicht um eine eingestrahlte Störung
handelt.
Probleme, die von Fehlanpassungen, Stubs, etc. herrühren, treten halt
üblicherweise erst bei höheren Bitraten in Erscheinung.
Gerade bei SPI mit relativ niedrigen Impedanzen ist es doch eher
schwierig, Störungen einzukoppeln - da bräuchte man schon eine kräftige
Störquelle.
Und ja, es macht einen Unterschied, ob ich an ein 100kHz Bitbang-SPI
einen Stub dran mache oder an ein 80MHz Signal - wäre beides immernoch
SPI. Im zweiten Fall kann es durchaus zu Störungen kommen, auch wenn man
sie sich nicht "einfängt", sondern selbst erzeugt.
mh schrieb:> Und ja, es macht einen Unterschied, ob ich an ein 100kHz Bitbang-SPI> einen Stub dran mache oder an ein 80MHz Signal - wäre beides immernoch> SPI. Im zweiten Fall kann es durchaus zu Störungen kommen, auch wenn man> sie sich nicht "einfängt", sondern selbst erzeugt.
Sind wir uns ja einig.
mh schrieb:> Probleme, die von Fehlanpassungen, Stubs, etc. herrühren, treten halt> üblicherweise erst bei höheren Bitraten in Erscheinung.
...
> Und ja, es macht einen Unterschied, ob ich an ein 100kHz Bitbang-SPI> einen Stub dran mache oder an ein 80MHz Signal - wäre beides immernoch> SPI. Im zweiten Fall kann es durchaus zu Störungen kommen, auch wenn man> sie sich nicht "einfängt", sondern selbst erzeugt.
Da muss ich widersprechen.
Wie schnell du dein SPI-Interface betreibst, ist doch egal. Wenn es
80MHz könnte, dann sind die Flanken sehr steil und vor allem der Takt
ist bei einem Stub gefährdet, auch wenn du es beliebig langsam
betreibst. Dann erhält der Clk-Eingang durch die Reflexionen an dem Stub
schlimmstenfalls zwei Flanken wo nur eine sein sollte.
-_- schrieb:> Ich hatte auch Testpunkte> herausgeführt, die im Layout auf freie Plätze positioniert worden sind.
Genau das dürfte das Problem sein, wenn die Wege zu den TPs ausreichend
lang sind. Und das hört sich mit seinem Satz so an ...
-_- schrieb:> ich habe in meiner Schaltung Störungen auf der I2C und SPi Leitungen.
Wenn du nur halb so unfähig bist wie du dich im Posting anstellst, so
sollte es dir möglich sein ein Foto vom Aufbau und die Schaltpläne hier
hochzuladen. Beachte beim Upload auch die Bildformate um nicht ganz als
Vollidiot abgestempelt zu werden :)
SPItester schrieb:> Wenn du nur halb so unfähig bist wie du dich im Posting anstellst,> .....
Heute ist Freitag, und die Themenstellung bzw der Inhalt des
Startbeitrages ist trollverdächtig.
HildeK schrieb:> Da muss ich widersprechen.> Wie schnell du dein SPI-Interface betreibst, ist doch egal. Wenn es> 80MHz könnte, dann sind die Flanken sehr steil und vor allem der Takt> ist bei einem Stub gefährdet, auch wenn du es beliebig langsam> betreibst. Dann erhält der Clk-Eingang durch die Reflexionen an dem Stub> schlimmstenfalls zwei Flanken wo nur eine sein sollte.
Grundtakt UND Flankensteilheit spielen eine Rolle. Die Flankensteilheit
sorgt für die Reflexion, je nach Taktfrequenz kann sich diese eben
störend auswirken, je nach dem ob es die Reflexion rechtzeitig zurück
schafft. Es spielt auch keine Rolle ob Takt oder Daten, denn wenn der
Puls auf den
Daten es während des Samplepoints über den Schwellwert schafft, ist die
Datenübertragung genauso kritisch als wenn der Takt betroffen wurde.
In guten Designs wird die Flankensteilheit ja deshalb auch nur so steil
wie möglich, also je nach Grundtakt eingestellt.
HildeK schrieb:> Genau das dürfte das Problem sein, wenn die Wege zu den TPs ausreichend> lang sind. Und das hört sich mit seinem Satz so an ...
Das allein(!) das Vorhandensein der Stichleitung beim I2C oder SPI im
unteren MHz-Bereich ein Problem darstellen also absolut
unwahrscheinlich.
Msd schrieb:> Das allein(!) das Vorhandensein der Stichleitung beim I2C oder SPI im> unteren MHz-Bereich ein Problem darstellen also absolut> unwahrscheinlich.
Man könnte zum Test einfach mal den Stich abtrennen.
Wenn dann die Fehler weg sind, könnte es immer noch sein, dass damit nur
die Symptome behandelt sind, aber eben die "Fehlergrenze" nicht
überschritten wird.
-_- schrieb:> Die Schaltregler Ausgänge sehen gut aus.
Also hast du ein Oszi. Das ist gut...
> Ich hatte auch Testpunkte> herausgeführt, die im Layout auf freie Plätze positioniert worden sind.> Kann man dadurch Störungen einfangen, die Einfluss auf die Bussysteme> haben könnten?
Was siehst du, wenn du die fraglichen Signale mit dem obigen Oszi direkt
an den IC-Pins (mit Massefedern) misst? Klingelts da? Überschwinger?
Böse Flankenformen? Sonstige Störungen?
Msd schrieb:> In guten Designs wird die Flankensteilheit ja deshalb auch nur so steil> wie möglich, also je nach Grundtakt eingestellt.
Also eigentlich im Prinzip nur so steil wie nötig... ;-)
Msd schrieb:> Grundtakt UND Flankensteilheit spielen eine Rolle. Die Flankensteilheit> sorgt für die Reflexion,
Richtig.
> je nach Taktfrequenz kann sich diese eben> störend auswirken, je nach dem ob es die Reflexion rechtzeitig zurück> schafft. Es spielt auch keine Rolle ob Takt oder Daten, denn wenn der> Puls auf den Daten es während des Samplepoints über den Schwellwert> schafft, ist die> Datenübertragung genauso kritisch als wenn der Takt betroffen wurde.
Wenn du ein synchrones System hast, also der Takt die Daten sampelt,
dann ist es bei den Daten egal, ob sie außerhalb der aktiven Taktflanke
selber eine unsaubere Flanke haben - wenn man davon ausgeht, dass
meistens die Daten in der Mitte (oder am Ende) abgetastet werden. Und
bis dahin haben sich üblicherweise Überschwinger, Doppelflanken etc.
längst beruhigt. Deshalb ist es bei dem Takt deutlich kritischer: dessen
Flanke sollte perfekt sein!
> In guten Designs wird die Flankensteilheit ja deshalb auch nur so steil> wie möglich, also je nach Grundtakt eingestellt.
Wurde schon gesagt: so steil wie nötig. Wenn man denn eine
Einstellmöglichkeit hat. Die selten Vorhandene in FPGAs und manchen
Prozessoren taugt eh nicht viel ...
Msd schrieb:> Das allein(!) das Vorhandensein der Stichleitung beim I2C oder SPI im> unteren MHz-Bereich ein Problem darstellen also absolut> unwahrscheinlich.
Ich bleibe dabei: die Frequenz spielt keine Rolle! Wenn die verwendete
Technologie so schnell ist, dass sie 80MHz könnte, dann macht sie bei
entsprechend langen Stubs nicht nur bei 80MHz Probleme sondern genau so
bei 100kHz. Allerdings würde dann direkt am Eingang ein RC-Tiefpass zur
Bandbegrenzung helfen, aber dann gehen eben die 80MHz auch nicht mehr.
-_- schrieb:> ich habe in meiner Schaltung Störungen auf der I2C und SPi Leitungen.
Woran merkst du das?
Funktioniert deine Datenübertragung nicht oder hast du die Störungen mit
einem vernünftigen Oszilloskop direkt gesehen?