This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C123FH6PM: Developing USB audio interface

Part Number: TM4C123FH6PM

Hello!

I am starting development of custom digital audio amplifier and whant it to act also as USB sound card. Is there any guidelines for creating USB device capable to receive 5.1 96kHz audio stream from computer?

  • Hello Oleg,

    Can you explain more about how your system would be setup and what role you want the TM4C to have? For example, would you have any audio chips that are interfaced to it or were you planning to do all the audio processing within the TM4C?

    Depending how much the TM4C would be asked to do, it may not be a good fit for this. It's not really a DSP, so depending on your requirements you may find that you'd need to depend on external chips to process the audio.

    As far as setting up the USB portion, it should be possible to put it into an audio device mode but we only have example code for audio host mode, so you'd need to modify a device example to meet your needs.
  • Hello!

    I will use TAS3251DKQR as an amplifier, one for front channel, one for rear and one for center/sub, and as it has uDSP inside, no signal processing would be performed inside TM4C. The question is how to code USB part for MCU, so it would be seen from OS as 5.1 audio device, as the example shows only how to create stereo audio device.

  • Hello Oleg,

    Understood, it sounds like that is a very doable setup then. Unfortunately as far as the specifics to make the TM4C appear as a USB device that is a 5.1 audio device, I don't have an example that does this but we do have audio device files within the usblib offering included within TivaWare. Those files are usbdaudio.c and .h file and are under the usblib/device directory.

    The .c file already includes a lot of what is needed for the audio device descriptor, so what you would need to do is check what are the specific considerations to ensure the device is seen as a 5.1 compatible device rather than a stereo device and make adjustments to the descriptors (preferably on the application side via the descriptor structures such as those seen in usb_dev_bulk or usb_dev_serial).