[基础知识] 造一台软DAC

[复制链接] 查看: 188341|回复: 525

46

主题

0

好友

1762

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
251072
帖子
2049
精华
0
经验
1762 点
金钱
1715 ¥
注册时间
2010-10-16
发表于 2010-10-21 23:16 | 显示全部楼层
高超的水平

9

主题

0

好友

1190

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
34960
帖子
4462
精华
0
经验
1190 点
金钱
1214 ¥
注册时间
2008-1-30
发表于 2010-10-22 07:52 | 显示全部楼层
啥时出成品  ?     出来我第一个定啊  

0

主题

0

好友

2

积分

注册会员 当前离线

Rank: 2

UID
195949
帖子
584
精华
0
经验
2 点
金钱
132 ¥
注册时间
2010-4-27
发表于 2010-10-22 11:54 | 显示全部楼层
高超的水平

12

主题

0

好友

967

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
123327
帖子
2622
精华
0
经验
967 点
金钱
939 ¥
注册时间
2009-8-8
发表于 2010-10-22 16:31 | 显示全部楼层
一口气看了这么多,虽然大多看不懂,上学没好好读书,但是很佩服楼主的水平和谦虚的态度,受益非浅。

13

主题

0

好友

340

积分

业余侠客 当前离线

克莱天下第一

Rank: 4

UID
200093
帖子
413
精华
0
经验
340 点
金钱
358 ¥
注册时间
2010-5-11
发表于 2010-10-22 18:13 | 显示全部楼层
用FPGA做DF而已,没什么了不起的。而且还是用TI的DAC,肯定不好听,还是换AD1955吧。

在深圳外包,大概只要4000就可以拿下这个方案,只要生产几台,就赚回本了。

10

主题

0

好友

329

积分

业余侠客 当前离线

Rank: 4

UID
7460
帖子
303
精华
0
经验
329 点
金钱
179 ¥
注册时间
2006-2-3
发表于 2010-10-24 20:29 | 显示全部楼层
用FPGA做DF而已,没什么了不起的。而且还是用TI的DAC,肯定不好听,还是换AD1955吧。

在深圳外包,大概只要4000就可以拿下这个方案,只要生产几台,就赚回本了。
克莱饭 发表于 2010-10-22 18:13

是你做吗?国内做这些的好象不多吧!如果是你做的话请联系我 我想要这个方案 13632979178陈

11

主题

0

好友

81

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
8503
帖子
231
精华
0
经验
81 点
金钱
125 ¥
注册时间
2006-4-9
发表于 2010-10-24 22:33 | 显示全部楼层
还是不知道出不出成平,也不知道现在到底怎么样了、

96

主题

12

好友

3705

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3315
精华
6
经验
3705 点
金钱
2485 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-10-24 23:04 | 显示全部楼层
是你做吗?国内做这些的好象不多吧!如果是你做的话请联系我 我想要这个方案 13632979178陈
my5abc 发表于 2010-10-24 20:29

不好意思,技术讨论贴不欢迎商业,有需求请私下PM。

14

主题

0

好友

559

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
36640
帖子
740
精华
0
经验
559 点
金钱
548 ¥
注册时间
2008-3-4
发表于 2010-10-28 21:16 | 显示全部楼层
其实也不好说,声音很主观。这种声音表现,既有可能是算法上的原因也可能是其模拟设计上的考量甚至电源,更有可能是整体方案做的比较好。
算法实在不好说,在主观听音下做了很多调整是肯定的,具体算法肯定是闪烁 ...
laurel 发表于 2010-10-21 22:25



很赞同这个观点.

11

主题

0

好友

81

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
8503
帖子
231
精华
0
经验
81 点
金钱
125 ¥
注册时间
2006-4-9
发表于 2010-10-30 15:48 | 显示全部楼层
如果能发起投票,我看一百台不是问题。。。。。。。。。。
头像被屏蔽

16

主题

4

好友

777

积分

禁止发言 当前离线

UID
17546
帖子
658
精华
0
经验
777 点
金钱
645 ¥
注册时间
2007-1-16
发表于 2010-10-30 16:56 | 显示全部楼层
呵呵!一个设计思路似乎有点问题的东西,还这么多人想要成品。我有点不太明白,如果SPDIF的数据发送端时钟存在误差,就算这个误差很小,哪怕是十几个PPM,你又要到本地时钟同步,楼主是如何做到的?如何保证FIFO不会被拉破?总是在说时钟抖动带来的负面影响,可是自己做的本地PLL的抖动就一定可以超越9001的50PS吗??

61

主题

3

好友

1525

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
253051
帖子
3117
精华
0
经验
1525 点
金钱
1465 ¥
注册时间
2010-10-22
发表于 2010-10-30 17:18 | 显示全部楼层
高超的水平

56

主题

12

好友

6091

积分
     

青铜剑侠 当前离线

小熊猫

Rank: 8Rank: 8

UID
59487
帖子
7499
精华
0
经验
6091 点
金钱
5748 ¥
注册时间
2008-10-20
发表于 2010-10-31 06:40 | 显示全部楼层
呵呵!一个设计思路似乎有点问题的东西,还这么多人想要成品。我有点不太明白,如果SPDIF的数据发送端时钟存在误差,就算这个误差很小,哪怕是十几个PPM,你又要到本地时钟同步,楼主是如何做到的?如何保证FIFO不会 ...
jinggx 发表于 2010-10-30 16:56


有仪器的情况下没问题的,不用怀疑。

0

主题

0

好友

12

积分

注册会员 当前离线

Rank: 2

UID
176822
帖子
13
精华
0
经验
12 点
金钱
12 ¥
注册时间
2010-2-27
发表于 2010-10-31 10:12 | 显示全部楼层
很佩服楼主的技术,我想做这个时间也很久了,技术实现的思路也差不多,可一直没时间动手,没想楼主已经做出来了,我在深圳,是搞自动化控制设计的,也是业余的电子爱好者,楼主现在有没有多余的板呀,能否卖给我一块?真的很希望能弄一块玩玩。

另帮楼主解答一下上面的SPDIF的问题吧。楼主的系统思路是这样的。可以把从光驱,声卡等来的SPDIF信号看作是一条水管,这根水管不断的向一个很大的水箱(FIFO)中放水(即向FIFO中存入SPDIF数据),当向水箱放满半箱水后,开始打开出水管,进行排水,如果控制好排水的速度,(即保证好数据取出时针的速度),那么不论进水管的进水量是大还是小,都不会干扰到排水的速度。也就是说,不论进来的数据JITTER大小,都会被FIFO所隔离,通过FIFO后,到DAC数据的JITTER只受FIFO的取出时针影响。因此,好消息就是,有了这块板,大家就可以用电脑的光纤输出端来发烧了,由于有了光电隔离,电脑的电磁干扰也不会影响到这里,一句话,这块板的一个很神奇的地方就是让大家可以用很低廉的成本,得到一个天价转盘。当然,FIFO还有个不足,就是在往水箱防水的时候,需要等待一段时间,即我们听到的时间将会比实际播放的慢上零点几秒,另外,FIFO必须要足够大,否则,大家想象,当你用一跟小水管向水箱放水,而用一根大水管排水,如果水箱太小,就会出现水箱没水的现象。

0

主题

0

好友

12

积分

注册会员 当前离线

Rank: 2

UID
176822
帖子
13
精华
0
经验
12 点
金钱
12 ¥
注册时间
2010-2-27
发表于 2010-10-31 10:24 | 显示全部楼层
其实天价转盘的性能也不比这块板好,我是做自控的,天天跟电机打交道,CD的光盘数据读取是需要匀线速读取的,而光头是从光盘的里圈逐渐读到外圈,每圈的周长都不一样,也就是说,电机必须要每圈都不断的调整旋转速度,要能够精确的将速度控制为几万等分,如果是用电压来调整电机转速的话,那么控制系统至少需要提供一个将近20bit的DAC,来控制电机转速,这么一个高精度的电机要求,老实说,要想做好,别说十几万,就是几百万也不过分,所以好的转盘确实很贵,可技术的发展,这个东西应该说已经淘汰掉了,就像磁带现在基本已经被CD所淘汰掉一样。我相信,这板就是把转盘推向坟墓的开始。

7

主题

0

好友

666

积分

贵宾 当前离线

Rank: 3Rank: 3

UID
5178
帖子
619
精华
0
经验
666 点
金钱
604 ¥
注册时间
2005-8-9

社区贡献 优秀设计 论坛贵宾 乐于助人

发表于 2010-11-1 00:49 | 显示全部楼层
呵呵!一个设计思路似乎有点问题的东西,还这么多人想要成品。我有点不太明白,如果SPDIF的数据发送端时钟存在误差,就算这个误差很小,哪怕是十几个PPM,你又要到本地时钟同步,楼主是如何做到的?如何保证FIFO不会 ...
jinggx 发表于 2010-10-30 16:56


专业用途不会用这种设计,举个例子,假如原始设备的信号是采样点偏少,假设源时钟是44.07k,如果专业应用需要连续工作许久,比如广播电台的应用,这个FIFO迟早有拉破的时候····

但是对于楼主设计是针对我们HIFI市场的,其实我们民用足够来的,而且楼主用较低的成本就实现了高品质表现,这点非常好,毕竟我们都是希望物美价廉的。

50ps那个是2st时钟恢复,主要是恢复 S/PDIF 本身这个串行信号数据的,某种意义上说,只要后面2nd 时钟恢复做的好,这个地方500ps也不会对音质产生非常大影响。
头像被屏蔽

16

主题

4

好友

777

积分

禁止发言 当前离线

UID
17546
帖子
658
精华
0
经验
777 点
金钱
645 ¥
注册时间
2007-1-16
发表于 2010-11-1 09:57 | 显示全部楼层
396# szddd
我最近也在做一些和电机相关的项目,呵呵,以后有问题向你请教!

说说这帖子中的问题。嘿嘿!你说的理论我很清楚,不过我说的意思不是时钟抖动带来影响,我是说如果数据发送端存误差的情况而造成的影响。可以计算一下。元件都存在误差,而且工作温度一变化误差都会变化,假如你的SPDIF发送端的时钟存在10PPM的误差(这个误差不大吧,实际的情况可能还不止这么小!)再假如你的本地时钟为精确无误。咱们先假如这个发送时钟比精确值慢10PPM,这样SPDIF数据发送端发送数据的周期就会比精确值长大约5乘以10的负9次方秒,对于44100采样率的音频,实际的采样周期是2.2676乘以10负5次方秒,可以计算每隔约4535个采样周期之后,就会有一个采样时钟周期的误差,4535个采样点在44100采样率的的情况下,可以播放大约0.1S,也就是说原本在0.1S的时间内,SPDIF发送端本应该发送4535个数据,而实际上只发送了4534个,如果设计1024字节的FIFO,按16BIT的数据计算,可以存储256个采样数据(左右声道一起),当FIFO存满之后开始播放,但每隔0.1S的时间FIFO中的数据就会少一个,这样下去大约25.6S后,FIFO已经为空,也就是拉破了!如果说1024字节的深度不够,那么你能做多大?嘿嘿!双时钟在系统中同时做主,同步必然是个问题,总是会有溢出的时候!反过来,如果发送时钟比精确值快,其结果也是要溢出!

32

主题

4

好友

1926

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
114497
帖子
1713
精华
0
经验
1926 点
金钱
1713 ¥
注册时间
2009-6-27
发表于 2010-11-1 11:28 | 显示全部楼层

我替LZ回答上面几个问题

答397#szddd
为了保证CD的恒线速度读取,马达控制的DAC只要8~10bit就可以了。不要想得太复杂。由于机械的惯性,一些小抖动都被滤掉了。而控制转速的信号,是由CD盘中的信号内嵌的时基与伺服系统的时钟做相位比较得到的。这个jitter比较大的。

对于上面两楼关心的FIFO拉破或者溢出的担忧
LZ的意思是先获得数据源的时钟频率,然后让DDS输出这个频率去读FIFO。然后用PID控制去微调这个频率,保证FIFO在半空半满的状态。而PID的作用是消除数据源的时钟因温度等引起的时钟飘移。
而不是你们想的,来的是44.07K输出要44.1K。这样一定拉破的。
我开始也是和你们一样理解。后来详细问了下LZ。

2

主题

0

好友

-41

积分

纠纷待定组 当前离线

UID
70441
帖子
127
精华
0
经验
-41 点
金钱
89 ¥
注册时间
2008-12-23
发表于 2010-11-1 13:10 | 显示全部楼层
等待下文,好资料

0

主题

0

好友

12

积分

注册会员 当前离线

Rank: 2

UID
176822
帖子
13
精华
0
经验
12 点
金钱
12 ¥
注册时间
2010-2-27
发表于 2010-11-1 23:36 | 显示全部楼层
如果是10比特的DAC,那么只能控制1024种不同的转速,也就是说,在上万圈数据中,每60多圈使用同一种速度,或者向我们开车那样,时而加油,时而刹车,这也就造成了JITTER的不断变化,时快时慢,从而造成定位的不准和声场的变形,只有提高DA的分辨率,减少电机的加速和刹车次数,才会得到更好的音质,所以,高级的转盘也才会比低端的CDROM音质好。就这点而言,这块板即便是采用了输入时针来同步输出时针,音色不讨论,但至少音场会比较准确。毕竟它的jitter稳定的多,而不是漂移不停。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部