Hallo, ich habe eine Schaltung mit dem XC9572XL, die mir ein SPI Signal abtasten soll. Leider funktioniert das nur teilweise. Die Bilder im Anhang zeigen drei Mitschnitte. Wie man sieht sind da z.T. sehr viele Störungen auf den Leitungen. Ich vermute mal es liegt an den Signalen selbst, dem Hardware-Layout oder dem VHDL-Code. Leider habe ich keinen Plan wie und wo ich da am besten anfange zu suchen und brauche deshalb eure Hilfe! Danke im Voraus, Gruß Gerd
Gerd schrieb: > Ich vermute mal es liegt an den Signalen selbst, dem Hardware-Layout > oder dem VHDL-Code. Hmm, noch nicht sehr eingegrenzt. Gib die SPI-Signale doch als erstes mal auf den KO, dann weist Du ob es die Hardware ist oder nicht (stimmen die Pegel, passen die Pegel zu Deinen I/O usw.). Layoutprobleme würde ich nicht erwarten, SPI ist eher langsam. Falls nicht die Hardware querschlägt: Schau mal die Abtasterei an, wie schnell tastest Du ab, hast Du noch Logik zwischen den Clockdomains (Signallaufzeit), etc.
Gerd schrieb: > Leider habe ich keinen Plan wie und wo ich da am besten anfange zu > suchen und brauche deshalb eure Hilfe! Uns fehlt natürlich auch der Schaltplan, das Layout, ein Foto vom Aufbau, Anschlusspunkte des LA, Leitungslängen, usw. > Leider funktioniert das nur teilweise. Die Bilder im Anhang zeigen drei > Mitschnitte. Von was? Womit gemacht?
>>Kannst Du uns Deinen Code zeigen? Nein, leider nicht. Es ging bei meiner Hilfesuche eher um Grundsätzliches (Hatte gehofft, das Fehlerbild weisst vlt. auf eine bestimmte Ursache hin). >>Dann wird es Zeit für Fehlersuche. Deshalb Danke ich auch mal für den Link. Da sind wirklich eine Menge nützliche Infos zu finden. >>Gib die SPI-Signale doch als erstes mal auf den KO, dann weist Du ob es >>die Hardware ist oder nicht (stimmen die Pegel, passen die Pegel zu >>Deinen I/O usw.). Was ist eigentlich KO? ... Simulator? >>Uns fehlt natürlich auch der Schaltplan, das Layout, ein Foto vom >>Aufbau, Anschlusspunkte des LA, Leitungslängen, usw. Ich weiss. Ich werde mal zuerst die Ein- und Ausgänge am CPLD messen und vergleichen. Danach seh ich weiter. Also nochmal Danke für die Hinweise. Gruß Gerd
Gerd schrieb: > das Fehlerbild weisst vlt. auf eine bestimmte Ursache hin Ich würde hier am ehesten erst mal einen Messfehler vermuten (falscher Masseanschluss). Und dann nach einem Schaltregler oder eine anderen Störer suchen...
Gerd schrieb: > Was ist eigentlich KO? ... Simulator? Kathodenstrahl-Oszilloskop Macht mir etwas Angst, dass Dir das kein Begriff ist...
Peter K. schrieb: > Kathodenstrahl-Oszilloskop > > Macht mir etwas Angst, dass Dir das kein Begriff ist... Mir ist das auch kein Begriff. Klingt irgendwie nach 60er Jahre :-) Ich würde ein "Oszi" verwenden... Duke
@ Peter K. (pek) >> Was ist eigentlich KO? ... Simulator? >Kathodenstrahl-Oszilloskop >Macht mir etwas Angst, dass Dir das kein Begriff ist... Mir macht eher dein AKüfi Angst, da kann man leicht KO gehen. http://de.wiktionary.org/wiki/Abk%C3%BCrzungsfimmel http://de.wikipedia.org/wiki/Knockout_(Sport)
Ich habe jetzt mal den VHDL Code geändert und die Eingänge am CPLD durch einen Zähler ersetzt. Und siehe da, die Zählerstände werden ohne Fehler ausgegeben. >Gib die SPI-Signale doch als erstes mal auf den KO, dann weist Du ob es >die Hardware ist oder nicht (stimmen die Pegel, passen die Pegel zu >Deinen I/O usw.). Der Gedanke war also genau der Richtige - die Eingangssignale sind schon verrauscht. Ich hab bisher noch kein KO angeschlossen, um das exakt zu messen, aber ich hab mal die Jumper-Kabel von 30 cm, mit denen ich die Signale auf den CPLD führe, durch kürzere (10 cm) ersetzt. Die Störungen haben stark abgenommen, womit also dann die Zuleitungen das KO-Kriterium sind! Leider sind die Störungen nicht ganz weg und ich frage mich, wie ich die nun endgültig KO (sorry, das war jetzt das letzte Mal) schlagen kann? Noch kürzere Leitungen sind keine Lösung.
Gerd schrieb: > Noch kürzere Leitungen sind keine Lösung. Nein. Ich denke auch nicht, dass die 30cm Leitungen das ursprüngliche Problem sind (ausser Du hast einen potenten Sender in unmittelbarer Nähe), sondern nur der Tropfen, der das Fass zum überlaufen bringt. Ich denke, es wäre nun an der Zeit, besagtes Gerät anzuschliessen und die Signale zu visualisieren (und dann prüfen: stimmen die Pegel, passen die Pegel zu Deinen I/O, hast Du irgenwo ungewollte pull-downs oder -ups, usw.).
Gerd schrieb: > ich frage mich, wie ich die nun endgültig KO schlagen kann? Gut, dass du uns nicht frägst, denn ohne Wissen um dein System könnte dir ja auch keiner ein brauchbare Antwort geben... > Noch kürzere Leitungen sind keine Lösung. Du weißt ja noch nicht mal, woher diese Störungen kommen. Was bastelst du dann an den Leitungen rum? Aber ich schütte nochmal Öl ins Feuer und verweise auf den Beitrag "Re: Signalproblem bei langem Kabel"
>Aber ich schütte nochmal Öl ins Feuer und >verweise auf den Beitrag "Re: Signalproblem bei langem Kabel" So ein Serienwiderstand wirkt wahre Wunder - nicht ein Zappler! >Du weißt ja noch nicht mal, woher diese Störungen kommen. Was bastelst >du dann an den Leitungen rum? Aber irgendwie beschleicht mich der Gedanke, dass das wieder nur gebastelt ist!? >Ich denke, es wäre nun an der Zeit, besagtes Gerät anzuschliessen und >die Signale zu visualisieren (und dann prüfen: stimmen die Pegel, passen >die Pegel zu Deinen I/O, hast Du irgenwo ungewollte pull-downs oder >-ups, usw.). Was ich dann mal nach dem Wochenende auch tun werde.
Gerd schrieb: >>Aber ich schütte nochmal Öl ins Feuer und >>verweise auf den Beitrag "Re: Signalproblem bei langem Kabel" > So ein Serienwiderstand wirkt wahre Wunder - nicht ein Zappler! Schaltet du mit sehr steilen Flanken? Wie sieht die Entkopplung (Blockkondensatoren) der Teilnehmer aus?
>Schaltet du mit sehr steilen Flanken? Wie sieht die Entkopplung >(Blockkondensatoren) der Teilnehmer aus? Der Versuchsaufbau besteht aus 2 AVR die per SPI verbunden sind. Beide hängen an einem Labornetzteil. Von den SPI-Leitungen gehen 4 Stichleitungen an die CPLD Eingänge. Der CPLD wird über 5 Volt vom PC versorgt. Am CPLD sind 1uF und 100nF Kondensatoren vor jedem Spannungseingang.
Also, das mit dem Serienwiderstand alleine hat doch nicht richtig funktioniert. Ich hatte nur Glück. Deshalb habe ich ein paar Testreihen gemessen. Und zwar mit verschiedenen Oszillatoren (3, 2 und 1 MHz) an einem Kanal. Die anderen Kanäle lagen auf Masse. Trotz (oder gerade) dessen, dass die anderen auf Masse lagen traten frequenzabhängige Störungen auf den Kanälen auf. Bei 3 MHz alle 18ms, bei 2 MHz alle 12ms usw. Ich bin dann her gegangen und habe den 24 MHz Oszi, der den CPLD versorgt sauber eingelötet (SMD). Bei den Tests war noch einer mit Kabeln im DIP-Gehäuse dran - zum Testen eben. Siehe da, die Störungen waren schon weniger. Nach dem hinzunehmen der Serienwiderstände treten jetzt keine Fehler mehr auf. Hätte nicht gedacht, das so ein Oszi die Stabilität einer Schaltung so sehr beeinflusst, zumal 24 MHz vermeintlich nicht allzu viel sind. Ich habe mich jetzt ein bischen mehr mit EMV auseinander gesetzt, z.B. http://www.rotgradpsi.de/mc/etc/emv.html Beitrag "EMV-Gerechtes Layout für Oszillator" und muss sagen, es hat seine Daseinsberechtigung:) Ich werde der Schaltung zur Sicherheit noch eine Handvoll weiterer Kondensatoren spendieren und denke das wars dann. Vielen Dank für die Denkanstöße und Hilfen. Gruß Gerd
Gerd schrieb: > Am CPLD sind 1uF und 100nF Kondensatoren vor jedem Spannungseingang. Da möchte ich noch darauf hinweisen, dass CPLDs gern mal recht knackig schalten, da ist evtl. ein 22nF Kondensator direkt zwischen den Versorgungsanschlüssen nicht fehl am Platz: http://www.lothar-miller.de/s9y/categories/14-Entkopplung
Danke Lothar, sehr aufschlussreich! Meine C's sind richtig, falsch, falscher und am falschesten positioniert.
Gerd schrieb: > Danke Lothar, sehr aufschlussreich! Keine Ursache. Das ist natürlich nur "die reine Lehre". In der Praxis wirst du da das eine oder andere Mal Abstriche machen müssen. Aber wenn du den Mechanismus kennst... > Meine C's sind richtig, falsch, falscher und am falschesten > positioniert. ... lässt sich das korrigieren. ;-)
Ich weise noch mal darauf hin, dass das Parallelschalten von Keramikkondensatoren unterschiedlicher Kapazität (auf kleinem Raum) ganz schlimme Auswirkungen haben kann.
Dann solltest du aber sinnvollerweise auch auf das "Warum" hinweisen. Und ich meine fast, dass du da einen Teufel an die Wand malst. Ich meine: besser unterschiedliche Kondensatoren als vor lauter Angst /gar keine/.... Das niederimpedante Kondensatoren lokale Schwingkreise bilden und die Gesamtschaltung insgesamt dann eine höhere Impedanz haben kann, mag schon sein. Aber besser eine "schlechte" Impedanz zur Dämpfung als gar keine...
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.