Forum: Mikrocontroller und Digitale Elektronik DIY USB Audio Interface 24bit 192kHz


von lzec (Gast)


Lesenswert?

Hallo liebes Forum,
ich möchte mir ein USB Audio Interface gerne selber bauen.
Geplant ist Stereo in+out, 24 bit, min. 96kHz

Was haltet ihr von der Idee diese CM6631 USB I2S Bridge zu nehmen:
http://www.diyinhk.com/shop/audio-kits/58-xmos-dsd-dxd-384khz-high-quality-usb-to-i2s-pcb.html

und diesen Cirrus Audio Codec damit anzufahren:
http://www.cirrus.com/en/products/cs4270.html

Ist das so prinzipell möglich?
Auf was ist dabei zu achten?

Lg

von Stefan S. (mexakin)


Lesenswert?

Cirrus Audio Codec CS4270 den gibts doch auch schon als EvalBoard, den 
kannst du dann auch diretk an USB anschließen und sparst dir die CM6631 
Bridge. So auf den ersten Blick.

von lzec (Gast)


Lesenswert?

Ja das hab ich mir zuerst auch gedacht.
Nur knappe 400€ sind mir dann doch ein bisschen zu viel :D
http://www.digikey.at/product-search/en?mpart=CDB4270&vendor=598

von lzec (Gast)


Lesenswert?

Der Link oben ist übrigens die falsche Bridge
Die hier habe ich gemeint:
http://www.diyinhk.com/shop/audio-kits/66-384khz-asynchronous-usb-to-i2sspdif-cm6631a-pcb.html

von Uwe B. (uwe_beis)


Lesenswert?

Der USB-Anschluss des Cirrus Audio Codec CS4270 ist nur zur Steuerung, 
aber nicht für die Audiodaten geeignet.

Es gibt meines Wissens nach praktisch nur die XMOS-Lösungen, um Audio 
über USB (Audio Class 2) zu bringen. Es gibt oder gab auch andere 
Lösungen, z.B. Tenor und CMedia, aber ob die tatsächlich "erreichbar" 
sind, weiß ich nicht. Ich habe es jedenfalls vergeblich versucht.

Soweit ich auf die Schnelle erkennen kann, haben beide oben verlinkten 
Module nur einen I2S-Ausgang zum Anschluss eines DACs. Ein ADC ist nicht 
möglich.

von lzec (Gast)


Lesenswert?

Je mehr ich mich damit beschäftige, desto mehr Interessiert mich der 
CM6631 Chip.
Hier das Datenblatt:
http://www.wakamatsu-net.com/biz/cm6631_datasheet_v0-8.pdf

Der Chip hat 4 Ein und 4 Ausgänge (je 2x I2S).
Hab mal zwei davon auf Ebay bestellt.

Bin gespannt ob das mit dem Cirrus Audio Codec CS4270 so funktioniert 
wie ich mir das vorstelle (24 bit, 192 kHz).
Werd mich mal in die Tiefen des CM6631 Datenblattes einlesen.

von Uwe B. (uwe_beis)


Lesenswert?

Ich bin sehr interessiert, was du heraus findest.

Das Datenblatt des CMedia CM6631 ist ja kein Manual, sondern beschreibt 
nur, was das IC prinzipiell kann. Das Manual würde ich auf 100 Seiten 
und mehr schätzen, aber ich glaube nicht, dass man das bekommt.

In Ebay fand ich keine einzelnen ICs, sondern nur fertig programmierte 
Module, die nur einen Teil der Fähigkeiten des CM6631 nutzen. Mir 
scheint, dass alle Module nur einen digitalen Ausgang, aber keinen 
Eingang haben. Täusche ich mich? Wenn nicht, wäre es ziemlich 
uninteressant, denn USB -> digital Out ist nicht besonders exotisch.

Was hast du bestellt, wenn ich neugierig sein darf?

Ähnliche Module gibt es auch von Audio-GD mit dem Tenor-IC:
http://www.audio-gd.com/Pro/dac/TE8802/TE8802kitEN.htm

Aber auch die machen nur Audio Out, obwohl der TE8802 viel mehr kann.

von c-hater (Gast)


Lesenswert?

lzec schrieb:

> ich möchte mir ein USB Audio Interface gerne selber bauen.
> Geplant ist Stereo in+out, 24 bit, min. 96kHz
>
> Was haltet ihr von der Idee
[...]

Nix. Was auch immer du nimmst, du wirst scheitern, wenn du keine Ahnung 
von von der Treiberprogrammierung für alle relevanten Zielsysteme hast. 
Ohne diese Treiber nützt dir nämlich auch eine perfekt funktionierende 
Hardware rein garnix.

Und so wie ich das sehe, bist du auch von einer perfekt funktionierenden 
Hardware noch astronomisch weit entfernt...

von Uwe B. (uwe_beis)


Lesenswert?

c-hater schrieb:
> du wirst scheitern, wenn du keine Ahnung
> von von der Treiberprogrammierung

Da muss ich dir heftig widersprechen. Die hier angesprochenen Lösungen 
(XMOS, CMedia und Tenor) bringen alle ihren eigenen USB Audio Class 2 
Treiber für Windows mit, und auf den anderen Systemen werden keine 
Treiber gebraucht.

Ich gehe davon aus, dass dir bewusst ist, das selbst unter Windows mit 
USB Audio Class 1, also mit Windows Bordmitteln, unidirektional(!) 96 
kHz mit 24 Bit (wie es der Izec machen will) und sogar 192 kHz mit 16 
Bit möglich sind. Ich habe hier ein solches System vorführbereit. Aber 
der Izec will ja einen fertigen Chipsatz bzw. ein komplett 
funktionierendes Modul. Wieso sollte er da wegen mangelnder Ahnung bzgl. 
Treiberprogrammierung scheitern???

c-hater schrieb:
> Und so wie ich das sehe, bist du auch von einer perfekt funktionierenden
> Hardware noch astronomisch weit entfernt...
Na ja, nur ein paar hundert oder tausend Kilometer, denn die Hardware 
ist schon auf dem Weg zu ihm...

von Stefan S. (mexakin)


Lesenswert?

Wie kann man sich das USB Audio vorstellen an einem solchen Chip?
Wird der automatisch vom PC als Soundkarte erkannt und mann kann einfach 
audio out von zB winamp oder VLC darüber laufen lassen?

Und der Chip verarbeitet dann die Audiodaten (wahrscheinlich PCM? ) in 
ein analoges Audiosignal, dass man mit kleiner zusatzbeschaltung schon 
auf in ear kopfhören hören kann?

Oder: grade CM6631 überflogen :)
USB-Audio ( wie immer da das Protokoll ist) wird im IC in I2S gewandelt 
und danach brauche ich noch einen entsprechenden IC ( wolfson oder 
sowas) um I2S in analoge Audiosignale zu wandeln?

Und hat der CM6631 dann schon proprietäre ( Superwort : )) Treiber 
dabei, die Windows einfach erkennt?

Merci für die Anteilnahme.

von Uwe B. (uwe_beis)


Lesenswert?

> Wie kann man sich das USB Audio vorstellen an einem solchen Chip?
> Wird der automatisch vom PC als Soundkarte erkannt und mann kann einfach
Genau so ist es. Dafür gibt es die USB Audio Classes. USB Audio Class 1 
(die ältere) beschreibt ein High-Speed-Interface (12 MBit/s), mit dem 
alles, was in 12 MBit/ brutto(!) passt, standardisiert übertragen werden 
kann. Das sind z. B. 48 kHz / 16 Bit Stereo bidirektional, auch 48k/24 
bidir, 96k/24 unidir, 192k/16 unidir. Das funktioniert tatsächlich. USB 
Audio Class 2 (die neuere) beschreibt ein Full-Speed-Interface (480 
MBit/s). Das kann noch viel mehr, wird aber von Microsoft nicht 
unterstützt, d. h., es gibt keine Treiber dafür in Windows. Die müssen 
nachgeladen werden. XMOS verwendet Treiber von Thesycon, wo die Tenor- 
und CMedia-Treiber herkommen, weiß ich nicht. OS X und Linux 
unterstützen USB Audio Class 2 von Haus aus.

> audio out von zB winamp oder VLC darüber laufen lassen?
Für die Audio-Ausgabe, ja. Aufnehmen können diese Programme nicht. Ich 
mache das mit Audacity, aber mit allen anderen, die ich kennen gelernt 
habe, geht es auch.

> Und der Chip verarbeitet dann die Audiodaten (wahrscheinlich PCM? )
Der Chip? Welcher? Das USB-Interface (CM6631) setzt nur Audio-Daten auf 
USB um. Typisch sind I2S-Anschlüsse auf der Audio-Seite, auch mit viel 
mehr als 192k/24 stereo (beim CM6631 z. B. 368k/32 8 Kanäle), aber 
wahrscheinlich wäre auch DSD unter USB Audio Class 2 möglich.

> ein analoges Audiosignal, dass man mit kleiner zusatzbeschaltung schon
Zu Umsetzung des analoges Audiosignals in ein digitales I2S-Signal wird 
ein ADC (bzw DAC umgekehrt) gebraucht, z. B. der CS4270. Ich kenne nur 
ein IC, dass ADC, DAC und USB auf einem Chip hat. Das ist eigentlich 
eine Serie von TI, die PCM29x (bidir) und PCM290x (nur USB -> Audio 
Out), aber die machen nur USB Audio Class 1.
> auf in ear kopfhören hören kann?
Mit ein DAC.

> Oder: grade CM6631 überflogen :)
> USB-Audio ( wie immer da das Protokoll ist) wird im IC in I2S gewandelt
> und danach brauche ich noch einen entsprechenden IC ( wolfson oder
> sowas) um I2S in analoge Audiosignale zu wandeln?
Genau.
> Und hat der CM6631 dann schon proprietäre ( Superwort : )) Treiber
> dabei, die Windows einfach erkennt?
Der CM6631 hat eine Firmware, die "USB Audio Class 2 spricht". Ein 
Treiber wird auf den PCs gebraucht. OS x und Linux haben solche Treiber. 
Für Windows wird einer mit dem Modul mitgeliefert. Ja, dieser Treiber 
ist in sofern proprietär, als das er nur die vom IC unterstützte 
Untermenge der Funktionen der USB Audio Class 2 unterstützt.

von lzec (Gast)


Lesenswert?

Danke für eure Anteilnahme an meinem Projekt.

Die Firmware für den Chip findet man direkt auf der Herstellerseite bzw. 
in Foren. Wird direkt über USB auf den Chip übertragen (soweit ich das 
mitbekommen habe?).
Danach fungiert er automatisch als I2S -> USB und USB -> I2S Bridge.
So war auch der Plan.
Suche aber derweil noch einen passenden Codec zur AD und DA Wandlung 
(vllt. CS4270).

Cmedia habe ich eine Mail geschrieben, ob sie mir evtl. weitere Manuals 
oder Technical Sheets zukommen lassen. Warte noch auf eine Antwort.

Ebayartikelnummer des Chips: 291421691963 (bei ebay.com in das Suchfeld 
eingeben)
Preis: 14 Dollar inkl. Versand

Kleiner Tipp zum Suchen auf Ebay:
Via Ebay.com findet man schon viele China Angebote, allerdings werden 
manche Ergebnisse gefiltert.
Via http://anonymouse.org/cgi-bin/anon-www_de.cgi/http://www.ebay.com 
läuft die Ebaysite über anonymouse. Alle Filter werde so deaktiviert und 
man sieht wirklich alle Angebote. Diese Seite aber wirklich nur für 
Suchen verwenden. Bei Bestellungen wieder bei ebay.com/.de über die 
Artikelnummer.

von bluppdidupp (Gast)


Lesenswert?


von Uwe B. (uwe_beis)


Lesenswert?

lzec schrieb:
> Die Firmware für den Chip findet man direkt auf der Herstellerseite bzw.
> in Foren. Wird direkt über USB auf den Chip übertragen (soweit ich das
> mitbekommen habe?).
Interessant. Meiner Meinung nach muss man aber allerhand gewünschte 
Funktionalität der Firmware mitteilen, als die Firmware konfigurieren. 
VID, PID, Anzahl Kanäle, mögliche Sample Rates, 
Feature-Box-Eigenschaften und viel, viel mehr. Der UAC2 Descriptor ist 
nahezu unendlich lang. Und ein HID kann der CM6631 auch, wenn man will.

> Danach fungiert er automatisch als I2S -> USB und USB -> I2S Bridge.
> So war auch der Plan.
Ich bin gespannt.

> Suche aber derweil noch einen passenden Codec zur AD und DA Wandlung
> (vllt. CS4270).
Ich habe ADCs und DACs entwickelt: 
http://www.beis.de/Elektronik/ADDA24QS/ADDA24QS.html. Vielleicht kann 
ich damit helfen.

> Cmedia habe ich eine Mail geschrieben, ob sie mir evtl. weitere Manuals
> oder Technical Sheets zukommen lassen. Warte noch auf eine Antwort.
Auch da bin ich sehr gespannt. Ich würde es nicht erwarten, aber 
vielleicht klappt es ja doch.

>Via http://anonymouse.org/cgi-bin/anon-www_de.cgi/http...
Guter Tipp! Ich hatte mich schon gewundert, wie du an die Chips gekommen 
bist.

CMedia hat ja noch mehr (insgesamt 4) UAC2 ICs, die CM66xx-Serie. Hast 
du dir die mal aus der Nähe angesehen?

bluppdidupp schrieb:
> hier mal kurz mit dran hängt:
> 
http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_devices/windows-support-for-usb-audio-20/0d633b9f-3193-4c63-8654-fb10b3614a04

Ja, das beleuchtet gut die Situation mit Windows und UAC2. MS will 
einfach nicht. Basta. "Wer braucht denn so was?" soll einmal ein 
hochrangiger MS-Mitarbeiter geschrieben haben.

von bluppdidupp (Gast)


Lesenswert?

Uwe B. schrieb:
> "Wer braucht denn so was?" soll einmal ein
> hochrangiger MS-Mitarbeiter geschrieben haben.

Ganz unrecht haben die damit wahrscheinlich auch leider nicht.
Man sieht ja auch an den beiden Links dass die Nachfrage scheinbar eher 
gering ist. Und die Pro-Audio-Equipment Hersteller haben sowieso schon 
ihre Treiber fertig bzw. lizenzieren einfach einen.

von Clemens L. (c_l)


Lesenswert?

Uwe B. schrieb:
> "Wer braucht denn so was?" soll einmal ein
> hochrangiger MS-Mitarbeiter geschrieben haben.

Und zwar schon 2009:
http://www.freelists.org/post/wdmaudiodev/Why-would-you-want-USB-Audio-20-in-Windows

bluppdidupp schrieb:
> Man sieht ja auch an den beiden Links dass die Nachfrage scheinbar eher
> gering ist.

Wenn ein USB-Lautsprecher-Hersteller auf die Verpackung "32 Bits! 384 
kHz!!!!elfeins" schreiben könnte, dann würde er es auch tun.

(Wahrscheinlich will Microsoft einfach solchen Blödsinn verhindern ...)

> Und die Pro-Audio-Equipment Hersteller haben sowieso schon
> ihre Treiber fertig bzw. lizenzieren einfach einen.

Und dann gibt es regelmäßig das Gehampel mit Treibern für neue 
Windows-Versionen.

von Max L. (actbluebe)


Lesenswert?

Ist bezüglich dem CM6631 noch etwas rumgekommen? Der Chip wäre die 
einzige mir bekannte günstige Option für SPDIF und I2S Input auf USB.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Ein TMS320C5535 kann uebrigens auch den von einem TLV320AIC3204
gelieferten I2S-Datenstrom an ein USB-Interface reichen.
Umgekehrt natuerlich auch.

Funktionieren tut das mit dem W7-Standard-Audiotreiber.

Vermutlich ist also bei 192 kSps und 16 bit Schluss.

von Uwe B. (uwe_beis)


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4912569:
> Ein TMS320C5535 kann uebrigens auch den von einem TLV320AIC3204
> gelieferten I2S-Datenstrom an ein USB-Interface reichen.
> Umgekehrt natuerlich auch.
Das sehe ich auch so.

> Funktionieren tut das mit dem W7-Standard-Audiotreiber.
>
> Vermutlich ist also bei 192 kSps und 16 bit Schluss.
Das kann ich beides bestätigen. MAC und Linux auch 192/24.

Ich hatte damals ja auch Interesse an I2S -> USB Interfaces. 
Mittlerweile habe ich eine eigene Lösung, basierend auf einem PIC32MZ. 
Der kann USB Audio Class 2 für bis zu 192/24 auf MAC und Linux und USB 
Audio Class 1 für bis zu 96/24 und 192/16 auf Windows. Nebenbei: 
Angeblich soll Windows ab nächsten Monat auch UAC 2 können.

Ich will mich nicht mit fremden Federn schmücken: Der USB-Teil ist nicht 
von mir. Wir haben jetzt sogar eine Entwicklung mit 192/24 und 32 
Kanälen in Arbeit.

Details ggf. per PN.

von J. S. (engineer) Benutzerseite


Lesenswert?

Uwe B. schrieb:
> USB Audio Class 1 für bis zu 96/24 und 192/16 auf Windows. Nebenbei:
> Angeblich soll Windows ab nächsten Monat auch UAC 2 können.

Gibt es da was Neues?

von Clemens L. (c_l)


Lesenswert?

Jürgen S. schrieb:
>> Angeblich soll Windows ab nächsten Monat auch UAC 2 können.
>
> Gibt es da was Neues?

https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/usb-2-0-audio-drivers

von J. S. (engineer) Benutzerseite


Lesenswert?

Ah, da schau her: Win10 kann seit 4 Wochen USB Audio 2.0. Da hat man 
sich jetzt aber beeilt. Kaum ist die SPEC draußen, schon haben sie es 
drin :-;
Wäre nett gewesen, wenn es das für Win7 schon gegeben hätte, da hätte 
Ich das gebraucht. Besteht eigentlich eine Chance, den Treiber irgendwie 
ins Win7 reinzufummeln?

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.