USB Audio Reference Design operates is Full Speed only
Posted: Mon Jul 19, 2021 8:16 am
Hi,
Im working on USB Audio Class 2.0 custom board project, based on XU216-512-TQ128-C20.
On this board, XMOS is connected to USB port via GL850G USB hub chip. (XMOS ----> USB HUB ----> HOST PC)
My software starting point was USB Audio Device class 2.0 source code (6.15.2).
So far so good, I was able to get this working on my custom board, the music is being played via DAC etc.
But ...
In Windows Device Manager, i found that i cant set sampling rate beyond 96kHz (as opposite to MAX_FREQ define which is set to 384 kHz in the project). So something is definitely wrong with USB connection speed.
I found that there is a functionality in devicedefines.h file to allow Audio Class 2.0 device over Full Speed USB. And i think this is my case right now (because device is returning A2 USB descriptors and Windows can see it as Audio Class 2.0 device but with speed limited do 96 kHz sampling rate).
When i enable AUDIO_CLASS_FALLBACK, device immediately falls to Audio Class 1.0 returning A1 USB descriptors.
So my question is ...
Is it a software related problem (i messed up with some configuration in USB Reference Design), or hardware related (USB HUB is slowing down communication even thou XMOS is High Speed capable) ?
Some of my driver tools indeed says, that my XMOS is High Speed capable device (could it be possible to return A2 descriptors if not ?)
On the other hand, it looks like USB HUB is connected at Full Speed (but it is also High Speed capable ?!)
Any ideas here ?
Regards,
Ernest
Im working on USB Audio Class 2.0 custom board project, based on XU216-512-TQ128-C20.
On this board, XMOS is connected to USB port via GL850G USB hub chip. (XMOS ----> USB HUB ----> HOST PC)
My software starting point was USB Audio Device class 2.0 source code (6.15.2).
So far so good, I was able to get this working on my custom board, the music is being played via DAC etc.
But ...
In Windows Device Manager, i found that i cant set sampling rate beyond 96kHz (as opposite to MAX_FREQ define which is set to 384 kHz in the project). So something is definitely wrong with USB connection speed.
I found that there is a functionality in devicedefines.h file to allow Audio Class 2.0 device over Full Speed USB. And i think this is my case right now (because device is returning A2 USB descriptors and Windows can see it as Audio Class 2.0 device but with speed limited do 96 kHz sampling rate).
When i enable AUDIO_CLASS_FALLBACK, device immediately falls to Audio Class 1.0 returning A1 USB descriptors.
So my question is ...
Is it a software related problem (i messed up with some configuration in USB Reference Design), or hardware related (USB HUB is slowing down communication even thou XMOS is High Speed capable) ?
Some of my driver tools indeed says, that my XMOS is High Speed capable device (could it be possible to return A2 descriptors if not ?)
On the other hand, it looks like USB HUB is connected at Full Speed (but it is also High Speed capable ?!)
Any ideas here ?
Regards,
Ernest