xPlainedA1: UART -> DMA -> EBI -> SDRAM?

Gast #2833764
Lesenswert?

Hey,

ich habe ein WiFi-Radio mit dem xPlainedA1 Board aufgebaut welcher über 
UART(RN171-Wifi) MP3 Daten bekommt, sie in den SDRAM ablegt (über 
HighLevel Interrupt) und im Hauptprogramm diese an einen VS1053 
weiterleitet.

Das Ganze funktioniert soweit überraschend gut.
Ich habe die Makro basierte Ring-Speicher(FIFO) Implemenierung von 
dieser Seite umgeschrieben so dass sie einen 8MB "breiten" 
Speicherzugriff auf den SDRAM ermöglicht.

Leider funktioniert das ganze nur mit MP3s <250kbit/s. Bei höherer 
Qualität stockt das Ganze.

Ich vermute dass die vielen Interrupts(320kbit/s ~ 40.000 Interrupts/s) 
das Weiterleiten über SPI ausbremsen.

Als Lösungsansatz erscheint mir ein DMA als sinnvoll.
Leider bin ich mir nicht sicher ob man mit einem DMA Daten vom UART zum 
externen SDRAM weiterleiten kann.
Die DMAs besitzen eine Adressbreite von maximal 24Bit was genau der 
Speicherbreite des 64MBit SDRAMs entsprechen würde.

Hat jemand so etwas schon mal gesehen oder bewerkstelligt?
Und würde dies den xMega ausreichend endlasten?

Gruß Denis

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren