分享 DIY USB耳放(R2R DAC)的设计过程(持续更新)
本帖最后由 ehengio 于 2021-10-24 19:38 编辑一、项目的出发点
最近一段时间,迷上了R2R DAC。它精度的关键就是电阻的匹配精度,那些几万元的R2R解码器都是用的昂贵的万分之一精度的电阻。
其实就是万分之一精度的电阻,也不能完全满足他们所谓的24bit,32bit的需求。
这个时候我就在想,现在ADC技术实现十万分之一以上的相对精度还是很容易的,是不是可以通过ADC对R2R输出的结果进行一个反馈。
这样用普通的电阻,就能实现十万分之一以上的匹配精度。想想就可行,所以就一直想做一个R2R DAC。
但光做R2R DAC没法验证,也不好玩。就想做一个可以听音乐的东东,所以就有了本项目。
二、项目的定义
第一次做,完全对音频完全没有经验,所以就想尽量简化音其他的元素。所以选择做USB耳放。
初步方案:usb -> SA9023 -> i2s -> stm32 -> R2R DAC -> RC滤波-> OPA2612功率放大 -> 驱动耳机
反馈回路使用AD7192
音频指标:24bit 96kHz
设计目标:尽可能的还原原始波形。(不追求好听,因为音频我不懂) 好东东,端个板凳听课{:lol:}{:lol:} 再加个恒温控制,电阻买几盘回来做个自动筛选就好了 XMOS的方案如何了?STM系列不擅长搞这些吧? ad7192到96kHz时远远到不了24位吧... tomzbj 发表于 2021-10-25 09:45
ad7192到96kHz时远远到不了24位吧...
不是实时校准,而是定期校准 aammoo 发表于 2021-10-25 02:34
再加个恒温控制,电阻买几盘回来做个自动筛选就好了
这个项目就是不想做电阻塞选,跟何况电阻还会随温度和时间的而变化
要到十万分之一的精度,长期保持,一个电阻估计就要几百块。
(我现在做的电阻表,用的RJ711的电阻5ppm/℃ 年漂移小于100ppm,一颗要30几块) liao-ljj 发表于 2021-10-25 08:26
XMOS的方案如何了?STM系列不擅长搞这些吧?
R2R DAC比较简单,纯逻辑电路也可以搭
考虑到需要电阻修正,所以菜需要一颗MCU
原则上用任何MCU都可以,选STM32主要是大家都比较熟悉,方便交流
三、输出功率放大设计
R2R DAC输出阻抗一般为几k。要驱动耳机的话,还需要加一级功率放大。
一般音频放大,都会使用到正负电源,而且需要高电压大功率。比较麻烦,而且用开关电源的话,又会带来噪声。
这次DIY主要想验证DAC,又想偷懒了,只想做一个单一5V供电的功率放大电路。
R2R DAC 输出的电压范围为 0~Vref,Vref取3.3V的话就是0~3.3V。
OPA6122的信号输入范围,在5V供电的情况下,是1.5V~4V。所以DAC输出还需要变换一下才能接入OPA6122。
我处理的方法是,输出对Vref,再加一个2R(相当于再加一级最高位恒定为1的输入)。
这样DAC的输出,就变为1.65V~3.3V,正好满足OPA6122的要求。
四、音量调节
把R2换成10K的可调电阻,就可对输出幅度进行调节
Vout = Vdac * R2 / ( R2 + 10K) + 3.3V * 10K / (R2 +10K)
当R2 = 0K 时, Vout = 3.3V 输出为0
当R2 = 5K 时, Vout =1/3 Vdac + 2/3 * 3.3V 输出为1/3
当R2 = 10K 时, Vout =1/2 Vdac + 1/2 * 3.3V 输出为1/2
缺点是调节音量时DAC输出的共模电压会变化,这样会输出一个噪音,暂时还解决不了
以前用74HC595做过8bit的 帖子移动通知:
原分论坛:STM32/8
目标分论坛:HiFi音乐
移动时间:8小时之后 放到HiFi板块更适合。 精华,打赏100汤圆,
并且打赏3个月VIP++资格。 R2R原理倒是很简单,以前也用过。不过我好奇的是,你怎么补偿电阻? 谢谢,老大的打赏
五、R2R控制方式
网上大多数的R2R DAC都是采用74HC595直接输出控制,595导通电阻大概在30Ω,对于几KΩ的R2R网络而言,稍微有点大。
为了提高精度,采用RS2118模拟开关来控制R2R网络,它的导通电阻只有1Ω,对于几KΩ,只额外引入万分之几的误差,基本可以忽略。
为了减少开关不同步带来的噪声,尽量使用MCU同一个端口进行控制,如PA0~PA15控制左声道DAC高16位,PB0~PB15控制右声道DAC高16位。
低8位,采用75hc595扩展。这样即使低8位有点不同步,带来的噪声也比较小。 五、R2R DAC原理
24bit R2R DAC,其中高16位用IO口直接控制,低8位用74hc595扩展(主要是IO口不够了)
电阻选择常见的,成倍数关系的1.8k 和 3.6k贴片电阻。
为了直观下图中,只画了左声道的DAC,右声道与它完全相同。
六、原理图
74HC595,响应延时要几十ns。想想还是算了,换一颗管脚多一点的MCU,不要595扩展了。
附件是新方案的原理图。
看大家不是太感兴趣,后续就不再分享开发过程了,等做出成品来再来汇报。
最终性能怎么评估?
会测试THD+N和SNR吗? ehengio 发表于 2021-10-30 12:41
六、原理图
74HC595,响应延时要几十ns。想想还是算了,换一颗管脚多一点的MCU,不要595扩展了。
附件是新 ...
可以考虑74AHC595,延迟在4-5个ns 学习了!{:handshake:} 学习学习,第一次听说这种DAC
开发出来了吗,楼主
页:
[1]