热门搜索:

从高保真音频重放设备看系统设计

时间:2014-02-28 12:29 | 作者:Hida | 文章来源:【Hi-Fi粉丝团】 | 点击次数:800次

现代电子一直严格遵循着“摩尔定律”高速发展,芯片发展得越快,速度越高,对软件系统的要求就越低,因此,速度就是一切,无论是芯片运行速度、软件开发速度,还是产品上市速度。但是光有系统,是否就足够了呢?我们试着从一个相对比较简单的高保真音乐重放设备,进行系统架构分析,看看我们需要怎么利用市面流通的IC实现一个这样的系统。

从信号处理和芯片设计的角度上看,一个音频系统从原理上分析,根本就不是一个复杂的系统,因此不需要去追逐有高技术含量有技术门槛的产品。笔者在设计这个系统的时候曾经和不同的国内IC设计公司的设计部门沟通过,结果得到的答复都是以“很简单没问题”之类的回复搪塞过去了,事实上到系统做出来了,往往效果不尽人意。因此,我们在开发这个系统的几年时间里面由于芯片选型的问题,走了不少弯路,在硬件性能瓶颈上吃尽了苦头。

(注:文章配图,图文无关)

以下是产品市场的要求:

1、速度要在400M以上,最好能解码APE C4000的码率

2、需要USB2.0 host/sata/SD卡支持

3、需要网络支持

4、128MB以上的RAM,越大越好

5、256MB或以上的NAND

6、I2S支持多路输出以及可以支持slave时钟,支持sample rate最高到768KHz,支持最高32bit输出的位宽

7、最好有音频数据后期处理的能力

8、有性能优异的时钟电路和DAC

芯片能运行的核心速度,对解码的效率有至关重要的影响,其中音频无损压缩APE C5000解码方式对CPU的要求就很高,Intel ATOM 1.6G的上网本,解码192k/C5000两声道的音乐尚且无法连续播放,何况嵌入式系统?无损压缩和MP3不一样,需要还原完全一致的数据流,那么CPU的性能就决定了解码的效率,因此太低的核心频率无法胜任此工作。

USB2.0对硬件的要求相当高,PHY兼容性就是一个很大的问题,数据流的效率是其次。同样,SD卡的接口的兼容性也是目前国产芯片的一个很头疼的问题。SATA的需求,把CPU周边外设的速度提到了一个高点,毕竟不是谁都能够做 1.5G/3G的PHY的。

系统依存于NAND存储的程序,但是NAND发展的速度却比CPU发展的速度快,当年定义NAND的时候把ECC设计在NAND之外,让CPU永远落后NAND一段时间,因此NAND转型的时候就因为市场上购买不到芯片而无法出货或者需要高价抢货。而RAM的变革,让成本越来越低,高成本的SDRAM慢慢减产,供应和成本挂钩,因此使用老内存的CPU,先天不足,造成系统BOM成本比使用新RAM的系统成本高。 因此,需要CPU支持多种启动方式而不仅限于NAND Flash,同时RAM应该顺应目前电脑的主流,使用DDR2/DDR3等内存,这样的话更能达到低成本高回报。

最后一个最重要的问题就是音频系统的出口——I2S,不管什么数据流从哪里流入,都需要从I2S输出,而这个数据流,除非CPU速度不够,在其他任何情况下是不允许有任何数据的错误和流失的。同时,CPU内部的PLL无法产生我们所需要的I2S时钟,因此外置时钟就是必然,Slave I2S接口就是必然,I2S在我们开发的过程中碰到的问题最多,比如同步不准确,开始播放时左右声道反转,播放过程中不定期左右声道反转,数据输出丢帧等情况,都严重影响其输出的技术参数,而无法达到设计的要求。

我们在产品设计的几年中,走的弯路就是因为芯片细节不到位而造成的。而任何厂家的开发系统,都无直接说明是否能支持高清的音乐格式,最高支持多少的sample rate的音乐输出,也无法直接评估其平台是否能够达到我们所需的性能指标,都必须根据我们的需求对I2S输出电路进行调整,为评估系统,我们不得不做了大量的设计工作(包括软硬件)之后才能开展评估工作。在此过程中我们选择过三星的芯片,选择过国产芯片,但是都因为种种问题不得不放弃,最后才定了目前的方案。

三星的芯片,I2S输出位数不够,支持的NAND种类有限,SDRAM单位成本较高,USB host直到其ARM11产品都无法跟上所要求的速度,因此在第一批我们选型之后就放弃了。后来选择了国产的平台,因为I2S FIFO深度不够,造成了丢帧,因为USB的PHY的问题,U盘兼容性很差,其升级平台也没有解决,SD卡因为软件的问题,兼容性也不好,更致命的问题是,因为系统不稳定,CPU无法正常复位,或者运行一段时间之后出现NAND无故丢失数据等问题,而无法使用。

产品最终赢在细节,尝试了种种带硬伤的产品之后,我们最后不得不放弃了国产的芯片,选择了国外A厂家的产品。

从A厂家的硬件系统看,可以得出的结果就是,其硬件细节做得相当好。我们测试其芯片,一致性很高,同时,系统的余量设计得很好。标称375MHz的芯片,在非最高的核心电压的情况下,基本都可以稳定超频到572M,高出标称频率的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=83uS,而且根据中断机制,一般是FIFO剩下一半的时候申请中断,那么时间就只有不到50uS,这个速度在普通Linux系统基本无法满足需求,因此丢帧就是必然。而IC厂家设计的时候指标就是按96kHz的硬件指标设计的,当然无法满足高端系统的要求了。A厂家的自动的DMA链,不需要CPU进行数据的切换,而通过软件划分2块或以上的数据(Ping pong buffer)让DMA自动切换,那么就完美保证了输出数据的连续性。音响系统,只要I2S出现丢帧,马上就会被察觉,更无法通过仪器的检测。这个细节如果做不到位,是无法走向市场的。

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

时钟电路,需要支持32K-192K采样率,必须能够生成对应的时钟,同时要求jitter低于50ps(cpu 内置的PLL时钟一般都是200ps以上的jitter),而DAC芯片,很多国产芯片都因为集成的成本低,而集成到CPU里面,集成的不好的结果就是性能无法提高,比如THD+N最高只能到90dB左右,而目前世界顶级的DAC,THD+N达到惊人的-120dB,同时提供135dB的动态范围。这些高性能的要求,对整个系统的设计都有极其严格的要求,因此国外同类的产品售价都没有低于$4000的。

以下举表列举了国外同类产品的选型对比:(具体型号不方便列出,都是厂家需要保密的)

厂家

CPU

是否带DPS

其它

DAC

售价

瑞典谱丽声

300M NXP

N

使用ISP1761扩展USB功能,支持2*USB-SATA bridge,1*CDROM

PCM1792

$4000

LINN Akurate DS

405M Power pc

N

网络UPNP控制

WM8741*2

$6000

Olive 06hd

300M arm9

未知

UPNP服务器

PCM1792*2

$5000

Transporter

400M arm9

N

网络收音机为主

AKM439x

$1999

*以上播放器因为版权问题都不支持APE,因此对CPU速度要求并不高

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

软件系统,覆盖了数十种优化过的Audio decoder,解码输出数字信号DSP后处理,FPGA verilog软件编程,网络UPNP协议控制,文件共享,远程播放/控制等多种协议,涵盖范围相当的广泛,因此国内基本上没有公司进行相关的设计和制作。

注:产品外观目前我们自己的产品还没有最后定型,客户的外观这里不好提供。

下图是我们系统的大致框图:

    热门排行