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
@ 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
>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
@ 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
@ 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 :-)
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.