www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Taktsynchronisation


Autor: Kim Nagel (kim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich will einen BUS mit meinen FPGA abhören und die Daten auswerten und 
bearbeiten, das klappt auch alles mehr oder weniger gut. Allerdings habe 
ich ein Problem mit der Taktsynchronisation. Ich weiss zwar das man 
Signalübergänge in der Mitte des Bitintervalls zur Taktsynchronisation 
benutzen kann (Manchester Code). Habe jedoch nicht wirklich eine Idee 
wie ich meinen FPGA nun höfflich mitteile synchroniesere dich damit ;)

zur synchronistation wird folgendes Signal vor jeden Paket gesendet:

_-_-_-_-_-

Ich hab mir jetzt vorgestellt dieses Signal irgendwie mit meine DCM zu 
verkoppeln...hab aber grosse zweifel das so einfach geht......

Danke schonmal für die Hilfe !!!

Gruss
Kim

PS. FPGA Spartan 3E und halt ISE

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kim Nagel

>Ich will einen BUS mit meinen FPGA abhören und die Daten auswerten und
>bearbeiten, das klappt auch alles mehr oder weniger gut. Allerdings habe

Welche Bitrate? Was für ein Bus? Datenbreite?

>ich ein Problem mit der Taktsynchronisation. Ich weiss zwar das man
>Signalübergänge in der Mitte des Bitintervalls zur Taktsynchronisation
>benutzen kann (Manchester Code). Habe jedoch nicht wirklich eine Idee
>wie ich meinen FPGA nun höfflich mitteile synchroniesere dich damit ;)

>zur synchronistation wird folgendes Signal vor jeden Paket gesendet:

>_-_-_-_-_-

>Ich hab mir jetzt vorgestellt dieses Signal irgendwie mit meine DCM zu
>verkoppeln...hab aber grosse zweifel das so einfach geht......

Das kannst du quasi vergessen. DCM ist nur mit sehr sauberen Takten 
anstuerbar, so wie sie ein Quarzoszillator liefert.

In deinem Fall brauchst du wahrscheinlich eine Überabtastung. Sprich du 
musst mit einem festen Takt, welcher ca. 4..16 mal schneller ist als 
dein Datenstrom das Datensignal abtasten und verarbeiten.

MfG
Falk



Autor: Kim Nagel (kim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Welche Bitrate? Was für ein Bus? Datenbreite?

ca 12Mhz +/- 8%
Manchester Code
maximale daten 192bit

>Das kannst du quasi vergessen. DCM ist nur mit sehr sauberen Takten
>anstuerbar, so wie sie ein Quarzoszillator liefert.

Das habe ich mir fast gedacht...

>In deinem Fall brauchst du wahrscheinlich eine Überabtastung. Sprich du
>musst mit einem festen Takt, welcher ca. 4..16 mal schneller ist als
>dein Datenstrom das Datensignal abtasten und verarbeiten.

Auf sowas hätte man auch selber kommen können...
Denke werde mit 6-facher Frequnz abtasten dann sollte der Takt nicht 
weglaufen...

Danke!!

gruss
Kim

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kim Nagel

>ca 12Mhz +/- 8%

Ich nehme an du meinst 12 Mbit/s. Kein Thema für ein FPGA von heute.

>Manchester Code
>maximale daten 192bit

Ich nehme an das ist die maximale Datenpaktelänge, nicht die Busbreite 
;-)

>Denke werde mit 6-facher Frequnz abtasten dann sollte der Takt nicht
>weglaufen...

Das Weglaufen muss deine intelligente Statemachine verhindern, indem sie 
mal schneller und mal langsamer zählt. USB im Fullspeed Modus (12 
Mbit/s) arbeitet mit 4fach überabtastung und so einer Statemachine. 
Praktisch machst du damit ein Takt- Datenenrückgewinnung (neudeutsch 
CLock-Data-Recovery)

MFG
Falk

Autor: Kim Nagel (kim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Falk

> Ich nehme an du meinst 12 Mbit/s. Kein Thema für ein FPGA von heute.
> Ich nehme an das ist die maximale Datenpaktelänge, nicht die Busbreite
> ;-)

ähm wenn du so fragst ja :-)




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.