泼一点冷水呵呵
LZ不要太相信SoC芯片出来的音频时钟质量。一般来说芯片越复杂,时钟在芯片内部受到干扰而产生jitter的可能性越大。有时候甚至音频时钟在芯片内部走一圈,不经过任何处理(比如分频),由于crosstalk产生的抖动就有可能达到ns级。另外芯片内部所使用的PLL性能一般都比不上专用于音频的低抖动PLL,比如说S/PDIF接收芯片的时钟恢复PLL。所以整个系统设计的愿望是好的,具体实现的时候仍然要使用一些技巧,比如用原始的高精度低抖动时钟在片外对数据再进行一次进行整形,然后再给DAC。另外一个问题是如何验证系统的实时性性能。设计的目标是让wav文件原汁原味,由低抖动的时钟bit-for-bit地送到DAC。这里就需要一个黑盒的测试方法证明送到DAC去的数据和你从SD卡里面读出来的数据是完全一样的,没有多、没有少、没有变。你可以用程序运行跟踪的结果间接证明,但最终是需要一个直接的结果来说明问题。“耳朵收货”在这个问题上没有什么说服力。
顺便说一句,我支持用固态数字系统回放未压缩或无损压缩的声音文件,而且同意这样的系统如果设计得当,应该能超越传统CD机。我做过试验,用电脑CD-ROM扒下来的CD音轨,与由CD机读出来然后经S/PDIF录制的码流完全一致。CD转盘的设计目标就是在每次播放的时候都能够正确读取CD盘上的每一个bit,然后以低抖动的时钟把它们送出来。由于机械和光学系统的存在使CD转盘很难达到这一点。相比之下,固态系统具有与生俱来的优越性。 原帖由 激光鼠 于 2008-1-28 23:30 发表 http://bbs.hifidiy.net/images/common/back.gif
年度潜力贴一定要顶
这种创意,在将来不久我想信一定会成为我们HIFI人氏的主流。。顶起 俺想要,强烈要求量产:Q 等待下文。。。。。。。。 关注中 象SPDIF音频以数字方式传送是,时钟的抖动只要做到一定范围了,对数据的完整性是没有任何影响的,真正对音频有影响的时钟抖动是DAC芯片的工作时钟,因为这个时钟是DAC芯片内部转换用的,它的抖动相当于采样时间的前后漂移,这样讲大家就很容易理解会带来信号失真以及噪声了。具体要几个ppm就足够了呢,有空的时候我可以计算给大家,呵呵 原帖由 huhb_ic 于 2008-5-16 20:35 发表 http://bbs.hifidiy.net/images/common/back.gif
象SPDIF音频以数字方式传送是,时钟的抖动只要做到一定范围了,对数据的完整性是没有任何影响的,真正对音频有影响的时钟抖动是DAC芯片的工作时钟,因为这个时钟是DAC芯片内部转换用的,它的抖动相当于采样时间 ...
如果SPDIF无影响的话,大家就不用买高价的同轴线了,直接用1块钱的垃圾线就好了 继续顶 太强了,有道理。
WAV音乐用电脑的S/PDIF输出外接DAC解码,只能满足一般要求,根本达不到发烧效果,早就想把下载的的WAV音乐独立出来播放,苦于没有独立的播放器,只能用EAC软件刻录成CD光盘播放,这样多了一道刻录误差,CD转盘播放时又存在读数误差、还有要命的机械磨损,效果不好。主楼的WAV播放器什么时候出来,发烧级的就用SD卡、直接支持WAV就行了,反正APE可以解压成WAV文件。主楼可以先开发好I2S和S/PDIF模块,有解码器的直接上了,动手能力好的自己接入3条I2S线这,先把我们这部分人解决了。
快!快!快!我已等得不耐烦了,能否向你买套件呀。 有带光纤或同轴的硬盘播放器,用CF卡加IDE转接卡代替硬盘。 这个arm7的开发板那里搞得?挺喜欢 如果声卡不存在SRC,如果噪音可以完全控制(我连cpu风扇都不要),如果系统耗电也能控制,那这个东东是否和PC播放并无本质的区别呀?或者就是一个便携版或精简版的“准系统”?因为我觉得jitter的问题在这里也一样存在的,和pc相比只是五十步笑百步而已。 :L 我想,从实现方式上这跟采用如WINDOWS/LINUX这类操作系统的PC或者准系统甚至更小型的设备还是有本质区别吧。这个实现方式是不采用操作系统的实时时序方式。整个程序完全是完全围绕着WAV数据流的还原输出按时序为驱动展开的,这个是核心。
而采用操作系统模式,核心是操作系统,不管是WINDOWS还是LINUX等,其他的都属于外围应用程序,应用程序要跟操作系统内核申请操作时间,系统根据CPU空闲情况给应用程序分配空闲CPU时间片,各种应用包括外设都是基于低于内核优先级的中断方式来请求处理器时间片,由于操作系统很庞大,同时又不停要处理其他各种请求,如显示、网络、输出、操作功能等等, 这中间的中断干扰情况是可想而知的,这也是那些要求非常高的系统,不采用任何操作系统的原因所在。再加上跑操作系统的CPU频率高,内部结构以及外围电路庞大复杂,需要外扩RAM /ROM还有总线等等,电气干扰情况也要严重许多,自然所谓的JITTER情况好不了。
而采用非操作系统的实时时序模式一切都是以特定的单一数据流还原功能为主线而行进的,数据流的还原不采用中断模式,而是严格按照时序一个一个按部就班的进行, 每个操作的时序都是严格计算规划好的 ,不会对主线任务造成影响。另外从硬件角度,只采用了单芯片处理器,芯片内部结构相对要简单简洁许多,频率也低,不需要外扩RAM/ROM等等复杂的外设芯片 ,自然电气干扰JITTER干扰等等因素要小很多。这个也许可以回答你提的区别问题了吧.
当然了采用非操作系统实时模式也有非常大的弊端,就是功能上的局限性很大,无法做很复杂的多任务应用,所有的程序都是专门开发的,无法像跑操作系统的系统那样有很多现有应用程序可以直接拿来利用。
发烧界不是有句名言么,SIMPLE IS THE BEST。这也是我设计的初衷,简化其他一切没必要的花哨功能,只实现WAV文件的播放的最大化性能。
另外关于JITTER的问题,很多人恐怕把概念搞混淆了,JITTER是指的时钟的抖晃,不少人把信号完整性跟JITTER等同起来了。信号完整性会导致信号的畸变干扰等等,随机的信号完整性问题会间接引起接收方响应时间上的差别,从而产生了所谓的时钟抖晃。比方说同轴电缆线的问题,数字信号经过电缆传输的时候,原来理想的方波波形,可能由于信号线上的分布电容等等问题从来产生变形,好的跟差的区别就在于,这个信号畸变的严重程度而已。另外不要迷信所谓的高级信号线,信号完整性是系统问题,要从整体考虑,包括传输单元、信号线、接收单元等等,整个系统在内的。事实上对此了解一些的话,完全可以通过阻抗匹配、补偿等等调整手段从整体上加以改进,即使普通的信号线也完全可以最优化;而盲目地追求所谓发烧线而忽视了全局,所谓发烧线的效果甚至还远远不如普通线。 但是jitter是由于高速通讯端口的信号传输导致的,和软件例如操作系统应该无实质关联,在电脑里边数据从硬盘经南桥新片到内存到输出,由于pc时钟的问题会有jitter产生,但在独立的播放器从存储卡到处理器到解码到输出同样也是如此并非绝对意义上的实时啊。同时我觉得由于pc系统有大内存可以进行大容量数据缓存,对于jitter的reclock反而是有利的,不过pc高频电磁干扰严重这个倒是事实。
至于操作系统的多任务操作完全可由缓存来解决,一般情况下并不会有信号中断的问题。
同时由于我对存储卡的读取机理不是很熟悉,但直觉上由于硬盘有大容量缓存并且接口技术成熟,相对来讲读取的安全性和稳定性应该远高于sd卡吧。
所以我觉得硬盘播放器的主要意义还是在于便携,同时解决了噪音和高频信号干扰的问题,至于本质上的播放机制区别以及所带来的音质差别我想并没有那么大,同时考虑到大的声卡设备商所拥有的强悍的设计及驱动开发实力,在数字文件播放领域似乎从音质角度去否定pc系统为时尚早。
新一代高保真数字音频播放器
类似的东东:新一代高保真数字音频播放器 :lolhttp://www.erji.net/read.php?tid=561856 耳坛那个也就是接口丰富了一些而已,其实在楼主设计的播放核心框架的基础上加上外围模块应该也不是什么难事儿了,而且我一直觉得诸如usb这样的接口传输协议对于音质的提高并无好处。
那个东西更像是精简pc系统了,和楼主的单芯片dsp应该是不同的,孰优孰劣没听过不敢下结论,只是怀疑那个内嵌在linux里边的播放软件能好过于pc上诸多成功的播放器么?这种依赖于软件模式的播放器由于播放算法导致的效果差异变数更大了。而对于楼主这种单芯片实时处理音频流的模式最大的怀疑是由于没有相应的缓存机制在播放稳定性上是否有所失,还有对于时钟电路的设计是否超越了已经很成熟的pc硬件系统还有待考证。 没有下文了么?期待。。。 :) :) :D :D 看了看.不是太懂.