I've been working with the MCUXpresso SDK and USB middleware stack for a few days now.
My application requires the ability to stream 16-bit ADC readings from a microphone to a desktop program through USB audio.
The application's sample rate is 22.050kHz at 16-bits. I am using a KL27Z4 with 128kB Flash and 32kB RAM.
I have the "USB_Audio_Generator" example running on the KL27 right now, however the example application transfers only 8-bit audio at 8kHz. My understanding is that even at 22.050kHz and 16-bits, I would not be using anywhere near the theoretical maximum bandwidth of USB full-speed.
My question is this: what modifications would be necessary to the example in order to achieve 16-bit depth at 22.050kHz as opposed to the original 8-bit @ 8kHz?
I am somewhat familiar with the basics of USB (endpoints, transfer types, etc). I have tried modifying the device descriptor files and have successfully changed it to 22050Hz sampling rate and 16-bit depth, but no audio streams out of the device. I have also tried changing the maximum packet size for the isochronous transfer endpoint to 1023 (maximum allowed, as opposed to original 8)
The device enumerates correctly but I cannot record anything with it or hear anything when I pass through to my speakers.
Let me know your ideas!