Forum: FPGA, VHDL & Co. Aufgabe von FPGA in Logic Analyzer?


von Martin (Gast)


Lesenswert?

Welche Aufgabe hat ein FPGA in einem Logic Analyzer?
Am Bs. eines Saleae: Die Eingangssignale gehen auf einen AD-Wandler.
Dann sind die Signale doch schon Digital und können an den PC versendet 
werden?
Wo liegt mein Denkfehler und warum kann die Aufgabe des FPGA kein 
Mikroconroller übernehmen?

von user (Gast)


Lesenswert?

weil ein Mikrocontroller zu langsam ist

von Martin (Gast)


Lesenswert?

Zu langsam für WAS?

von KI-Besitzer (Gast)


Lesenswert?

Martin schrieb:
> Zu langsam für WAS?

Was willst Du denn machen?

von Martin (Gast)


Lesenswert?

Es geht rein um das technische Verständnis bzw für die genaue 
Aufgabenstellung des PFGA.
Die Frage: Weshalb wird in einem Logic Analyzer ein FPGA verbaut?

von Gustl B. (-gb-)


Lesenswert?

Bei einem klassischen LA ohne ADC müssen die Eingänge schnell abgetastet 
werden und in einen Zwischenspeicher geschreiben werden. Wieso 
zwischenspeicher? Nun, die Datenrate ist hoch, sehr hoch, das geht nicht 
in Echtzeit zum PC weil USB limitiert.
Also geht das so:
Auf Trigger warten, schnell abtasten und den kleinen Speicher schnell 
vollschreiben, Daten langsam zum PC schicken, auf nächsten Trigger 
warten.

Was ist so eine Datenrate? Bei 16 IOs und 100 MSamples/s sind das 200 
MByte/s. USB 2 schafft so 30 MByte/s. Viele LAs tasten noch deutlich 
schneller ab, da reicht dann auch USB 3 mit seinen 5 GBit/s nicht.

Wieso ein FPGA?
Ein normaler uC kann seine Eingänge nicht gleichzeitig alle 10 ns 
abfragen und Daten in einen Speicher schreiben. Ein uC hat eine CPU, die 
macht Dinge nacheinander. Also guckt auf die Eingänge, schreibt in den 
RAM, sendet zum PC, aber während die Daten in das RAM schreibt kann sie 
nicht auf die Eingänge gucken. Und viele uCs takten schlicht zu niedrig. 
In einem FPGA geht das alles schön gleichzeitig und hohe Datenraten sind 
da kein Problem.

von C. A. Rotwang (Gast)


Lesenswert?

Gustl B. schrieb:
> Wieso ein FPGA?
> Ein normaler uC kann seine Eingänge nicht gleichzeitig alle 10 ns
> abfragen und Daten in einen Speicher schreiben.

Hinzukommt, das ein FPGA weitaus mehr GPIo hat als ein µC die zu dem 
alle unabhängig voneinander arbeiten (also nicht erst PortA mit 8 bit 
dann PortB mit 8 Bit, etc. alle alle hindert bit auf einmal). Ferner 
kann auch jeder GPIo als Tigger benutzt werden und nicht nur das µC-Pin 
das als externe IRQ-Quelle vorgesehen ist.

von Gomolke (Gast)


Lesenswert?

Martin schrieb:
> Welche Aufgabe hat ein FPGA in einem Logic Analyzer?

Freitag war gestern

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


Lesenswert?

Gustl B. schrieb:
> Ein normaler uC kann seine Eingänge nicht gleichzeitig alle 10 ns
> abfragen und Daten in einen Speicher schreiben.
Und nebenher noch die Triggerbedingung abfragen, die ja schon mal 
ziemlich komplex werden kann (wenn steigende Flanke von X und 
gleichzeitig D[15..0] =0xABCD und zudem A[31..0] = 0x12345678 und zuvor 
dieses und jenes und nachher noch das).
Oder wenn zum Debuggen taktsynchron ein Bus eingelesen werden soll. Dann 
muss das Protokoll nicht zeitgesteuert, sondern abhängig vom Buszyklus 
eingelesen werden.

Gustl B. schrieb:
> Was ist so eine Datenrate? Bei 16 IOs und 100 MSamples/s
Ein halbwegs anständiger LA hat dann aber gleich mindestens vier mal so 
viele Eingänge. Und zudem steht da statt 100MHz schon mal 1GHz. Da ist 
nichts mit gleichzeitig lesen und übertragen:
http://microcontrollershop.com/product_info.php?products_id=3772
Da muss zwischengespeichert werden. Und dann sind wir immer noch weit 
weg von "High-End", wo dann aber ASICs das Rennen machen:
https://www.tek.com/logic-analyzer/tla6400
Oder gar "Highest-End", wo dann schon die Messkabel in spannende 
Preisregionen kommen:
https://www.tek.com/logic-probe

: Bearbeitet durch Moderator
von Marc (Gast)


Lesenswert?

>Am Bs. eines Saleae:

Wobei die billigen Salea-Clones für 12€ mit einer Samplingrate bis 24Mhz 
durchaus einen MC und kein FPGA haben.

von C. A. Rotwang (Gast)


Lesenswert?

Marc schrieb:
>>Am Bs. eines Saleae:
>
> Wobei die billigen Salea-Clones für 12€ mit einer Samplingrate bis 24Mhz
> durchaus einen MC und kein FPGA haben.

Welche Samplingbreite ?
Welche Samplingtiefe ?

Ein ATMega an 24 MHz cloxk kann auch 24 MS/s aber halt nur 8 bit breit 
und 1 Sample tief.

von MaierMüllerSchulz (Gast)


Lesenswert?

Wobei ein billiger Salea-Clone für 12€ auch nur einen 8-Bit Port 
einliest. AD-Wandler werkeln da keine.

Martin schrieb:
> Am Bs. eines Saleae: Die Eingangssignale gehen auf einen AD-Wandler.

von chris (Gast)


Lesenswert?


von Mike (Gast)


Lesenswert?

Der der 8051 im Cypress FX2 des Saleae kommt jetzt nicht wirklich mit 
den Daten in Berührung.

Im Prinzip konfiguriert er nur etwas interne Hardware (GPIF+FIFO) und 
lehnt sich dann zurück während die Daten an ihm vorbei in Richtung USB 
rauschen. Die eigentliche Verarbeitung der Daten findet dann auf dem PC 
statt.

Ein FPGA hat da noch ein paar mehr Möglichkeiten, etwa Triggerlogik oder 
eine Kompression der Daten.

https://blackmesalabs.wordpress.com/2016/10/24/sump2-96-msps-logic-analyzer-for-22/

von Hans-Georg L. (h-g-l)


Lesenswert?

Der Cypress Chip auf den Salea Boards hat zwar einen MC aber auch 
Zusatzhardware welche die Daten direkt in die ebenfalls eingebauten 
Fifos schaufelt und über USB überträgt. Der eingebaute 8051 könnte das 
nicht mit dieser Geschwindigkeit. Mit dem Original Cypress 
EntwicklungsBoard sind auch 16 Bit mit 12Mhz möglich. Salea hat aber den 
Chip mit weniger Pins verwendet und da gehen nur 8 Bit.

Für direkte Übertragung ohne Zwischenspeicher, wie Salea es macht, will 
USB2.0  alle 125us (microslot) einen gefüllten Buffer zu Übetragung 
haben und da ist die Geschwindigkeit der Eingänge nicht das einzige 
Problem

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.