Android - USB Digital Audio
http://source.android.com/devices/audio_usb.html
Android USB modes
. Host mode
[Android device as USB host >> USB OTG cable >> standard USB DAC as USB peripheral]
"As the Android device must act as host, and most Android devices include a micro-USB connector that does not directly permit host operation, an On-The-Go (OTG) adapter such as this is usually required:"
[A special micro USB plug, i.e. micro USB OTG plug, with "pin 4/ID connected to pin 5/Ground" (or "ID pin grounded"), when inserted into a micro USB receptacle of a USB OTG-featured Android device, will switch this Android device to USB host mode, able to interwork with a USB peripheral device like a standard USB DAC.]
"An Android device might not provide sufficient power to operate a particular peripheral, depending on how much power the peripheral needs, and how much the Android device is capable of supplying. Even if adequate power is available, the Android device battery charge may be significantly shortened. For these situations, use a powered hub such as this:"
[500 mA is a maximum current load required by a standard USB DAC. The latest flagship Android devices can provide 500 mA.]
. Accessory mode
"In this mode, the Android device operates as a USB peripheral, under the control of another device such as a dock that serves as host.
Accessory mode was extended with additional features in Android 4.1, in particular audio described below."
[Android device as USB peripheral >> regular USB cable >> Android-specific USB DAC compliant with the Android Open Accessory protocol 2.0 (AOA 2.0)]
Android support for USB audio class
. Host mode
"Android 5.0 (API level 21) and above supports a subset of USB audio class 1 (UAC1) features:
. The Android device must act as host
. The audio format must be PCM (interface type I)
. The bit depth must be 16-bits, 24-bits, or 32-bits where 24 bits of useful audio data are left-justified within the most significant bits of the 32-bit word
. The sample rate must be either
48, 44.1, 32, 24, 22.05, 16, 12, 11.025, or 8 kHz
. The channel count must be 1 (mono) or 2 (stereo)"
[The USB Audio Class 1 (UAC1) standard allows for 96 kHz max.
USB Audio Class 2 (UAC2) additionally supports sample rates up to 384 kHz.]
. Accessory mode
"Android 4.1 (API level 16) added limited support for audio playback to the host. While in accessory mode, Android automatically routes its audio output to USB.
The audio format must be 16-bit PCM.
The sample rate must be 44.1 kHz.
The channel count must be 2 (stereo).
Accessory mode audio has not been widely adopted, and is not currently recommended for new designs."
[An Android-specific USB DAC is compliant with the Android Open Accessory protocol 2.0 (AOA 2.0).]
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/5145#post_10762672
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/5295#post_10838611
http://www.head-fi.org/t/595071/android-phones-and-usb-dacs/5490#post_10963953
http://www.pioneerelectronics.com/PUSA/Car/UnAssigned-Content/Android+Compatibility
http://www.jvc.net/cs/car/firmware/2014/aoa/index.html
Applications of USB digital audio - A tale of two DACs
"In the example diagram below, we compare two designs. First we have a mobile device with Application Processor (AP), on-board DAC, amplifier, and analog TRS connector attached to headphones. We also consider a mobile device with USB connected to external USB DAC and amplifier, also with headphones.
Which design is better? The answer depends on your needs. Each has advantages and disadvantages.
Note: this is an artificial comparison, since a real Android device would probably have both options available.
The first design A is simpler, less expensive, uses less power, and will be a more reliable design assuming otherwise equally reliable components. However, there are usually audio quality tradeoffs vs. other requirements. For example, if this is a mass-market device, it may be designed to fit the needs of the general consumer, not for the audiophile.
In the second design, the external audio peripheral C can be designed for higher audio quality and greater power output without impacting the cost of the basic mass market Android device B. Yes, it is a more expensive design, but the cost is absorbed only by those who want it.
Mobile devices are notorious for having high-density circuit boards, which can result in more opportunities for crosstalk that degrades adjacent analog signals. Digital communication is less susceptible to noise, so moving the DAC from the Android device A to an external circuit board C allows the final analog stages to be physically and electrically isolated from the dense and noisy circuit board, resulting in higher fidelity audio.
On the other hand, the second design is more complex, and with added complexity come more opportunities for things to fail. There is also additional latency from the USB controllers."
Implementing USB audio
. Recommendations for audio peripheral vendors
"In order to inter-operate with Android devices, audio peripheral vendors should:
. design for audio class compliance; currently Android targets class 1, but it is wise to plan for class 2
. avoid quirks
. test for inter-operability with reference and popular Android devices
. clearly document supported features, audio class compliance, power requirements, etc. so that consumers can make informed decisions."
. Recommendations for Android device OEMs and SoC vendors
"In order to support USB digital audio, device OEMs and SoC vendors should:
. enable all kernel features needed: USB host mode, USB audio, isochronous transfer mode
. keep up-to-date with recent kernel releases and patches; despite the noble goal of class compliance, there are extant audio peripherals with quirks, and recent kernels have workarounds for such quirks
. enable USB audio policy as described below
. test for inter-operability with common USB audio peripherals."