Microchip's 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 functionallity 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 the MPLAB® Harmony.
Android Open Accessory (AoA): Using AOA enables to transmit the data between Android-powered device and external USB hardware. Moreover, it enables intercommunication control, that is, not just from Android-powered device to a product, but also from a product to Android-powered device.
Headphone: Interface to a headphone that has both speaker and Microphone Functionallity.
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, but 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