Forum: Mikrocontroller und Digitale Elektronik USB Audio Interface selbst ansteuern


von Rainer U. (r-u)


Lesenswert?

Hallo Mitbastler,

ich hatte mir mal so ein Audio-Interface ausgeliehen und am Laptop 
betrieben:

http://www.thomann.de/de/maudio_fast_track_pro.htm

Das ging ganz gut. Nun würde ich den PC/Laptop gerne ersetzen gegen 
etwas kleineres - aber trotzdem die Audio-Aufnahme und Wiedergabe weiter 
nutzen können. Also z.B. ein "Schächtelchen" mit ein paar Knöpfen, so 
zum Aufnehmen, wiedergeben, Effekte selbst programmieren etc.

Aber was tue ich in das Schächtelchen rein? AVR wird das wohl nicht 
schaffen. ARM selber entwerfen ist mir zu heftig, und es gibt ja auch so 
viele fertige Boards (Gumstix, beagleboard, ..?) Nur mit diesen kenne 
ich mich überhaupt nicht aus.

Ein WindowsXP darauf wäre mir aber zu heftig (booten, und was für ein 
Riesen-Thema da dranhängt, wenn man .net mit usb-Unterstützung 
programmieren will..)

Mit Linux/Unix habe ich bisher nur wenig gearbeitet. Aber das wäre wohl 
ein besser skalierbares Betriebssystem, oder? In welcher Sprache / 
welcher IDE kann ich da programmieren, um möglichst gute 
USB-Unterstützung dabeizuhaben?

Das Ganze hat keinen kommerziellen Hintergrund, ich möchte mich gerne da 
einarbeiten (Programmierung unter Linux oder einem anderen 
Unix-ähnlichem System). Einfach sollte es sein, nicht so teuer in der 
Anschaffung, die eierlegende Wollmilchsau eben! :-)

Was würdet Ihr nehmen? (hardware, OS, Programmiersprache, IDE)?

Also als völlig sinnfreie Beispielanwendung zur Abschätzung der 
Anforderung: Ich nehme 30 Minuten Audio auf, und will mir die dann 
rückwärts wieder ausgeben / anhören..

von Nighthawk (Gast)


Lesenswert?

Hi,

ich würde mir eine SeagateDockstar (25 Euro Embedded System mit ARM, 
128MB ram und 256MB Flash, USB, LAN) zulegen.

Beitrag "20Euro Embedded System mit ARM, 128MB ram und 256MB Flash"

Es gibt schon Leute, die daran erfolgreich eine USB-Soundkarte 
angeschlossen haben und Musik damit streamen. Das Ding hat auch eine 
3,3V serielle Schnittstelle, woran man dann einen AVR zur Ansteuerung 
der Taster anschliessen könnte.

Vielleicht eine etwas unorthodoxe Lösung, aber ich hab mir gestern so 
ein Teil gekauft und bin vollauf begeistert davon :)

vg
Nighthawk

von Rainer U. (r-u)


Lesenswert?

Uff, was für ein Mega-Artikel! Also damit wären die Fragen nach 
möglicher Hardware und Betriebssystem beantwortet (andere Antworten lese 
ich mir auch gerne durch).

Das mit AVR und serieller Schnittstelle für die Taster würde mir leicht 
fallen, das hab ich schon gemacht.

Also wie sähe meine "toolchain" denn dann aus (bin nicht so fit) - also 
ich baue irgendwie ein Linux auf einem USB-Stick und boote davon, oder 
was ist mein Bootmedium? Woher kennt das Linux die Hardware-Ausstattung 
von dem Teil?

Dann steck ich das Ding an's Netz und mach ein telnet? (welche IP?)

dann programmiere ich was auf dem PC (welche Sprache/IDE? Ich hab mal 
Java mit Eclipse gemacht..), tu das Programm per FTP da rein und starte 
es?

Ich les noch eine Weile weiter, aber ich muß erstmal das Prinzip 
verstehen..

von Nighthawk (Gast)


Lesenswert?

Hi,

ja der Artikel ist schon ziemlich lang. Wenn dich die Dockstar 
interessiert, dann hätte ich ein paar (teilweise kürzere) Links für 
dich:

(1) Übersicht:
http://www.mikrocontroller.net/articles/DockstarDebianSqueeze
(2) Ellenlanger Thread (Startpost ist aber sehr informativ):
http://www.hardwareluxx.de/community/f101/der-20-server-735098.html
(3) Installation Gentoo:
http://ahsoftware.de/dockstar/
(4) Installation Debian:
http://jeff.doozan.com/debian/

Ich versuche mal die restlichen Fragen so gut es geht zu beantworten 
(ich kenn mich nicht so wirklich mit Programmierung unter Linux aus, 
musste sogar googlen was toolchain ist :D ):

Es gibt zwar die Möglichkeit ein Linux auf den Flash zu installieren, 
die praktikabelste Sache ist aber es auf USB-Stick zu installieren. 
Davon bootet dann das Linux. Hardwareerkennung läuft dann wie bei einem 
normalen x86-Linux auch. USB und LAN gingen bei mir auf Anhieb (ohne dem 
wäre es auch schwierig was darauf zu installieren).

Ich bin für die Installation erst der Anleitung (2) bei zur Sicherung 
des Flashinhalts gefolgt, dabei habe ich die IP-Adresse der Box über den 
nmap-Trick (3) herausgefunden und der Box das nachhausetelefonieren 
abgewöhnt. Danach habe ich mit der Anleitung von Jeff Doozan (4) 
weitergemacht und Debian installiert.

Wenn erstmal Debian drauf ist, kannst du die meisten Standardsachen 
(Samba, Cron, etc) nach den ganz x86-Anleitungen machen, da es die 
Pakete auch für die ARM-Architektur gibt. Da gibt es dann auch schon das 
erste Problem mit dem Selbstprogrammieren: Dein PC hat 
höchstwahrscheinlich einen x86-Prozessor, die Dockstar hat einen 
ARM-Prozessor. Da hast du dann zwei Möglichkeiten: Die erste ist alles 
auf der Dockstar kompilieren, was geht, aber unkomfortabel ist. Die 
zweite ist dein Programm auf deinem Rechner zu kompilieren und dann auf 
die Dockstar zu übertragen (zB mit FTP oder SCP). Da musst du dich ein 
bischen mit dem Thema Cross-Compiling beschäftigen, damit kenn ich mich 
gar nicht aus.

Ich hoffe dir etwas weitergeholfen zu haben.

Viele Grüße
Nighthawk

von linuxer (Gast)


Lesenswert?

ist auch die Frage, was einfacher ist- die ganzen Unix-Sachen zu lernen 
oder gleich eine spezielle Anwendung zu programmieren, die man dann 
direkt bootet? denn für den o.g. Zweck braucht man das Linux/Debian 
nicht unbedingt,oder?

von Rainer U. (r-u)


Lesenswert?

Naja, kommt darauf an, ob und inwieweit so ein USB-Audio-Gerät wie oben 
von Debian unterstützt wird? Also der Vorteil vom Betriebssystem wäre 
z.B., daß ich die Sachen zum USB-Stick initialisieren und Sektoren / 
Filesystem lesen/scheiben nicht selbst stricken muß (das sollte ja das 
Betriebssstem schon mitbringen).

Also eine SD-Karte oder CF-Karte und diverse SPI und I2C-Chips hab ich 
auch schon mit einem AVR zum Laufen bekommen - es braucht seine Zeit, 
aber es geht dank Tutorials etc).

Mit Betriebssystem / am PC (unter Windows) öffnet man halt das Gerät und 
nutzt die Boardmittel (API, Treiber). Hab ich auch schon gemacht. Aber 
eben nicht mit ARM bzw Linux/Debian.

Wer hat schonmal mit USB beides gemacht (unter Linux ansteuern und mit 
ARM direkt) und kann den Aufwandsunterschied abschätzen?

von Jobst M. (jobstens-de)


Lesenswert?

Die PCM270x und PCM290x von TI kennst Du?

Nach Application beschalten und läuft PnP unter Linux, Mac und Windows 
...
Bieten je nach Bauteil I²S, S/P-DIF, Analog - in/out.


Gruß

Jobst

von Rainer U. (r-u)


Lesenswert?

@Jobst

Ich habe mir die Teile mal angesehen. Ich will aber die Audioseite nicht 
diskret aufbauen, sondern ein fertiges USB-Audio-Interface (siehe ganz 
oben) benutzen und ansteuern, oder auch fertige Einzelkomponenten wie 
USB-Mikrofon - jedenfalls etwas, das mit der USB-Audioklasse arbeitet.

von Jobst M. (jobstens-de)


Lesenswert?

Ach - verdammt - das habe ich nicht ganz mitbekommen.

Du willst das Gegenstück dazu bauen !?

Sowas evtl.?
Beitrag "20Euro Embedded System mit ARM, 128MB ram und 256MB Flash"

Passt zu dem oben schon genannten:
http://www.mikrocontroller.net/articles/DockstarDebianSqueeze

Ich denke, das passt.


Gruß

Jobst

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.