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
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.
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.
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. ;-)
Zugegeben, ich hatte die gigantische Menge an zu versendenden Daten nicht so recht bedacht ... :-)
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
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.