I am using a VNC2 (in the 32-bit VDIP board and the full Vinculum tool chain) to develop a USB audio host for a design I'm working on. My 2 test audio devices are a Logitech headset (headphones that can be mono or stereo and 8KHz to 48KHz sampling; mono microphone with the same sampling range) and a USB Soundblaster device (stereo headphones at 8KHz and 48KHz sampling; mono microphone a the same sampling frequencies) and the issue I'm having is the same for both.
I have the code that selects the correct interface alternate and sampling frequency and that all seems to work OK (the returned status codes are all 'success').
However when I try to send (or receive) PCM data to the audio device, I am always getting a "Buffer Overrun" error (#8) no matter what buffer and frame sizes I'm setting up.
I have tried writing to the FTDI support email address and their suggestions were to use the USBHost 'USBMic' example (which does't work with the same error message) or 'use another device' (which I think is unhelpful for a product that is supposed to handle any correctly constructed audio USB device - which I believe these are).
I must admit that I am doing one thing that is a bit 'strange' in that I'm reading and parsing the raw descriptor data to locate the available sampling frequencies and channel counts etc fort the various interfaces and alternates. I cannot see how this is done with the Vinculum API itself. However, having found the data I'm interested in, I use code that is almost directly taken from the FTDI sample code to scan all interfaces and select the appropriate interfaces, alternates and endpoints to get the 'handle's that are needed.
Has anyone managed to get the VNC2 chips to work as an isochronous host? Would you be willing to share the code as to how this is supposed to be done?
Alternatively, can anyone provide any pointers or suggestions as to how to get this chip to work as an isochronous host?
Susan