Hallo zusammen, Ich habe hier ein Board, bei welchem durch wahrscheinlich Überschwingen eines Signals Glitches entstehen. Auf der Schaltung werden ab Optokoppler zwei parallel geschaltete OpenCollector Ausgänge direkt auf einen Input in Bank0 geführt. (z.B. PIN78, I/O_L01_0(Bank0) ) Die parallel geschalteten OpenCollector Ausgänge des Optokopplers haben einen Pull-Up Widerstand 1kOhm gegen 3.3V. (siehe Bild). SIGNAL_3.3V geht auf das FPGA. Der Optokoppler spezifiziert Low Level Output als typ.0.4V, max.0.6V. Gemessen wurden ziemlich genau 0.4V für den Low-Pegel und 3.3V für High. Beim Umschalten von High auf Low kann es nun vorkommen, dass FPGA-intern nach dem Abclocken Glitches von 1-3 Taktdauern Breite festgestellt werden können, auf dem KO ist jedoch nichts wirklich schlimmes zu sehen. Das Signal pendelt bei 0.4V gaaaanz leicht ein. (Fortsetzung im Folgepost)
Gemäss dem Spartan 3E Datenblatt (siehe Bild) könnte der Signalpegel von 0.4V zu Problemen bei einigen Logikfamilien führen. Nun die Frage: Welche Logikfamilie wird bei ISE8.1 als Standard gewählt? Bank0 wird mit 3.3V gespeist. Es sind keine Constraints zur Logikfamilie angegeben. Was kann getan werden, damit dieses Problem nicht mehr auftritt? Ein Workaround besteht darin, einen 2.2nF Kondensator parallel zu den OpenCollector Ausgängen gegen GND zu hängen, dies führt zu einer sehr langsamen Signalflanke (Tfall=200ns) im Gegensatz zu 30ns ohne Kondensator. Die Rise-Flanke ist dann jenseits von gut und böse (us-Bereich). Falls sich dieser Weg als passend erweisen sollte: wie langsam darf eine Signalflanke beim Spartan 3E sein? Gruss, Martin
Vergiss den Kondensator. Eine solide Lösung wäre der Einsatz eines Schmitt triggers (74HC14), dann ist es garantiert wasserdicht. Alternativ kann man auch einen digitalen Filter im FPGA bauen (einfach mehrere Samples zu einem zusammenfassen). MFG Falk
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.