Forum: Mikrocontroller und Digitale Elektronik Sehr, sehr schnelle µC


von Lebrecht W. (steppenwolf)


Lesenswert?

Hallo liebe Mikrocontroller,


das ist nun mein erster Beitrag hier im Forum, daher kurz zu meiner 
Person:
Ich bin Physikstudent und arbeite in einer Arbeitsgruppe, die Forschung 
im Bereich THz-Physik/Elektronik betreibt. Habe vor kurzem meinen 
Bachelor mit einer Arbeit zu einem schnellen DDS mit bis zu 3GHz Taktung 
abgeschlossen.

Zur Zeit wirke ich an einem Projekt mit für das es erforderlich ist, 
einen relativ kurzen (4kBit) dafür aber schnellen Datenstrom zu erzeugen 
(1 GBit/s)!

Es geht zunächst um den Entwurf eines Konzeptes und 
Realisierbarkeitsüberprüfung..

Mein Ansatz dazu ist, (da es eher unwahrscheinlich Speicher gibt, die 
mit 1Gbps Daten seriell raushauen können, oder?), zunächst Parallel zu 
speichern entsprechend langsamer auszulesen und dann schnell 
Parallel-Seriell zu wandeln. Entsprechend schnelle Wandler sind 
erhältlich.
Es muss also nun eine Möglichkeit her, Daten mit etwa 100MHz aus einem 
Speicher PARALLEL auszulesen, was aus meiner Sicht sehr ambitioniert 
ist. Wir wollen einfach nur jeden Speicherplatz hintereinander 
abklappern, müssen also nicht zufällig auf bestimmte Speicherplätze 
zugreifen..
Irgendwie muss das ja gehen, denn Datenübertragung mit 1Gbps sind ja 
machbar.

DIES WIRFT FOLGENDE FRAGEN AUF:

1. Gibt es überhaupt nichtflüchtige Speicher zu Kaufen, am besten 
EEPROM, aus denen man Daten so schnell parallel ausgeben kann? je 
breiter, desto besser 16Bit bevorzugt.

2. Würde man einfach einen Binären Counter als Adressgenerator 
verwenden?
Entsprechend Schnelle 8Bit Counter bis sogar 1,4GHz Taktung sind 
erhältlich.

3. Kann man das auch mit einem >100MHz Taktung µC realisieren, der einen 
internen EEPROM hat, dann wäre die Adressierung einfacher zu realisieren 
als unter 1.&2...Allerdings bedeutet das wahrscheinlich (wenn nun der µC 
mit beispielsweise 100Mhz taktbar und auch der interne Speicher so 
schnell ist) nicht, dass man Daten auch in dem Takt ausgeben kann..die 
Adressierung des Speichers wird wahrscheinlich mehr als einen Taktzyklus 
in Anspruch nehmen..
Ich denke, dass es durchaus ein Problem ist, mit dem viele zu kämpfen 
habe, die einen schnellen seriellen Datenstrom erzeugen wollen, gibt es 
da bessere Konzepte?
Ich habe bei diversen Herstellern bereits angefragt. MICROCHIP bietet 
beispielsweise µC an, die in Größenordnung >50Mhz taktbar sind, und in 
der Größenordnung 10-40Mbps aus dem internen EEPROM auslesen können, wie 
ich erfahren habe. Bei Farnell sind auch sogar bis 400MHz sogar bis weit 
in den GHz bereich taktbare µC zu kaufen, die allerdings für uns leider 
nicht geeignet sind, da z.B. keine parallelen Datenausgänge..Das lässt 
mich doch hoffen, dass die Größenordnung 100MHz nicht völlig 
unrealistisch ist. Kennt jemand Hersteller, die besonders schnelle µC 
mit besonders schnellen  Speichern und PARALLELER Ausgabe herstellen? 
Bei TexasInstruments und Atmel habe ich bereits angefragt, deren Antwort 
dauert wohl noch etwas..

vielen Dank schon im Vorraus!




Mfg

Steppenwolf

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Diese Aufgabenstellung ist ein typisches Anwendungsgebiet von FPGAs. 
Schon mit recht einfachen aktuellen Typen (Spartan 6 o.ä.) kann man 
locker Taktraten in der geforderten Größenordnung erreichen. Auch die 
Ansteuerung eines externen RAMs inklusive der Parallel-Seriell-Wandlung 
usw. ist leicht möglich.

Bei nur 4kBit bietet sich aber eher an, einen FPGA-internen 
Speicherbereich (sog. BRAM = Block RAM) zu verwenden. Die meisten FPGAs 
werden beim Systemstart mit einem externen seriellen Flash geladen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lebrecht W. schrieb:
> die allerdings für uns leider
> nicht geeignet sind, da z.B. keine parallelen Datenausgänge.

Was soll das für ein µC sein, der keine "parallelen Datenausgänge" 
aufweist?

Alternativvorschlag:

Nimm ein FPGA und schließe an das mehrere schnelle Flash-ROMs o.ä. an, 
z.b. 8 Stück parallel.
Damit kannst Du, wenn diese beispielsweise 8 Bit breit organisiert sind, 
auf einen Schlag 64 Bit einlesen. Sollen die Daten beispielsweise mit 
100 MHz Takt 8 Bit breit ausgegeben werden, so genügt folglich eine 
Zykluszeit von 80 nsec für die Flash-ROMs, was durchaus schon in den 
leicht realisierbaren Bereich fällt.

Für eine serielle Übertragung könntest Du Dir mal TMDS- oder 
LVDS-Transmitter ansehen, die enthalten ein 
Parallel-zu-Seriell-Schieberegister und können Daten mit ganz 
erheblichen Datenraten transportieren.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Rufus Τ. Firefly schrieb:
> Nimm ein FPGA und schließe an das mehrere schnelle Flash-ROMs o.ä. an,
> z.b. 8 Stück parallel.

Ähem, es wird schon ziemlich schwierig, solch kleine Flash-ROMs zu 
finden, d.h. mit 512 Bit. Da könnte es sogar noch etwas passendes aus 
der 82Sxx-Familie geben, d.h. Fusible-Link-PROMs. ;-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Zugegeben, ich hatte die gigantische Menge an zu versendenden Daten 
nicht so recht bedacht ... :-)

von DerDan (Gast)


Lesenswert?

ich votiere auch für eine FPGA Lösung.

Mit der speziellen Programmierung kannst du sehr hohe Rechen und / oder 
Transferleistung erreichen, welche du niemals mit einer CPU schaffst.

mfg

derDan

von Floh (Gast)


Lesenswert?

Z.B. ein Spartan6, der ja schon genannt wurde.
Hat genug Speicher intern als BRAM und bereits parallel-seriell-Wandler 
integriert, um z.B. eine PCI-Express-Schnittstelle zu implementieren.
Dieses Interface lässt sich sicherlich an die eigenen Wünsche anpassen.

von Na Sowas (Gast)


Lesenswert?

Die neuen Altera Arria GX haben 6.25GBit Links, das waeren dann 3.1GHz 
auf den LVDS. Was eigenes selbst zusammenkloppen zu wollen ist weniger 
wahrscheinlich erfolgreich

von Mikel M. (mikelm)


Lesenswert?

evt schau dir mal den Propeller an. Der hat 8 Cogs (Core) läuft mit 
80MHz ist auch noch etwas übertaktbar. Könnte interessant für Dich sein 
mal nen Blick draufgeworfen zu haben.

von Enn V. (envii)


Lesenswert?

Bist an der Uni Marburg/THM?

von Jobst M. (jobstens-de)


Lesenswert?

Mikel M. schrieb:
> Der hat 8 Cogs (Core) läuft mit 80MHz

Und macht damit 20MIPS pro COG - Gesamt also 160MIPS (Vorausgesetzt, Du 
kannst es sinnvoll nutzen) - Da gibt es wesentlich schnellere ARMe ...


Gruß

Jobst

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.