21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
发表于 2014-8-4 23:09 | 显示全部楼层
本帖最后由 forsli@163.com 于 2014-8-5 08:35 编辑

一般的分立R-2R的DAC的精度取决于高位的电阻,其中MSB位影响最大,在小信号时零电平跳转时,MSB精度直接影响输出波形;例如从0跳到-1时,DAC各BIT就会从10000……跳到0111……,等于所以BIT位都跳转了,就例如以下电路:
r2r.jpg
但是BB公司号称是两个正、负两个DAC相加输出的(例如20BIT的DAC是由两个19BIT的DAC并联输出的),内部原理框图如下:
bb.jpg
但这个正、负DAC是如何工作的呢?首先做以下猜想,一个24BIT的DAC,以R-2R代替电流输出DAC,作电路图如下(部分低位):
BAL_24BIT_R2R_DAC.jpg
其中LP_x是代表左声道正输出DAC(DAC_P),LN_x代表左声道的负DAC(DAC_N);
假如在输出正电压时(MSB位为0时),负DAC全部的BIT位(BIT0~22)都输出“1”,正DAC的0~22BIT跟随输入的0~22位;在输出负电压时(MSB位为1时),正DAC全部的BIT位(BIT0~22)都输出“0”,负DAC的0~22BIT跟随输入的0~22位;另外,在负DAC处增加一个LSB位(DAC_N[23]),跟随输入的MSB的“非”,用以补-1(1111.……)的输出。
这样的话,小电平时零交输出时,高位就不会变了,只变化低位,在小信号时,也能保证输出信号的完整性。
用VERILOG写的逻辑表达式如下:
bal24bit_r2r.jpg
由下图看由正、负两个DAC在零交时的变化,在0变-1时,单R2R全部位状态均变化,双R2R只有最低位的状态发生变化,就是说,不管在低何输出电平下,0.1%精度电阻都能保证差不多10BIT的精度输出。 R2R 0_1.jpg
个人表达能力有限,都不知道怎么说,自己看着也累,还是看原理图吧
24bit_r2r.rar (38.51 KB, 下载次数: 1972)

21

主题

2

好友

209

积分

业余侠客 当前离线

Rank: 4

UID
313795
帖子
239
精华
0
经验
209 点
金钱
193 ¥
注册时间
2011-4-4
发表于 2014-8-4 23:55 | 显示全部楼层
看你的文章确实晕,但支持你,虽然我看不懂,对于不懂的事情,我总是心怀敬意。

37

主题

1

好友

355

积分

业余侠客 当前离线

Rank: 4

UID
560023
帖子
1217
精华
0
经验
355 点
金钱
331 ¥
注册时间
2013-1-16
发表于 2014-8-5 01:23 | 显示全部楼层
兄弟好久没出没啦,很忙是吧。你送的1702版还没做呢

8

主题

1

好友

525

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
4148
帖子
456
精华
0
经验
525 点
金钱
442 ¥
注册时间
2005-5-8
发表于 2014-8-5 02:15 | 显示全部楼层
本帖最后由 tendy 于 2014-8-5 02:24 编辑

我也搞了很久了,你这个方案不错,只是买电阻要破产零交其实不是传统r2r的问题,如果要内置在芯片,问题就有了,所以ad的r2r dac芯片都有外置调节msb的电阻设置,ti的方案是比较省心,比较适合大规模量产,但是如果我们分立来做,ti的这个方案问题就大了,电阻的成本大了一倍。
另外这几十个125也是问题啊,每只输出的电压都是有不同的,配对要配死人,我的做法是把他们写道一块cpld里面,另外用fpga也不妥,直接一块cpld比fpga好,理由你懂的。

我现在在实验用GaAs器件来做光学的dac,欢迎一起讨论174188188

21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
 楼主| 发表于 2014-8-5 09:03 | 显示全部楼层
tendy 发表于 2014-8-5 02:15
我也搞了很久了,你这个方案不错,只是买电阻要破产零交其实不是传统r2r的问题,如果要内置在芯片,问题 ...

我是拿朋友送我的R2R板子焊的时候,想起了这个问题,然后引起了BB公司两个正负DAC并联输出的思考。
如果说精度,那还真的筛选电阻搞到破产都达不到芯片的那种程度,如果选用0.1%精度,X宝上的价格是100个30。就算采用0.1%的电阻,解决零交问题后,在任何电平输出都能保证差不多10BIT的精度,这精度不会随0DB输出或-40DB输出的变化而变化,当然这是在排除电源的影响下说的。
7Z125我是看它的DS里面写着0.1mA电流时,输出压降为0V(当然应该是小于0.1V的意思),放在电路中拿它代表输出缓冲器的意思。
CPLD输出要比FPGA好,至汪CPLD的IO输出做到5V变问题,而FPGA大多只能做到3.3V,而且CPLD的延时可控;而FPGA的“门”太多,如果用上个百万门,可能电流都有200mA而不奇怪,电流越大干扰越利害,说起这道理谁都懂,不过只是在一些逻辑应用而不用什么IP核的话,资源利用率应该非常的小,想要干扰大都有点难啊。我这里扔了这个FPGA上去没别的意思,只是个人的一个陋习,就是每学习一个新技术,都喜欢首先拿来试用在音响上面,这个FPGA只是刚摆弄了三两个月而已

72

主题

2

好友

1176

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
157281
帖子
2600
精华
0
经验
1176 点
金钱
1078 ¥
注册时间
2009-12-21
发表于 2014-8-5 09:04 来自手机端 | 显示全部楼层
土豪不少,时间和精力也相当土豪。佩服。

21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
 楼主| 发表于 2014-8-5 09:07 | 显示全部楼层
小胆迷 发表于 2014-8-5 01:23
兄弟好久没出没啦,很忙是吧。你送的1702版还没做呢

那个板的LPF原参数很不理想,高频衰减太多,听感很差,总之来说没达到预期。这次发这个只是一个技术讨论,元器件太多,算了一个DAC部份,每个声道都有200+,哪有这个闲情啊

21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
 楼主| 发表于 2014-8-5 09:42 | 显示全部楼层
zhp25 发表于 2014-8-5 09:04
土豪不少,时间和精力也相当土豪。佩服。

技术讨论,不说其它

21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
 楼主| 发表于 2014-8-5 09:50 | 显示全部楼层
Rex123 发表于 2014-8-4 23:55
看你的文章确实晕,但支持你,虽然我看不懂,对于不懂的事情,我总是心怀敬意。

谢谢支持,只是技术讨论,不懂的事情质疑它就好,论坛上没必要对它有太多敬意,那样太累了

75

主题

2

好友

2018

积分

超级贵宾 当前离线

Rank: 5Rank: 5

UID
68221
帖子
1992
精华
0
经验
2018 点
金钱
1849 ¥
注册时间
2008-12-11

社区贡献 论坛贵宾

发表于 2014-8-5 10:08 | 显示全部楼层
研究比较深入,实现有难度。但支持纯正技术讨论

8

主题

1

好友

525

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
4148
帖子
456
精华
0
经验
525 点
金钱
442 ¥
注册时间
2005-5-8
发表于 2014-8-5 11:14 | 显示全部楼层
本帖最后由 tendy 于 2014-8-5 11:30 编辑
forsli@163.com 发表于 2014-8-5 09:03
我是拿朋友送我的R2R板子焊的时候,想起了这个问题,然后引起了BB公司两个正负DAC并联输出的思考。
如果 ...


兄弟你也挺谦虚了,电阻的话,0.1%是不够的,如果按你的方案用10k,20k,万分之一可以,如果还要更小比如1k 2k,大家知道降低这电阻值意味什么,用到十万分之一才能达到万分之一10k 20k的输出精度,零交对于芯片来说是个问题,但我前面说了,ad也有解决办法,也是传统办法,非常有效,其实r2r dac最大的问题,是lrck频率的开关噪音,这是先天因素决定的,解决办法传统是低通滤波,小日本是用模拟开关先通后断关断,两种办法都有缺点,更好的办法我还在想,有方案,但是解决成本非常高,125的问题是这样,你没必要用他做缓冲,他做缓冲会导致输出电压不一致,因为每个芯片都会有些不一致的问题,直接用cpld会好些,因为至少在同一片芯片内部,这种不一致性会好很多,cpld的问题是,输出电流比较小,驱动能力差,前面我说了,如果用了小值的电阻,问题也就来了,总之,r2r非常不好弄啊,不过弄过都知道,它的声音非常好,非常自然,不是什么delta sigma可比的
20140614_154604s.jpg
国内的rx71线绕电阻,精度非常好,但是不能用,可惜。
20140627_110337s.jpg
这是-60db的1k sin,16bit
20140627_110424s.jpg
-80db,基本上到极限了,基本上只用1bit了,可以看到,零交不是问题。
20140627_110542s.jpg
这是-100,这个就可以看到开关噪音了,那些朝天朝地的毛刺,这还是我用我的方法处理了的,
不是低通滤波哦,按照正常的做法,这个噪音比现在还要大3倍左右。

85

主题

5

好友

4596

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
88039
帖子
4948
精华
0
经验
4596 点
金钱
4505 ¥
注册时间
2009-3-14
发表于 2014-8-5 11:25 | 显示全部楼层
不能完全看懂,但大概知道是什么意思了,楼主威武!

15

主题

0

好友

833

积分
     

职业侠客 当前离线

Rank: 5Rank: 5

UID
3576
帖子
866
精华
0
经验
833 点
金钱
793 ¥
注册时间
2005-3-23
发表于 2014-8-5 11:30 | 显示全部楼层
真能搞外行只能看看大虾的科普

21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
 楼主| 发表于 2014-8-5 11:50 | 显示全部楼层
tendy 发表于 2014-8-5 11:14
兄弟你也挺谦虚了,电阻的话,0.1%是不够的,如果按你的方案用10k,20k,万分之一可以,如果还要更小比 ...

你做得完美啊,兄弟威武!

34

主题

10

好友

2071

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
45637
帖子
1946
精华
0
经验
2071 点
金钱
1926 ¥
注册时间
2008-6-17
发表于 2014-8-6 00:58 | 显示全部楼层
本帖最后由 飞天狼001 于 2014-8-6 01:13 编辑

支持!
分立24比特R2R结构,确实是一座高山。如果转换的电压是1V,那么1个BT的分辨率就是1/2^24=1/16777216=0.0000000596V=0.0596uV,0输出时如果噪声达到0.06uV那么1BT的精度就没了,变成23BT了。
所以,要考虑的问题太多:电阻精度的误差1BT精度就没了,开关的内阻误差又1BT的精度没了,体积庞大干扰等因素又1BT没了等等,搞到最后说不定只有20BT了,因此高比特的R2R一般人是不敢碰的。
有一点请教一下:0电压应该是正负DAC都输出0才是,负DAC输出23个1不是负的最大值么?还是单电压的原因,可以这样设置(我理解的是在单电压下,0电压要保证1/2的直流输出,负DAC的23位必须都为1,然后达到负半周的最大值时全部为0,这样在0电压附近都是末位在变,参与转换的电阻不多,精度可以保证,所以正负半周两个DAC可以很好的解决过0问题)。
1704是正负电压供电,是两个真正的正负DAC在工作,正负两个DAC输出接在一起;过0附近也是末位在变化。
且在0输出时正负可以抵消一部分误差,再加上极性补偿,可以多出1BT的精度,最终达到24BT精度。
还有,你的开关噪声比较明显,是在NE5534的输出端测的么?
1704官方给出的PDF资料,基本看不到开关噪声。
Image3.jpg
头像被屏蔽

6

主题

0

好友

590

积分

禁止发言 当前离线

UID
719944
帖子
792
精华
0
经验
590 点
金钱
578 ¥
注册时间
2014-6-29
发表于 2014-8-6 01:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

8

主题

1

好友

525

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
4148
帖子
456
精华
0
经验
525 点
金钱
442 ¥
注册时间
2005-5-8
发表于 2014-8-6 02:10 | 显示全部楼层
本帖最后由 tendy 于 2014-8-6 02:13 编辑
飞天狼001 发表于 2014-8-6 00:58
支持!
分立24比特R2R结构,确实是一座高山。如果转换的电压是1V,那么1个BT的分辨率就是1/2^24=1/1677721 ...


狼兄可能误会了,发图的是我,不是楼主的方案,我的图是传统r2r方案出来的测量的,和1704的比,区别在哪里呢?我这里说一下,首先1,bb的图是192k 24bit的,我的是44.1 16的,两种数据区别很大的。2,bb的测试条件跟我区别更大,电源,仪器,都是天地之别。3,bb的这个测试图前面有df芯片,后面有lpf,这不用说了,绝对的,我的图是直接在最高位电阻后量的,你想想看,192khz的开关噪音,过了lpf,是什么结果,但并不代表它没有,这点jeff很清楚,他的trex就有个专利的除噪方案,如果没有,他不会费这劲。 4,了解示波器的都知道,TRIG LEVEL这个旋钮,实际上我的图也是废了老大劲慢慢调才把这个开关噪音显示出来,也就是说,要拍出没有开关噪音的图,是非常容易的。最后,bb的这个图,不见的是真的,你们去翻pcm63看看,是不是也有一样的图,完全一模一样,那么就是说,这图不代表是从1704上拍出来的。如果我和bb一样,有个nb电源,在吧lpf df装备上,后面的模拟电路再差分单端一下,我相信,超越1704是没有问题的,因为对于r2r dac,谁都知道,关键的关键,是电阻,bb没法再一片芯片上匹配的太精确,实际上从它pdf里的gain error值看就知道结果,但是分立就行了,万分之一电阻筛选十万分之一这不是不可能,或者千分之筛选也是可行的,我问过国内的三线军工电阻厂,人家很现实的告诉我,国内基本上没听说什么激光修正的金属箔之类,都是工人在仪器前筛选,什么神6 7之类的高尖端应用也是一样,只有筛选。 最后说一下,分立r2r可diy的可行性有多大,这里提示一下,基本上任何阻值的电阻都可以用,不在乎值是多少,只在乎一样,有多一样才是关键。

21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
 楼主| 发表于 2014-8-6 09:36 | 显示全部楼层
飞天狼001 发表于 2014-8-6 00:58
支持!
分立24比特R2R结构,确实是一座高山。如果转换的电压是1V,那么1个BT的分辨率就是1/2^24=1/1677721 ...


示波器图的事情正主已经回复了
两个DAC是并联的,共用一个电源,在0输出时,正DAC输出23个0,负DAC输出23个1,并起来刚好是1/2Vdac,这个是有偏移的,最高输出是DAC的供电电压,最低输出是0V,这个有点像1541I/V转换后的电压一样,输出要加隔直。

这个BB方案的意义所在是,-110DB、-120DB输出时,只有LSB端的开关网络在动作,而MSB端的开关网络是处于静态的,这就解决单R2R在零交跳转时差不多所有的开关网络都在动作的问题,也消除了超低输出时MSB位精度的影响。

另外,R2R与DAC芯片的工作方式是不一样的,DAC芯片是电流输出的,而电流输出的好处是,一个差分对实现变流,它的位权电阻两端的电压不管是流向正端还是流向负端,都是恒定不变的,这就很好的保证了精度和噪声,但是差分对也有零交时开关网络大量跳变的问题,BB公司估计也是因为如此才开发了个正负DAC并联输出的技术

至于DAC芯片使用差分对后,它的噪声是从何而来呢?抛开电源噪声与数字电路带来的噪声不说,主要是开关动作噪声;

而就这个开关动作噪声来说,MOS管要比三极管的开关噪声要大,什么原因呢,因为三极管是电流控制器件,对于BE极的PN结来说,或者0.7V的电压变化就可以让它完全的打开与关闭;

而MOS管来说,一般需要2.5V的电压差来让它开或关,而且MOS管的结电容比三极管大得多,这样的话,会不会从0V跳到2.5V时,通过G极与S极之间的电容使输出端产生一个尖峰脉冲?而且这个MOS管的特性,导通电阻越小、输入电容越大,导通电压越小、输入电容最大,这是一个矛盾的取舍问题,可能只有管子的开关速度正能量,因为速度越高、结电容越小,但是又会因为结电容小而导通电阻大;对于MOS结构DAC来说,要想获得很高的速度与比较低的噪声,一般都要求负载电阻比较小,50欧或者更小。

所以噪声方面,三极管结构的音频DAC要好过MOS管结构的音频DAC,而静态精度方面MOS管结构的要好过三极管结构。一般工业DAC表示的精度都是静态参数
下面两图,一个是工业R2R差分对输出方式,一个是输出开关噪声,由图看可能更直观一些
差分R2R.jpg 中间跳转.jpg

21

主题

12

好友

2806

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
360418
帖子
2885
精华
0
经验
2806 点
金钱
2657 ¥
注册时间
2011-7-4
 楼主| 发表于 2014-8-6 09:58 | 显示全部楼层
tendy 发表于 2014-8-5 11:14
兄弟你也挺谦虚了,电阻的话,0.1%是不够的,如果按你的方案用10k,20k,万分之一可以,如果还要更小比 ...

另外说说这个7Z125主要功能是隔离噪声,与DAC电源可调整。
这个噪声隔离是隔离FPGA带来的噪声,就好比在大海边上建一道大坝,用来缓冲或消除海浪带来的冲击
芯片的输出驱动能力与速度有关,速度越快,驱动能力越强,例如:74HC系列一般速度是12nS,输出电流是20mA,74AC系列一般速度是6nS,输出电流是50mA。而7Z125是2.6nS的器件,输出电流也是50mA,但是带载压降比74AC系列要小很多。
用FPGA的好处还有一个,就是可以在调试时写入一个DDS来测试,可以测试超过SPDIF的频率极限,什么192K、384K、1M、2M取样测试都不在话下
不过目前我不会做这个板,因为器件太多,眼睛与手都受不了那个压力。

103

主题

5

好友

3009

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
4153
帖子
3096
精华
0
经验
3009 点
金钱
2527 ¥
注册时间
2005-5-8
发表于 2014-8-6 20:44 | 显示全部楼层
tendy 发表于 2014-8-6 02:10
狼兄可能误会了,发图的是我,不是楼主的方案,我的图是传统r2r方案出来的测量的,和1704的比,区别在哪 ...

BB的测试经过了XXX倍的放大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部