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
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
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.
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 ?
> 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. :-/
> 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
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.
> 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 :-)