发烧论坛

注册

 

发新话题 回复该主题

高级CD转盘、音频解码器、CD播放器项目 [复制链接]

查看: 14074|回复: 49
21#

回复:高级CD转盘、音频解码器、CD播放器项目

进展情况


呵呵,已经做好了二个方案,机芯用三洋的DA11和索尼的213,伺服芯片用NXP的SAA7824.方案已经卖给工厂了。目前在做第三个方案,机芯用光驱来做,软件还在调试之中。
升频处理和数字滤波器用FPGA试验后了,听感还不理想,还在改进之中。
预计要到年中才能做好。

目前在调试软件,在FPGA上运行的软件已经调试好,但是FPGA太贵,目前正在试验移植到通用芯片上运行。纠错部分和光驱的做法一样,也是带有第三层纠错处理的。读碟和伺服部分,目前在参考飞利浦和MTK的做试验。这一部分,目前在世界上,也就是飞利浦和MTK做得最好了。
模具的图纸也已经设计好,SDK套件和成品机估计要到年中才可以做好,做好后打算在材料网上开铺子来卖。尽管目前已经有套件出来了,但是在没有调试好和没有通过IEC标准测试前,我不想卖东西。我是把它当作规范的工厂产品来做的。
http://www.diybuy.net/forum-565-1.html
TOP
22#

回复:高级CD转盘、音频解码器、CD播放器项目

基于光驱的高性能音源系统

黄宗祥

长期以来,笔者一直在准备着要设计、制作一套基于光盘驱动器的CD、DVD播放器。这其中没有什么特别的原因,只是对高性能、高音质的一种追求罢了。想必大家都知道,发烧友对音质的追求是无所不用其极的,也是没有止境的。
由于生产工艺的问题,一般光盘的原始误码率大约在10ˉ4到10ˉ6之间,在一些对品质控制不严格的光盘生产线上生产出来的光盘,光盘的原始误码率比这还要高得多。这也正是同样的母带同样的节目,在不同的地方压碟时,音质不一样的最主要原因。对于计算机数据存储系统来说,真正实用的误码率要求低于10ˉ10到10ˉ12之间,也就是说要求一万亿位(10的12次方)个存储位中才允许有一个不可校正的误码位。在CD-ROM系统中,采用的误码纠错系统是交叉交织里德所罗门误码校正技术,采用这种简称为CIRC的误码校正技术后,一般可以使得数据的误码率降低到10ˉ11左右。而在DVD-ROM系统中,采用的误码纠错系统是功能更加强大的RS-PC误码校正技术。也正是因为采用了这些功能强大的误码校正技术之后,才使得光盘驱动器的误码率得以成指数倍地降低,而这些有时还往往给我们造成这样的一个错觉,那就是我们在使用光盘时,感觉到它好像不是那么精密的设备似的,对于有一般性的污迹或划伤的光盘,它照读不误。在纠错技术配合上其他技术以后的光盘系统,从宏观的效果上面来看,CD-ROM光盘上如果有2毫米的污迹或划伤,这是不会影响数据的读出的,对于DVD-ROM系统来说,这一个范围可以扩大到达到4毫米左右。
在CD-DA系统中,把帧作为存储声音数据的基本单位,每帧的数据由32个字节组成,再加上由4个字节所组成的同步和控制头文件,一共是36个字节。表1是CD-DA帧的数据结构示意图。在CD-DA系统中一般只是进行第一层和第二层纠错处理,也就是进行C1和C2解码。CD-DA的声音数据或者更准确地说CD-DA的声音数据帧,一般是先输入进C1解码器中去进行纠错处理。在C1不能对其进行纠错处理的时候,对每个字节设定一个出错标志,同时将其直接旁路出去,在这同时C1解码器也输出一个未能纠错的标志。这些未能被C1纠错的误码字节被打散成随机误码字节后,输入到C2解码器中进行纠错处理。C2解码器一般最多只能校正16帧的声音数据帧,超出了C2解码器纠错能力的声音数据帧,一般也是由C2解码器直接旁路出去,同时送出出错标志,由出错标志通知CD播放器的后续电路去采取补救的措施,比如将输出信号进行插补或进行平滑处理。经过了C1和C2解码器进行纠错处理之后,声音数据的误码率一般都可以降低到10ˉ9以下。而在CD-ROM系统中,在进行了第一层和第二层纠错处理之后,还要进行ECC/EDC分层纠错处理,也就是第三层纠错处理。经过了第三层误码校正处理后,使得数据的误码率进一步地降低,从而达到了计算机系统对数据存储的使用要求。
由于光盘驱动器比一般的CD、DVD电路增加有分层纠错电路,因此从道理上来说,光盘驱动器输出信号的误码率要比一般的CD、DVD电路为低。同时,由于在光盘驱动器和后面的接口电路之间,采用了高可靠性、高稳定性的ATAPI协议,一般也不会出现掉帧的现象。因此采用光盘驱动器时,信号的纯度要比一般采用CD、DVD机芯的电路要好得多。也正是由于这个缘故,笔者一直以来都在准备着要将光盘驱动器改为CD播放器或者DVD播放器。事有凑巧,笔者有一次到华强电子世界去逛电子市场时,在四楼的一个柜台里竟然看到只卖35元,存仓全新的40倍速索尼CD-ROM。笔者当时就买下了二台来作为改机试验之用。主要的光盘驱动器问题解决之后,陆陆续续地在二个月内终于将所有的材料备齐了,2006年暑假的时候开始进行了试验工作。
以前,笔者也曾经见到过一些发烧友,用CD-ROM来当作CD播放器或当作CD转盘来使用。一些改造得不错的CD转盘,播放出来的效果给人的感觉起初也还不错。不过当与高级CD播放器比较起来时,差距还是很明显的。在听感上给人不足的感觉主要是声音不够流畅顺滑,比较机械化。有一些直接从CD-ROM引出数字音频信号的改造机,或许是由于没有处理好接口电路和MCU控制电路的缘故吧,在听感上乏善可陈,有时还容易出现故障。
笔者这一次改机有别于这些改造方法,其实与其说改机还不如说造机来得更加真实。
图1是一般CD-ROM主要的功能方框图。
图2是整机—基于光盘驱动器音源系统的功能方框图。
表2是光盘驱动器IDE/ATAPI接口的引脚功能说明。
图3是主机与IDE/ATAPI外设之间的协议栈。
表3是CD-ROM驱动器支持的ATA、ATAPI命令集。
由于目前通用的可读写存储器的数据宽度一般为8位、16位、32位、64位这几种,尽管可以用FPGA来构造适用的可读写存储器,但是由于大门数的FPGA太过于昂贵,采用这种构造可读写存储器的方法并不经济。相反的,通用的特别是用于电脑的可读写存储器几乎是随处可见,价钱并不贵,同时价格在一天天地降低。因此在这里采用了2片三星或东芝的512M SRAM来作为数据缓存。之所以采用容量那么大的SRAM来作为数据缓冲,其目的也是要进一步地降低数据的误码率,进一步地提高数据的纯度,把各种干扰尽可能地降到最低点。
我们都知道,在CD-ROM中有各种不同的光、机、电元件。CD-ROM在读盘、读出数据时,特别是在高倍速读盘、读出数据时,主轴马达在高速旋转,激光头也在不停、不断地调整。在这个时候,CD-ROM里面可以说是各种信号杂陈,因此在一边读盘一边播放的情况之下,输出的数据信号并不是最纯粹的。为此,笔者借助电脑中读盘或下载数据的方法,设计成先将整个数据读出,然后再播放的工作模式。读盘速度可以人工调整成1倍、2倍和其他的偶数倍,机器起初则默认成40倍速来读盘。在数据传输到SRAM中的时候,笔者借助了互联网上的数据传输协议TCP/IP,在数据传输出错、中断时,可以重新发送,直到传输出完整无误的数据为止。TCP/IP协议的实现可以采用软件或硬件的方法来实现,也可以用FPGA来配置。在一二年前,韩国曾经有一家公司推出过实现TCP/IP协议的IC芯片,用在这里比较经济。要是想降低设计复杂性的话,也可以不使用这一种功能,使用TCP/IP协议,只是增加第二层保险而已。对于对网络协议,对底层编程、Windows编程、网络编程不熟悉的开发人员来说,使用的难度比较大。当CD-ROM将全部的数据读出之后,CD-ROM就进入待机或停机状态,如果在2分钟内主机没有访问CD-ROM之话,主机将关闭CD-ROM的工作电源,同时将ATAPI接口设置到高阻状态。此时对曲目的读取转移到对SRAM的数据访问之中。在SRAM中开辟一个数据栈来虚拟仿真对CD-ROM中数据的读取。由于采用高倍速来读盘,所以用不了几分种就可以将数据全部写进SRAM里,因此实际使用光头的时间并不长,CD-ROM的寿命可以大大地延长了。
类似地,在前不久,TI公司也曾经推出过一个用于车载音响的解决方案。由于音乐光盘的数据格式不同于电脑的二进制文件格式,TI是采用类似于电脑中抓轨的方法来提取音乐光盘中的声音数据。不过,笔者觉得还是采用最原始的方法来读取音乐光盘中的声音数据为好,采用这种原始的方法更直接更地道,数据的误码率更加低。采用TI的方法还会引入新的不确定性因素、新的有可能对音质产生劣化的因素,比如:在抓轨中产生的数据,数据在进行格式转化中产生的新误码率,和由此引入的一些新的不确定性因素,以及对音质有可能由此产生新的劣化倾向。不过TI作为大公司,它也是无奈的,它当然知道有这些不利因素,凭借它自身那雄厚的财力和技术实力,解决这些问题简直就是易如反掌。它之所以要这样做,主要是出于音乐版权保护的问题。呵呵,想必搞技术的发烧友都知道,当采用笔者的这种处理方法之后,再加上其他的一些处理电路以后,要拷贝一张一模一样的音乐CD,同时将一些限制的信息去掉之后,用它来当作自己的母带或作为自己的音乐素材,那简直是不费吹灰之力。更加令唱片公司感到可怕的是,你可以对其进行编辑、修整,甚至对其重新混音。由于有这些可能,那唱片公司当然不干了。话说回来,用在专业场合倒是挺合适的。
由于免除了机械部分引入的各种不良因素,从而使得信号的纯度得以大大地提高,因此声音的品质只取决于时钟电路和DAC电路、模拟电路、电源电路的品质了。由于时钟电路和DAC电路、模拟电路的功耗都比较小,因此采用了锂电池组来为其供电。最好时钟电路和DAC电路采用一组锂电池组来供电,模拟电路采用另外一组锂电池组来给其进行供电。要是模拟电路喜欢采用电子管电路之话,则另外用一组电源电路来为其独立供电。
时钟电路除了采用笔者去年介绍的TCXO、OCXO之外,在这里,笔者再给各位发烧友介绍几种廉价经济又实惠的处理方法,和几种高烧的处理方法,以及他们的选择方法。
http://www.diybuy.net/forum-565-1.html
TOP
23#

回复:高级CD转盘、音频解码器、CD播放器项目

由于不少朋友在询问机芯情况,现在说明如下:飞利浦以前的CD机芯是在中山代工,中山火炬工业区,裕兴集团下面的盛帮强点。买机芯的话可以找盛帮强点的丁经理或李先生,量少的话找深圳的代理商游先生,机芯架是佳彩在做,也可以配小机芯,爱商也做过一些。不过由于音响行业不景气,专业的机芯产线已经搬到波兰去了。找DAISY购买比较好,DAISY毕竟一直做这个专业市场。量很大的话可以找飞利浦上海公司或飞利浦香港公司,找飞利浦香港公司购买更合适。
目前已经订购VAM1202、VAM1250、VAM1254光头,估计小机芯要自己来做。已经在用三洋的DA11、DA23和索尼的213机芯在做试验。伺服芯片用合帮的和ALI的M5671、M5673。呵呵,一位做伺服的朋友说这些都是垃圾机芯,劝我不用试验了,呵呵,十几二十几块的机芯性价比高呀,试试也无妨,毕竟从01年做了R&D经理以后,我主要转做系统设计和培训、技术指导了,具体的东西摸得少了。自己正儿八经地做个项目也算是复习功课吧。
http://www.diybuy.net/forum-565-1.html
TOP
24#

回复:高级CD转盘、音频解码器、CD播放器项目

很期待,望早日听到.
TOP
25#

回复:高级CD转盘、音频解码器、CD播放器项目

大肚能容天下不平之事。
放声只笑天下可笑之人。
TOP
26#

回复: 高级CD转盘、音频解码器、CD播放器项目

最新进展

目前在试验采用光驱来做播放器。这是第一种光驱,韩国DVS(上海方圆)的720A,英国之宝售价5万的CD机也是采用这个光驱。处理芯片在用MTK的1389和ZORAN的芯片来做,可以播放SACD、DVD Audio碟。另外也在采用信亿的IDE控制器在试验,采用信亿的IDE控制器只能做成纯转盘。
照片2 0682.jpg (, 下载次数:435)

jpg(2008/3/9 18:07:53 上传)

照片2 0682.jpg

照片2 0692.jpg (, 下载次数:435)

jpg(2008/3/9 18:07:53 上传)

照片2 0692.jpg

照片2 0702.jpg (, 下载次数:407)

jpg(2008/3/9 18:07:53 上传)

照片2 0702.jpg

http://www.diybuy.net/forum-565-1.html
TOP
27#

回复:高级CD转盘、音频解码器、CD播放器项目

很期待,望早日听到.
TOP
28#

回复:高级CD转盘、音频解码器、CD播放器项目

看来我就等老大的出来了啊
TOP
29#

回复:高级CD转盘、音频解码器、CD播放器项目

正等楼主的产品
TOP
30#

回复:高级CD转盘、音频解码器、CD播放器项目

许多网友问到伺服的问题,我在这里简单说明一下。伺服部分不是仅仅调整几个伺服参数那么简单,伺服的调整是个难度很大的系统工程,这需要思想、策略和方法。一般来说,首先是进行系统软件的规划,尽量地把软件架构设计好。要构造成良好的软件架构,这需要有很好的思想方法。在这方面目前在世界上MTK算是做得最好的。一般来说,他们是不给源代码的。即使开放源代码,在目前的源代码中servo部分仍然是个lib文件,我们只能看到头文件和servo.c,这些也只是应用层上面的东西,底层的东西是看不到的。编译、编辑不了,那也就无从知道核心的伺服处理的思想方法了。因此很多伺服算法还得要自己老老实实、一步一个脚印地去编写、积累。
许多做得不够好的伺服处理,往往是因为软件架构不理想或者是在编写一些算法时考虑不够周全,从而留下了BUG。而后面接手的人,由于不是很清楚前者的思想方法、软件架构、伺服处理策略等等,在这种情况之下,要改好基本上是不可能的。
一般来说,机芯的JITTER在20ns-30ns之间。呵呵,千万不要把机芯JITTER和时钟JITTER混为一谈。确实地,对于没有做过伺服的人来说,很难用一般的语言来讲清机芯的JITTER,从而让他们明白机芯的JITTER是怎么一回事。机芯的JITTER与LP的抖晃率有点类似,但是又不完全是同一回事,他们的内涵不一样。机芯的JITTER对听感的影响主要表现在中高频上,特别是对音乐的流畅性等这些“音乐味”方面的影响。
同样地,在DVD中,对视频方面也有影响。只是这些影响仅仅表现在一些细节上,平时人们对它们不大注意罢了。比如:对图像锐利度的影响等等。
软件的调试太耗费时间,呵呵,慢工出细活,调试好后会告诉大家的。
http://www.diybuy.net/forum-565-1.html
TOP
发新话题 回复该主题