Hallo, ich hab das Problem, dass ich Eval-Board übergeifend einen synchronen Reset durchführe (Bitte keine Diskussion darüber, dass auf Resets verzichtet werden kann). D.h. ich nutze den Taster auf Board1 und kann darüber zwei Ausgänge (A1, A2) auf 1 setzen. Von diesen beiden Ausgängen wird der eine genutzt um Board1 zu resetten, der zweite resettet das Board2. Und genau hier tritt das Problem auf, denn sobald ich versuche beide Boards ausgehend durch den Taster auf Board1 zu resetten kommt nur noch Grütze raus. Nutze ich für jedes Board einen eigenen Reset, läuft alles wunderbar. Auch wenn ich von Board1 aus erst das eine, dann das andere Board resette, klappt alles wie gewünscht. Nur sobald ich beide Boards parallel resette geht nix mehr. Kann es sein das hierbei der Treiber der das Resetsignal generiert zu schwach ist und nicht alle FFs erreicht?? Oder besitzen die Ausgänge A1 und A2 eigene Treiber wodurch ich ein zu schwaches Signal eigentlich ausschließen kann??
guest schrieb: > Kann es sein das hierbei der Treiber der das Resetsignal generiert zu > schwach ist und nicht alle FFs erreicht?? Wie kommst du darauf, dass ein "schwaches" Reset-Signal nicht alle FFs erreichen würde? guest schrieb: > Oder besitzen die Ausgänge A1 und A2 eigene Treiber wodurch ich ein > zu schwaches Signal eigentlich ausschließen kann?? Weil noch keiner weiß, was du für Boards hast, wie die miteinander verschaltet sind, wie die versorgt sind und was da alles am Reset angeschlossen ist, kann auch keine sinnvolle Antwort kommen... > Nutze ich für jedes Board einen eigenen Reset, läuft alles wunderbar. Zeichne doch mal eine Skizze und schreib dazu, was der Taster, Board1, Board2, A1, A2 usw. usf. ist...
> Wie kommst du darauf, dass ein "schwaches" Reset-Signal nicht alle FFs > erreichen würde? Quasi ein Einbruch des Signals aufgrund zu großer Last? Die Frage ging eher in die Richtung, ob das prinzipiell sein kann? Allerdings zeigt meine Design Summary, dass lediglich 3% aller FFs verwendet werden daher kann wohl kaum von Überbelastung geredet werden.. Ich hab irgendwie keine Idee mehr woran das liegen könnte, daher kommen mir solche Fragestellungen in den Kopf. Naja in der Skizze ist der Aufbau nochmal ganz simpel dargestellt: http://rapidshare.com/files/434138448/skizze.pdf Von K13 aus wird B14 und A14 auf 1 gesetzt. Das Reset Signal wird über B8 auf die beiden Boards verteilt. Es handelt sich dabei um ein AVNET Board (AES-SP3A-EVAL400-G) mit einem Spartan 3A darauf.
guest schrieb: > Von K13 aus wird B14 und A14 auf 1 gesetzt. Das Reset Signal wird über > B8 auf die beiden Boards verteilt. Das kann der Ausgangstreiber sicher. Dein Problem liegt woanders... Wie ist die Masse der beiden Boards verbunden? Wie sind die versorgt? BTW: Anhänge lieber gleich hier im Post mit anhängen, dann spart man sich die Bauernfängerei bei einem Filehoster...
Danke soweit, > Wie ist die Masse der beiden Boards verbunden? Wie sind die versorgt? also es gibt nur ein USB Kabel vom Board zum Laptop. Sowohl Spannungsversorgung, sowie das konfigurieren der FPGAs, läuft darüber. Beide Boards sind allerdings mit dem selben Laptop verbunden.
guest schrieb: >> Wie ist die Masse der beiden Boards verbunden? Wie sind die versorgt? > > also es gibt nur ein USB Kabel vom Board zum Laptop. Sowohl > Spannungsversorgung, sowie das konfigurieren der FPGAs, läuft darüber. > Beide Boards sind allerdings mit dem selben Laptop verbunden. Und Du hast nur einen Draht von Board1/B14 zu Board2/B8 gezogen? Dann läuft die Masse über den Läptop und das gibt eine schöne Masseschleife, die sich alle möglichen Störungen einfangen kann. Duke
Du hast also keine definierte/dedizierte Masseverbindung? Die Masseverbindung zwischen den beiden Boards geht "nur" über die beiden USB-Kabel und den Laptop? Dann verbinde doch einfach mal zwischen den beiden Boards das Massepotential direkt. So wie du ja das Reset-Signal zwischen den beiden Boards auch direkt verbunden hast...
So, die Masse wurde verbunden, jedoch ohne Erfolg. Allerdings hab ich es dennoch zum laufen bekommen was meiner Meinung nach jedoch nicht gesund sein kann für die Hardware.. Also Fakt ist, dass wenn BTN1 oder BTN2 gedrückt wird B14 sowie A14 auf 1 geschaltet werden. Nun sind die Pins A14/B14 bei Board 2 allerdings mit nichts verbunden (Ich hoffe das war kein wichtiges Detail). Wenn ich nun bei Board2 zusätzlich B14 auf B8 lege und dann via BTN1 den Reset ausführe klappt der Reset. Nur bin ich der Meinung das ich in dem Fall einen Kurzschluss produziere da Board2/B14 ja eigentlich auf 0 liegen sollte. Nachvollziehen kann ich nix von dem was dabei passiert..
Weil unglücklicherweise nur du dein Design kennst (aus deiner Beschreibung vermute ich, dass auf beiden FPGAs das selbe läuft), kann jeder Rat nur ein unsinniges Raten sein. Das bringt dich nicht weiter...
Sobald das Board2 über B8 mit Board1 verbunden ist scheint das Resetsignal, ausgehend von A14/B14 nicht auf 0 zu bleiben. Das erklärt auch warum nur ein Teil der eigentlichen Nachricht übertragen wird. Wenn ich den BTN1 drücke und das Board2 durch Abziehen des Kabels während dessen trenne, funktioniert der Reset von Board2 einwandfrei. Lasse ich BTN1 los anstatt das Kabel abzuziehen, kommen wieder nur Bruchteile der Übertragung an. Das Verhalten ändert sich auch beim Wechsel der Pins nicht. Falls dennoch jemand eine Idee hat wie sowas zustande kommen kann... immer raus damit.
Liest du eigentlich die Posts? Ich zitiere mich: Lothar Miller schrieb: > Weil unglücklicherweise nur du dein Design kennst (aus deiner > Beschreibung vermute ich, dass auf beiden FPGAs das selbe läuft), kann > jeder Rat nur ein unsinniges Raten sein. Das bringt dich nicht weiter... Als kleine Hilfestellung: Keiner hat auch nur eine grobe Ahnung, was du innerhalb deines FPGAs mit diesen EAs machst und auch nicht, wie sie im Constraints-File konfiguriert sind (Pullup/down). Wie soll man da helfen können? guest schrieb: > Sobald das Board2 über B8 mit Board1 verbunden ist scheint das > Resetsignal, ausgehend von A14/B14 nicht auf 0 zu bleiben. Sowas kann man messen. Denn der Schein kann trügen.
> Liest du eigentlich die Posts? Zunächst einmal ist mir ein Vorschlag der sich hinterher als falsch raus stellt immer noch lieber als garkeinen Ansatzpunkt zu haben. Zum anderen wollte ich die mir bekannten Informationen im letzten Post komplettieren damit vielleicht doch jemand einen "aha, sowas hatte ich auch schon mal" Effekt bekommt und eventuell was zur Problemlösung beiträgt. Und um die Frage nach meiner Lesebereitschaft abzuschließen: guest schrieb: > Falls dennoch jemand eine Idee hat wie sowas zustande kommen kann... > immer raus damit.
Es ist nicht so, dass ich dir nicht helfen wollte, aber ich kann es so nicht... :-/ Also: miss mal den Pegel auf der fraglichen Verbindung. Und zwar einmal bei offener Verbindung an beiden betroffenen Bausteinen. Und dann bei geschlossener Verbindung. Was immmer noch unklar ist: hast du auf beiden FPGAs das selbe Design? Oder wenigstens den betroffenen Teil, der die Taster und den Reset bedient?
Es ist das gleich Design auf beiden Boards. In der usf. Datei ist btw. nichts definiert außer der Pinbelegung und dem Übertragungsstandard. Die Messung wurde an B14 durchgefüht. Bezugspunkt war bei out2 ein Massepin auf dem eigenen Board. Bei out3 und out4 auf dem gegenüberliegenden Board. Die Massen wurden vorweg über GND Pins verbunden. D.h. die einzigen Verbindungen zwischen den Boards sind eine Datenleitung, Data_clk_leitung (Auf dem Bildern vorher nicht eingezeichnet) und die Masseverbindung. Der Sprung auf ~3.3V geschieht durch Auslösen des BTN1. Es spielt auch keine Rolle welches der beiden Boards nun für den Reset zuständig ist, das Verhalten bleibt das gleiche. Ich hab auch andere Kabel und andere GND Pins der einzelnen Boards miteinander verbunden, aber anscheinend gibt's keine gemeinsame saubere Masse. Sobald die Data_clk_leitung abgeklemmt ist siehts deutlich besser aus (siehe out4), aber eigentlich immer noch beschissen. Sobald dann die Datenleitung ebenfalls getrennt wird ist alles im Lot.
guest schrieb: > Die Massen wurden vorweg über GND Pins verbunden. Diese Masseverbindung sieht aber irgendwie sehr schlecht aus... Oder der Low-Pegel an A14 wird nicht aktiv getrieben... EDIT: guest schrieb: > Die Messung wurde an B14 durchgefüht. Von welchem B14 sprichst du? Vom FPGA-Pin B14 oder vom J34/PPin B14?
Wieviele Datenleitungen teilen sich denn eine Masseleitung? Sieht nach Ground Bouncing aus. Immer wenn viele Datenleitungen gleichzeitig schalten, ziehen sie die Masse mit hoch, wenn da zu wenige Masseleitungen sind. Deswegen haben beispielsweise IDE Kabel so viele Masseleitungen.
> Von welchem B14 sprichst du? Vom FPGA-Pin B14 oder vom J34/PPin B14? Von dem FPGA Pin. Das selbe bescheidene Messergebnis ergibt sich auch an A14 wenn ich die Masse des gegenüberliegenden Boards als Bezugspunkt nutze. > Oder der Low-Pegel an A14 wird nicht aktiv getrieben Wo kann man das konfigurieren? In der ucf? Wenn ja, ich hab wie gesagt nichts außer der Pinzuweisung und dem IOSTANDARD eingetragen (LVCMOS33). Was dann default gesetzt wird weißt du wahrscheinlich eher als ich. > Wieviele Datenleitungen teilen sich denn eine Masseleitung? Also ich hab hier nur eine Hin- und Rückleitung für die Daten und die Daten_clk. Bei der Frage welche Leitungen sich welche Massen teilen bin ich überfragt. Du meinst wieviele der genutzten IOs sich innerhalb des FPGAs einen GND Pin teilen?
Nee, ich meine das/die Kabel zwischen den Boards. Wenn da 10 Datenleitungen und nur eine Masseleitung wäre, wäre das schlecht, dann gibts solche Ground Bouncing Effekte.
So ich hab dann mal nahezu alle GND Pins die zur Verfügung stehen genutzt, um die Boards miteinander zu verbinden. Resultat, die Übertragung haut hin. Wenigstens das Symptom bekämpft ..
guest schrieb: > nahezu alle GND Pins Wahrscheinlich hätte es gereicht, die "richtigen" GND-Pins zu verwenden. An Deiner vorhergehenden Version, war also noch irgendwas faul. Duke
guest schrieb: > Resultat, die Übertragung haut hin. Wenigstens das Symptom bekämpft .. Ich denke, das war eher die Ursache.
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.