简短版:如何制作一个带两个模拟直流输入的模拟乘法器?
长版:
我发表了评论,向本·埃德斯(Beat Eaters)的视频推荐了另一个问题,但这样做的时候,我最终还是再次观看了一些内容,然后对自己说:“ 嗯……我想知道将某些部分制作成纯粹的模拟会更容易 ”。
总线可能只是一条导线,之后不同的电压电平将通过ADC转换为位。
只是弄乱了一点,我走了这么远,理论上可以计算出斐波那契数:
链接到模拟器。
在上面的gif文件中,我超出了电压范围,因此很容易看到斐波那契数,实际上我只使用250 mV =二进制1(“设定值”处的LSB),然后使其传播通过每个电容器可容纳4位的DRAM。
要在gif中查看的重要部分是“ a + b”文本右侧的运算放大器的输出,其中显示了斐波那契数。
在每次操作之间,我将先使用ADC再加上DAC来量化答案。因此,如果我要读取1.1V,则DAC会将其转换为1.0V,然后将其存储在DRAM中。然后每个X时钟一次,整个DRAM将必须经过量化器以确保电容器不会浮动。
ALU只能执行+,-和平均。我当时正在考虑进行乘法运算,但后来停了下来。我之前已经制作并看过基于二极管的乘法器,但是我不想使用它们,因为二极管必须匹配。我宁愿使用可以用电位器修整的电阻。w,我想出了一个混合乘法器,一半模拟,一半数字。
因此,我首次在各地使用相同的电阻器。
图2,数字和模拟值之间的天真乘数。数字值偏移1。
然后我用二进制权重将其转换为:
图3,二进制加权数字和模拟值之间的幼稚乘数。数字值偏移1。
这让我想起了R2 / R梯形图,但是我无法使其与运放一起工作。
但是,我想到了R2 / R梯子的工作原理,并且想起了它们的输出乘以它们的电压源。所以我终于想到了这个设计:
图4,二进制加权数字和模拟值之间基于R2 / R的乘数
我喜欢它,但是唯一的问题是总线是模拟的,只有一根线。因此,如果我不得不使用上面图4中的解决方案,那么就不得不在混合CPU的乘法区域使用另一个ADC。我不能在量化器区域重复使用那个。
提问时间:
我应该如何制作一个需要两个模拟输入的乘法器?
- 我不希望基于3个二极管和4个运算放大器的解决方案,因为您无法修整二极管。我的信念是,如果它们不匹配,那么它们给出的答案将超过250 mV。我还没有在现实世界中尝试过。
- 我已经试过在这个词上方一英寸处的链接中基于MOS的乘法器,但是我不知道自己是否傻。我无法在模拟器中使用它。有关MOS实施失败的信息,请参见下面的gif。或单击此链接进行仿真。
- 我并不想在这个问题抛出一个微控制器。
- 我不希望使用的电机旋转和使用一些诡计。
- 乘法完成后,将带到量化器以确保该值尽可能接近二进制值。所以小的错误是可以的。
这是显示我无法制作基于MOS的失败的gif:
图5,我从上面的Wiki链接复制了原理图,但是它在模拟器中不起作用。
如果可以的话,那么当我将参考电压从5 V更改为-5 V时,我应该已经在某个地方看到了1 V的值。