Forum: FPGA, VHDL & Co. LVDS Datenlogger mit CPLD


von Uwe (Gast)


Lesenswert?

Hallo,

ich steige gerade in die Welt der CPLDs und FPGAs ein. CPLD gefällt mir 
für den Anfang besser da es statisch ist.

Ich hab hier von einem Gerät einen seriellen LVDS Bitstrom(4x) den ich 
gern mit einem CPLD und einem Mikrocontroller erfassen würde.(Reine 
Aufnahme, wie ein Datenlogger, Takt jeweils bis zu 80 MHz).

Ist dies mit der Kombination CPLD und Mikrocontroller erfassbar oder 
müsste ich da schon auf einen FPGA umsteigen?

Gruß Uwe

von Falk B. (falk)


Lesenswert?

@ Uwe (Gast)

>ich steige gerade in die Welt der CPLDs und FPGAs ein. CPLD gefällt mir
>für den Anfang besser da es statisch ist.

Statisch?

>Ich hab hier von einem Gerät einen seriellen LVDS Bitstrom(4x) den ich
>gern mit einem CPLD und einem Mikrocontroller erfassen würde.(Reine
>Aufnahme, wie ein Datenlogger, Takt jeweils bis zu 80 MHz).

Die meisten (alle?) CPLDs haben kein LVDS. Man müsste also LVDS-TTL 
Wandler nutzen. Bei 80 MHz geht das noch.

>Ist dies mit der Kombination CPLD und Mikrocontroller erfassbar oder
>müsste ich da schon auf einen FPGA umsteigen?

Wie lan ist denn der Datenstrom? Ein CPLD kann nur ein paar Dutzend Bits 
speichern, dann ist Feierabend (bei 512 Makrozelle = 512 Bit ist Sense).
Es sei denn, man kann den Datenstrom byzteweise schnell abholen. Wird 
aber bei 80 MHz recht flott.

MFG
Falk

von Uwe (Gast)


Lesenswert?

Hallo Falk,

1. ich meinte mit statisch, dass ich nicht nach jedem mal Einschalten 
das Programm neu auf den Baustein bringen muss, was ja bei FPGAs der 
Fall ist.

2. Bei National habe ich schon LVDS Receiver gefunden, die auf LVTTL 
wandeln. Das ganze bis zu einer Datenrate von 400 MBit/s (also 200 MHz). 
Diese Schnittstelle sollte doch eigentlich (problemlos) funktionieren!?

3. Der Datenstrom wird die Anzahl der Makrozellen deutlich sprengen. Ich 
habe gerade mal so hochgerechnet, wenn ich die Daten parallel (mit 64 
Bit) von einem Mikrocontroller abhole, so müsste dieser alle 10 ns die 
Daten abholen. Bisschen arg schnell, vor allem wenn ich bedenke, dass 
ich die Daten ja auch noch irgendwo hinspeichern muss...

von Falk B. (falk)


Lesenswert?

@ Uwe (Gast)

>2. Bei National habe ich schon LVDS Receiver gefunden, die auf LVTTL
>wandeln. Das ganze bis zu einer Datenrate von 400 MBit/s (also 200 MHz).
>Diese Schnittstelle sollte doch eigentlich (problemlos) funktionieren!?

Funktionieren ja, problemlos vielleicht. Da is nix mehr mit Lochraster.

>3. Der Datenstrom wird die Anzahl der Makrozellen deutlich sprengen. Ich
>habe gerade mal so hochgerechnet, wenn ich die Daten parallel (mit 64
>Bit) von einem Mikrocontroller abhole, so müsste dieser alle 10 ns die
>Daten abholen.

???
4 Bitx80 MHz auf 64 Bit runtergemuxt macht bei mir 5 MHz. Wobei ich 
schon gern wüsste, welcher uC 64 Bit IO Busse hat.

> Bisschen arg schnell, vor allem wenn ich bedenke, dass
>ich die Daten ja auch noch irgendwo hinspeichern muss...

Nimm ein kleines FPGA. Die gibts auch mit internem 
Konfigurationsspeicher. Und selbst wenn nicht, der ist nicht gross, 
teuer und kompliziert.

MFG
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

>...nicht nach jedem mal Einschalten das Programm neu
>auf den Baustein bringen muss...
Das Problem haben die FPGA-Hersteller auch erkannt, und die bieten 
zwischenzeitlich FPGAs an, die diesen Konfigurationsspeicher intern 
haben.
Schöne Teile sind z.B. Lattice MachXO, die werden bei mir demnächst die 
Xilinx-CPLDs ersetzen.

Aber du hast doch einen uC? Dann lade doch aus dem uC heraus die 
Konfiguration in das FPGA, dann ist ein FPGA-Update nebenher mit einem 
Firmwareupdate möglich.

BTW:
Auch CPLDs werden heutzutage geladen, nur geht das so schnell, dass es 
keiner merkt. Sieh dir dazu mal die Application-Note xapp440 von Xilinx 
an.
http://www.xilinx.com/support/documentation/application_notes/xapp440.pdf

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
Noch kein Account? Hier anmelden.