Headphone 板


LINE

网页好读板 http://chihhanlin.weebly.com/2447825286272313552736215.html 先写结论: 1. 想自己做 R2R 的可以参考一下, 撇开韧体不谈其实硬体也有一些 know-how 2. 我发现 soekris OEM 1121 跟 diyjt 初期版 1021 有些电路上的差异 3. 纯的 R-2R 其实不多 (通常 MSB 最大位数会做点处理) 4. 好奇买了一台 denafrips R2R 2014, 拆电路来看发现好像规格有出入 其实听起来也不怎麽样,别浪费钱 5. 欢迎好心人赞助过保 r2r 机让我拆来抄电路 XD ------ 本文开始 --------------- 在跟大家分享我的R2R DAC 实验结果以前, 先来回顾一下市面上有哪些值得参考的离散 R2R 架构. 说到到 R2R, 绝大多数人丢关键字(R2R, DAC, circuit)到 google 会找到类 似下图的玩意 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/r2rdac_orig.gif
先想像一下 S1 到 S7 全部接地, 只有 S0 接 Vref, 然後从 S7 那端开始 2R跟2R并联变 成 R, 跟 R 串在一起又变成 2R, 继续跟 S6 的 R 并联, 一直做到红点位置, 你会发现 红点的电压就会是 Vref/2 (因为S1前那一坨都会并联等校成 2R, 红点位置被两颗 2R 分 压自然变成 Vref/2 ). 用戴维宁等校电路从 S7 一路拆过去就会发现 S1 到 S7 的权重 刚好会是2的幂次, Vref/2, Vref/4 ... 等等, 阿如果 S0-S7 输入一个 8 bit 二进位数 不就刚好可以把它转换成 0V~ Vref 切成 256 段的电压值, 古早的数位转类比(Digital to Analog Converter, DAC)就是这样子的架构. 至於後面的那颗 OP 要干嘛, 就是个 buffer, 假如 S0-S7 换成定电流源, 那这颗就是 I/V 转换. S0 到 S7 这几个 Switch 采用 digital switch 或 shift registor 来做基本上就是 Soekris DAM1021/1121 的架 构. 不过这个架构很显然有两个缺点: 一个是有效位数,线性度被电阻精度绑住, 另一方面则 是会有 glitch. 可以想像一下整个 ladder 如果用 0.01% 精度的电阻, 那也不过相当於 13 到 14 bit 的程度, 想要更高的 precision 就会有误差(linearity) 问题, 再来 glitch 则是 switch 切换的时候同步误差的结果, 在 MSB (most significant bit) 侧变换的时候比如 01111111 换成 10000000 会形成局部短脉冲, 这个会造成严重的高 频杂讯, 就算 buffer 端加低通滤波也不好搞. 所以 R2R 架构的变体就是 string DAC, 用 ladder 分支数量来降低匹配精度跟 glitch, 具体做法差不多像这样: http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/7103-kevin-1_orig.png
看起来很简单, 不过也有一些问题, 比如说要做 8bit 就需要 2^8= 256 段电阻跟那麽多 switch, 假如用定电流的方式也需要大量的电流镜, 当然现代 IC 制程要做区区 8 bit, 12bit 的 string 并不难, 不过 16 bit 以上该怎麽办? 所以一般来讲都会作成多 段的形式, 要怎麽匹配补偿, 同步开关降低 glitch 就凭各家本事 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/slide-25_orig.jpg
这个要称做类 R2R 也可以, 用在 audio 上最有名的大概就是 dCS 的 ring DAC, 刚开始 在研究各大厂自制离散DAC的时候还搞不太懂这啥玩意, 想通了以後发现原来就是普通的 string DAC, 对照一下大概可以看到用到 32 颗开关跟电阻, 要做 signed 就要两倍, 两个声道就四倍的数量 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/20091104135000_orig.jpg
结构上这反倒比R2R 更简单, 几乎不用考虑 audio 应用多 bit 下 ladder 变态长的匹配 问题, 从 dCS 上新板电路来看也只是把开关用途的 multiplexer 换成独立的开关元件, 企图降低 cross talk. 真正难做的反倒是 PCM 超取样转成 5bit 这块的演算法 (从 DSD 解过去还比较好想像, 要处理好想必用了多 stage 的 multi-rate filter, 应该不 是单纯的 dither) . 也许这反而是 DIY 成本比较低的做法 , 比如说使用便宜的工业 8-bit string DAC 来取代离散 R ladder, 不过也许 DSP 运算量大, 要写好不容易所以 目前仿照这种做法的人少, 又或者说开发者几乎都选择直上高 bits 数的 R2R ( 还是会 oversampling 到 2MHz 以上) 既然受限於电阻误差匹配精度的问题, 合乎成本的 R2R 离散电路(0.1%-0.01% 精度)兜出 来的差不多只有 13-14bit 的精度, 那一堆动不动就宣称 24bit+ 的产品又是怎麽回事? 原来其中大多用了混合结构, 在 MSB的部分加了 string dac 的概念去尽量避免 MSB 的 误差掩盖掉 LSB. http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/hybridr2r_orig.png
上图是从很常见的 precision DAC 8831 (在 TI 的分类里取样率 <10MSPS 的就算 precision, >10MSPS 叫做 High speed ) 挑出来的示意图, 原则上 16bit 以上 DAC architecure 标示为 R2R 的十有八九都是走这种架构. 分析这个电路可以把 S0 到 S11 接地, 所以从 E1 处的 2R 往地来看等於多并联一条 2R 的对地电阻, 加上E1 到 E15 总 共有 16 条 2R 电阻. 所以假设 E1到 E5 中有 N 条接到 Vref, 那麽分压的回路就是 Vref -> N个并联的2R -> Vout -> 16-N 个并联的2R -> GND. 所以 Vout 就是 Vref*(2R/(16-N))/[(2R/(16-N)) +(2R/N)] = (N/16)Vref, 在MSB 这边的换算跟 string DAC 一样. 所以在保持原始 12bit R-2R 的精度下透过 MSB 的 2R 串联可以解 决匹配问题把线性度多提高几个 bit, 不过每多 N 个有效 bit 就需要多 2^N-1 个高精 度电阻与开关. 世界树用的那颗 Analog Device 的 AD5791 算是这个架构量产且经得起考验的极致, 在 MSB 并联了 63个电阻把 14bit R-2R 提升 6 个 bit 到真 20 bit 的线性度, 短期内很 难看到超越这个 spec 的商用 R2R (用的量少大概没这市场规模支撑更高规格的产品). http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/ad5791-1_orig.png
AD5791 架构 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/ad5792-1_orig.png
不同的 ladder 参考端没有接在一起, 由外部 OP 拉齐电位 (我还不清楚这麽做的理由, 也许是补偿电流吧) 在 MSB 改用类 string 结构的另一个好处是可以输出阻抗是恒定的, 拓展 3bit 等校并 联 8颗也就是 R/3. 有了这个概念以後回头分析各家 R2R 产品就简单了. 先以知名度高 的 soekris DAM 1021 作为范例来讲解: http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/dam1021ladder_orig.png
老实讲刚看到这块版子的时候一只摸不太清楚怎麽得到 28 bit 解析度的(每个 shift registor 只用 7pin, 7*4 的 28 不是刚好, 仔细看电路就会发现并非如此). 如果把靠 近输出端的头三个 2R 拉出来当成 2-bit string, 後面算算正好 25-bit R2R, 再加上以 signed 的方式并联两组相同的 ladder 会得到额外的 1-bit, 如此计算正好符合 28-bit 规格.早期的板子大概使用 2R-2R 并联得到 R 的部分, rev3 之後的版本已经舍 弃改成两排的设计, 多出来的空间正好摆大家喜欢的稳压用大电容. 精明如 Søren 者会加入MSB-string 结构显然知道 R-2R 被电阻精度箝制的弱项, 那为 何开出 28-bit 这样的规格? 除了迎合消费者的胃口外(听到高 bit 就高潮的一般人不会 去追究真实的等效位数到底是多少 ), 更重要的原因在於数位音量的设计. R-2R 天生的 优势在於透过 binary code 的平移可以简单达成, 虽然超过设计精度的 bits (或者说动 态范围)在无衰减的时候不会表现出来, 不过需要衰减的时候这些 LSB 侧多余的 bit 就 提供了不减损动态范围, 维持低谐波失真的效果. 大家有兴趣可以看一下 Soekris 对於 DAM1021 给出来的 THD 规格, THD @ -1db 跟 THD @ -60db 差距之所以没有想像中大的 原因应该就在於此. 同样利用这个技巧就是 MSB 有名的 Select DAC, 应该很多人看过那 张很夸张的间接量测数据 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/select-90db_orig.jpg
http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/dac-meas_orig.jpg
那个 -60dB Digital Volume 绝对是夸张数据的原因之一(搭上好的 dither 算法). 另外 一个疑点就是 +70B Gain 的 Ultra-Low Noise Preamp, 这个等哪天我借到几台 SRS 的 preamp 再来实验一下有没有办法灌出相同的系统底噪. 这张图基本上是我很想重现的一 个量测, 暂且回归主题略过不谈 有了这样的发现我又回头检视 OEM 板的 Soekris DAM1121, 发现了爬遍讨论串也没人提 的小变化(也许漏看了也说不定) http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/dam1121ladder_orig.png
一直觉得靠近输出端的那颗 shift registor 量了之後果然是 7 段凑成 3-bit string 结构, 另三颗 registor 原先对侧预留没用的第 8pin 拉回来使用正好凑成 8*3=24 bit 的 R2R, 之前的违和感如今获得解释. 至於听感是否有差异我想因人而异, 从官方数据来 看 THD 改变不多, 稍稍提升的 S/N ratio 也许只能稍稍佐证架构微调而不能代表什麽. 另外一个很想拿出来讲的就是前几天刚入手, 匪区 Denafrips 最近很便宜才卖万把块的 R2R 入门机, 秉持着研究精神才买一台拆着玩 (居然号称 20-bit R2R 0.01% 电阻 , 万 一我开发到一半的 R2R 连大陆初阶机都打不过该怎麽办 ) http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/denafripr2rp_orig.png
刚开壳老实讲这个设计蛮对味的, R2R 只保留了 11-bit 代表开发者也很了解R2R天限, 後面豪迈地用了 31段并联来做 string 结构俨然就是现代 Hybrid R2R IC 的放大版, 後 头 buffer IC 把字给磨掉显示是调音密技. 从 layout 跟架构来看实在是劲敌, 不过数 来数去只有 16bit 加对称线路顶多 17 bit 不免心生怀疑, R ladder 奇特的 47K 选值 想必很难找到 23.5K 所以采用并联的方式得到 47K/2, 之所以使用如此大的阻值想必是 为了 MSB 端夸张的 32 并联, 47K/32= 1.5K , 若是考虑对称线路直接并联那麽等效小讯 号输出阻抗 ~700 ohm 倒是合理的数字, 不过用到这麽大的数值想必很难解决glitch跟电 流杂讯的问题, 一量之下果不其然: http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/dena10dglitch_orig.png
衰减到一定振福切换时的 glitch 相当明显, 居然将近 10mV http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/dglitch-af-lyr_orig.png
後面如果有经过带宽 100KHz 以下的扩大机其实 glitch 会被吃掉, 但是实际听感并没有 让我惊艳, 我想 glitch 影响不小 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/dena10dm10db_orig.png
从 THD 看起来谐波抑制得很不错, 应该是架构效果, 60Hz/120Hz 抑制的也还可以, 至於 10K 以後那令人摸不头绪的高频杂讯我猜多半是 dither 算法异常的问题, 整个 noise floor 在高频处增加显然是 dither 的效果, 但有点像 quantize error 的 peak 不消反 增问题就大了. 没用到适当的 deglitch 手段也是败笔, 起码我土炮二版的 R2R 就已经 不会出现这样夸张 glitch (我试验过同步起码差到几个 ns 才有可能如此夸张, 问题是 否出在选用的 CPLD clock 就只有原作才晓得了), 一听之下倒让我安心许多, 要超越应 该不难 XD. 至於理想的 R2R 应该要有麽怎麽样的量测我想用 Soekris DAM 来说是个不 错的标竿 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/soekris-dm10db_orig.png
正常来说没有60Hz 的谐波, 这张测的时候地没处理好. 不过高频端的频谱我想是处理的 重点, 这里 oversample 包含数位滤波我认为是绝佳透明感的成因之一. 最後再多看几家 R2R 名厂的电路, 比方说 Rockna http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/rockna26b_orig.png
感觉上像 4bit (16segment) string 混 21-22bit R2R, 对称电路的接法不是很确定, 除 非有实品可以用电表来确认, 更高阶的 RD-0 基本上就是舍弃 shift registor 改用独立 switch 来做开关的版本, 核心大概也用了 FT256 封装的 FPGA 之类来做独立 I/O. 大 陆的 Holo 泉跟 hibiki 我想也是走类似的布局风格, 其中令人比较好奇的大概就是 Holo 声称的硬体直解 DSD 到 R2R 吧. 接着值得一看的便是 MSB 的招牌大金块 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/msbgold_orig.png
2000年的版本纯 R-2R, 2003的 platium DAC 就改成 MSB(most significant bit) 有 7 segment 3bit 的版本, .有点像星状接地的布局令人备感兴趣. 至於最新的 The Select DAC 大金条改良到何种境界恐怕就不得而知(除非有人肯拆). 同样的 Metrum 的 DAC One&Two 也是很有趣的东西, 我猜应该是很接近大金块架构的玩意. 一路坚持纯 R-2R 结构的搞不好就是 totalDAC, 土豪般执着於高精度电阻的选料恐怕是 主因 http://chihhanlin.weebly.com/uploads/8/4/4/0/8440048/09_orig.jpg
--
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.120.61.247
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Headphone/M.1483540596.A.202.html
1F:推 jiangee: 衰减到一定振"幅"切换时的0..0 应该打错吧 01/04 22:41
2F:推 lll156k1529: 这一切都好专业 等我读好电子学电路学再来拜读<(__)> 01/04 22:43
3F:推 pariah: 你讲的都是理论实际是这里是耳机板所以应该听的都是动漫歌 01/04 22:45
4F:→ pariah: 所以我宁可看你解释耳机与动漫音乐结合的现象 01/04 22:45
5F:→ pariah: 而不是长篇大论什麽都看不懂直接end 01/04 22:45
6F:推 m9172250: 华大师出现了! 01/04 22:49
7F:推 luwatercolor: ㄏㄏ好好笑,华华找不到动漫可以酸,反而要叫人写与 01/04 22:49
8F:→ luwatercolor: 动漫结合的心得来让他酸www 01/04 22:49
9F:推 rugger5566: 专业推 01/04 23:00
10F:推 mtskyoko: <(_ _)> 01/04 23:01
11F:推 YouShare: 感谢整理 01/04 23:02
12F:推 TimoBoll: 恩恩跟我想得差不多 正准备发文呢(误) 01/04 23:03
13F:→ YouShare: 看到1021的spec时我也在想为何0.01的误差可以做到24bit, 01/04 23:04
14F:→ YouShare: ,原来如此 01/04 23:04
15F:→ TimoBoll: http://audio-gd.com/Pro/diy/DA01/DA01CH.htm 01/04 23:05
16F:→ TimoBoll: 我想你的劲敌在这里XD 讨论区有详细说明 加油!! 01/04 23:05
17F:推 s82223: AUDIOGD新出的DAC模组超生火!体积小、价格不高、R2R,只差 01/04 23:09
18F:→ s82223: 上市了,看能不能超越1021 01/04 23:09
19F:推 ding822003: 太猛了吧,AD/DA 之神是你 01/04 23:10
20F:推 TimoBoll: 要看digital filter还有buffer 单看DA部分跟1021差不多 01/04 23:10
21F:→ s82223: buffer就用个dynalo mini?应该超狂 01/04 23:11
22F:→ s82223: 而且4片才1200RMB,就能弄成平衡架构,期待 01/04 23:12
23F:→ TimoBoll: 那就变一体机 但是DA这东西五年换一代 以後终究会落伍 01/04 23:12
24F:→ TimoBoll: 类比电路很久没有进步了 大家互相抄抄XDD 01/04 23:13
25F:→ TimoBoll: 要做成sign/magitude要八片 不便宜喔 01/04 23:13
26F:推 s82223: 打算弄个4片,成本好像还比一片1021还低 01/04 23:20
27F:推 joehpj: 没有低欧XD 你的digital filter/buffer怎办 都是$$$ 01/04 23:21
28F:推 s82223: 就算弄1021我原本也是打算另外弄个buffer,就差filter而已 01/04 23:23
29F:→ hiro920463: 这种价格买个两片玩玩都ok 01/04 23:24
30F:推 kaouleah: 我觉得华华逻辑应该不好 01/04 23:29
31F:推 mondale: 解答了我对於R2R怎麽做到24bit这种精度的疑惑 推 \=w=/ 01/04 23:46
32F:→ Kowdan: 看起来很厉害,总而言之先留言 01/04 23:46
33F:推 gayday: 这个板.... >_< 好恐怖喔 姆咪~~ 01/04 23:53
34F:推 Daedolon: 看不懂先推QQ 01/04 23:59
35F:推 yys310: audiogd那个超麻烦的吧XD 01/05 00:00
36F:推 qq03178963: 先推以免被人家发现不懂 01/05 00:20
37F:→ ang728: 大概只看懂七成QQ 要回去重读MSIC的东西惹QQ 01/05 00:26
38F:推 CactusFlower: 感谢楼主让我一秒学会速读 容小的一拜(跪 01/05 01:18
39F:推 AllForUs: 就算看不懂..也要用力推这样优质的技术文章... 01/05 02:24
40F:推 altria27: 看第一段就先下来推! 01/05 03:31
41F:推 Kevintsaitsa: 快推免得别人以为我看不懂 01/05 07:14
42F:推 k078787878: 理工魂推 01/05 07:28
43F:推 ddik32: 都写中文可是都看不懂 只好跟推 01/05 08:14
44F:推 andyaries: 认真看中... 01/05 09:11
45F:推 asdfg0612: 看不懂 只能先推再说 XD 01/05 09:18
46F:推 hellscythe: 原po很有钱啊,光就量测仪器看来 01/05 12:20
47F:推 clioneurise: 推专业文 01/05 12:24
48F:→ hiro920463: 稍微修正一下 denafrips的评价,後来发现只是 XMOS 那 01/05 12:51
49F:→ hiro920463: 边没做好导致 88.1k窜进来(真的难听), 走同轴跟光纤 01/05 12:53
50F:→ hiro920463: 就正常了, 不过音场不大, 偏暖有点软弱 01/05 12:54
51F:推 kenApp: 希望hiro大的R2R能压胜denafrips~ 01/05 13:02
52F:推 kevinmonkey: 先推再研究@@ 01/05 13:32
53F:推 ammor: 直接end 泪退 01/05 20:03
54F:推 sxing6326: AD5791哪里强啊?十几年前的PCM1704就不输了吧 01/05 21:08
55F:→ sxing6326: 看规格SPS也没说多快... 01/05 21:10
56F:推 vwvwbg: 在等audiogd的 01/05 21:19
57F:→ hiro920463: 看 5791 的 DC accuracy ,gain error 的单位是用 ppm 01/05 21:50
58F:→ hiro920463: FSR 而不是 % FSR 就知道这颗夸张的地方,再看看 INL 01/05 21:51
59F:→ hiro920463: &DNL, 有效位数就是 20bit 不唬烂,不过代价就是 glit 01/05 21:51
60F:→ hiro920463: ch 跟 settle time 01/05 21:51
61F:推 tomyou1234 : 专业推 01/06 23:01
62F:推 asdfg0612 : hiro大有没有听过holo audio的spring这台 01/07 23:29
63F:→ asdfg0612 : 对他能解DSD这方面挺感兴趣的 没特别写还真没注意到 01/07 23:47
64F:→ hiro920463 : 解dsd不稀奇,但他宣称用离散元件去解就好玩了,我 01/08 16:56
65F:→ hiro920463 : 自己试还是写在 FPGA 里方便,不论如何都还是会变成 01/08 16:56
66F:→ hiro920463 : multibit 才出FPGA 01/08 16:56
67F:推 yys310 : 推推 01/08 19:40
68F:推 asdfg0612 : 多谢 XD 来去查查看multi-bit 01/08 20:07







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP