10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
发表于 2015-5-19 17:25 | 显示全部楼层
潜水很久,看大神们的神作,心向往之。
突然就想自己也做一个,于是从去年5月份开始,走上了自己做一个播放器的坎坷道路。

最初做的是一个数字转盘,用 WM8805 作为 SPDIF 输出,因为之前一直用 PC 播放,有个 DAC 解码器,可以直接用。
存储采用 TF 卡,最容易获得。
选择 STM32 单片机方案,因为自己之前接触过 STM32,做过一个不成功的小器件。

历时 3 个月,用 STM32F407、WM8805 实现了 TF 卡播放 WAV、APE、FLAC,其中 WAV 最高支持 24bit/192K 播放。
接上 DAC 听了一段时间,音质已经非常不错,但问题也逐渐出来了:歌曲切换时有啪的一声,开机有啪的一声,关机有啪的一声。

什么情况?

泡论坛,学习了解更多的音源、DAC 等技术原理,意识到 DAC、转盘及所有相关组件之间,存在相互依赖相互协同配合的问题;另外,不同的DAC 设计实现的细节处理也会影响到最终的音乐呈现。

通过一些技术手段,基本消除了相同采样率音乐切换时的爆音,但是不同采样率切换时,爆音依旧。
本来好好地听着悦耳的声音,突然啪的一声,立马性味索然。

看样子,要消除这恼人的爆音问题,需要改头换面,需要彻底控制整个数字播放、数字模拟转换以及转换为模拟之后的所有相关环节。

一不做二不休,直接做一个播放器,I2S - DAC - LPF - RCA/耳机输出 全过程控制,哪里有爆音,就解决哪里的问题。

经过 9 个月的慢工细磨,终于完成了一个基本满意的播放器。
在整个 DIY 的过程中,不仅解决了之前想解决的问题,还逐渐实现和完善了之前没有想过的功能:DSD 格式直接解码播放:

到今天为止,基本达到之前的期望:
开机无噪音;
切歌无噪音;
直接关电源有轻微噪音;
WAV支持 24bit/192K;
FLAC支持 24bit/192K;
APE最高支持 24bit/96K;
DSF支持 DSD64、DSD128;
DIFF支持 DSD64、DSD128;
DSD-ISO支持 DSD64、DSD128;

播放器关键部件:STM32F407、CS4398。

结果还行,过程漫长,从开始到现在,从数字转盘到播放器,从 PCM 到 DSD,碰到很多问题,也解决了很多问题。

先从数字转盘说起吧。

评分

参与人数 1经验 +3 魅力 +3 收起 理由
op111op + 3 + 3 赞一个!

查看全部评分

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 17:44 | 显示全部楼层
还有很多飞线,按照我老婆的说法,这个叫八爪鱼。

已经好很多了,最初用最小系统和各种洞洞板搭原型系统时,那都不是八爪鱼,那是八十八爪鱼。

DSD128 DSF 格式播放

DSD128 DSF 格式播放

15

主题

1

好友

1270

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
5653
帖子
1276
精华
1
经验
1270 点
金钱
1187 ¥
注册时间
2005-9-22
发表于 2015-5-19 17:49 | 显示全部楼层
本帖最后由 czy888 于 2015-5-19 17:50 编辑
jialong0926 发表于 2015-5-19 17:44
还有很多飞线,按照我老婆的说法,这个叫八爪鱼。

已经好很多了,最初用最小系统和各种洞洞板搭原型系统 ...


等下文!另外机箱在哪里搞的?请PM。谢谢!

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 17:53 | 显示全部楼层
说数字转盘之前,先打个基础,没有这个基础,也不会想着做后面的东西了。

之前做的一个不成功的器件,是一个机械式灰镜。就是摄影时用的灰镜,只是用电子机械的方式模拟实现玻璃灰镜的功能。

单片机、电机、各种驱动芯片一起上,折腾了 3 个月,发现这不是一个可以实现的目标。灰溜溜收工。

做这个小玩意,逐渐了解了 STM8S 单片机、软件开发环境、LCD 显示、字库、电路板设计等等,边玩边学,多少也掌握一二。

从废料箱中理出这些残缺不全的配件,算是缅怀与DIY之间的初恋?

从废料箱中理出这些残缺不全的配件,算是缅怀与DIY之间的初恋?

7

主题

0

好友

39

积分
     

注册会员 当前离线

Rank: 2

UID
791198
帖子
37
精华
0
经验
39 点
金钱
28 ¥
注册时间
2015-5-2
发表于 2015-5-19 17:59 来自手机端 | 显示全部楼层
支持,能达到这种级别相当不易啊

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 18:24 | 显示全部楼层
开始说数字转盘的事情。

最开始当然是搭建原型系统,最小系统 + 洞洞板 + 杜邦线 + 各种芯片。

主芯片:STM32F407
遥控和键盘输入控制芯片:STM8S
I2S转SPDIF:WM8805

逛论坛,向前辈学习各种格式文件解码、各种频率生成方法、如何让主芯片专注、让副芯片辅助。
各种问题一个个学习,I2S、SPI、SPDIF、电源、晶振。。。。。。
音乐格式从WAV开始,然后FLAC、APE,然后 CUE,然后怎么在一个合并文件中跳到特定的音轨。。。。。。
jitter、失真、爆音。。。。。

16bit、44.1K,最开始发出声音时,简直不敢相信。

由于参数设置错误,变慢或者变快,像老牛一样的声音、像洋娃娃一样的声音,又好笑又好气;
24bit怎么都是噪音,一会儿以为是面包板接触不良,一会儿以为是寄存器控制问题,最后实际是字节顺序和填充问题;
稳定性问题,一会儿好,一会儿不好,噪音时有时无,问题找不到,抓狂。最后发现面包板、连线质量才是罪魁祸首,从此永远不用面包板!
LCD显示,烧了几块LCD屏,原因是线接的不对。显示时好时坏,最后发现是CS信号没有加下拉的问题;
切歌会爆音,把CD机拿来用示波器测波形,最后通过中间插全0数据消除,但是不同采样率切换时,避免不了,无奈。

现在回想当初,坚持下来的唯一理由可能是听到第一次发声时的惊喜和激励,相信问题一定会有,也应该可以一个个解决。
DIY的乐趣就在这里吧。万事顺利的话,反而会索然无味了!

2个月后,八十八爪鱼版的原型系统总算基本可以播放了。

八十八爪鱼版原型,爪子已经拔掉了

八十八爪鱼版原型,爪子已经拔掉了

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 19:16 | 显示全部楼层
不能一直八十八爪鱼,好在 2014 年 PCB 打样那是相当便宜。
PCB 打样要画原理图、布线图,好在之前做电机控制已经打下一些基础。

但是,现实永远比期望骨感。
第一块板子打样回来后,焊接(100脚的LQFP真不好焊)、测试,有声音、有噪音、无显示。

观察、分析、纠结近一周时间,最终问题原因归结到走线、信号串扰等,实际问题是什么直到现在也不清楚。

那段时间,还是比较沮丧的,感觉越接近目标,问题越多,困难越大。

继续做下去?还是像之前的机械灰镜一样灰溜溜撤退?

静下心来,分析了之前碰到的问题:
1、切歌噪音,当时的方案是解决不了的
2、当时的方案,读 TF 卡、I2S 输出、显示都在主芯片中完成,不纯粹,无法兼顾音乐播放和显示之间的协调。确保音乐播放,就会使得显示的效果受到限制。

加上逐渐接触了 DAC 后,感觉可以集成 DAC 功能,这样的话,可以控制从 I2S 到 模拟输出 之间的所有环节,不需要依赖任何外部条件。

从根本上改变原来的目标?从结构上改变原来的设计?继续折腾?

数字转盘打样版,单片机已经拆了,不便宜啊

数字转盘打样版,单片机已经拆了,不便宜啊

53

主题

1

好友

693

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
430
帖子
1383
精华
2
经验
693 点
金钱
525 ¥
注册时间
2004-4-23
发表于 2015-5-19 19:16 来自手机端 | 显示全部楼层
高人啊,多上点图片。

53

主题

1

好友

693

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
430
帖子
1383
精华
2
经验
693 点
金钱
525 ¥
注册时间
2004-4-23
发表于 2015-5-19 19:18 来自手机端 | 显示全部楼层
有可能的话,详细讲解编程过程。我学习单片机也能找个方向。

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 19:26 | 显示全部楼层
这个是数字转盘的原理图,因为各种原因,做到0.1版本就改弦易张了。

AUD-0.1.rar

20.61 KB, 下载次数: 1500

较早前数字转盘的一个PCB原理图

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 19:33 | 显示全部楼层
t123yh 发表于 2015-5-19 17:59
支持,能达到这种级别相当不易啊

做的时候有时候确实想放弃,尤其是碰到一些似乎无从下手的问题时,有硬件问题,也有软件问题。

好在低落一阵、沮丧几天后,硬着头皮坚持,解决掉也好、绕过去也好,这些问题都不再是问题了。

有时候钻牛角尖一直难以自拔,反而是放下不再想后,却突然灵感闪现,问题迎刃而解。

谢谢理解!

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 19:41 | 显示全部楼层
gtmaker 发表于 2015-5-19 19:16
高人啊,多上点图片。

争取多上图。
各种版本,原始的,成熟的;为什么原始,怎么逐渐成熟的。
各种配件,用过不用的,最后选中的;为什么会用,为什么用了又不用。
各种开发环境,各种辅助软件。截图!
各种辅助工具,电烙铁、热风枪、示波器、逻辑分析仪、电子显微镜。。。。。。

东西不少,不过还算比较理性,能二手就二手(比如示波器);能便宜就便宜(比如逻辑分析仪、热风枪)。

高人之称实在不敢担当啊

0

主题

1

好友

170

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
341563
帖子
170
精华
0
经验
170 点
金钱
170 ¥
注册时间
2011-5-28
发表于 2015-5-19 20:12 | 显示全部楼层
支持楼主的开发,人多力量大,有什么问题在论坛应该都能找到解决办法。
期待楼主第一版产品早日上市。

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 20:15 | 显示全部楼层
本帖最后由 jialong0926 于 2015-5-19 20:18 编辑

感谢万能的淘宝。

说实话,上海确实不是一个做电子类 DIY 的好地方,各种元器件、配件还是深圳比较齐全并且价格合理。
有些配件找遍上海也难觅踪影,好不容易找到一家,贵,谈了半天,最后告知:这个上海没有现货,要从深圳发货,没问题吧?
早说啊,费那么大劲,还是兜回去深圳了!

好在有淘宝,只有想不到,没有买不到。

只是深圳到上海快递要3天,时间长,快递费也不少。

后面展示的各种工具,大部分来自遥远的南方。

快递包裹源源不断,主要来自深圳

快递包裹源源不断,主要来自深圳

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 20:22 | 显示全部楼层
先上一个吓人的。

注意到没有:注射器!

不要想歪了。这个是用来贴片焊接时点锡膏的,点子来自网络。感谢互联网。

要知道,这个在上海所有药店都买不到。还得感谢淘宝!

看上去有点吓人,不过关键时刻很管用

看上去有点吓人,不过关键时刻很管用

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 20:32 | 显示全部楼层
杂牌热风枪,还挺好用的。

不过杂牌毕竟是杂牌,看到热风枪把手上缠的包装膜了?因为原装手柄放回主机时,本来应该自动感应降温的功能不起作用,只有偏下的固定位置可以。

没办法,只好再DIY一下,可以在下边卡住,难看了点。
热风枪.jpg

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 20:35 | 显示全部楼层
这个厉害了。

PTC发热铝合金板,不大,但好使。

尤其是大面积加热时,又快又好。

热风枪用的不好,会把贴片元件吹走,这个不会。

就是要特别小心用电,220V的;特别小心不要被烫到,260度的。
加热板.jpg

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 20:39 | 显示全部楼层
示波器,二手的,100M。

没有这个,接近50M的MCLK波形根本看不到。

800大元,最贵的辅助工具。

示波器,目前为止最贵的工具

示波器,目前为止最贵的工具

13

主题

4

好友

1198

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
11935
帖子
1233
精华
0
经验
1198 点
金钱
937 ¥
注册时间
2006-9-1
发表于 2015-5-19 20:39 来自手机端 | 显示全部楼层
漂亮,强大。

10

主题

8

好友

518

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
712589
帖子
505
精华
0
经验
518 点
金钱
495 ¥
注册时间
2014-6-12
 楼主| 发表于 2015-5-19 20:41 | 显示全部楼层
逻辑分析仪,好像是25M的,88.2K采样率以上的MCLK信号,基本测不出来。

不过还是帮了很多忙,而且很便宜。

逻辑分析仪,好用不贵

逻辑分析仪,好用不贵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部