将 80 年代风格的计算机盒式磁带连接到 FPGA

电器工程 声音的 FPGA 运算放大器
2022-01-26 05:31:26

我正在 FPGA 上重新实现 1980 年代的 Microbee 计算机(请参见此处),并试图弄清楚如何做卡带端口。这是原始 Microbee 卡带接口的示意图:

微生物示意图
(来源:toptensoftware.com

我还在技术手册中找到了它的描述:

磁带数据输出仅由一个 RC 网络组成,该网络接受来自 DB1、PIO 引脚 28 的信号。在将信号发送到盒式录音机的 MIC 输入之前,该信号被衰减然后去耦。该信号出现在 5 针 DIN 插座的第 3 针上。

卡带数据输入电路稍微复杂一些。来自 DIN 插座引脚 5 的输入首先通过衰减器-去耦器。紧随其后的是 CA3140 运算放大器,可在信号传递到 PIO、DBO 的引脚 27 之前对大范围的输入电平进行平方调整。运算放大器的反相和非反相输入两端的两个二极管在任一方向上夹住大于二极管正向电压的任何输入信号。CMOS 运算放大器需要 47pF 电容进行预补偿。

我的问题:

  1. 描述中的“解耦”是什么意思?
  2. 如果将相同的电路连接到 Xilinx Spartan 6 FPGA 上的两个 I/O 引脚(通过 Nexys3 上的 PMod 连接器),相同的电路是否可以工作?如果不能,是否可以对其进行调整以使其工作?

第一次尝试,根据答案中的评论,但输出电阻不应该串联。

出于上下文和教学原因,我将其留在这里,请参阅下一个示意图

MicrobeeSchematic2 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic2.png

新问题:

  1. 比较器的极性是否正确?
  2. 对于MCP6546,Vss 是否接地,Vdd 是否为 3.3V?
  3. 我不确定如何处理原始电路中磁带输入端的“点状”电阻。

结合关于开漏比较器输出的反馈:

MicrobeeSchematic3 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic3.png

我可以为 MCP6546 使用哪些替代品,我无法在澳大利亚的零售店中找到它。我可以得到 LM311 或 LM393,据我所知,它们是相似的。这些也能正常工作吗?

4个回答
  1. 去耦电容器在电路的电源中是众所周知的,它们用于保持电源电压不受(高频)噪声的影响。但我的印象是,这里删除信号的直流内容是指通过串联电容器,就像 C24 对输入所做的那样。根据您的观点(直流或交流),可以将其称为耦合电容器。但是没有电容器可以在您的输出上执行此操作。C23 的值也令人怀疑地低。电阻 R23 和 R24 的截止频率是 12 kHz,这是没有用的,因为无论如何这将是磁带的频率范围。我宁愿在这里期待 5 kHz。文中还提到了 MIC 输入,但输出电平太高了。示意图提到了线路输入。

  2. CA3140 不好。它的最低工作电压为 4 V,在 5 V 时,输出高电平不会高于 3 V,因此对于 4 V 电源,可能低至 2 V,这对于 Spartan 来说可能还不够。改用轨到轨运算放大器,甚至更好的比较器。

重新编辑你的新问题

  1. 极性是可以的,因为它并不重要:-)。你有一个交流信号在地上和地下。就像你画的那样,正半周期将使输出变为 Vcc,负极接地。如果你切换输入,你会得到相反的结果,但两个信号看起来是一样的。

  2. 是的。

  3. 我会忽略它。除了加载输出之外,它似乎没有其他功能,此外,如果你把它点出来,你就要求被忽略:-)。

关于 R1 的重要一点:这应该是 Vcc,你的 3.3 V,而不是与输出串联。开漏输出意味着只有一个 FET 将输出切换到地,所以它只能使其低,而不是高。当 FET 关闭时,上拉电阻将使输出变为高电平。

串联电容器通常称为“耦合”电容器,因为它们将源信号的交流分量耦合到目标。去耦电容器是并联电容器,旨在防止交流信号从源耦合到目标。

在这种情况下,C23 将 PIO 的高频分量去耦到地,使方波输出变得圆润,即近似正弦(您引用的文章在描述到磁带端口的输出时指的是“去耦”,因此必须指C23)。

如果 IC35 输出 0 至 3.3 伏信号,则所绘制的电路应该可以与 FPGA 一起工作。有一点需要注意的是,由于磁带输入没有任何滞后,因此应该显示为单个上升沿或下降沿的信号可能会显示为上升沿和下降沿的快速序列,然后在几微秒后稳定为高电平或低电平. 如果您设计 FPGA 使其忽略持续时间小于 10 微秒的输入变化,并忽略检测到变化后 20 微秒内发生的任何输入变化,那么这应该不是问题,但是如果您的逻辑尝试测量长度输入脉冲没有强制最小长度它可能有问题。

  1. 这种情况下的“去耦”可能是指阻断直流的串联电容器(C24)和 RC 的 C 部分(C23),尽管它应该是 C24 的“耦合电容器”(去耦也用于指代直流阻断功能,但我认为这样会让人感到困惑,因为它通常意味着将交流电分流到地的“其他类型”)和 C23 的“去耦”(如果有的话)
    耦合帽通常用于音频放大器电路允许一级输入独立于前一级直流输出电平偏置。

  2. 是的,只要您为运算放大器提供与 FPGA 引脚相同的电压(例如 3.3V、2.5V 等),而不是所示的 5V。您应该能够将几乎任何运算放大器用于比较器功能(正如 Steven 所说,为了让事情变得简单,轨到轨更可取,但只要您满足 FPGA 输入 min-high max-low 就不是必需的)