Sunday 2 December 2018

audio - Connecting an 80's style computer cassette to an FPGA


I'm re-implementing a 1980's Microbee computer on an FPGA (see here) and trying to figure out how to do the cassette port. Here's the schematics for the original Microbee cassette interface:


MicrobeeSchematic
(source: toptensoftware.com)


I also found this description of it in a technical manual:




The cassette data output consists merely of an RC network which accepts a signal from DB1, pin 28 of the PIO. The signal is attenuated and then decoupled prior to sending it to the cassette recorder MIC input. This signal appears on pin 3 of the 5 pin DIN socket.


The cassette data input circuit is slightly more complicated. The input from pin 5 of the DIN socket passes first to an attentuator -decoupler. Following this is a CA3140 op-amp, to allow a wide range of input levels to be squared up before the signal is passed to pin 27 of the PIO, DBO. The two diodes across the inverting and non-inverting inputs to the op-amp clip any input signals greater than the diodes' forward voltage in either direction. The 47pF capacitor is required by the CMOS op-amp for precompensation.



My questions:



  1. What does "de-coupled" in the description mean?

  2. Would the same circuit work if connected to two of the I/O pins on a Xilinx Spartan 6 FPGA (through the PMod connector on a Nexys3) and if not, could it be adapted to make it work?




First attempt, based on comments in answers, but the output resistor shouldn't be in series.



I'm leaving this here for context and instructional reasons, please see the next schematic


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


New questions:



  1. Is the polarity of the comparator correct?

  2. For the MCP6546, does Vss go to ground and Vdd to 3.3V?

  3. I'm not sure what to make of the "dotted out" resistor across the tape inputs in the original circuit.




Incorporating feedback regarding the output of the comparator being open-drain:



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


What alternatives could I use for the MCP6546, which I've not been able to find in retail stores here in Australia. I can get LM311 or LM393 which, from what I can tell are similar. Will these work just as well?




No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...