[基础知识] 造一台软DAC

[复制链接] 查看: 177650|回复: 526

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:24 | 显示全部楼层
软硬高手.学习!
alexhuang2008 发表于 2010-4-17 01:18

alex兄可是做DAC的老手,太谦虚了。

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:26 | 显示全部楼层
果然高手、虽然我一样没看懂,继续Lz,,再接再励,让我继续看不懂,,,,
飞行猪 发表于 2010-4-17 03:02

我觉得已经说的比较通俗了,如果哪里美看懂又有兴趣了解的欢迎提问,我争取说的更易懂些。

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:31 | 显示全部楼层
这段时间一直在忙几个设计,所以没时间回老弟的帖子,不好意思
我说说我的见解.


--------------------------------------
概括为以下几条:
1.最低的失真度和高信噪比。这两个指标主要由D/A的性能决定,此外 ...
FUMAC 发表于 2010-4-17 04:00

驸马兄说的好,电源是很重要,不过目前恒流源型的D/A对电源还是有一定的抑制能力,目前测试情况看运放对噪声的影响也比较大。
一般PLL对电源的要求和模拟器件对电源要求是一致的,越干净越好。电源噪声对VCO影响主要是增大其相位噪声。

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:34 | 显示全部楼层
说到FIFO拉破问题:最近在研究用VCXO来搞纯硬件的2nd PLL + FIFO,遇到这样一个问题:无法预知FIFO内部的稳定点。也即:当PLL闭环稳定下来以后,数据在FIFO中增加或减少的中心会围绕在一个比较固定地方。但是如果不用 ...
iflyingpig 发表于 2010-4-17 10:49

有两个办法
第一个是提高鉴相精度,稳态后如果是完全相参,不用担心FIFO破掉,根据我的经验,FIFO在稳态后空满状态和前面输入的参考时钟的精度有关,和VCO的初始频率差的越多,FIFO最后越偏离半满,只要保证FIFO足够大就没问题,稳态后FIFO始终保持那个状态。
第二个是只有用FPGA才能实现的方式,就是将FIFO的空满程度也纳入到锁相环的反馈环路中,稳态时FIFO半满。我的FIFO是自己用verilog写的,可以从FIFO里提取FIFO指针的参数,纳入到软锁里

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:36 | 显示全部楼层
LZ的大作近年来在不同的论坛也看过几张照片了,始终没有看到实测结果发布出来,尤其是采用DDS时钟的jitter表现。期待中。
simmconn 发表于 2010-4-17 15:10

哈哈,实测的早就有了,曾经在别的地方发过一次。
测试下来效果还是很明显的,到后面我会发上来的

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:40 | 显示全部楼层
GXGX
不过不知lz所说的是指什么地方软?lz应该是说自己用FPGA来实现DAC转换过程中的接收,插值,滤波等吧,可以自己搞搞不错,没有一定的相关知识不容易搞好啊,滤波这一块对音质影响是最大的吧,FPGA好处就在于可以 ...
arc.j 发表于 2010-4-17 18:22

谢谢,在首贴里就说了是借用软件无线电SDR的概念。区别于用ASIC做数字滤波的DAC
FPGA和DSP就是实现方式不同,同样的算法既可以用FPGA来做,也可以用DSP来做,只要能把自己的算法用可编程的器件实现,都可算是软的。

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:44 | 显示全部楼层
是不是指heartbeat 之类的机制?俺接触到比较多的只是SDH了
simon_zsw 发表于 2010-4-17 15:29

OCXO的压控范围+-0.3PPM,要做终极时钟,那么时钟精度就要高到那个程度。
simon_zsw 兄是做通讯的?

39

主题

2

好友

1451

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
23591
帖子
2563
精华
0
经验
1451 点
金钱
1442 ¥
注册时间
2007-6-12
发表于 2010-4-17 21:46 | 显示全部楼层
学习

评分

参与人数 1经验 -20 收起 理由
scooby -20 请认真回复!

查看全部评分

109

主题

1

好友

8012

积分

超级版主 当前离线

论坛版主

Rank: 8Rank: 8

UID
6
帖子
6498
精华
17
经验
8012 点
金钱
1636 ¥
注册时间
2004-3-16

元老级 社区贡献 优秀设计

发表于 2010-4-17 21:49 | 显示全部楼层
技术高超,国内少有的制作。赞

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:52 | 显示全部楼层
深绿色的板子,四层,,
果然厉害,,,EP2C8的片子吗?内部的RAM够FIFO用吗?
还带flash和SDRAM的,,,,可以跑系统了。
lter15 发表于 2010-4-17 00:10

足够了,只用了1/4的RAM资源做FIFO,目前还嫌太大。
lter15 好眼力,那个RAM和FLASH就是跑CPU用的,不过CPU耗资源多不划算,现在直接用逻辑做了。
跑OS现在的RAM还不够大,否则可以跑uclinux。

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-17 21:53 | 显示全部楼层
你终于拿出来了~准备去你那打劫。。。。
明9002 发表于 2010-4-17 00:11

哈哈,小明你要来么?

5

主题

2

好友

868

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
156799
帖子
867
精华
0
经验
868 点
金钱
857 ¥
注册时间
2009-12-19

社区贡献 乐于助人

发表于 2010-4-17 22:00 | 显示全部楼层
LZ不脱那机了呀

10

主题

0

好友

680

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
1969
帖子
567
精华
0
经验
680 点
金钱
507 ¥
注册时间
2004-10-29
发表于 2010-4-17 22:31 | 显示全部楼层
很强,赞一个!
DDS做时钟近端相噪确实不错,就是有很多杂散.而杂散及镜像的AM频谱,在经过比较器时会按一定比例转换成FM调制,实际做出来不知道在DAC端混叠回来的杂散怎么样.有图看看就好.
Mark NO30.6就是用的这种方法,不过好像还是有些杂散(但不知是不是混叠回来的,那个杂散不像是400Hz电源引起的),不过处理的好应该没什么问题.
第二锁相环其实近端相噪还是远不如DDS,截止频率越低反而更差,这是因为VCO自由振荡的近端相噪不如锁定一个低近端相噪的时钟后的性能.
如果想再一步提升用OCXO锁定GPS时钟的话,可以得到更低的近端相噪,呵呵.

102

主题

5

好友

2339

积分

罗宾汉 当前离线

4

Rank: 7Rank: 7Rank: 7

UID
3555
帖子
3299
精华
1
经验
2339 点
金钱
1520 ¥
注册时间
2005-3-22

优秀DIY达人

发表于 2010-4-17 22:50 | 显示全部楼层
很有技术含量

0

主题

0

好友

299

积分

业余侠客 当前离线

Rank: 4

UID
51213
帖子
290
精华
0
经验
299 点
金钱
299 ¥
注册时间
2008-8-18
发表于 2010-4-17 23:00 | 显示全部楼层
就是实现数字滤波蕊片的功能,是不是?用FPGA做超高性能有点难度,各方面都要注意,国外和国内大家有做过,结果没有激起浪来.

0

主题

0

好友

299

积分

业余侠客 当前离线

Rank: 4

UID
51213
帖子
290
精华
0
经验
299 点
金钱
299 ¥
注册时间
2008-8-18
发表于 2010-4-17 23:12 | 显示全部楼层
87# laurel


希LZ成功后能共享你的知识成果.让我们也学习试做一下.

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-18 00:31 | 显示全部楼层
技术高超,国内少有的制作。赞
小鬼头 发表于 2010-4-17 21:49

嘿嘿,鬼板可是在概念阶段就知道这个东东了。
头像被屏蔽

1

主题

0

好友

6814

积分

禁止发言 当前离线

UID
19344
帖子
7511
精华
0
经验
6814 点
金钱
6749 ¥
注册时间
2007-2-27
发表于 2010-4-18 00:35 | 显示全部楼层
OCXO的压控范围+-0.3PPM,要做终极时钟,那么时钟精度就要高到那个程度。
simon_zsw 兄是做通讯的?
laurel 发表于 2010-4-17 21:44

小弟是拉网线的打杂整天对着些低压差分的模块,路由,防火墙什么的

96

主题

12

好友

3704

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
1077
帖子
3314
精华
6
经验
3704 点
金钱
2484 ¥
注册时间
2004-7-24

社区贡献

 楼主| 发表于 2010-4-18 00:36 | 显示全部楼层
很强,赞一个!
DDS做时钟近端相噪确实不错,就是有很多杂散.而杂散及镜像的AM频谱,在经过比较器时会按一定比例转换成FM调制,实际做出来不知道在DAC端混叠回来的杂散怎么样.有图看看就好.
Mark NO30.6就是用的这种方法 ...
markamp 发表于 2010-4-17 22:31

markamp兄说的有道理,DDS先天的原因杂散是比较厉害的,镜像频率要靠模拟低通滤波器平滑,否则出来的时钟远端相噪会变大。
近端相噪好主要是因为参考时钟是高稳定的晶体,本身近端相噪就是很低的。音频我认为要更多关心近端相噪。
为了系统的写完DIY过程,图要到后面再放上。
头像被屏蔽

1

主题

0

好友

6814

积分

禁止发言 当前离线

UID
19344
帖子
7511
精华
0
经验
6814 点
金钱
6749 ¥
注册时间
2007-2-27
发表于 2010-4-18 00:37 | 显示全部楼层
足够了,只用了1/4的RAM资源做FIFO,目前还嫌太大。
lter15 好眼力,那个RAM和FLASH就是跑CPU用的,不过CPU耗资源多不划算,现在直接用逻辑做了。
跑OS现在的RAM还不够大,否则可以跑uclinux。
laurel 发表于 2010-4-17 21:52

uclinux意思不大,挂个软核放歌什么的没难度
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部