Forum: Mikrocontroller und Digitale Elektronik Mehrkanal Audiowiedergabe


von zutta1 (Gast)


Lesenswert?

Ich suche eine einfache Lösung um ein Mehrspur Audioloopgerät zu 
realisieren. Das Gerät soll in der Lage sein gleichzeitig einen 
Audiokanal aufzunehmen und 8 wiederzugeben. Als Speichermedium möchte 
ich eine SK-Karte verwenden. Weil sonst keine weitere Verarbeitung der 
Audiodaten anfällt möchte ich dies mit einem möglichst günstigen und 
einfach zu programmierenden Prozessor machen, möglichst ohne ein teures 
IDE anzuschaffen.
Ideal wäre eine Lösung mit einem AD1937 Codec, da dieser bereits über 8 
DA und 4 AD Wandler verfügt, welche über eine I2s Schnittstelle mit TDM 
(Time Division Muliplexing, für mehr als 2 Kanäle) kommunizieren. 
Prozessorseitig wäre abgesehen von der fehlenden I2S Schnittstelle mit 
TDM unterstützung der STM32 von ST ideal. Ich frage mich ob ich einer 
teuren DSP Lösung ausweichen kann und vielleicht mit Wandlern ohne I2s 
eine einfache Lösung erhalte oder ob es einen Controller gibt 
(vorzugsweise ARM) der das kann? Eine Möglichkeit wäre vielleicht auch 
einen AC97 Codec zu nehmen? Vielleicht hat jemand eine gute Idee?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Als Speichermedium möchte ich eine SK-Karte verwenden.

???

von Erik D. (dareal)


Lesenswert?

Sparkassen-Karte ... :D

von zutta1 (Gast)


Lesenswert?

Ach ja, ich meinte SD-Karte.

von O. D. (odbs)


Lesenswert?

12 Kanäle mal 32 bit pro Kanal * 192 kSamples pro Sekunde = 73 Mbit/s.

Falls du den AD1937 voll ausnutzen willst und eine SD-Karte meintest, 
ist das Projekt gerade gestorben.

Etwas weniger ehrgeizig: 12 Kanäle mal 16 bit pro Kanal * 48 kSamples 
pro Sekunde = 9 MBit/s. Das wäre auf einem ARM9-System vermutlich leicht 
umsetzbar.

Ein Problem sehe ich beim gleichzeitigen Lesen und Schreiben von der
SD-Karte. Ich denke, um ein Betriebssystem (Linux Embedded) mit einem
vernünftigen I/O-Scheduler und ordentlich Pufferspeicher wirst du nicht
herumkommen.

Was spricht gegen eine IDE-Festplatte am ARM9?

von zutta1 (Gast)


Lesenswert?

Danke für deine Antwort. 48kHz und 16 Bit Auflösung reichen. Die Linux 
Lösung tönt ziemlich aufwendig. Da käme eher in Frage die Anzahl 
Ausgangskanäle auf 4 zu begrenzen.

von O. D. (odbs)


Lesenswert?

Mit Betriebssystem ist es einfacher zu realisieren als ohne.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Gleichzeitiges Lesen und Schreiben von und auf SD-Karte kannst Du 
eigentlich vergessen. Der Datenoverhead und die Busyzeiten beim 
Umschalten sind enorm, da die Effizienz der Multiblock-I/O-Modi dann 
nicht mehr ausreichend greift. Da helfen auch fette Puffer nur bedingt, 
denn irgendwann kommt die Karte einfach nicht nach. Probiere das mal in 
Deinem PC, indem Du 2 Wave-Dateien 16/48 von einer SD-Karte wiedergibst 
und noch einen weiteren Schreibzugriff darauf machst.

von zutta1 (Gast)


Lesenswert?

Es gibt bereits einige billige Multitrackrecorder wie z.B. der ZOOM MRS 
8SD die Simultan 8 Spuren wiedergeben und 2 Spuren auf SD-Karte 
aufzeichnen könnnen. Leider kenne ich niemanden der so einen besitzt, 
wäre interessant da mal reinzuschauen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Und wieso kaufste Dir den dann nicht? Billiger wird der Selbstbau 
garantiert nicht. Abgesehen davon wird das Teil so viel Cache-RAM 
verbaut haben, daß genug Puffer für einige Sekunden ununterbrochene 
Musike vorhanden ist und sequenziell auf die Karte zugegriffen wird. Ein 
schneller DSP oder ARM unterstützt dann sicher auch den 4-Bit SD-Modus, 
der um einiges schneller als SPI sein kann, besonders im Burst-Modus. 
Trotzdem bleibt die Karte der Flaschenhals der ganzen Geschichte.

von zutta1 (Gast)


Lesenswert?

Danke für deine Antwort. Ich möchte ein Loopgerät mit Einzelausgängen 
konstruieren, das gibts noch nicht zum kaufen. Das Olimex CS-E9302 mit 
Linux sieht interessant aus. Das hat auch AC97. Leider hab ich nicht 
rausgefunden ob der 4-Bit Mode unterstützt wird. Was meint ihr dazu?

von Hudi (Gast)


Lesenswert?

Du solltest auf keinen Fall vergessen, die Register zu sichern.. das 
kann fatale Folgen haben...
Gruss
Hudi

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.