Forum: FPGA, VHDL & Co. Datenaustausch zwischen uC und FPGA


von Tobias (Gast)


Lesenswert?

Hoch geschätzte Community,

ich bin derzeit am Rätseln wie ich am besten eine Schnittstelle
mit etwas höherer Datenrate wie es die seriellen Interfaces alla
SPI oder I2C ermöglichen, zwischen einem ARM9 uC (LPC3250) mit EBI
und einem Cyclone II realisieren kann.

Bisher ist mir nur die Lösung, den FPGA über die Adress und 
Datenleitungen
im Speicherbereich des uC einzubinden eingefallen.
Diese Lösung würde jedoch relativ viele Pins fressen wie ich meine.

Unter Umständen stehe ich ja nicht ganz alleine mit solch einem
Problem dar und es erbarmt sich jemand mir zu helfen.

Mit freundlichen Grüßen,
Tobias

von Nik N. (neusser)


Lesenswert?

Hi Tobias,

>zwischen einem ARM9 uC (LPC3250) mit EBI
>und einem Cyclone II realisieren kann.

Mit dieser Kombination habe ich es noch nie probiert aber zwischen einem 
Freescale MPC555 mit EBI und einem Xilinx Virtex4 läuft es bei uns 
einwandfrei.
Und wenn du dir Sorgen über zuviele Leitungen machst, dann begrenze 
einfach deinen adressraum und werte z.B. nur die untersten 8Bit aus.
Deine Datenbreite kannst du auch auf 8 Bit begrenzen. Und falls der ARM 
noch mehrere ICs per Chip Select unterstützt, kannst du auf diese auch 
noch verzichten. Dann bleibt neben dem Rd/Wr Signal nicht mehr viel 
übrig.

viel erfolg,

Nik

von Duke Scarring (Gast)


Lesenswert?

Welche Datenrate erwartest Du denn?
SPI läßt sich mit 20 MHz betreiben --> 20 MBit/s ~ 2 MByte/s.

Duke

von Ich (Gast)


Lesenswert?

Ich arbeite an einem ganz ähnlichem Projekt. Bei mir ist es ein 
Spartan3E und ein xmega 128A1, ebenfalls über das EBI. der xmega128A1 
kann zwei Adress Latchs ansteuern, diese Tatsache bedeutet in meinem 
Fall, dass ich 8 Datenleitungen, 8 Adressleitungen, WE, RD, ALE1 und 
ALE2 benötige und somit einen Adressraum von 16M habe.

von Tobias (Gast)


Lesenswert?

Vielen Dank für die Antworten.

Um etwas konkreter zu werden:
Ich möchte über den FPGA aus zwei GS ADC´s von National
Werte temporär in einem RAM für den uC bereit halten.

Über die Datenmenge, die ich übertragen muss bin ich
mir selbst noch nicht so ganz schlüssig.

Ausgehend von einer 1s Zeitbasis können das schon
etliche 100MB werden. Ich denke jedoch, dass ich diese
nicht mit dem uC bewältigt bekomme und hier diverse
Funktionen zur Bewertung und Aufbereitung der Daten
im FPGA unterbringen muss.

Nun zur Frage der Datenrate.
50MB/s hatte ich mir als Richtwert überlegt.

Ich steh erst am Anfang und muss noch
Ordnung auf der Baustelle schaffen ...

ps.: Falls ich das ganze Modular aufbauen möchte,
wäre wohl eine Anbindung über LVDS die beste Wahl.
Hat hier schon jmd mit div. Transceivern (bsp. von TI)
gearbeitet ?

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


Lesenswert?

> zwei GS ADC´s
Giga-Samples?

> Ausgehend von einer 1s Zeitbasis können das schon etliche 100MB werden.
Bit oder Byte?

> 50MB/s hatte ich mir als Richtwert überlegt.
Wie passt das jetzt zusammen?

Du bist dir offenbar nocht nicht ganz einig, wo wieviele Daten 
auftreten, und wie die am besten reduziert werden. :-/

von Tobias (Gast)


Lesenswert?

> zwei GS ADC´s
>> Giga-Samples?
nein, ich meine damit Gr... Sch...

> Ausgehend von einer 1s Zeitbasis können das schon etliche 100MB werden.
>> Bit oder Byte?
Wenn ich Bit gemeint hätte, wären diese ausgeschrieben.

> 50MB/s hatte ich mir als Richtwert überlegt.
>> Wie passt das jetzt zusammen?
Wie ich schon schrieb, werde ich hier im FPGA aussortieren müssen.

> Du bist dir offenbar nocht nicht ganz einig, wo wieviele Daten
> auftreten, und wie die am besten reduziert werden. :-/
Wie du lesen kannst, habe ich bereits gesagt, dass ich erst in der
Orientierungsphase bin ...

Bitte vergäude meine Zeit nichtmehr mit unkonstruktiven Beiträgen.

Mfg,
Tobias

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


Lesenswert?

> Bitte vergäude meine Zeit nichtmehr mit unkonstruktiven Beiträgen.
Ja, werde ich tun. Schönen Tag noch.

BTW: vergeude

von Chefkoch (Gast)


Lesenswert?

Hast du schonmal an einen Dualported RAM gedacht ?
Damit könntest du auf jedenfall deine 50MByte/s an Datenrate erreichen.
Cypress bietet beispielsweise sowas an.
Außerdem solltest du Lothar nicht so blöd von der Seite
anmachen, er schreibt immer gute, hilfreiche Beiträge.

von Hans M. (hansilein)


Lesenswert?

>> zwei GS ADC´s
>>> Giga-Samples?
>nein, ich meine damit Gr... Sch...
Gruseliger Schrott?
So klingt's

P.S.
Ar... Ar..

von Gast (Gast)


Lesenswert?

> Ich arbeite an einem ganz ähnlichem Projekt. Bei mir ist es ein
> Spartan3E und ein xmega 128A1, ebenfalls über das EBI. der xmega128A1
> kann zwei Adress Latchs ansteuern, diese Tatsache bedeutet in meinem
> Fall, dass ich 8 Datenleitungen, 8 Adressleitungen, WE, RD, ALE1 und
> ALE2 benötige und somit einen Adressraum von 16M habe.

Oh was? Der XMEGA unterstützt hardwareseitig 2 ALE-Leitungen? Das ist ja 
zuu geil!

Glaub ich muss mir die doch mal anschauen :-)

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.