谨慎选择USB音频微控制器:测试台上的惊险故事
时间:01-15
来源:互联网
点击:
尽管有些报道称随着Wi-Fi和蓝牙等无线传输工具的出现,USB音频即将被淘汰,但此种言论还为时过早,USB音频目前仍活跃在市场上。近几年来,USB音频技术已成为音乐产业中数字音频(音频+MIDI)配件(混频器、DJ设备、数字音频接口、麦克风等)中一个尤为重要的元素。
此外,《今日美国》中有文章提到功能强大的移动设备正在逐渐取代笔记本电脑和便携式电脑。然而,专业或准专业用户却没有停止对USB音频的需求,在许多诸如iOS和Android移动操作系统以及Raspberry Pi和BeagleBone Black等业余爱好者/制造商的单板机中,随处都可见到这种USB音频。
它采用低成本、低功耗的方法来传输数字音频,在最佳状态下,可以呈现普通无线方法无法比拟的高品质和低延时效果。但难就难在只有在最佳状态下它才能达到这种效果。
通过USB接口回放(或录制)高品质音频时,一个亟待解决的重要问题就是如何生成具有高度稳定性和准确性的转换器主时钟。在设计阶段因忽视细节而造成的音频时钟恢复过程中的不足极易导致显著缺陷,会产生杂音,即便是非专业人士都可以感受到。欲了解更多有关USB音频模式的基础知识,请参阅2011年音频工程协会(Audio Engineering Society)会议上有关音频接口的相关演讲稿。
以赛普拉斯半导体公司的PSoC 3系列为代表,可以看到最新的可编程片上系统(SoC)器件的灵活性,它可以产生具有成本效益的、可靠且准确的音频主时钟,尤其适用于低功耗便携式系统。基于此种SoC的方法概述参见《现代USB音频系统设计》。对频率合成技术有浓厚兴趣的用户,可以参见音频工程协会的会议论文《USB音频系统的可编程时钟发生与同步》,其中对硬件时钟恢复方法进行了详细描述。
自这些论文发表后,赛普拉斯半导体公司的USB音频团队从研究角度出发,花费了大量时间拆解、测试和测量各类装置以测试USB音频能力,受测对象不仅包括商业产品,还包括微控制器厂商的开发工具包和参考设计。对厂商来说,制定严格测试方案和竞争标杆分析方案至关重要,可以确保设计质量满足客户的需求并达到音频行业的预期。本应在参考设计发布前就发现的缺陷却在客户缺陷报告中才被发现,这实在是件无比糟糕的事情。
这些测试向用户呈现了音频质量的诸多问题,而音频回放的质量及完整性有时实在是差得惊人。音频行业将大量的精力放在确定音频再现质量和修复后的可听性上,而音频回放的质量整体较差这种认识似乎已经超出了当今微控制器供应商的能力范围。
这可能归结于从事单一业务的MCU公司仅把音频视为一种数据接口格式,没有真正了解获得优质音频质量的重要因素。例如,从应用笔记中可以看到,大多数厂商都认识到管理再现音频数据的时域完整性对音频质量至关重要。但是,认识到这个问题是一回事,解决这个问题又是另一回事。
根据测量显示,音频主时钟生成和数据同步管理的一些推荐和实施方法针对高品质的音频产品并无用武之地。本文接下来将带读者尽览有关音频质量的诸多问题,重点揭示一些最有代表性的问题,并讨论问题背后的原因。
缺乏稳固性
针对USB音频系统(针对各种主机设计,但主要是针对移动主机)的故障测试旨在测试包含较短时段选择的播放列表的循环情况,每个时段的采样率各不相同。看来,大家似乎都不太喜欢这种测试,你也会惊讶于该测试的失败频率。这种测试不仅用于芯片厂商的一些项目,甚至还用于一些音频产品现货。
从这些测试中可以发现一些明显的行为特征。在某些情况下,测试中的系统无法开始播放其中一个音轨,从而导致在本该有声音的音轨阶段出现一段长时间的静音。还有一些情况是,有些音轨会看似随机地在回放时出现一定程度的失真,你会听到轻微的噼里啪啦声,有时甚至会突然被那种声音吓一跳。
图1显示了在变换的44.1ksps和48ksps速率下1.4kHz测试音调的频谱(采用优秀的免费程序Friture测得),该频谱在某厂商的评估电路板上显示。通过该图,可以看到很多指标都不达标,最明显的是在某一时段上的彻底失灵。整体表现很不稳定。图2显示的是使用具有强大固件和稳固的硬件同步主时钟发生器的SoC参考系统进行的同一测试。
图1:USB音频效果随采样率的变化而恶化。
图2:配置硬件时钟恢复功能的SoC系统在图1中应呈现的图样。
笔者从美国购买了一个现成的扬声器底座,结果发现在任何音轨末都会出现明显的、恼人的音调变化,紧随其后的就是另一具有不同采样率的音轨,因为它过早地改变了采样率。前10秒你会觉得比较有趣,随后这种新鲜感消失,你会把它放入包装箱然后退回给商店,随后制造商不得不承担退货审查和技术支持服务的费用。移动设备制造商也不得不向消费者解释说出现这种问题不是自身USB或自有连接器(相对于3.5mm插孔)的问题,而是配件的问题。
图3给出了音调变化示意图,图案围绕四个不同的采样率频率1kHz、1.2kHz、1.4kHz和1.6kHz呈阶梯状变化。获知新的采样率后,该产品的回放频率立刻向上蹿升。
图3:因采样率的过早变化而造成的显著音调变化。
图4则不存在频率变换的问题。相反,这个从一家声誉良好的音频公司购得的底座产品仅在一些音轨上随机出现了一些空档,没能播放出来。
图4:该产品没有音调变换,完全没有音轨。
所以我讲这个故事的寓意是:一定要对设计进行深入的测试,并找出它的破绽。这一点应在选择厂商的过程中就着手去做,并在整个开发过程中定期进行测试。
现代化的移动音频配件由一连串代码组成,对中断优先级和DMA描述符的一些单纯改变都会在一定程度上改变系统行为。因此,我建议在设计团队之间相互交换候选发布的设计,如果他们能发现其中的设计缺陷,就请他们喝酒、品茶,或给予其他一些奖励。
频率不稳定
在自适应或同步模式下运行的USB回放装置需要创建D/A转换器所需的时钟。对于普通音频DAC来讲,该时钟频率值最可能为音频采样频率的256倍。在这些模式下运行的所有USB音频接口方法都有某种可调振荡器,在基于微控制器的系统中,这种振荡器通常是数字控制振荡器,并置于固件中,其频率设定有限且分辨率较低。有些微控制器配备某种可编程振荡器,其频率飘摇不定,以确保振荡器的平均速率设置符合您的要求,这种情况是很常见的。您可以用它来跟踪FIFO读写指针,并改变您指针摆动的占空比,以保持指针间距离的恒定(这是在自适应模式下运行,使劲按CPU)。该摆动时钟用作DAC的主时钟,也负责通过微控制器和DAC之间的接口进行数据转移。
现在,想象您正再现一段美妙、精确的正弦波。假设DAC每秒有4.41万个采样(最标准的数字音频采样率,因为这是CD上使用的值),这段正弦波的频率应该是1.4kHz(较佳的频率——1kHz基本不影响USB音频系统作业)。
但是如果您在两个频率之间切换主振荡器(使得系统半数的时间以每秒4.425万的采样率回放,而另一半时间以每秒4.395万的采样率回放)会发生什么事情呢?当然,平均回放率为每秒4.41万个采样。但实际上,系统会花费半数的时间以1.40476kHz的频率来发送一个正弦波,而剩余的半数时间则以1.39524kHz的频率来发送正弦波。
那些觉得“嗯,好像还不错”的人请考虑下这个问题吧:这种音调变化水平一般听众都能听出来,更何况音频业所谓的“金耳朵”了。如果您觉得这些都只是一些随便挑出来的荒谬的数字,那么我们一起来看图5——某一微控制器厂商的开发套件测量结果。
图5:平均频率是正确的,但变化是听得见的。
测试这种东西非常容易,因此没有借口不这样做。如前所述,Friture等免费软件分析程序通常都可以提供一种便利的频谱模式(深受广大语音分析师青睐,尤其是在好莱坞故事片中)。这种模式通过采集连续的FFT短块来进行持续的频谱分析,并随着时间的推移绘制出结果—时间自左向右推移,频率与屏幕垂直并通过彩色映射来表明幅度。
将模拟音频信号输入到一个运行Friture程序的PC线路上,您就可以轻易地发现回放频率的不稳定性。在传统音频分析仪的常规FFT显示器上,这种不稳定性并不明显,特别是当趋向于为了稳定而只是增加求平均的数量时。它几乎不会影响测得的THD+N数值,仅在一个特别小的窗口显示出一个失真数字,您是无法从中获得任何有关音频回放系统质量的信息的。
当然,这并非是一个共性问题。一些微控制器厂商选择在系统中使用CS2200等性能优良的外部时钟生成芯片来解决计时问题,这类系统浏览无痕,如同之前提到的使用硬件时钟生成方式的SoC参考系统,见图6。
图6:恒频音调应以这种方式出现(还有硬件SoC时钟恢复)。
本节旨在提醒人们,对于通过在粗略设置的振荡器的不同值间切换来实现同步的系统,我们应持一种怀疑态度。因为这种频率偏差会导致可感知音调稳定性的进一步恶化,但当用常规技术测量时,不会对THD+N等标准音频性能参数产生显著的影响。
有些(但不是全部)传统的USB微控制器应用笔记和参考设计推荐使用BOM音频PLL,如CS2200,这种情况并非巧合。这是个不错的部件,但如果您的产品设计并不需要这种部件不是更好吗?那就看下频谱图,关注其中的直线,而非锯齿线!
采样率转换引起的本底噪声
一些低端集成USB音频设备采用的一种简单方法就是将系统设计成为仅支持一个核心采样率(44.1ksps或48ksps)。如果主机想发送以其他速率采样的音频且本身未打算(或不允许)做速率转换,则回放装置会采用某种采样率转换形式。而这一切都是非常可怕的错误。
如果您有一个强大的DSP或在应用程序特定的芯片内设置了多个门,则很难设计出一个好的采样率转换器。但一般的微控制器无法切割,唯一可以切割的是各个角。
回放44.1ksps的音频材料时,只有一个评估板的杂散性能测试合格。使用48ksps测试音频材料后,音频分析仪显示器上的本底噪声变成了一系列神秘的音调。该模式下采样率转换器中使用的滤波器响应出现了最坏情况下的大约只有55分贝的阻带抑制。简而言之,测试音影像的重采样混叠(通过频率可以明确地确定)会上升到一个从未有的高度,进而影响音频舒适度。图7展示了这一问题的严重程度。这是一个能够听得见的宽带问题,那些假音并非低于“掩蔽阈值”而听不到。
图7:SRC困境:大基调应该有,但其他不应该有。
于是,我们又得到这样一个启示:不要轻信普通微控制器上运行的采样率转换库,很有可能它们在优质音频应用程序中并无用武之地。“最好的采样率转换器就是没有采样率转换器”,一位注重性能的音频制造商在被问及该问题时曾这样表示。
疯狂的转换设置
测试过程中,有一个USB音频评估板的回放频率响应没有任何意义,看起来就像是有人抓住高音控制,并一路将其调低,听起来就好像是将扬声器扔进一个塞满棉花的包里。
原来评估板上的DAC被设置为使用“去加重”,而现在的CD标准中基本已没有这种选项了。CD标准提供了一种在记录信息中提升高频率的方法,然后在回放阶段将频率降回原有水平,会出现较高频率的嘶嘶声。
图8显示了一堆杂乱的轨迹,但重点在于那条黄色的曲线。它本应该是一条水平线,而其他厂商也都在努力想要达到水平线的标准,但该厂商是个例外。也许将评价体系综合在一起的人喜欢平稳、音色圆润、不被高音打断的音调,亦或是他们的实验室扬声器本身就是多峰的高频响应;而他们也确实认为这种设置是正确的,因为听起来效果更好一些。这一段的寓意在于:不要想当然地认为厂商已对外围元件进行了正确设置,尤其是当该元件并非该厂商生产时。
图8:黄色轨迹本应是一条平直的水平线,但图中显示的听起来非常模糊不清。
为什么USB音频配件无法充当主机
有些旧的USB音频配件被设计为主机,并迫使移动设备成为USB总线上的设备。这在以前还说得过去,因为这些配件连接的都是又慢又笨的音乐播放器。
现在,USB扬声器底座或DAC要求Mac或PC放弃对USB总线的整体控制,使它们可以彼此交换音乐数据的想法简直就是无稽之谈。就好像是使配件对最新一代功能强大、灵活的智能手机和平板设备做出同样的要求一样毫无意义。
结论
创建USB音频回放系统的方法有很多,有许多USB微控制器供应商已在实施这样的系统。但这些系统的鲁棒性和音频性能差别极其惊人。
不妨采用以下方法:寻找一个深谙音频领域的供应商团队,并寻求一个经过严格测试(听效验证)的完整的、成熟的参考设计。在整个开发过程中不断进行测试。选择一个有着丰富USB音频经验的设计制造合作商。如果他们只知道模拟音频或微控制器的非音频应用,他们可能无法探知没有足够安全系数的整个系统设计所带来的无数隐患。
挑选超精细频率分辨率的频率同步计划,以确保坚若磐石的音调稳定性——您需要一个外部时钟合成器设备,如配有普通微控制器的CS2200(尽管配备的不是赛普拉斯半导体公司的PSoC 3)。
如果想要得到音效净化的音频,就不要使用低档采样率转换算法,因为一般的微控制器无法让滤波器长时间地抑制杂音。如果您想要一个真正的通用系统,那就不要指望异步操作模式能够解决一切——当然,如果您能找到一个平台,可以很容易地支持同步或异步操作,那当然最好。
致谢
对音频质量的这些令人发指的缺陷披露得益于Saksham Bhatla、Gowthamraj B、Krishnaprasad MV和Ahmed Majeed Khan长时间以来的实验室测试和聆听。
蓝牙 USB Android 赛普拉斯 半导体 SoC MCU 电路 连接器 DAC 振荡器 显示器 DSP 滤波器 总线 PSoC 相关文章:
- 迎接移动多媒体高清视频挑战(10-07)
- 为 PDA 应用设计用户界面 (10-07)
- 天线设计面临小尺寸和多天线要求的挑战(11-06)
- 高集成度蓝牙耳机电源管理方案 (01-12)
- 设计剖析:面向音乐手机的蓝牙耳机套件(02-05)
- 如何在单个蓝牙设备上集成语音和立体声音乐功能(02-09)