Forum: FPGA, VHDL & Co. CPLD tastet Signale ab - viele Fehler.


von Gerd (Gast)


Angehängte Dateien:

Lesenswert?

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

von Duke Scarring (Gast)


Lesenswert?

Wie schnell ist Dein SPI? Wie schnell tastet der CPLD ab?
Kannst Du uns Deinen Code zeigen?

Duke

von P. K. (pek)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

Dann wird es Zeit für Fehlersuche.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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?

von Gerd (Gast)


Lesenswert?

>>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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von P. K. (pek)


Lesenswert?

Gerd schrieb:
> Was ist eigentlich KO? ... Simulator?

Kathodenstrahl-Oszilloskop

Macht mir etwas Angst, dass Dir das kein Begriff ist...

von Duke Scarring (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@  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)

von Gerd (Gast)


Lesenswert?

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.

von P. K. (pek)


Lesenswert?

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.).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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"

von Gerd (Gast)


Lesenswert?

>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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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?

von Gerd (Gast)


Lesenswert?

>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.

von Gerd (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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

von Gerd (Gast)


Lesenswert?

Danke Lothar, sehr aufschlussreich!

Meine C's sind richtig, falsch, falscher und am falschesten 
positioniert.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.    ;-)

von Simon K. (simon) Benutzerseite


Lesenswert?

Ich weise noch mal darauf hin, dass das Parallelschalten von 
Keramikkondensatoren unterschiedlicher Kapazität (auf kleinem Raum) ganz 
schlimme Auswirkungen haben kann.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.