[心得经验] 制作FPGA+WM8741解码器

[复制链接] 查看: 57661|回复: 171

1

主题

0

好友

288

积分

业余侠客 当前离线

Rank: 4

UID
8461
帖子
247
精华
0
经验
288 点
金钱
232 ¥
注册时间
2006-4-7
发表于 2014-1-8 13:12 | 显示全部楼层
这个需要支持啊

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-10 11:45 | 显示全部楼层
这几天对WM8741的DSD功能做了个仔细的了解,WM8741的DSD功能感觉不是很理想,和高格式的PCM对比,区别不大,达不到明显的提升.在没添加额外LPF的情况下,如果用DSD Direct 模式播放,声音很不理想,只有用DSD Pulse 模式,声音才很好,因为DSD Pulse模式用的是PCM的滤波线路
DSD PLUS MODE
In DSD Plus mode the DSD data can be filtered in a similar manner to the data in the PCM path.
The DSD Plus filters are selected using register bits DSDFILT[1:0]. DSD Plus mode is not available
under hardware control.

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-10 11:48 | 显示全部楼层
从DSD的定义来看.其实解码不需要专门DA芯片,只需要一个LPF电路即可.

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-10 16:14 | 显示全部楼层
我把WM8741去掉,让FPGA直接输出DSD数据流进入一个电阻和一个电容,也有很大的声音,直接进功放输出,但是噪声比较大,因为没加LPF电路.

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-10 16:37 | 显示全部楼层
http://bbs.hifidiy.net/forum.php?mod=attachment&aid=Mzc5MjI2NHxlZWRmMmJjMTQxZDFiYWNiZjE1NmVlNjdmNDkyYjRiMnwxNzUxNDMyMjU5&request=yes&_f=.jpg
1.JPG

20

主题

0

好友

659

积分
     

职业侠客 当前离线

初级

Rank: 5Rank: 5

UID
206281
帖子
1164
精华
0
经验
659 点
金钱
653 ¥
注册时间
2010-5-30
发表于 2014-1-10 17:11 | 显示全部楼层
支持.高手

1

主题

1

好友

572

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27691
帖子
437
精华
2
经验
572 点
金钱
483 ¥
注册时间
2007-9-25
发表于 2014-1-11 09:56 来自手机端 | 显示全部楼层
LZ看上去FPGA用的很熟练,不过因为不是发烧友,这个设计还是有些高端产品的大忌。比如说时钟的切换用FPGA固然方便,但是在FPGA里面走一圈,就算什么都不做也对Jitter有很大的影响。所以时钟的切换还是要在外面做。另外就是用FPGA加软核的方法搞出一个可用的系统来并不难,但是长远来看,代码的可移植性和可维护性并不如CPU加可编程逻辑的方案。最后就是FPGA应该用在刀刃上,就是别的芯片无法替代的地方。DFF里面就是纯数据,无非是把bit挪一挪。什么时候能用FPGA解码DST才是真正NB的设计,因为一般的CPU都是搞不定的。

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-11 10:52 | 显示全部楼层
simmconn 发表于 2014-1-11 09:56
LZ看上去FPGA用的很熟练,不过因为不是发烧友,这个设计还是有些高端产品的大忌。比如说时钟的切换用FPGA固 ...

除了读SD卡中FAT32文件用的是软核,其它的都是用硬核运行的;WM8741的主时钟MCK采取的是直通的线路,BCK时钟是由MCK硬件分频的,至于对JITTER这指标的影响有多大,没有专业仪器测量,我也不好说;采用单独FPGA的方案当时是为了设计简单,减少干扰,至于代码的可移植性和可维护性没去考虑那么多;关于DFF和DST,那是DFF的文件比较简单,DST是压缩的文件,需要解压,如果要播放DST文件的话,先要弄懂DST的压缩及解压原理.

0

主题

0

好友

134

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
77928
帖子
148
精华
0
经验
134 点
金钱
144 ¥
注册时间
2009-2-2
发表于 2014-1-11 16:27 | 显示全部楼层
支持楼主开发

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-12 21:16 | 显示全部楼层
DSD解码到此告一段落,已达到预计结果,声音解晰力和层次感都还好,自认为比较满意.

11

主题

1

好友

402

积分

业余侠客 当前离线

Rank: 4

UID
191425
帖子
388
精华
0
经验
402 点
金钱
376 ¥
注册时间
2010-4-13
发表于 2014-1-13 20:40 | 显示全部楼层
这个需要支持啊!

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-13 23:08 | 显示全部楼层
编了一个上位机软件,可通过电脑RS232通信口对WM8741的各个参数控制,以达到最佳性能.主板上已经设计了一个RS232口,只须一根数据通信线就可动态配置,协议用的是自定义协议.

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-13 23:43 | 显示全部楼层
picture.JPG

1

主题

0

好友

173

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
173125
帖子
188
精华
0
经验
173 点
金钱
173 ¥
注册时间
2010-2-11
发表于 2014-1-14 02:05 来自手机端 | 显示全部楼层
高手啊。这个真可以有。

0

主题

0

好友

50

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
612909
帖子
68
精华
0
经验
50 点
金钱
48 ¥
注册时间
2013-8-30
发表于 2014-1-14 16:28 | 显示全部楼层
楼主还有后续开发吗?期待。

27

主题

1

好友

530

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
27560
帖子
792
精华
0
经验
530 点
金钱
495 ¥
注册时间
2007-9-22
发表于 2014-1-14 20:40 | 显示全部楼层
顶高手啊。期待开发!

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-14 20:49 | 显示全部楼层
我只是为了验证DSD是不是真的有宣传的那么好,对比了以后感觉还是要好些,是用高档CD播放正版CD作对比.

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-14 20:53 | 显示全部楼层
等有时间把WM8741换成其他的DAC

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-14 21:00 | 显示全部楼层
所有的DAC都一样,只要有规格书都可以驱动,当时用WM8741是一个朋友推荐的,不知目前市场上反应最好的DAC是哪款?

2

主题

1

好友

101

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
583669
帖子
101
精华
0
经验
101 点
金钱
97 ¥
注册时间
2013-4-14
 楼主| 发表于 2014-1-14 21:03 | 显示全部楼层
下一步准备用FPGA直接驱动SATA硬盘,省掉USB到SATA的环节,不知可行,目前正在了解相关的资料.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部