发烧论坛

注册

 

返回列表 12345678» / 12
发新话题 回复该主题

USB解码同步还是异步?-对比测试HEGEL HD2 和M2T HIFACE [复制链接]

查看: 57370|回复: 118
1#
 USB解码近两年势头迅猛,新款不断推出的同时,老款升级也大多“时髦”地选择增加一个USB接口,仿佛一夜之间USB接口成了众多HFII厂商的香馍馍。说到USB,总要问:是异步的吗?能降低抖动吗?这样的问题,充实各大论坛,老手新手都不亦乐乎。
 USB异步真的这么神奇吗?下面让我们来聊聊这个话题,顺便进行相应的对比测试


IMG_1200.jpg (, 下载次数:8)

jpg(2011/5/19 21:51:46 上传)

IMG_1200.jpg

最后编辑kkman2002 最后编辑于 2011-05-19 21:51:46
本主题由 版主 eric 于 2011/5/31 18:05:07 执行 主题置顶/取消 操作
分享 转发
TOP
2#

等对比结果,呵呵
西医
TOP
3#

      在对比测试前,有必要了解几个小概念,关于异步、同步的原理和技术资料,通过百度或gogole有很多探讨和讨论,过于枯燥的理论,容易让人转晕了头,不妨通过一些简单的思路把握下:
 1、USB Audio Class协议
  由Intel和微软主导的USB即插即用通讯接口,自诞生之日起就通过USB Audio Class协议来制定游戏规则和接口规范,即所有USB设备只有符合USB Audio Class协议规定的硬件指标,并通过微软提供的内核驱动(*.sys,内核模式下的驱动,一般都对应相应的被驱动硬件,而其功能其实就是提供windows系统对该硬件的支持),进行辨识,才能正常或者“合法”的工作。

        从下面这张流程图图,可以清晰的看到USB音频传输的过程:播放软件播放音频文件--通过设置播放软件,采用客户端驱动ASIO或KS直接驱动硬件-硬件通过.SYS内核驱动被windows系统识别-USB音频设备通过设备驱动程序正常工作-通过USB总线传输带有时钟信息的串流数据-USB DAC 通过USB接受芯片接受数据,并进行后续的时钟合成和恢复、传输I2S或S/P信号、DAC转换等等工作完成最后的模拟输出。




       从这个流程可以看到,关键的class driver是USB音频设备得到 “合法”身份的关键。因此,无论是采用同步还是异步,无论是公版驱动,还是自行编写驱动,无论你吹的如何天花乱坠,都走不出USB Audio Class协议这个框框。
最后编辑kkman2002 最后编辑于 2011-05-19 22:11:47
TOP
4#

       从HIFACE编写的驱动来看,前3个SYS驱动,只能采用微软提供的内核驱动,而无法自己去编造,而最后一个SYS驱动的意义在于结合硬件可编程FPGA模块和缓存技术,突破USB 2.0最大传输24/96制约,通过硬件升频(SRC)还原并转换成24/192 的S/P信号输出。因此可以说,目前USB2.0规范是不支持24/192传输的(跟传输率关系不大,但跟缓存大小很有关,以艺雅QB9使用的TAS1020B为例,它的1304byte缓存,甚至不能完全满足16/44.1-1764bytes的要求),要实现24/192传输,在USB 3.0真正普及之前,只能靠自力更生了。


TOP
5#


2
、什么是同步,什么是异步?


       USB Audio Class
协议规定USB同步传输周期为1ms。即每隔1ms,USB设备通过接受芯片接受一次主机传输过来的数据包,这个数据包带有时钟信号的,需要通过I2S控制器进行解包后恢复时钟信息实现同步,为确保这种主机时钟和I2S的同步,采用FIFO缓存暂存数据,然后再给I2S。


      下面这张图,作为一个简单示意图,每隔1MS,主机发送一次数据(倒一杯水),通过缓存蓄水,然后通过I2S(水龙头)传输到下一个环节。因此,USB传输对于倒水和放水的控制,就是同步、自适应和异步的区别:


        同步模式:水龙头流量固定(主机时钟确定),不管倒多少水。理想状态下,倒水的频率、时间、流量固定,缓存(蓄水)固定,水龙头放水流量固定,形成一个完整循环。而由于抖动偏差的存在,这种理想状态往往无法保证的,因此,会出现水放完了(中断),水放多溢出了(失真爆音)等等情况。
       自适应模式:为解决抖动偏差引起的倒水频率和倒水量的变化(主时钟的变化),通过控制水龙头的流量(重整时钟)来适应这种变化,形成可控制的理想循环。

       异步模式:固定水龙头流量(异地时钟确定),通过建立I2S反馈机制,控制倒水频率和倒水量,形成可控制的理想循环。
TOP
6#

HEGEL HD20不错!
TOP
7#

      再通过Xilinx工程师提供的原理图看看,异步模式的原理其实是建立一个异地时钟,利用异步先进先出(FIFO)存贮器作为一个弹性缓存当接受到来自主机的时钟信号,在缓存内与自建时钟进行比较,并通过控制软件反馈给主机,让主机按正确的时钟信息进行调整。


      因此,上述三种方式,均是建立在主机时钟的基础上,只是前2种是以主机时钟为主(归类于同步,意思就是确保与主机时钟同步),而后一种则是以自建时钟为准(归类于异步,意思就是与主机时钟不同步),USB规范中明确对这种双时钟指令冲突的异步方式不赞成的:“Such slips/stuffs will cause audible degradation in audio applications. ”(这种方式会导致音质的退化); 而微软同样不支持这种异步方式,因此,采用异步模式,只能在内核驱动的基础上,通过自行编写的扩展驱动获得正常运行,而这类驱动是无法得到微软认证的。
最后编辑kkman2002 最后编辑于 2011-05-19 22:16:13
TOP
8#

异步也好,同步也好,最核心的问题是:降低数字音频传输过程中的抖动偏差(jitter),提供良好的音质
       对于jitter除了用耳朵去听之外,目前可以采用Audio Precision 2722A之类专业仪器进行可量化的测试和分析。

       Audio Precision 2722A是AP公司延续了前期工业界标准System One/Two系列产品的最高型号,价值不菲(二手也超过10W),具备 2通道、双模拟/数字测试并带DSP功能,作为行业标准的高精密音频分析仪器,同时也是美国杜比公司测试Digital Dolby/AC-3的指定标准型号。AP2700系列,可以通过控制软件与电脑连接(支持Windows98/2000/XP),可以同时完成多项功能自动测试和实时控制;对于音频设备可以进行电平比率、频率、相位、THD+N(即失真,小于-112dB)、互调失真、噪声、带通幅度、串音干扰、抖晃、抖动等参数测试。其中数字分析已达到单通道192kHz的采样能力,具备全功能界面协议分析:可模仿衰减和抖动信号源; 能测试脉冲幅度,上升和下降时间,抖动幅度和频谱;能进行共态模式幅度,采样速度,同步到输出延迟等等全面分析。总之,是一台很NB的很专业的具备行业标准的测试仪器。


Audio Precision 2722A 2.jpg (, 下载次数:3)

jpg(2011/5/19 22:28:22 上传)

Audio Precision 2722A 2.jpg

最后编辑kkman2002 最后编辑于 2011-05-19 22:28:22
TOP
9#

        对于解码器(DAC)的测试,最常用的两个参考参数就是失真和抖动,这样的测试在 stereophile网站有大量的AP测试图表,有兴趣的网友可以去看看。下面我们用stereophile网站提供的解码器HRT Music Streamer Pro AP测试图表做个简单分析,对DAC这两个关键测试参数,怎么测试,怎么看好和坏,有个初步的印象(同时,可以对比后面挪威人对同一款解码器的测试结果)


    失真 (forvrengning)
    这里测试的失真,主要是指信号传输过程中对原有频率各种倍频的有害干扰-即我们常说的谐波失真(THD)。测量方式一般采用输入一个1KHZ频率信号,通过测试设备进行放大,因此,产生2khz(2次)、3khz(3次)。。。以及更高次的谐波,这些在原信号基础上产生的2倍、3倍、4倍。。。以及更高倍数的谐波,会导致波形走样(产生如图表标识的波形突起),就是谐波失真,理论上,谐波数值越小,失真度越低;同时,经试验发现,噪音多来自高次谐波,并对音质产生影响。这些高次谐波会产生音乐声学中的“不谐和音”,越多,则听感上就越觉得音色粗粝并刺耳。挪威人认为:2次,3次谐波失真,对音质影响不大,而4次及以上的谐波失真,肯定会产生严重的不谐和音,并且在听感上能有所反应。(有意思的是,胆机正是这些规律性并且数值在允许范围内的谐波失真,造成了听感上的神话,因此,可以说,谐波失真是胆机美丽而失真的音色的另一个技术上可证实的依据。)

     这个参数也同时进行本底噪音的测试,一般认为小于-120dB的数据是比较漂亮的。
HRTStreamer2_forvregning2 2.jpg (, 下载次数:5)

jpg(2011/5/19 22:33:14 上传)

HRTStreamer2_forvregning2 2.jpg

最后编辑kkman2002 最后编辑于 2011-05-19 23:04:14
TOP
10#

学习了,请继续。
TOP
发新话题 回复该主题