作者iitze (ici la lune)
看板Headphone
标题[闲聊] DIY R2R DAC w/FPGA
时间Thu Sep 29 07:53:16 2022
DAC规格有PCM跟PDM(dsd)
实作PCM目前市场多用晶片ESS/AKM/TI(BB)
是delta sigma架构
部份用FPGA实现R2R架构,但大多用分砌式来作
版上也有前辈多年前的文章讨论R2R的diy
之前是diy做pcm1794
最近刚好看到schiit的Yggdrasil Less is More
有点被启发,所以想来乱玩
参考hiro大的一系列文章,
还是很多不完全了解,但先做就对了
先上结果
https://i.imgur.com/ZEX28xm.jpeg
用TI的dac8814晶片,16bit R2R架构
但这不算是给音响用的,
官方文件应用写Automatic Test Equipment/
Instrumentation/
Digitally-Controlled Calibration
但总之schiit都可以做了,就来玩吧
分砌式还是太搞刚,先用R2R的晶片先顶着
DAC8814输入讯号的规格并不是i2s,
而一般分砌式的R2R看到都用FPGA来传讯号
所以花了时间来复习FPGA,
找了一个开源的lattice平台,
接着就是继续花时间来写程式
将i2s转成正确可以对应DAC8814电平表示的spi格式
跳过程式功力差痛苦debug阶段,
然後上Elna交联电容 10uf。
总之!终於有正常的声音!
听感上
跟之前做的pcm1794(mono mono, 192Khz)相比
也许是脑补(ikea效应),
真的就是觉得声音更自然宽松,音场再大一点
但只有先测试基本R2R 48Khz
後续再来测试升频192Khz或差动之类的
换歌曲也还偶尔会有小爆音要改
如果真有机会超想来听听高级分砌式R2R的DAC
另一个想做的是DSD架构
或是Mola Mola Tambaqui DAC架构
Just for fun.
感谢收看
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.220.116 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Headphone/M.1664409198.A.E45.html
※ 编辑: iitze (220.135.220.116 台湾), 09/29/2022 07:55:42
1F:推 mtbigzan: 推DIY。淘宝崛起後,台湾的DIY套件几乎倒光光。09/29 08:09
2F:推 martinlin77: 推推推09/29 08:17
3F:推 Pointt: 推diy 太强了09/29 08:42
4F:推 goldie: 推 DIY09/29 09:01
5F:推 st93042: 好扯,自己写FPGA,可以请教吗XD09/29 09:02
可以喔
※ 编辑: iitze (220.135.220.116 台湾), 09/29/2022 09:11:26
6F:推 Liandh: 可以试试github上的这个"max 2 audio dac"09/29 09:12
7F:推 Liandh: DSD最近刚跟团玩了DSC2.5.2, 先不论好坏,声音真的不太一09/29 09:15
8F:→ Liandh: 样09/29 09:15
9F:→ iitze: 我也是看到很有兴趣,不过我是穷人自己洗板买料件,等过阵09/29 09:29
10F:→ iitze: 子集货完再来焊,也已开始研究程式来PCM转DSD想用FPGA做09/29 09:29
11F:推 dzwei: 如果把r2r的 +v 与 -v,用Fully OPA分开的话,准备两个8bit09/29 10:58
12F:→ dzwei: 的r2r ladder(0.1%) 可以轻易的弄到16bits09/29 10:59
13F:→ dzwei: 如果能做 V+ V+/2 -V/2 -V(用vol referenc) 则能做到32bits09/29 11:00
我参考hiro 大说的电阻精准度会不太容易克服msb, sonnet 是有拼出24bit,但我还学识不
够不知怎麽处理,我再学学
※ 编辑: iitze (220.135.220.116 台湾), 09/29/2022 11:08:03
14F:→ dzwei: 我上面说的那个方法 就是克服电阻精度的其中一个方式XD09/29 11:44
15F:→ dzwei: +5对-5的时候 如果0.1%的电阻 可以做到9bit dynamic range09/29 11:46
16F:→ dzwei: 就是[+5-(-5)]/2^909/29 11:46
17F:→ dzwei: 但是今天把电路分成两块 +5到0用9bit D/A -5到0也用9bitD/A09/29 11:47
18F:→ dzwei: 最後再用加法器把两块加起来 这样dynamic就提昇两倍了09/29 11:48
19F:→ dzwei: 类似的方法 可以把他分成4块 +5 +2.5 -2.5 -5 这样09/29 11:48
20F:→ dzwei: 这样理论上就能用0.1%精度的电阻 做到36bit09/29 11:49
21F:→ dzwei: 但是FDA跟voltage reference 还有op的精度 又是另一挑战了09/29 11:50
来找资料研究
22F:→ aerial: 可以跟楼主下订吗?XD09/29 12:02
土炮好玩而已,卖产品还差很远。谢谢你的肯定
23F:推 EntHeEnd: 推 超强09/29 12:06
24F:推 comipa: 真是有趣09/29 12:42
※ 编辑: iitze (220.135.220.116 台湾), 09/29/2022 17:45:25
25F:推 whydan: 赞喔09/29 19:35
26F:推 bh2142: 喔喔好厉害,我之前也想搞,但我不会 dsp 就打消了念头09/29 20:40
27F:→ bh2142: 有玩过 fpga 不过做的是 RISC-V SoC,dsp 从理论就不会09/29 20:42
28F:→ bh2142: 除非要工业用DAC不然用 FPGA 不搞 dsp 好像没什麽意思09/29 20:45
29F:推 Ernest: 我是做analog ic的,还没玩过fpga09/29 20:45
30F:→ Ernest: 但听我双栖的朋友,觉得FPGA容易上手多了09/29 20:46
31F:推 dzwei: 不过FPGA现在的用途太广泛了 DSP其实其中一环XD09/29 20:52
32F:→ dzwei: 市场最大的 应该还是在tranceiver那块 再来就是IC Design09/29 20:53
33F:→ dzwei: 的验证 现在结合Arm在里面的 功能又更强大了09/29 20:54
34F:→ dzwei: 以前要像电脑那样搞TCP/IP的传输很麻烦 现在SoC化直接包在09/29 20:54
35F:→ dzwei: linux里面 BSP的弹性也很大09/29 20:54
36F:推 bh2142: FPGA 现在最主要的用途就是验证电路吧09/29 20:55
37F:→ bh2142: 不过我也不懂,我只是个资工系统仔09/29 20:56
38F:→ iitze: 太久没玩FPGA,的确如d大所说,现在FPGA有趣可玩的东西变09/29 20:57
39F:→ iitze: 很多而且便宜很多,刚好这次机会重新学习一下09/29 20:57
40F:→ bh2142: 我对 FPGA 的印象就是,写 Code 然後要合成很久,不过跟09/29 20:58
41F:→ bh2142: 实际去印一颗 IC 来测试比起来快多了09/29 20:58
42F:→ bh2142: 还有 probe 的功能很方便09/29 20:58
43F:→ dzwei: FPGA要编译很久 就是Constrain给的不够多XD 这个蛮吃经验09/29 21:10
44F:→ dzwei: 不过现在入门的Zynq开发版都是200$ 对面的Intel开发资源09/29 21:11
45F:→ dzwei: 又是一摊死水 虽然这阵子树梅派也涨了不少....09/29 21:11
46F:→ dzwei: 虽然7系列的zynq只有32位元的CortexA9 但很多时候已经足够09/29 21:15
47F:→ dzwei: 自己也是建议从7系列这颗开始玩09/29 21:15
48F:推 Ernest: analog ic入手难度也很高呀,也是要验很久,电子学底子要09/29 21:18
49F:→ Ernest: 很够,才能抓鬼,前面规格没做好,後面整盘去了了09/29 21:18
50F:→ Ernest: 而且一定得找fab下线,没办法在家自己做来玩09/29 21:19
51F:→ Ernest: 我就是对资工与通讯毫无兴趣才选这个09/29 21:21
52F:推 yys310: analog神09/29 21:47
53F:推 ang728: 帅09/29 21:55
类比很难啊,我其实也不太懂,继续学习,数位还比较懂,这次实验FPGA有得到很多新知识
,觉得想做的东西就更多了,已知用火
※ 编辑: iitze (220.135.220.116 台湾), 09/30/2022 04:33:08
54F:推 pinkg023: 真厉害 09/30 16:36
55F:推 rattrapante: 狂 10/01 22:34