Microchip Technology Inc
Menu

PIC32 Bluetooth® Audio Software Suites

Bluetooth Audio Software Stack Overview

The Bluetooth audio software stack enables Bluetooth devices to locate each other and establish connections to exchange data and interact with one another over Bluetooth. Below is a block diagram of the Bluetooth audio stack with all the available protocols and profiles. It consists of the controller interface, the Bluetooth protocols which form the Bluetooth core and the Bluetooth profiles.

Serial Port Profile (SPP)

Bluetooth SPP is the basic data transfer profile and serves as the basis for AVRCP and HSP profiles. This profile defines the requirements for Bluetooth devices necessary for setting up emulated serial connections using RFCOMM between two peer devices. Each serial port connection can connect two Bluetooth-enabled devices.

Microchip offers a basic PIC32 Bluetooth serial port profile available as a free download here

Advanced Audio Distribution Profile (A2DP)

The Advanced Audio Distribution Profile (A2DP) defines the protocols and procedures that realize distribution of audio content of high-quality in mono or stereo channels over Bluetooth. A typical usage case is wirelessly streaming music from a stereo music player to headphones or speakers. The audio data is compressed in an appropriate format for efficient use of the limited bandwidth. A2DP includes mandatory support for Low Complexity Subband Coding (SBC) of an audio stream, but can also support MPEG-1, MPEG-2, MPEG-4 and AAC codecs. MP3 audio is the more common reference to the MPEG-1 Part 3 audio compression standard.

A/V Remote Control Profile (AVRCP)

This profile defines the requirements for Bluetooth devices necessary for the support of the remote control options and track metadata access. This profile is designed to provide a standard interface to control Bluetooth sound docks, headphones, TVs and other devices, and to allow a single remote to control all of the Bluetooth-enabled A/V equipment. For example, it is used for providing audio controls such as play, pause, skip forward, skip backward, fast forward and rewind. PIC32 MCUs now supports AVRCP version 1.5, which includes provisions for bi-directional volume control.

Headset Profile (HSP)

HSP is considered the most commonly used Bluetooth profile, allowing headsets to connect to mobile devices. It is based on Synchronous Connection-Oriented (SCO) link or PCM, and is only capable of carrying a mono audio signal. HSP offers basic phone controls including ring, answer, hang up and volume adjust.

Hands Free Profile (HFP)

Hands-Free Profile, or HFP, is a common profile used to allow a hands-free car kit or speaker system to connect to a phone source. In addition to the features found in the Headset profile, HFP adds last number redial, call waiting and voice dialing. HFP and HSP are commonly used together to maximize functionality and compatibility with cellular phones. As the primary difference from HSP, HFP can utilize the mSBC encoder for higher audio quality.

Phone Book Access (PBAP)

Phone Book Access (PBAP) is a profile commonly used in conjunction with the HFP profile. It allows a user's phone book to be downloaded to the Bluetooth sink device, such as a car's touchscreen, to display the name of the caller when an incoming call is received. Additionally, it enables the audio sink to allow users to search and scan through their phone book and initiate calls directly.

Bluetooth Break-In Mode

Bluetooth Break-In mode is an application that allows for multiple source devices to connect to one Bluetooth sink. Up to seven devices can pair and connect simultaneously, with the last commanded action becoming the device of focus. The PIC32 Break-in Solution offers support for both audio and SPP data applications. The SPP Data application is included for free in the basic SPP Bluetooth software stack, and is configurable through MPLAB® Harmony Configurator. Break-in for audio applications carries an additional royalty surcharge per unit.

PIC32 SBC Decoder Library

Low Complexity Subband Coding (SBC) is an audio coding scheme specially designed for Bluetooth audio and video applications to achieve high quality audio transfer at medium bitrates, while maintaining a low computational complexity. It is specified by the Bluetooth Special Interest Group (SIG) for the Advanced Audio Distribution Profile (A2DP). To ensure interoperability, the SBC codec is a mandatory requirement for A2DP support and all other codecs are optional. Microchip offers an SBC decoder as part of both Bluetooth Audio Software Suites 1 and 2.

PIC32 AAC Decoder Library

Advanced Audio Coding (AAC) is a standardized lossy compression scheme for digital audio that was intended to be the successor for the MP3 standard. The AAC audio compression standard is common to Apple® iPhone®, iPod® and iPad® devices. AAC decode is available in the PIC32 Bluetooth Audio Software Suite 2 package.

For MPLAB Harmony based version of PIC32 AAC Decoder Library, click here

For MLA based version of PIC32 AAC Decoder Library, click here

MP3 Decoder Libraries for PIC32

MP3 is a compression format for storing digital audio data. It is an audio codec that has the capability to compress the original audio source with minor loss in sound quality. The higher the compression ratio, the lower the quality. Therefore, there is a balancing act between file size and audio quality. With the right combination, MP3 encoded data can provide very high quality audio.

Microchip offers a compact MP3 Decoder Library that enables usage on small-memory-footprint PIC32MX and PIC32MZ devices, thus reducing your system level cost. This library is available only on CD, in either source or binary form. Microchip must verify that the purchasing company is a Technicolor licensee.

For MPLAB Harmony based version of MP3 Decoder Library for PIC32, click here

For MLA based version of MP3 Decoder Library for PIC32, click here

Microsoft WMA Decoder Library for PIC32

Windows Media Audio (WMA), developed by Microsoft, is a format enabling the storage of digital audio using the lossy compression algorithm. The Microchip WMA Decoder can decode audio signals sampled at up to 48 kHz with up to two discrete channels. The WMA Decoder also supports VBR and CBR encoded audio streams. In most circumstances, .wma files are contained in Advance Systems Format (ASF), which is supported by the WMA Decoder. Microchip provides software libraries allowing you to build audio applications with high-quality and professional results. The WMA Decoder library is optimized (C/ASM) and is available for all PIC32MX devices.

For MPLAB Harmony based version of Microsoft WMA Decoder Library for PIC32, click here

For MLA based version of Microsoft WMA Decoder Library for PIC32, click here

PIC32 Audio Equalizer and Filter Library

The PIC32 Audio Equalizer (EQ) Filter Library is specifically designed to assist with multiple-frequency filtering of digital audio. The library can work from multiple audio sources, and customize the listening experience to compensate for speaker, room/enclosure acoustics or user preferences. The library can support either graphic equalizer or parametric equalizer filtering functions.

An optional element of graphical frequency-band magnitude is also available to enable a real-time display of the audio output.

For more information or to download this library click here

Microchip Audio Software Suites and Demo Projects

Microchip currently offers five different Bluetooth audio suites for PIC32 devices. All suites include a base level Bluetooth stack, SPP Profile, A2DP, AVRCP and SDP. Suites offer additional functionality as shown below. All software packages are compatible with the Bluetooth Audio Developers Kit, part number DV320032. Application resources by demo are listed below. Equalization, filtering libraries, additional driver resources and graphics packages are also included in each suite.

Bluetooth Suite 1 – Bluetooth Stack, SPP and Audio with SBC decoder
Contains Demos 2.5, 4, 5, 7, 8 and 11

Click Here to Purchase – SW320014-1

Bluetooth Suite 2 v4.0 – Bluetooth Stack, SPP and Audio with SBC + AAC decoder
Contains Demos 2.5, 4, 5, 6, 6.5A, 7, 8 and 11

Click Here to Purchase – SW320014-2

Bluetooth Suite 3 v4.0 – Bluetooth Stack, SPP and Audio with SBC + AAC decoding and “Break-In” Mode supporting up to seven audio connections
Contains Demos 2.5, 4, 5, 6, 6.5A, 7, 8, 9,10,11 and 13

Contact MCU32 Marketing for more information regarding Bluetooth Suite 3 (Re-use the contact form on the current page)

Bluetooth Suite 4 – Bluetooth Stack, SPP and Audio with SBC and HFP/HSP and PBAP
Contains Demos 2.5, 4, 5, 7, 8 and 12

Click Here to Purchase – Coming Soon

Bluetooth Suite 5 – Bluetooth Audio with SBC decoding and USB MP3 decoding
Contains Demos 2.5, 4, 5, 7, 8, 11 and 14

Click Here To Purchase - SW320014-5

Existing customers please note that existing suites have been updated. Existing customers can obtain an updated version by logging into your microchipDIRECT account here to obtain a free update.

Table 4-3: v3.5 Demonstrations and Resource Requirements (Non-RTOS Version)

Demo Name

Demo Description

Comment

BT Audio Demo 2.5

Bluetooth® Stack (A2DP + AVRCP + SPP + SBC) + Android™ Open Accessory audio Type-A USB connection support and Samsung® audio with mini-B USB connection support.

No Apple® USB audio support.

BT Audio Demo 2.5A

Bluetooth Stack (A2DP + AVRCP + SPP + SBC) + Android Open Accessory audio Type-A USB connection support and Samsung audio with mini-B USB connection support. Also includes Apple MiFi stack + Apple iAP connection support for Apple authenticated designs.

Includes Apple USB audio support. Available by special request only to registered Apple certified developers.

BT Audio Demo 3

Bluetooth Stack (A2DP + AVRCP + SPP + AAC decoder) + Graphics. This demonstration uses the higher quality AAC audio decoder in place of the SBC decoder.

Bluetooth audio only; no USB audio support.

BT Demo 4

Bluetooth Stack supporting SPP data only

BT2.1 EDR SPP Data only

BT Audio Demo 5

Bluetooth Stack (A2DP + AVRCP + SPP + SBC decoder) + Graphics.

Bluetooth audio only; no USB support.

BT Audio Demo 6*

Bluetooth Stack (A2DP + AVRCP + SPP + SBC) + AAC decoder + Android Open Accessory audio Type-A USB connection support and Samsung audio with mini-B USB connection support.

No Apple USB Support

BT Audio Demo 6.5A

Bluetooth Stack (A2DP + AVRCP + SPP + SBC) + AAC + Android Open Accessory audio Type-A USB connection support and Samsung audio with mini-B USB connection support. Also includes Apple MiFi stack + Apple iAP connection support for Apple authenticated designs.

Includes Apple USB audio support. Available by special request only to registered Apple certified developers.

BT Audio Demo 7*

Bluetooth Stack (A2DP + AVRCP + SPP + SBC Decoder) + Graphical Equalizer

 

BT Audio Demo 8

Bluetooth Stack (A2DP + AVRCP + SPP + SBC Decoder) + USB Thumbdrive Support with MP3 Decoding + Graphical Equalizer

 

BT Audio Demo 9**

Bluetooth Stack (A2DP + AVRCP + SPP + SBC Decoder) + Break-In mode

Functionally equivalent to Demo 5 with additional Break-In mode support

BT Audio Demo 10**

Bluetooth Stack (A2DP + AVRCP + SPP + SBC) + Android Open Accessory audio Type-A USB connection + Break-In mode

Functionally equivalent to demo 2.5 with additional Break In mode support

BT Audio Demo 11

Bluetooth Stack (A2DP + AVRCP + SPP + SBC) with Concurrent SPP Data Channel

 

BT Audio Demo 12

Bluetooth Stack (A2DP + AVRCP + SPP + SBC) + HFP/PBP with hardware-based Echo Cancellation

 

BT Audio Demo 13

Bluetooth Stack (A2DP + AVRCP + SPP + SBC) + Break-In mode – Supports both audio break-in and data SPP break-in simultaneously

 

Audio Demo 14

USB Audio Supporting MP3 decode + USB Thumb Drive File System

 


Application Memory Usage (Flash/RAM) by Compiler Mode

 

Resource

Flash Memory (KB)

RAM Memory (KB)

Optimization

-s

-3

-0

-s

-3

-0

#

Function

Display

 

 

 

 

 

 

Demo 2.5

USB + BT A2DP SBC

On

232

266.6

309.4

38.2

38.4

38.3

Off

190.2

211.1

252.8

34.8

34.9

34.8

Demo 3

BT A2DP AAC

On

249.6

268.6

282.8

34.9

35.0

34.9

Off

208.6

214.1

227.4

31.4

31.6

31.5

Demo 4

SPP (Data Only)

On

120.9

132.9

142.2

68.3

69.0

68.3

Off

92.0

94.4

100.8

36.6

36.8

36.5

Demo 5 

BT A2DP SBC

On

188.6

206.9

221.4

34.4

34.6

34.4

Off

147.6

152.4

166

31

31.1

31

Demo 6 

USB + BT A2DP AAC

On

292.9

327.7

370.9

39

39.3

39.1

Off

251.1

272.2

314.3

35.1

35.3

35.2

Demo 7 

BT A2DP SBC + EQ

On

200.5

222.5

239.7

51.9

52.1

52.1

Off

188.6

207.6

221.5

48.4

48.6

48.5

Demo 8 

USB + BT A2DP SBC + EQ

On

252.9

291

334.9

39.4

39.6

39.4

Off

232.6

267.2

310

38.3

38.4

38.3

Demo 9 

BT A2DP SBC + Multi-channel (break-in)

On

195.6

218.1

231.6

48.5

48.6

48.5

Off

164.2

174.0

186.0

45.8

45.8

45.8

Demo 10 

USB + BT A2DP SBC + Multi-channel (break-in)

On

240.1

279.8

323.8

52.4

52.6

52.5

Off

205.8

231.8

274.6

49.3

49.3

49.3

Demo 11 

BT A2DP SBC + SPP

On

213.5

233.3

249.6

49.5

49.7

49.6

Off

172.1

178

193.1

46

46.2

46.1

Demo 12 

BT A2DP SBC + HFP/PBP w/ Hardware Echo Cancellation

TBD

TBD

TBD

TBD

TBD

TBD

TBD

Off

TBD

TBD

TBD

TBD

TBD

TBD

Demo 13 

BT A2DP SBC w/ Break-In + SPP w/ Break-In

TBD

TBD

TBD

TBD

TBD

TBD

TBD

Off

TBD

TBD

TBD

TBD

TBD

TBD

Demo 14 

USB Audio + USB Drive File System

TBD

TBD

TBD

TBD

TBD

TBD

TBD

Off

TBD

TBD

TBD

TBD

TBD

TBD