www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrkanal Audiowiedergabe


Autor: zutta1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Als Speichermedium möchte ich eine SK-Karte verwenden.

???

Autor: Erik D. (dareal)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sparkassen-Karte ... :D

Autor: zutta1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, ich meinte SD-Karte.

Autor: Oliver Döring (odbs)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: zutta1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Oliver Döring (odbs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Betriebssystem ist es einfacher zu realisieren als ohne.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: zutta1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: zutta1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hudi (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.