www.mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA serielle datenübertragung


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey leutz......

bräuchte mal ein wenig know how von euch, ich wäre euch dafür sehr
dankbar.

Die serielle datenübertragung erfordert auf der Empfängerseite die
Rückgewinnung des Taktsignals aus den eingehenden Daten.
(bevorzugendes Prinzip wäre die PLL)
Welche Realisierungsprinzipien digitaler PLL's auf FPGA Bausteinen der
Spartan3 Familie gibt es.

Bräuchte man dafür eventuell spezielle Phasenvergleicher?
Sollte man entweder ein Oszi benutzen, dass mit konstanter Spannung
osziliert oder ein Oszi welcher mit konst. Frequenz osziliert?

auch bei dem clock skew bin ich noch nicht dahinter gestiegen, ist es
ein fester wert oder ändert er sich? wenn er sich ändert, woran liegt
das?

Autor: Wirwar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was genau soll gemacht werden? ich habe es nicht richtig verstanden...

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine Phasenregelschleife soll mittels FPGA realisiert werden...
zumindest wird es, so wie ich es gelesen habe so realisiert: PLL
besteht extern aus einem VCO und einem Schleifenfilter. Intern hingegen
ist ein Phasendetektor auf dem FPGA in Programmierbarer Logik (analoger
Multiplizierer) vorhanden.

Autor: Sven Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin...

Spartan3 haben tatsächlich interne PLL, aber nicht als prog. Logik,
sondern als feste Funktionsblöcke.

Eine synthesefähige PLL in VHDL(-ams) ist mir noch nicht untergekommen,
möchte ich auch mal stark anzweifeln das es soetwas gibt. Weder VCO noch
analoge Multiplizierer lassen sich beschreiben!

Oszillatoren sind eigentlich immer Frequenz- und Spannungsstabil (im
Rahmen des technisch möglichen). Welche anderen kenst du?

Skew ist die Verzögerung von Signalen die "eigentlich gleichzeitig"
ankommen sollen. Der Clock Skew ist die messbare Verzögerung des Takts
zwischen dem ersten FF das erreicht wird und dem letzten. Ist abhängig
von der gewählten Technologie, der Komplexität des Designs, dem P&R
Erfolg und wohl auch der Betriebstemperatur. Post P&R Simulation
schafft Klarheit.

--
 SJ

Autor: HolgerB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt von Xilinx Application Notes zur asynchronen Takt- und
Datenrückgewinnung, schau dich mal dort um.
Eine externe PLL benötigst du nur, wenn das zurückgewonnene Taktsignal
von Jitter befreit werden muss.

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für eine Frequenz haben Deine Signale denn ?

Bei niedrigeren Frequenzen kann man so eine Taktrückgewinnung auch in
Logik machen.

Gruss
Axel

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Axel

Es soll für verschiedene Frequenzen untersucht werden


@HolgerB

Hast du eventuell den link zu diesem Xilinx Application Note, hab
irgendwie das richtige noch nicht gefunden...wäre Dir sehr dankbar

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um welche serielle Datenübetragung handelt es sich denn?

Asynchron (RS-232 o.ä.)? Da macht eine Taktrückgewinnung (für beliebige
Frequenzen) wenig Sinn bzw. ist je nach Beschaffenheit der empfangenen
Daten sogar unmöglich. Für RS-232 ist es einfacher und zuverlässiger,
von einer festen Baudrate auszugehen, und die Phase (d.h. die
Abtastzeitpunkte) für jedes empfangene Byte an Hand des Startbitflanke
zu synchronisieren.

Ähnliches gilt für CAN-Bus, nur dass dort die Nachrichten deutlich
länger als 1 Byte sind, so dass die Abtastzeitpunkte mehrfach innerhalb
der Nachricht synchronisiert werden müssen. Deswegen gibt's dort das
Bit-Stuffing, um genügend Flanken bereitzustellen.

Bei vielen anderen seriellen Übertragungsverfahren (SPI, I2C) wird der
Takt sowieso mitgeliefert, so dass sich das Problem gar nicht stellt.

yalu

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Es soll für verschiedene Frequenzen untersucht werden"

Also etwas konkreter sollte es schon sein. Wenn Du z. B. eine interne
Frequenz hast, die wesentlich höher als die externe ist, kannst Du das
problemlos digital lösen.

Andernfalls musst Du tricksen. Ich bin aber nicht sicher, ob die FPGA
tools Dich einen Ringoszillator aufbauen lassen.

Gruss
Axel

Autor: HolgerB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas,

ohne die Appnotes jetzt nochmals im Detail angesehen zu haben sehen
xapp224 und xapp250 recht brauchbar aus.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.