Forum: FPGA, VHDL & Co. Konzeptsuche für Ansteuerung eines schnellen DAC


von Reto B. (schnuber)


Lesenswert?

Hallo Zusammen

Ich habe eine für meine Begriffe recht anspruchsvolle Aufgabe zu 
bewältigen, und ich habe das Gefühl, dass eine FPGA Lösung das Richtige 
sein könnte.
Da ich aber ein totaler Neuling auf diesem Gebiet bin, und auch sonst 
noch nicht so erfahren bin, dachte ich, Ihr könnt mir ein bisschen 
helfen dass richtige Konzept zu finden, bevor ich tagelang im 
Elektronik-jungel herumwüte.

Also, ich möchte aus einem Festspeicher (z.B. Flash) Daten auf einen DAC 
schicken (12 oder 14bit Breite). Das analoge Signal welches der DAC 
generieren muss hat eine Bandbreite von ca. 30MHz. Dass heisst, dass 
gem. Nyquist der DAC mit mindestens 60MHz getaktet werden muss, besser 
wäre aber etwa 300MHz damit die Alias Frequenzen besser gefiltert werden 
können (Bei Analog Devices bekommt man DAC's mit 1,2Gsamples). Somit 
müssten auch die Daten vom Flash speicher mit 300MHz ausgelesen werden 
(ohne jeglichen Unterbruch) was soweit ich weiss nicht möglich ist.
Oder wie sieht das aus, wenn ich mehrere Flash speicher parallel auslese 
und dann mit einem parallel-seriell konverter auf den DAC gebe? Oder 
wenn die Daten vom Flash zuerst in ein RAM geladen werden? Allerdings 
möchte ich sehr grosse Datenblöcke (ca. 1GB oder mehr) Unterbruchsfrei 
auf den DAC geben.

Das ganze sollte mit einem PC verbunden werden können, zwecks download 
der Daten in das Flash und Konfiguration. Also wäre es wahrscheinlich 
sinnvoll   ein embedded Linux oder so auf dem FPGA zu haben oder sehe 
ich das falsch?

Nun was haltet Ihr von meinen Überlegungen? Könnt Ihr mir Vorschläge 
machen mit wechem Konzept, evt. mit welchen Produkten ich diese Aufgabe 
bewältigen könnte. An was habe ich noch nicht gedacht?

Für alle die sich die Mühe machen mir zu helfen sage ich schon mal 
besten Dank

Gruss
schnuber

von Der Experte (Gast)


Lesenswert?

FPGA mit Interface zu dem DAC, der sicher einen parallelen Anschluss 
hat, da seriell zu langsm waere. 300 MHz sind möglich, wenn man gut VHDL 
bauen kann oder der DAC ein DDR-Interface hat: Dann geht es mit 2x150.

150MHz - 200MHz sind in einem FPGA generell gut zu erreichen, braucht 
man aber vermutlich nicht, weil der DAC oversamling betreiben dürfte. 
Ich würde mal Faktor 4 veranschlagen = 120 MHz. Das passt meistens.

Flashspeicher parallel bringt entsprechende Wortbreite und damit 
Datendurchsatz. 8 Flashes parallel bringen 128 Bit. Das auf einen 
asynchronen FIFO, der Taktsynchron arbeiten kann und von 128 auf 16 
übersetzt. Die Eingangstaktrate ist entsprechend 1/8, was auch für 
snail-Flashes reichen dürfte.

FIFOs kann man im FPGA mit den Tools meistens direkt einsetzen, ohne sie 
erst bauen zu müssen.

Sende mir bitte Deine Adresse, damit ich Dir die Rechnung für diese 
Beratung zukommen lassen kann.

von Falk B. (falk)


Lesenswert?

@ Reto B. (schnuber)


>Da ich aber ein totaler Neuling auf diesem Gebiet bin, und auch sonst
>noch nicht so erfahren bin, dachte ich, Ihr könnt mir ein bisschen

Hmm.

Ich fasse mal zusammen

12-14 Bit DAC @ 300MHz++
Daten kontinuierlich mit ~600MB/s aus einem Speicher lesen
Embedded Linux

>Nun was haltet Ihr von meinen Überlegungen?

Du lehnst dich weit aus dem Fenster. Das ist eine Aufgabe für jemanden 
mit ORDENTLICH Erfahrung.

> Könnt Ihr mir Vorschläge

Fang mal drei Nummern kleiner an. Nimm dir ein FPGA-Evalboard deiner 
Wahl mit Speicher drauf.
Stell eine Verbindung per USB/RS232 zum PC her.
Lade die Daten vom PC in den RAM
Gib die Daten mit 3x4..8 Bit auf einen VGA-Monitor aus.

Wenn du DAS im Griff hast kannst du über diese Aufgabe nachdenken. Keine 
Sekunde früher.


@Der Experte (Gast)

>FPGA mit Interface zu dem DAC, der sicher einen parallelen Anschluss
>hat, da seriell zu langsm waere.

Der Herr Experte scheinen die letzten Jahre geschlafen zu haben. Heute 
sind serielle Hochgeschwindigkeitsverbindungen das Mittel der Wahl. 
3GBit/s++

> 300 MHz sind möglich, wenn man gut VHDL
>bauen kann oder der DAC ein DDR-Interface hat: Dann geht es mit 2x150.

>Flashspeicher parallel bringt entsprechende Wortbreite und damit
>Datendurchsatz. 8 Flashes parallel bringen 128 Bit. Das auf einen

Sowas macht man nicht mit Flash, viel zu langsam. Man nehme einen RAM, 
16 oder 32 Bit breit, und kopiere vorher die Daten vom Flash in den RAM.

>Sende mir bitte Deine Adresse, damit ich Dir die Rechnung für diese
>Beratung zukommen lassen kann.

Du musst noch Geld zurückzahlen, wegen Irreführung.

MFG
Falk

: Bearbeitet durch Admin
von Rolf R. (ultra-low)


Lesenswert?

ich als fpga einsteiger kann nur folgendes raten da ich vor kurzem 
ähnliches entwickeln musste.
besorg dir dies:
- fpga 
http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_50&products_id=461 
und 
http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_50&products_id=47
das kannst du io gut abgreifen was bei meisten evalboard schlecht geht.
- dac dac902
- ddr ram (nach deiner wahl)

auf dem steckboard!!! konnte ich bis ca 160msps ereichen. wie du die 
daten in ram lädst ist ganz allein dir überlassen ob von pc oder µc. 
aber 1gb hochzuladen dauert ein ganz schönes weilchen.
vhdl lernt man in ein zwei tagen(das was du brauchst). die meiste zeit 
wird bei dir drauf gehen dich in ise und fpga einzuarbeiten. da gibt es 
ganz viele fiese falltürchen...

von Reto B. (schnuber)


Lesenswert?

Der Experte wrote:

> Flashspeicher parallel bringt entsprechende Wortbreite und damit
> Datendurchsatz. 8 Flashes parallel bringen 128 Bit. Das auf einen
> asynchronen FIFO, der Taktsynchron arbeiten kann und von 128 auf 16
> übersetzt. Die Eingangstaktrate ist entsprechend 1/8, was auch für
> snail-Flashes reichen dürfte.

Danke, genau sowas wollte ich hören.
Das würde dann also heissen, dass ich gemäss deinem Beispiel den Flash 
mit 15MHz takten kann? Ist sowas gängige Praxis?

@Falk:

> Du lehnst dich weit aus dem Fenster. Das ist eine Aufgabe für jemanden
> mit ORDENTLICH Erfahrung.

Nun sei doch nicht immer so pessimistisch. Ich denke, wenn man von 
Anfang an mit dem richtigen Konzept, Komponenten und Tools anfängt, kann 
man auch schwierige Aufgaben lösen.

> Sowas macht man nicht mit Flash, viel zu langsam. Man nehme einen RAM,
> 16 oder 32 Bit breit, und kopiere vorher die Daten vom Flash in den RAM.

Redest du von DDR SDRAM?

@Rolf
Danke für den Tipp. Ich dachte zwar eher an ein Virtex4 FX System mit 
embedded Linux darauf, aber ich werde dein Vorschlag noch genauer 
anschauen.

Weitere Bemerkungen erwünscht...

von Falk B. (falk)


Lesenswert?

@Reto B. (schnuber)


>> Flashspeicher parallel bringt entsprechende Wortbreite und damit
>> Datendurchsatz. 8 Flashes parallel bringen 128 Bit. Das auf einen
>> asynchronen FIFO, der Taktsynchron arbeiten kann und von 128 auf 16
>> übersetzt. Die Eingangstaktrate ist entsprechend 1/8, was auch für
>> snail-Flashes reichen dürfte.

>Danke, genau sowas wollte ich hören.
>Das würde dann also heissen, dass ich gemäss deinem Beispiel den Flash
>mit 15MHz takten kann?

Mehr oder weniger.

> Ist sowas gängige Praxis?

Dito.

>Nun sei doch nicht immer so pessimistisch.

Bin ich nicht. Ich bin realistisch.

> Ich denke, wenn man von Anfang an mit dem richtigen Konzept,
> Komponenten und Tools anfängt, kann man auch schwierige Aufgaben lösen.

Klar, und Wissen und Erfahrung sind nur schmückendes Beiwerk. ;-)
So "denken" auch Manager. Man braucht nur viel Geld, teure Tools und los 
gehts, die Ings. sind nur notwendiges Übel.
"Denk" mal weiter so.

>Redest du von DDR SDRAM?

Ja.

>Danke für den Tipp. Ich dachte zwar eher an ein Virtex4 FX System mit
>embedded Linux darauf,

Wozu Embeded Linux? Totoaler Overkill. Für ein paar Daten per USB oder 
SD-Karte transferieren braucht es nicht mal nen Prozessor, ne State 
Machine kann das auch. Bestenfalls einen Kleine Softcore, meinetwegen 
auch PPC. Aber Linux? Nee.

MFg
Falk

: Bearbeitet durch Admin
von Reto B. (schnuber)


Lesenswert?

Falk Brunner wrote:

> So "denken" auch Manager. Man braucht nur viel Geld, teure Tools und los
> gehts, die Ings. sind nur notwendiges Übel.
> "Denk" mal weiter so

Nur so zur Info: Ich bin ein Ing. und kein Manager. Also hab ich kein 
Interesse mir selber Steine in den weg zu legen. Aber ich habe nun mal 
eine Aufgabe zu lösen und nicht ewig Zeit dafür.

>>Redest du von DDR SDRAM?
>
> Ja.

Stimmt das wäre auch eine Möglichkeit.
Danke für den Tipp.

>
> Wozu Embeded Linux? Totoaler Overkill. Für ein paar Daten per USB oder
> SD-Karte transferieren braucht es nicht mal nen Prozessor, ne State
> Machine kann das auch. Bestenfalls einen Kleine Softcore, meinetwegen
> auch PPC. Aber Linux? Nee.

Auch hier Danke für den Tipp. Genau aus diesem Grund bin ich ja mit 
meiner Frage in das Forum gekommen.
Der Grund warum ich auf embedded Linux gekommen bin ist der, dass ich es 
praktisch fände, auf meinem Synthesizer ein Filesystem zu haben, wobei 
ich im Moment noch zu wenig durchblicke um zu beurteilen ob das wirklich 
nötig ist. Darüber hinaus dachte ich mit einem linux drauf ist es 
einfacher mit dem PC zu kommunizieren.

gruss
reto

von Falk B. (falk)


Lesenswert?

@ Reto B. (schnuber)

>Nur so zur Info: Ich bin ein Ing. und kein Manager.

Gut, dann mal ganz konkret.
Was hast du bisher auf dem Gebiet FPGAs/digitale ICs/Speicher/ADCs 
gemacht?
In welchen Regionen hast du dich bewegt (Bandreite; Frequenzbereich)?

>Interesse mir selber Steine in den weg zu legen. Aber ich habe nun mal
>eine Aufgabe zu lösen und nicht ewig Zeit dafür.

Wer hat die schon. Aber mir scheint es, dass du die Aufgabe immer noch 
ein wenig unterschätzt.

>Der Grund warum ich auf embedded Linux gekommen bin ist der, dass ich es
>praktisch fände, auf meinem Synthesizer ein Filesystem zu haben,

Für FAT braucht man kein Linux, das geht auch Stand Alone.

>nötig ist. Darüber hinaus dachte ich mit einem linux drauf ist es
>einfacher mit dem PC zu kommunizieren.

Nicht wirklich. Auch TCP-IP geht ohne Linux-Overhead. So man denn TCP-IP 
braucht.

MFG
Falk

: Bearbeitet durch Admin
von Reto B. (schnuber)


Lesenswert?

> Gut, dann mal ganz konkret.
> Was hast du bisher auf dem Gebiet FPGAs/digitale ICs/Speicher/ADCs
> gemacht?

Ähm... nichts. Habe vor 1.5 Jahren das Studium abgeschlossen und mich 
seither mit dem Design von Patchantennen (2.5GHz) und dazugehöriger 
analoger HF Schaltung befasst, vor dem Studium war ich Elektromonteur.

>>Der Grund warum ich auf embedded Linux gekommen bin ist der, dass ich es
>>praktisch fände, auf meinem Synthesizer ein Filesystem zu haben,
>
> Für FAT braucht man kein Linux, das geht auch Stand Alone.
>
>>nötig ist. Darüber hinaus dachte ich mit einem linux drauf ist es
>>einfacher mit dem PC zu kommunizieren.
>
> Nicht wirklich. Auch TCP-IP geht ohne Linux-Overhead. So man denn TCP-IP
> braucht.

Gut, dann würdest du mir eine Xilinx Spartanlösung empfehlen?

gruss

von Rolf R. (ultra-low)


Lesenswert?

mach so wie ich es in meinem ersten posting geschrieben habe. denn: 
billig, schenll, einfach...

µC+flash oder pc ->ddr -> spartan3 -> dac

von Reto B. (schnuber)


Lesenswert?

gut ich werde mir das mal genauer anschauen

Gruss

von FPGA-Designer (Gast)


Lesenswert?

Du brauchts nicht unbedingt ein RAM. Du müsstest eh den Flashspeicher 
rüberkopieren und da dauert. Wenn, dann umgehe das Flöash und lade das 
RAm direkt oder willst Du unbedingt einen Stick reinstecken?

Du brauchst jedenfalls keinen DDR-Speicher, ist nur aufwändig zu 
programmieren. Nimm ein normales SRAM mit 15ns und schalte einige 
parallel. Ein RAM bringt so locker 16Bit mit 50MHz.

von Falk B. (falk)


Lesenswert?

@Reto B. (schnuber)

>> Was hast du bisher auf dem Gebiet FPGAs/digitale ICs/Speicher/ADCs
>> gemacht?

>Ähm... nichts.

Warum habe ich das geahnt? ;-)

> Habe vor 1.5 Jahren das Studium abgeschlossen und mich
>seither mit dem Design von Patchantennen (2.5GHz) und dazugehöriger
>analoger HF Schaltung befasst, vor dem Studium war ich Elektromonteur.

Und nun meist du, mal so aus dem Stand so ein Design hinzulegen?!?
Naja, ich lass mich gern vom Gegenteil überzeugen, aber ich behaupte 
mal, du wirst VIEL Schweiss vergiessen und es wird LANGE dauern. ;-)
Ob es dann solide läuft, naja, schau mer mal.

>Gut, dann würdest du mir eine Xilinx Spartanlösung empfehlen?

Für das Kaliber geht Spartan3 noch. Die diversen Altera FPGAs Cyclone II 
etc. gehen sicher auch.

>Autor: Rolf Riller (ultra-low)

>mach so wie ich es in meinem ersten posting geschrieben habe. denn:
>billig, schenll, einfach...

jaja . . .

>µC+flash

Das will ich sehen, wie ein uC 600MB/s Daten ausspuckt. Kontinuierlich.

@ FPGA-Designer (Gast)

>Du brauchts nicht unbedingt ein RAM. Du müsstest eh den Flashspeicher
>rüberkopieren und da dauert.

Wie lange? Ein paar Sekunden?

>Du brauchst jedenfalls keinen DDR-Speicher, ist nur aufwändig zu
>programmieren.

Stimmt, das ist Müll. Nur die Deppen die PCs bauen nehmen sowas.

> Nimm ein normales SRAM mit 15ns und schalte einige
> parallel. Ein RAM bringt so locker 16Bit mit 50MHz.

Wieder mal nur Koryphäen heute im Forum unterwegs.
Die können sogar SDRAM mit sagenhaften 50 MHz ansteuern.  ;-)
Und rechnen können die.

Kleiner Tip. 50 MHz/16Bit braucht bei der Zieldatenrate von 
300MHz/14(16) Bit nur grade mal 6 Stück parallel, macht 6x16=96 Bit 
Datenbus. Machbar, aber nicht sinnvoll.
Ein EINZIGER DDR-RAM mit etwas mehr als 150 MHz schafft das spielend, 
mit 16 Bit Datenbus.

MFg
Falk

: Bearbeitet durch Admin
von FPGA-Designer (Gast)


Lesenswert?

Falk, Du muss Dich entscheiden: Unterstellst Du ihm genug Kenntnisse und 
Einarbeitungsfähigkeit, oder nicht? Wenn NEIN, dann lies meinen 
Vorschlag mit dem Ram nochmal aufmerksam durch!

Im Übrigen sehe ich auch nicht, warum man einen 30MHz DAC mit 300MHz 
ansteuern muss. 60 reichen fürs RAM und für den DAC. Passt!

von Falk B. (falk)


Lesenswert?

@ FPGA-Designer (Gast)

>Falk, Du muss Dich entscheiden: Unterstellst Du ihm genug Kenntnisse und
>Einarbeitungsfähigkeit, oder nicht?

Nicht wenn es "mal schnell" gehen soll.

> Wenn NEIN, dann lies meinen Vorschlag mit dem Ram nochmal aufmerksam durch!

Und?

>Im Übrigen sehe ich auch nicht, warum man einen 30MHz DAC mit 300MHz
>ansteuern muss. 60 reichen fürs RAM und für den DAC. Passt!

Das "passt" es nur dann, wenn man seine EFFEKTIVE obere Grenzfrequenz 
ein gutes Stück UNTER 30 MHz setzt.
Wenn er WIRKLICH bei 30 MHz noch bissel was machen will, braucht er die 
300 MHz. Kein Filter der Welt macht 1000dB/Dekade.

MFG
Falk

von Wolfgang Mües (Gast)


Lesenswert?

Ich würde mal untersuchen, inwieweit ich am Eingang (Flash) mit 60Ms/sec 
hinkomme, wenn ich intern im FPGA interpoliere. Dann hast Du im Eingang 
nur die notwendige Bandbreite.

von Christian R. (supachris)


Lesenswert?

Warum um alles in der Welt muss denn da ein Flash rein? Bei den 
geforderten Geschwindigkeiten ist das doch absurd. Wofür gibts RAM? Das 
ist nebenbei auch noch viel einfacher anzusteuern und viel billiger. 
Gerade DDR-SDRAM bekommt man ja fast geschenkt. Extrem schneller Flash, 
der da noch nicht mal ansatzweise rankommt, kostet weitaus mehr.

von Falk B. (falk)


Lesenswert?

@ Christian R. (supachris)

>Warum um alles in der Welt muss denn da ein Flash rein? Bei den

Wenn es ein unabhängiges Gerät sein soll, braucht man das, aber normalen 
Flash würde ich nicht unbedingt nehmen. Eher USB-Stick oder SD-Card, den 
wie gesagt in den RAM laden.

>Gerade DDR-SDRAM bekommt man ja fast geschenkt. Extrem schneller Flash,
>der da noch nicht mal ansatzweise rankommt, kostet weitaus mehr.

Meine Rede.

MFG
Falk

von Christian R. (supachris)


Lesenswert?

Auf uns hört doch eh keiner hier. Könnte man ja dann einfach mit 
CF-Karte ohne File-System machen, da reicht simple Logik. In den RAM 
packen und dann "abspielen". Passt sicher locker in einem Spartan 3, 
obwohl ich glaub, dass der 300MHz nicht schaffen wird, die I/Os sind 
nicht so hyper-schnell wie z.B. beim Virtex-4.

von Reto B. (schnuber)


Lesenswert?

Ok. ich fasse mal zusammen seit meinem letzten Beitrag

@FPGA-Designer wrote:
> Du brauchts nicht unbedingt ein RAM. Du müsstest eh den Flashspeicher
> rüberkopieren und da dauert.

Ja das hatten wir schon im zweiten Beitrag von diesem Thread. Wäre eine 
Möglichkeit

> Du brauchst jedenfalls keinen DDR-Speicher, ist nur aufwändig zu
> programmieren. Nimm ein normales SRAM mit 15ns und schalte einige
> parallel. Ein RAM bringt so locker 16Bit mit 50MHz.

Ich will Datenblöcke in der Grösse von 1GB unterbruchsfrei auf den DAC 
geben... da kommt SRAM wohl nicht in Frage.

@Falk
>Und nun meist du, mal so aus dem Stand so ein Design hinzulegen?!?
>Naja, ich lass mich gern vom Gegenteil überzeugen, aber ich behaupte
>mal, du wirst VIEL Schweiss vergiessen und es wird LANGE dauern. ;-)
>Ob es dann solide läuft, naja, schau mer mal.

ok jetzt mal zu der Diskussion was meine Fähigkeiten betriff:
Ich habe natürlich nicht vor, die ganze Hardware einfach so aus dem 
Boden zu stampfen, sondern ich kaufe mir für SFr. 260.- ein komplettes 
Spartan3E Evalkit.

http://www.xilinx.com/support/documentation/boards_and_kits/ug230.pdf

Da ist alles drauf: Schnittstellen aller Art, DDR SDRAM, DAC's usw.
Darauf Entwickle ich meine Applikation. Erst wenn es läuft ersetze ich 
schrittweise die Komponenten (z.B. DAC) nach meinen Bedürfnissen. Erst 
ganz am Schluss mach ich mein eigenes Hardware-design auf meine 
Applikation zugeschnitten. Und da kann ich ja auch beim Evalkit 
abgucken.


@ FPGA-Designer
>Im Übrigen sehe ich auch nicht, warum man einen 30MHz DAC mit 300MHz
>ansteuern muss. 60 reichen fürs RAM und für den DAC. Passt!

Der DAC soll an seinem analogen Ausgang Signale mit einer Frequenz bis 
30MHz korrekt darstellen. Dazu muss er mit mindestens 60MHz getaktet 
werden. Allerdings tritt das Signal im Frequenzbereich betrachtet bei 
all seinen Alias-Frequenzen wieder auf. Das heisst je höher die Taktrate 
des DAC's gewählt wird, desto besser können diese herausgefiltert 
werden. Kann gut sein das 300MHz ein bisschen übertrieben ist, aber 
schaden würde es sicher nicht.

@ Wolfgang Mües
>Ich würde mal untersuchen, inwieweit ich am Eingang (Flash) mit 60Ms/sec
>hinkomme, wenn ich intern im FPGA interpoliere. Dann hast Du im Eingang
>nur die notwendige Bandbreite.

Ich verstehe nicht was du meinst, könntest du das bitte mal für einen 
Anfänger wie mich ausformulieren.

@ Christian R.
>Warum um alles in der Welt muss denn da ein Flash rein? Bei den
>geforderten Geschwindigkeiten ist das doch absurd. Wofür gibts RAM?

Weil mein Synthesizer ein Standalone Greät werden soll. Es wird mit dem 
PC verbunden für die Daten herunterzuladen und für die Konfiguration.

@Falk
>Wenn es ein unabhängiges Gerät sein soll, braucht man das, aber normalen
>Flash würde ich nicht unbedingt nehmen. Eher USB-Stick oder SD-Card, den
>wie gesagt in den RAM laden.

Also wenn ich das richtig verstehe, würdest du statt, ein eingelötetes 
RAM, eine externe SD oder CF-Karte bzw. ein Memorystick als Datenträger 
verwenden? Nun warum eigentlich nicht, aber worin liegt der Vorteil?

@Christian R.
>Auf uns hört doch eh keiner hier.

Wie kommst du denn darauf? Wenn ich nicht auf dich hören würde, hätte 
ich mir doch nicht die Mühe machen müssen einen Beitrag in dieses Forum 
zu setzen.
Ich bin für jeden hilfreichen Beitrag dankbar.

>Passt sicher locker in einem Spartan 3,
>obwohl ich glaub, dass der 300MHz nicht schaffen wird, die I/Os sind
>nicht so hyper-schnell wie z.B. beim Virtex-4.

Dann würdest du mir also ein Virtex-4 System empfehlen? Mir ist es eben 
wichtig, dass ich von Anfang an mit dem richtigen System arbeite, damit 
ich nicht in eine Sackgasse gerate. Ich werde mir also mal Virtex-4 und 
Spartan3 Evalkits genauer anschauen.

Vielen Dank soweit

von Falk B. (falk)


Lesenswert?

@ Reto B. (schnuber)

>Ich will Datenblöcke in der Grösse von 1GB unterbruchsfrei

Wo hast du denn das Wort "unterbruchsfrei" her?

> auf den DAC geben... da kommt SRAM wohl nicht in Frage.

Stimmt, da braucht man (DDR) SDRAM.

>Boden zu stampfen, sondern ich kaufe mir für SFr. 260.- ein komplettes
>Spartan3E Evalkit.

Und damit ist alles gelöst. ;-)

>Da ist alles drauf: Schnittstellen aller Art, DDR SDRAM, DAC's usw.

Aber kein 1GB SDRAM und auch kein 300 MHz DAC.

>Darauf Entwickle ich meine Applikation. Erst wenn es läuft ersetze ich
>schrittweise die Komponenten (z.B. DAC) nach meinen Bedürfnissen. Erst

Bei 300 MHz ist nix mit schrittweisem Ersetzen, das braucht eine 
ordentliche Platine. Wirst du schon noch merken.

>werden. Kann gut sein das 300MHz ein bisschen übertrieben ist,

Nöö, ist gerade mal Faktor 5. Dein Anti Aliasing Filter muss von 30 MHz 
auf 300 MHz theoretisch 14*6=84dB/Dekade Dämpfung machen, wenn du 
WIRKLICH 14 Bit haben willst. Das ist ein Filter 4. Ordnung. Bessel wird 
in solchen Fällen oft genutzt.

>Ich verstehe nicht was du meinst, könntest du das bitte mal für einen
>Anfänger wie mich ausformulieren.

Ganz einfach. Vom FLASH/RAM liest du mit 60 Msamples/s. Die werden im 
FPGA interpoliert (Zwischenwerte ausrechnen) und mit 300 MSamples/s an 
den DAC ausgegeben. Damit kann der RAM/Flash wesentlich langsamer 
laufen.

>Also wenn ich das richtig verstehe, würdest du statt, ein eingelötetes
>RAM, eine externe SD oder CF-Karte bzw. ein Memorystick als Datenträger
>verwenden? Nun warum eigentlich nicht, aber worin liegt der Vorteil?

Billig, leicht verfügbar, einfach zu kontaktieren, einfach auszulesen.

>>obwohl ich glaub, dass der 300MHz nicht schaffen wird, die I/Os sind
>>nicht so hyper-schnell wie z.B. beim Virtex-4.

>Dann würdest du mir also ein Virtex-4 System empfehlen? Mir ist es eben

Der hat mehr Reserve, Spartan 3 sollte aber reichen, wenn man fit in dem 
Bereich ist.

>wichtig, dass ich von Anfang an mit dem richtigen System arbeite, damit

Haha, den Stein der Weisen hat noch keiner gefunden. Ob es das richtige 
System ist, wird sich zeigen.

>ich nicht in eine Sackgasse gerate. Ich werde mir also mal Virtex-4 und
>Spartan3 Evalkits genauer anschauen.

Vor allem die V4 Preise ;-)

MFG
Falk

: Bearbeitet durch Admin
von Reto B. (schnuber)


Lesenswert?

@Falk
>Wo hast du denn das Wort "unterbruchsfrei" her?

Damit meine ich, dass ich ein genügend grosses RAM haben muss, weil ich 
keine Zeit habe Daten nach zu laden, weil das eben einen Unterbruch im 
Datenstrom bedeuten würde.

>>Boden zu stampfen, sondern ich kaufe mir für SFr. 260.- ein komplettes
>>Spartan3E Evalkit.

>Und damit ist alles gelöst. ;-)

Sorry, aber mit solchen Bemerkungen kann ich irgendwie wenig anfangen.

>>Da ist alles drauf: Schnittstellen aller Art, DDR SDRAM, DAC's usw.

>Aber kein 1GB SDRAM und auch kein 300 MHz DAC.

Nun das ist ja für einen ersten Approach vorerst noch egal, wenn ich es 
schaffe einen 50MHz DAC sauber zu betreiben (Austattung Spartan Evalkit) 
dann werde ich wohl im Stande sein in einem nächsten Schritt auf 300MHz 
rauf zu gehen.

>Bei 300 MHz ist nix mit schrittweisem Ersetzen, das braucht eine
>ordentliche Platine. Wirst du schon noch merken.

Danke, ich arbeite im Moment gerade an einer 2.5GHz Schaltung.

>Vor allem die V4 Preise ;-)
Es geht um ein Forschungsprojekt an einer Hochschule, Preise sind 
vorerst noch sekundär.

Ansonsten danke für die Bemerkungen, das mit dem Memorystik bzw. 
CF.Karte finde ich sehr interessant.

von Jens (Gast)


Lesenswert?

Wenn Dir 20 MHz Bandbreite reichen, dann kauf Dir sowas, ohne den 
HF-Teil:
http://www.signalion.com/9-0-hardware-in-the-loop-platform.html

Gruß

von Reto B. (schnuber)


Lesenswert?

Jens wrote:
> Wenn Dir 20 MHz Bandbreite reichen, dann kauf Dir sowas, ohne den
> HF-Teil:
> http://www.signalion.com/9-0-hardware-in-the-loop-platform.html
>
> Gruß

Danke sehr interessant, dass ist in etwa das, was ich entwickeln sollte.
Muss ich mal meinem Vorgesetzten weiter reichen.
Gruss

von Falk B. (falk)


Lesenswert?

@ Reto B. (schnuber)

>Damit meine ich, dass ich ein genügend grosses RAM haben muss, weil ich
>keine Zeit habe Daten nach zu laden, weil das eben einen Unterbruch im
>Datenstrom bedeuten würde.

Das Wort Unterbruch gibt es im Deutschen nicht. Es heisst Unterbrechung. 
Aber wie das beim Switzerdütsch aussieht, weiss ich nicht ;-)

>Nun das ist ja für einen ersten Approach vorerst noch egal, wenn ich es
>schaffe einen 50MHz DAC sauber zu betreiben (Austattung Spartan Evalkit)
>dann werde ich wohl im Stande sein in einem nächsten Schritt auf 300MHz
>rauf zu gehen.

OK.

>Danke, ich arbeite im Moment gerade an einer 2.5GHz Schaltung.

Machst du gerade dein Mittagessen in der Mikrowelle warm? ;-)

MfG
Falk

: Bearbeitet durch Admin
von Reto B. (schnuber)


Lesenswert?

Falk Brunner wrote:

> Das Wort Unterbruch gibt es im Deutschen nicht. Es heisst Unterbrechung.
> Aber wie das beim Switzerdütsch aussieht, weiss ich nicht ;-)

Im Schwitzerdütsch kannst du sagen was du willst, da gibt es keine 
Regeln. Find ich praktisch.

gruss
Reto

von Falk B. (falk)


Lesenswert?

@ Reto B. (schnuber)

>Im Schwitzerdütsch kannst du sagen was du willst, da gibt es keine
>Regeln. Find ich praktisch.

Das funktioniert im Alltag schon nicht wirklich, in der E-Technik 
versagt sowas VOLLKOMMEN.

MFG
Falk

: Bearbeitet durch Admin
von Henk ten Bakker (Gast)


Lesenswert?

>Jens wrote:
>> Wenn Dir 20 MHz Bandbreite reichen, dann kauf Dir sowas, ohne den
>> HF-Teil:
>> http://www.signalion.com/9-0-hardware-in-the-loop-...
>>
>> Gruß

Ist das die Signaion aus dem Osten?

>Das Wort Unterbruch gibt es im Deutschen nicht
Das gibt es sehr wohl. wird bei Flussbau benutzt.

Ausserdem wird es in Österreich und Schweiz benutzt. Das sind auch 
deutsche Sprachen. Falk kommt nicht viel rum, oder?

P.S. bin ein geborene Niederländer

von Falk B. (falk)


Lesenswert?

@ Henk ten Bakker (Gast)

>>Das Wort Unterbruch gibt es im Deutschen nicht
>Das gibt es sehr wohl. wird bei Flussbau benutzt.

???
Wer baut denn Flüsse? Das hat ER doch vor ~ 6000 Jahren schon alles 
gemacht.
;-)

>Ausserdem wird es in Österreich und Schweiz benutzt. Das sind auch
>deutsche Sprachen.

Dialekte, von denen es hunderte gibt, die Deutsch bis zu Unkenntlichkeit 
transformieren. Ist aber alles nicht wirklich zweckdienlich. In so einem 
Forum sollte, um nicht zu sagen MUSSS, man sich am Hochdeutsch 
orientieren.

> Falk kommt nicht viel rum, oder?

Nee, bin halt ein Kellerkind das die Welt nur durch das Internet kennt 
und sich nur abends wenn's fast dunkel ist raustraut um mal fix im Lidl 
nebenann einzukaufen . . .  ;-)

>P.S. bin ein geborene Niederländer

Kannst ja nichts dafür ;-)

MfG
Falk

von Rolf R. (ultra-low)


Lesenswert?

@ Falk Brunner 
http://www.duden.de/duden-suche/werke/fx/000/172/Unterbruch.172596.html


mein gott so viel gerede um so kleines problem. nochmals beachte meine 
frühere postings. ich bin genau so ein angänger in fpga wie du. glaub 
mir wenn du ein bisschen was drauf hast bist in ein zwei wochen fertig. 
kosten ca.200€.
200mhz kriegst du locker hin.

pc(bei mir ltp) -> ddr -> spartan3 -> dac(dac902).

von Falk B. (falk)


Lesenswert?

@ Rolf Riller (ultra-low)

>frühere postings. ich bin genau so ein angänger in fpga wie du. glaub
>mir wenn du ein bisschen was drauf hast bist in ein zwei wochen fertig.
>kosten ca.200€.

;-)
DAS will ich sehen. Und ich wette 100 EUR, dass

- es deutlich über 200 EUR kostet
- deutlich länger als 2 Wochen dauert, einen Prototypen + PC Software 
zum spielen zu bekommen
- der Prototyp die oben genannten Qualitäten erfüllt (14 Bit, 300 MS/s, 
1GB RAM)

Wer hält die Wette?

MFG
Falk

von Jogi (Gast)


Lesenswert?

@ Rolf Riller (ultra-low)

>ich bin genau so ein angänger in fpga wie du. glaub
>mir wenn du ein bisschen was drauf hast bist in ein zwei wochen fertig.
>kosten ca.200€. 200mhz kriegst du locker hin.

Also für einen Anfänger eine ziemlich gewagte Aussage. Ich denke zwar 
auch (auch als nicht-Anfänger ;)), dass das Projekt durchaus zu 
realisieren ist, aber für einen Anfänger a) nicht in der Zeitspanne und 
b) nicht zu dem Preis. Da kann er sich ruhig auf ein bisschen mehr 
einstellen.

Gruß und einen guten Start in die neue Woche
Jogi

von Rolf R. (ultra-low)


Lesenswert?

http://de.farnell.com/1605836/ics-quarze/product.us0?sku=xilinx-xc3s400-5tqg144c 
30€

http://de.farnell.com/4808915/ics-quarze/product.us0?sku=texas-instruments-dac902e 
8€

leiterplatte ca. 15€ (natürlich selberbau)

logikpegelwandler(5v->3V) ca. 5€

sonstiger kramm(oszillator, stiftleiste, ddram, platform flash  etc.) 
max. 100€

total. ca 150-160€

jtag programmer sollte man von haus aus mitbringen.

von Reto B. (schnuber)


Lesenswert?

Hallo zusammen ich bind nochmal

Das Projekt von dem ich rede ist noch nicht beschlossene Sache, ob es 
wirklich durchgeführt wird, mein Chef hat ein entsprechendes Gesuch erst 
eingereicht. Ich habe euch gefragt, weil ich mich frühzeitig ein Bild 
machen wollte.
Ich habe bei meinen Recherchen nun bemerkt, dass mein Projekt eigentlich 
nichts anderes ist, als ein Arbitrary Waveform Generator (AWG) siehe 
Wikipedia. Solche Geräte sind auf dem Markt eigentlich problemlos 
erhältlich, zumindest zu Bandbreiten bis 20MHz.
Ich wundere mich, ob mein Chef dies in seinen Recherchen nicht bemerkt 
hat.
Ich melde mich wieder wenn ich mehr weiss.

Gruss
Reto

von Tom N. (tom-nachdenk)


Lesenswert?

Hallo Rolf,
also an einem Beispielprojekt DDR-RAM auf selbstgeätzter Platine hätte 
ich Interesse. Wäre das nicht was für die Codesammlung? Ich denke mal 
das ich da nicht der einzige hier bin.

von Reto B. (schnuber)


Lesenswert?

Rolf Riller wrote:

> leiterplatte ca. 15€ (natürlich selberbau)

Schnitzt du das Kupfer mit dem Messer raus, oder wie "baust" du deine 
Leiterplatte?

von Christian R. (supachris)


Lesenswert?

Hm, also bei 300 MHz Umsetzrate und 30MHz Bandbreite und dazu außerdem 
noch DDR-SDRAM wird man mit einer 2-Lagen-Platte nicht weit kommen. Wie 
will man da die Impedanzen einhalten? 3mm breite Leiterbahnen an die 
RAMs? Also 4 Lagen sind da wahrscheinlich das Minimum.

von Falk B. (falk)


Lesenswert?

@Christian R. (supachris)

>will man da die Impedanzen einhalten? 3mm breite Leiterbahnen an die
>RAMs? Also 4 Lagen sind da wahrscheinlich das Minimum.

Meine Rede.

MFG
Falk

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.