Select your USB audio MCU with care: Scary stories from the test bench
USB audio is alive and well, and reports of its demise at the hands of wireless transports such as Wifi and Bluetooth are premature. It has recently become an especially important factor in digital audio (and audio+MIDI) accessories for the music industry (mixers, DJ equipment, digital audio interfaces, microphones, etc.).
More and more, powerful mobile devices are replacing laptops and portable computers, as highlighted in this USA Today article. And the need for USB audio doesn't stop at professionals or 'prosumer' users, as it's now readily accessible on many mobile OSs such as iOS and Android, and on hobbyist/maker SBCs such as the Raspberry Pi and BeagleBone Black.
It's a low-cost, low-power approach to the transport of digital audio and, at its best, can deliver a combination of high quality and low latency that the common wireless methods can't match. But there's the rub – you need to make sure it's working at its best!
The key problem that needs to be solved when replaying (or recording) high-quality audio through a USB interface is the generation of the necessary converter master clocks to a very high degree of stability and accuracy. Shortcomings in the audio clock recovery process caused by insufficient attention to detail at the design stage can easily result in measurable imperfections and clearly audible nuisance even to the average consumer. For more about the basics of USB audio modes themselves, check out this presentation on audio interfacing from a 2011 Audio Engineering Society conference.
The flexibility of the latest programmable system-on-chip devices, typified by Cypress Semiconductor's PSoC 3 family, can be exploited to provide cost-effective, robust and accurate audio master clock generation especially suited to low-power portable systems. An overview of an approach based on such a SoC is given in "Designing Modern USB Audio Systems." For those with a deep interest in frequency synthesis, the hardware clock recovery methodology is described in detail in the AES paper ("Programmable Clock Generation and Synchronization for USB Audio Systems") that accompanied the conference presentation linked above.
Since those papers were written, the USB audio team at Cypress Semiconductor has, in the interests of research, spent a lot of time tearing down, testing and measuring a wide range of units with USB audio capability – not only commercial products but also examples of dev kits and reference designs from microcontroller vendors. As a vendor, programs of careful testing and competitive benchmarking are crucial to ensure that the quality of the design meets customers' needs and audio industry expectations. There are few things worse than getting a customer bug report about a defect that should have been found before releasing a reference design.
These testing sessions uncovered a rogues' gallery of audio quality issues. The quality and integrity of audio replay was sometimes surprisingly poor. The audio industry has accumulated an immense body of work on determining the quality of reproduction and the audibility of impairments. It appears that this understanding of audio may have passed the current generation of microcontroller suppliers by, resulting in a generally rather poor standard of audio replay.
That may be down to a tendency for pure-play MCU companies to treat audio as just another data interface format, without a real understanding of what's important for achieving good audio quality. Most vendors acknowledge, from their app notes for example, that managing the time-domain integrity of reproduced audio data is critical to audio quality. But acknowledging the problem is one thing; solving it is another.
Some of the methods proposed and implemented for generating the audio master clock and managing data synchronization have no place in a high-quality audio product, as measurement clearly reveals. The rest of this article is a tour through that rogues' gallery, highlighting some of the most egregious problems uncovered, and discussing the issues behind them.