FPGA serielle datenübertragung

Gast #388973
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?
Gast #388975
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.
Gast #388976
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
Gast #388977
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.
Gast #388979
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
Gast #388980
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
Gast #388981
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren