Forum: Mikrocontroller und Digitale Elektronik xPlainedA1: UART -> DMA -> EBI -> SDRAM?


von Denis (Gast)


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

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.