Our PIC32 MCUs offer high-resolution audio interfacing for USB applications, enabling higher-quality sound for today's audio designs in an affordable package. Offering scalable performance—from low-cost PIC32MX devices supporting up to 96 kHz audio, to high-performance devices capable of handling up to 192 kHz—these devices are capable of running additional functions including graphics and user interfaces. The following diagram is a high level overview of the USB audio functionality supported.
The following are some examples of applications supported in both USB Host Mode and USB Device Mode:
USB Host Mode
- Mass Storage Device – Interface to a USB thumb drive for audio playback using the FAT file system and Universal Audio Decoders within MPLAB® Harmony.
- Android™ Open Accessory (AoA) – Using AOA enables transmission of data between an Android-powered device and an external USB hardware. Moreover, it enables intercommunication control, not just from an Android-powered device to a product, but also from a product to an Android-powered device.
- Headphone – Interface to a headphone that has both speaker and microphone functionality.
USB Device Mode
- High Resolution Audio – Up to 192Khz/24-Bit audio streamed from the a laptop, for example. The audio is decoded on the laptop and streamed via PCM.
- Audio Device Class (USB 1.0) – Examples of Audio USB Devices include USB speakers, microphones and voice telephony.
- Samsung Audio – Samsung Audio is specific to Samsung devices.
- Within MPLAB Harmony, there are several demo applications which include:
- mac_audio_hi_res – This demonstration application uses the USB Audio 2.0 Device class to implement a speaker. This application is natively supported on Apple® devices. Microsoft Windows® will require a special driver(1). This is only required for 192Khz Audio. 96Khz/24-Bit is natively supported by Windows.
- sdcard_usb_audio – The demonstration application creates an audio player that reads audio files (.WAV format only) from an SD card.
- usb_headset – This demonstration application configures the a USB headset system configurable to 48/32/16 kHz sampling rate at 16 bit per sample.
- usb_microphone – This demonstration application configures a USB microphone system operating at a 16 kHz sampling rate with 16-bit data.
- usb_microphone_multirate – This demonstration application configures a USB microphone system operating at a 16 kHz sampling rate with 16-bit data.
- usb_speaker – This demonstration application configures a USB Speaker device to run at a 48 kHz sampling rate at 16-bits per sample.
The above demo applications are available for both 96 kHz through 192 kHz audio (mac_audio_hi_res.) Note that an additional Windows driver is also required for 192 kHz and above. Download is available at the bottom of the page.
(1)PIC32 High-Resolution Audio Windows Demo Driver – Provided by Thesycon Software Solutions.