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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.