Dear list,
I made an embedded device that has a CODEC with 6 inputs connected to an ARM9 micro-controller that has an integrated high-speed USB controller. Now, I need to write the USB code on that micro-controller so that i can capture those channels in real-time at 24bits / 48 KHz with low latency (ie. sub 10ms), on a computer.
I only need my device to work with Linux, and if possible, I would like to avoid writing a device driver on the Linux-side.
Is there already such a USB audio driver available that I could nearly use "as is" and to which i would conform ?
Would you have some general guideline on how to write the high-speed USB device code ?
Would you have any comment on the following :
For simplicity, my device is going to be the "clock master" of the system since it is already has the exact clock that drives the CODEC. I will maintain a circular buffer of samples (well, frames of samples) coming from the CODEC. Each time a new frame arrives, i put the samples in the buffer and increase a counter so i know how many frames of samples I have in the buffer, ready to be sent. Each USB micro-frame (125ms/8000Hz), I send all the bytes corresponding to the frames that I have in the circular buffer. In average, 6*3*48000/8000 = 108, but I presume that could jitter slightly, which should not be a problem at all.
Thanks in advance, Laurent
_________________________________________________________________ Windows Liveā¢ HotmailĀ®: Celebrate the moment with your favorite sports pics. Check it out. http://www.windowslive.com/Online/Hotmail/Campaign/QuickAdd?ocid=TXT_TAGLM_W...