Forum: Mikrocontroller und Digitale Elektronik USB DAC auf korrekte Funktion überprüfen


von Maria S. (doc-brown)


Lesenswert?

Hallo ins Forum,

mir liegt hier ein D/A Wandler für Audio vor. Der hat einen USB Eingang 
mit Umsetzung durch einen PCM2706 nach I2S und ist weiter 1:1 verbunden 
(Die beiden ICs sitzen auf separaten PCBs.) in einen PCM5102a zur 
Wandlung nach analog Audio Rechts und Links.

Der PCM5102a soll angeblich 32-bit 384 kHz PCM Signale wandeln können.
Eine Musik Datei mit 32-bit 384 kHz habe ich zum Testen.

- Warum ich das prüfen möchte:
Die Audio Einstellungen unter Debian 10 (buster) zeigen folgende drei 
Auswahlmöglichkeiten, wenn der o.g. Wandler angeschlossen ist:

Digitalausgang(S/PDIF)-PCM2706C stereo audio DAC
mit Profil:
Digital Stereo (IEC958)-Ausgabe

Analoge Ausgabe-PCM2706C stereo audio DAC
mit Profil:
analog Stereo-Ausgabe
oder
analog Mono-Ausgabe
wählbar

Digitalausgang(S/PDIF)-VT8237A/VT8251 HDA Controller
mit Profil:
Digital Stereo (IEC958)-Ausgabe

- Das verwundert mich:
Nun kann der PCM2706 DAC aber laut Datenblatt lediglich 48 kHz. Es wird 
allerdings nur das I2S Signal abgegriffen und in den PCM5102a geleitet.

Die o.g. Musikdatei spielt über das externe Gerät, egal welche der 
PCM2706C Einstellungen ich wähle. Allerdings kann ich diese Datei auch 
über Wandler hören, die nicht 32-bit 384 kHz fähig sind wie der VT. Dort 
muss also vorher ein Downsampling statt finden.

Schaue ich nun auch noch in die Einstellungen von Jackd, so erkennt er 
einen nicht näher spezifizierten USB Audio DAC und es sind dort maximal 
192kHz einstellbar.

Wenn das OS nur den PCM2706C erkennt, wird dann trotzdem die volle 
Bandbreite an den PCM5102a weiter gegeben?

Wenn nicht, ist der PCM2706 als USB zu I2S Wandler für den PCM5102a 
ungeeignet und welche Alternative gibt es?

Kann mir jemand sagen, wie ich das prüfen kann?

Vielen Dank

Maria S.

von Thomas Z. (usbman)


Lesenswert?

die Usb Schnittstelle ist mit dem PCM2706 gemacht das is ein FS Chip.
FS (12MBIT) reicht für 8 Kanäle 48K/16bit. 24Bit/96k mit 2 Kanälen ist 
das Maximum bei Fullspeed. Alles andere ist gelogen. Einstellungen die 
der Chip nicht kann werden vom kmixer up bzw downgesamplet.

Wenn ich mich richtig errinnere macht das Teil 48k/16 bit. Die 
Dskriptoren könnten dir das genauer sagen.

Deine 32 Bit/384k sind vollkommen aus der Luft gegriffen.

Thomas

: Bearbeitet durch User
von Weg mit dem Troll (Gast)


Lesenswert?

> Eine Musik Datei mit 32-bit 384 kHz

Allenfalls waeren 384 kBit gemeint.  Das
waeren dann 48kSample mit 2 x 16Bit.

von Maria S. (doc-brown)


Lesenswert?

Fast ... ;-)

Der Player Zeigt beim Abspielen der Audiodatei

Codec: Uncompressed 32-bit PCM audio
Kanäle: Stereo
Abtastrate: 384000 Hz
Bitrate: 24576 kbit/s

Bei einer Dauer von 6 Minuten 43 Sekunden ist die wav-Datei 1,2 GB 
(1.238.077.484 Bytes) groß, sodass mir dies schon glaubhaft erscheint.

von Wolfgang (Gast)


Lesenswert?

Weg mit dem Troll schrieb:
> Allenfalls waeren 384 kBit gemeint.  Das
> waeren dann 48kSample mit 2 x 16Bit.

Den Einwurf vergiss besser gleich wieder.

von Thomas Z. (usbman)


Lesenswert?

Maria S. schrieb:
> Codec: Uncompressed 32-bit PCM audio
> Kanäle: Stereo
> Abtastrate: 384000 Hz
> Bitrate: 24576 kbit/s

das ist zwar schön spielt aber überhaupt keine Rolle.
wie stellst du dir genau vor 24 Mbit über eine 12MBit USB Verbindung zu 
bekommen?

von Weg mit dem Troll (Gast)


Lesenswert?

> wie stellst du dir genau vor 24 Mbit über eine 12MBit USB Verbindung zu
bekommen?

Naja. Ein bis zwei mal durch einen Kompressionsalogorithmus.

von Thomas Z. (usbman)


Lesenswert?

Weg mit dem Troll schrieb:
> Naja. Ein bis zwei mal durch einen Kompressionsalogorithmus.

usbaudio macht keine Kompression. Der Chip macht 16Bit/48k stereo auf 
playback und ev das gleiche nochmal bei record. Viel mehr geht bei UAC1 
nicht. Was auf dem Host vorher passiert ist nicht relevant.
über die Usb Schnittstelle geht uncompressed audio und im Falle des PCM 
nach meiner Erinnerung max 4 Kanäle in 16Bit/48k

Thomas

von Maria S. (doc-brown)


Lesenswert?

Um den Sinn von HD-Audio soll es hier nicht gehen.

Z.B.: Ein Behringer UMC404HD liefert 4 Mikrofonkanäle in 192kHZ 24Bit 
über USB 2.0 an den PC und zurück.

Der Raspberry Pi hat eine I2S Schnittstelle an den man einen PCM5102A 
direkt anschliessen kann.

Wie kann man nun einen PCM5102A adäquat vom PC (via USB) versorgen?

von Thomas Z. (usbman)


Lesenswert?

Maria S. schrieb:
> Z.B.: Ein Behringer UMC404HD liefert 4 Mikrofonkanäle in 192kHZ 24Bit
> über USB 2.0 an den PC und zurück.

Ich kenn das Teil nicht Google sage aber wohl XMOS Chip. Das ist ein HS 
Device mit Thesycon USB Audio Treibern deshalb kann das auch die 192k 
bei 24 Bit. Das ist einfach ein UAC2 Device. UAC2 funktioniert erst mit 
neueren W10 Versionen direkt. Vorher war da ein spezieller Treiber 
notwendig. Der wurde in aller Regel von Thesycon lizenziert.

Du hast aber nach PCM2706 gefragt und das ist was total anderes. Eben 
nur FS Speed.

Ein paar Abkürzungen
HS: 480 MBit
FS: 12 MBit
UAC1:  USB Audio 1.0
UAC2:USB Audio 2.0


Zu deinem DAC
I2S kann der ja du musst halt einen XMOS USB Chip verwenden. Mit dem 
2706 wird die Schnittstelle nur mit 48k 16bit laufen.

Thomas

von Maria S. (doc-brown)


Lesenswert?

Den PCM2706 hatte ich bereits als Flaschenhals im Verdacht, was mir hier 
nun bestätigt wird. (Es hätte sein können, dass der USB to I2S Teil 
schneller wäre, als der D/A Wandler Teil das benötigt.)

Das Behringer Audio Interface hat bei mir schon mit Debian 8 (1/2013 
gekauft) direkt funktioniert, ohne etwas zu installieren. Das steht auch 
so auf der Seite von Thesycon, dass bei Linux keine Treiber benötigt 
werden. Dann würde ich einen USB nach I2S Wandler mit einem UAC2 Chip, 
wie dem XU208 von XMOS probieren.

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.