Forum: Digitale Signalverarbeitung / DSP / Machine Learning wie würdet ihr einen FPGA an einen dsp anbinden ?


von Sssssss (Gast)


Lesenswert?

Hi!

Wie würdet ihr nen FPGA an nen TI tms320f2812 DSP anbinden ?
Auf dem fpga soll eine Art Bildverarbeitung laufen, also evtl
größere Datenmengen.

Ich hatte daran gedacht mit dem fpga einfach ein externes SRAM
zu emulieren und vom DSP einfach über den memorybus und das
XINT Speicherinterface darauf zuzugreifen.

Der fpga soll sich dann vom DSP aus gesehen wie ein SRAM verhalten
wo einfach immer quasi das aktuelle Bild drinliegt.

Oder gibts nen eleganteren weg ?

von Thomas (Gast)


Lesenswert?

Schneller als über deas XINTF kriegt du ich keine Daten aus dem DSP raus
bzw. in denselben rein. Wobei das XINTF beim 2812
schon ein bischen Zeit kostet, was sich aber nicht vermeiden läßt.
Es ist daran nix "un-elegantes".....


Gruß Thomas

von Gerrit Buhe (Gast)


Lesenswert?

Ich bin ein Freund der synchronen seriellen Schnittstelle, die jeder DSP
hat. Die Datenrate kann abhängig vom DSP z.B. 66MBit/s betragen
(Blackfin mit maximalem peripheren Takt von 133MHz). Mit einem Motorola
DSP56xxx kann man auch f_core/2 erreichen. Der TI-DSP hat auch
mindestens einen BSP (Buffered Serial Port) on Chip.

Es ist von den konkreten Anforderungen an die Datenrate abhängig, ob
das eine Lösung sein kann oder nicht. Nur weil es ein Bild ist, muß es
sich ja nicht gleich um Unmengen an Daten handeln (z.B. Handy ;o).

Viele Grüße!

Gerrit

von Sssssss (Gast)


Lesenswert?

Hi!

Danke für die Posts ;)

Die Datenmengen sind ca 320x240x3x25.5 = 5,6MByte/s
Allerdings nur im Worstcase ohne Bearbeitung auf dem fpga.

Die Speichersimulationslösung hätte halt den Vorteil dass
der DSP Code wirklich nur auf ein bzw zwei große Arrays zugreifen
würde.


Eine weitere Lösung wäre evtl auch noch DMA, ich hab gesehen der TMS
kann
durch ein Flag zum Speicher freigeben veranlasst werden.
Würde nur ein SRAM sparen und auch nicht sonderlich leichter werden.


Hab heute mal die virtuelles SRAM Lösung in vhdl "gecodet" und
simuliert.
Bin gespannt ob das auch in echt so funktioniert wie geplant g

von Gerrit Buhe (Gast)


Lesenswert?

Hi agn,

OK, bei der Datenrate bleibt nur paralleler Transfer sinnvoll.

DMA ist ja keine weitere Lösung im Sinne einer Schnittstelle ;o),
sondern hilft nur, den Core von den Transportaufgaben zu entlasten.

Die Memory-mapped-FPGA-Lösung (ggf. mit DMA) ist schon die eleganteste
Lösung; viel Erfolg!

Gruß, Gerrit

von Strubi (Gast)


Lesenswert?

Hi,

wir haben das noch nicht beim TI gemacht, aber im allgemeinen haben die
Kaefer ja DMA und Schnittstellen fuer schnelle Zugriffe auf asynchrones
RAM - beim Blackfin haben wir das FPGA einfach ans asynchrone
memory-Interface angebunden und einen kleinen I/O-Register-Space
definiert. Fuer fette Datentransfers ist dann allerdings empfohlen, auf
dem FPGA ein FIFO zu implementieren.
Viel Erfolg,

- Strubi

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.