新闻中心

EEPW首页 > 消费电子 > 设计应用 > 音频系统芯片选择多项性能参数详解

音频系统芯片选择多项性能参数详解

作者: 时间:2012-06-22 来源:网络 收藏

  产品最终赢在细节,尝试了种种带硬伤的产品之后,我们最后不得不放弃了国产了国外A厂家的产品。从A厂家的硬件看,可以得出的结果就是其硬件细节做得相当好。我们测试其发现,其一致性很高,同时余量设计得很好。标称375MHz的,在非最高核心电压情况下基本都可以稳定超频到572MHz,高出标称频率的50%,同时DDR2时钟超频60%,不俗。从寄存器设计来说,不少都是根据Linux的数据结构设计的,因此只要熟悉软件就很容易熟悉其硬件。

  在大规模数据吞吐的部分,A厂家使用了链接DMA,这个细节完美保证输出数据流的连续,最大限度保证了最重要的I2S数据输出不会丢帧。我们测试的时候一边解码一边通过SD卡进行本地数据解压,在CPU满负荷的情况下都没有出现丢帧,可见A厂家硬件的功力之强。

  在此我们分析一下,为什么会丢帧。其实大部分系统都是完成数据流的一个传输,解码的数据流向就是从SD卡等媒体读出原始码流,然后经CPU解码之后送I2S输出,这个过程有涉及到重要数据传输的就是媒体到RAM,再从RAM到I2S的过程,这些数据流都是DMA完成的,而瓶颈就在DMA切换的过程。Linux的文件系统由系统进行缓存,对时序的要求不高,而I2S要求连续的数据,就和I2S的FIFO有密切的关系,如果不是系统自动切换缓冲区的话,就要求CPU介入切换,而CPU的中断响应时间就会严重影响数据的连续性。比如I2S的FIFO是32个数据,如果I2S的LRCK是192kHz,那么能够给CPU的中断时间最长就是32/2/192kHz=83µs,而且根据中断机制,一般是FIFO剩下一半的时候申请中断,那么时间就只有不到50µs,这个速度在普通Linux系统基本无法满足需求,因此丢帧就是必然。IC厂家设计的时候指标都是按96kHz的硬件指标来设计,当然无法满足高端系统的要求了。A厂家的自动DMA链不需要CPU进行数据的切换,而通过软件划分2块或以上的数据(Ping pong buffer)让DMA自动切换,如此就完美保证了输出数据的连续性。对音响系统而言,只要I2S出现丢帧马上就会被察觉,更无法通过仪器的检测,所以这个细节如果做不到位是无法走向市场的。

  另外A厂家的硬件包含了SATA接口以及兼容性和速度都无可挑剔的USB 2.0 host/SD卡支持,更出色的地方是,小小一个ARM9芯片还带了EMAC,同时带了两个小单片机,每个的速度是系统时钟速度的一半,这个小单片机可以实现的功能远比普通MCU的功能多。如果嫌CPU速度不够,还可以引脚兼容的带浮点DSP的片子,这个DSP的运算能力相当于同等ARM9在2G以上的运算速度,这对数据后端处理有着至关重要的提升。A厂家的片子还提供TF卡启动功能,这样的话可以完美地避开NAND发展所带来的问题,同时解决Linux在NAND建立的文件系统的启动速度问题。

  这里再说说时钟电路。由于需要支持32K~192K采样率,因此必须能够生成对应的时钟,同时要求jitter低于50ps(处理器内置PLL时钟一般在200ps以上)。而对于DAC,很多国产芯片都因为集成的成本低而将DAC集成到CPU里面,但这样做使得无法提高,比如THD+N最高只能到90dB左右,而目前世界顶级的DAC其THD+N达到惊人的-120dB,同时提供135dB的动态范围。这样高的性能对整个系统设计都有极其严格的要求,因此国外同类产品售价都不低于4,000美元。另外硬件系统设计最后的一个关键点就是PCB走线。

  在软件方面,系统需要覆盖数十种优化过的解码器,解码输出数字信号要经过DSP后处理,另外还涉及到FPGA Verilog软件编程、网络UPNP协议控制、文件共享、远程播放/控制等多种协议,涵盖范围相当广泛,目前国内基本上还没有供应商能进行相关的设计和制作。

  小结

  系统属于典型的低频模拟信号和高频数字信号结合的系统,因此能做好的厂家国际上都是屈指可数,国内更是罕见。经过我们三年多的研发,系统终于达到了国际中上游水平,产品听感和国际一线品牌Linn Akurate DS相当,由于系统设计合理得当,在严格的听音环境通过监听音箱和与市场价格在12,000元左右某知名欧洲品牌的DAC A/B对比,听感更胜一筹。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭