8位立体声R-2R DAC,这是正确的方法吗?


8

我是电气工程的新手,我想做的第一个项目是制造数模转换器。我发现执行此操作的一种好方法是使用R-2R结构进行转换。

我想挑战自我,从电路的数字部分开始,除了我实际上无法在网络上找到任何解决方案来帮助构建它之外。我有一个电路仿真程序并开始设计,同时在网上搜索您可能会使用的所有不同种类的电子产品。

现在,我认为我可能在了解DAC原理附近,但是如果有经验的人可以帮助我检查我是否确实了解它,这将是有帮助的。这是一个合适的地方吗?

如果是这样,这是我设计的电路: 8位立体声R-2R DAC

我已经为每个通道使用了带有输出锁存器的移位寄存器,并将Q7S从一个连接到另一个以馈送数据。音频文件以块为单位交替播放左声道和右声道是否正确,反之亦然?例如在8位文件中:左为0010 0111,右为0010 0110?

我在这里使用的移位寄存器是74HC595。当移入位时,所有引脚都不会(立即)处于活动状态。触发锁存器[STCP引脚]时,这些位将从移位寄存器转移到存储寄存器,在那里它们将直接将其值输出到相应的引脚并保持活动状态,直到允许接下来的16位。

然后是晶体,我使用了一个方波信号来模拟具有正确振荡频率的晶体:24,576MHz。它馈入计数器,在该计数器中频率被分频以输出DAC需要的频率。在这种情况下,采样频率必须为192.000kHz,因此移入数据的频率必须为3.02MHz(192.000 x 16位)。192.000kHz时钟速度用于触发STCP。

我要做的下一件事是弄清楚如何通过I2C将来自源(例如Raspberry)的数据加载到DAC的缓冲器中,然后从那里将位时钟输出到您在此处看到的电路中。

如果您认为我的做法正确或不正确,那么告诉我会很有帮助。

谢谢!罗吉尔

顺便说一句,我忘了提到我想构建的DAC在96kHZ时每个通道至少有24位。这种威胁只占用了大量空间,事后添加它们应该不难。这是相同的原则。


2
好,困难的项目。我没有完成所有数学运算,但是8位音频听起来不会太好。您将不得不偏向半供电,这将使您的每一侧只有7位。在动态范围受到严格限制的压缩语音中,您可能会避免这种情况,但由于步长粗大和耳朵的对数响应,语音或音乐的安静段落会产生严重的失真。从内存来看,CD质量为14位。
晶体管

1
@transistor虽然不合格,但保真度很高,如果处理得当,则可以令人惊讶地收听8位音频,尤其是在采样率超出可听范围的情况下(在这种情况下,采样率足够高)速率,您甚至可以摆脱1位输出...)。更为严重的问题是建议的移位寄存器是“双缓冲”的,还是在移位时位瞬间出现在错误的输出上,这可能会导致严重的失真。
克里斯·斯特拉顿

4
至于您对每个通道24位的评论-忘记它,现在就忘记它,不要再浪费时间考虑它了。我不会在此评论中讨论数学,但我确定它会在一段时间之前出现。如果没有,这就是维基百科所说的:en.wikipedia.org/wiki/…–
管道

2
使用1%的电阻器,您可以获得准确的6位分辨率(LSB = MSB / 64,因此1%的误差<LSB / MSB值),但在此之上,您需要将每个电阻器的可能误差减半。位(对于8位为0.25%),也可以防止电阻器误差超过您的最低有效位。
Robherc KV5ROB,2013年

2
2-23是一个可怕的小数字。例如超过800万个。您将无法制造出具有任何像样的转换速度的DAC,并且其输出与该规格一样准确。的诚实位的数目是在dB为单位的动态范围(这是S / N比,以dB加入余量的分贝数)6.02分贝/位分割。这将为您提供诚实的位数。我在业界见过的最好的还是20位(或120 dB动态范围)。
罗伯特·布里斯托

Answers:


7
  • 是的,这正是提出您问题的正确位置。
  • 是的,R-2R拓扑结构是制造自制DAC的最简单设计方法(并且我认为是最好的)(无需使用PWM)。
  • 至于挑战自己,在我看来,你可能和我一样受虐(对胆量大加赞赏!)。对于初学者来说,这是一个真正涉及的项目。
  • 您的R-2R电阻串(可以说是连接的运算放大器)实际上是您的8位DAC

这就是我的想法:
校正梯子

不幸的是,R-2R梯形DAC上维基百科页面显示R-2R梯形在此应用中用作分流器时是不正确的。R-2R梯形图可用作分压器,但实际上它在这里用作分压器。这是详细的分析。

仅考虑阶梯的LSB:

原理图

模拟此电路 –使用CircuitLab创建的原理图

无论开关的位置如何,此简单分压器的戴维南电阻均为R。戴维南电压源的值为0V或1/2×Vref。

现在,考虑添加R-2R阶梯的下一阶段时会发生什么:

原理图

模拟该电路

您会看到,这与我们在第一种情况下使用的分压器相同,只是电压组合的数量有所增加。但是,该电路的戴维南电阻仍然仅为R,戴维南电压源现在为0 / 4、1 / 4、2 / 4或3/4×Vref。

通过归纳,您可以看到可以在梯形图中添加任意数量的级,唯一的效果是,戴维南电压源值的选择数量对于每个级都乘以2。对于任何数量的级,源电阻均保持完全相同。

如果负载阻抗无限大,则梯形图的输出电压将与戴维南电压完全匹配。但是,如果负载具有某个有限的电阻值,那么唯一的效果就是用戴维南源电阻创建一个分压器,以一定的固定比例缩放输出电压,但对DAC的基本精度或线性度没有其他影响。


请注意,在Rogier的原始电路(问题中的那个)中,运算放大器处于反相配置,这意味着R-2R阶梯的输出直接连接到虚拟地。这意味着输出值实际上是流过Rth的电流(正好是R),并且该电流也流过运算放大器的反馈电阻。运算放大器的输出电压是使这两个电流相等所需的任何电压,并且计算得出-Rfb / R×Vth。由于他使用2R的反馈电阻,因此输出最终为-2×Vth。


R-2R梯形用作分压器还是分流器似乎有些混乱,因此这里是后者如何工作的说明,以显示该电路与OP电路之间的关键区别。

原理图

模拟该电路

请注意,流经2R电阻的电流是二进制加权的。之所以可行,是因为从任何三重结向右看的有效电阻也正是2R。因此,从左流的电流总是在下支路和右支路之间平均分配。

请注意,此处的关键假设是所有支路均连接到相同的电压(在这种情况下为零)。有趣的是,结点的电压也是二进制加权的。

可以使用它来构建电流输出 DAC,如下所示:

原理图

模拟该电路

该电路中电阻器中的电流与上图完全相同,因为无论每个开关位于哪个位置,相应的电阻器都要么连接到接地电阻器的真实接地端,要么连接到 out¯ 总线或虚拟地上 out总线。两条总线上的电流总和为Iref。运算放大器可以将输出电流转换为电压,并且电压范围仅为-Iref×R7。


老实说,我实际上仍然不知道运算放大器的功能以及为什么在这里需要它。它所做的(根据仿真软件)是使R-2R梯形输出的正信号变为负信号,其倍数为2:〜5V输入,-9,96V输出。为什么那是必要的?
Rogier Reerink '16

1
运算放大器会放大2个输入电压之间的差值,因此该软件表示您已将MSB连接到运算放大器的反相输入(负号引脚),从而导致输出与输入相反。输出信号电压与输入电压的比率由运算放大器输出至运算放大器反相输入的反馈电阻(您使用的是10K)控制;更高的阻力,更获得你(在此电阻短路,然后移动MSB连接到运放输入+&LSB连接到地面应解决这个问题。
Robherc KV5ROB

并不是的。在OP的图中,运算放大器的同相输入已接地。您要做的就是切换到电压跟随器配置。不要忘记在每个反馈路径中包括一个5k电阻来平衡偏置电流偏移。另外,每个R-2R阶梯中最底端的电阻需要为10K,而不是5K。OP也拥有此权利。
戴夫·特威德

Robherc,1.我会放弃耦合电容器。2.如果您使用的是同相电压跟随器电路,则需要在运算放大器的+端子与地之间增加一个10K电阻。底部的5K电阻应为10K。想象一下叠加,所有位都关闭(或接地)。当您坐在任何这些节点上时,在所有3个方向上的接地电阻都应为10K。
罗伯特·布里斯托

图表已更新,接地正确。@ robertbristow-johnson为什么您要摆脱阻塞直流电的电容器并集中输出以保护音频电路中的传感器呢?
Robherc KV5ROB,2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.