On Feb 28, 2017, at 9:55 AM, Jim Brain via cctalk <cctalk at classiccmp.org> wrote:
Analog, which is my nemesis, curses me again.
I have a cute idea for a cassette port project for the Tandy line of computers (the ones
with the cassette port). I have a Coco 3 on the bench, so I scoped the output line while
doing 'csave "jim"'. The signal looks to be just under 1V PtP (0-1V on
the scope), and rests at about .3V when not sending data.
I have tried 6 different ways to boost the signal to 5V digital, to no avail, and so I
ask humbly if someone with analog knowledge might be able to assist.
Warning, I am not an electrical engineer at all, only opinionated.
What about:
(analog out) -> A/D conversion -> tight software loop -> D/A conversion ->
(analog in) ?
Use a dedicated (Beaglebone? Raspberry Pi?) system in the middle, and o-scope the analogs
to make sure it?s clean enough.
The dedicated system should be able to 5V (or whatever you want) on the output, and I
would think be fast enough to generate a reasonable sine-wave coming out if it only has to
be audio frequencies.
Once you have it working that way (and the software loop should allow you to tune it at
will), you could build a simple dedicated circuit to multiply the same way the software
did.
This is killing a mosquito with a sledgehammer, I know. With any luck, one of the regulars
who *is* an EE will chime in before you read this with the correct answer, in which case
disregard.
I first tried to boost the signal with a transistor
(with variations using a N channel FET as well). Arguably, that was foolhardy, and it did
not work.
Can a plain transistor do both + - ways on voltage?
My second attempt was based on this link that was
shared with me:
http://labs.rakettitiede.com/12kbps-simple-audio-data-transfer-for-avr/
The output from the Coco3 does not appear to be "loud" enough to work with this
circuit.
Even if it did, this looks like it implies all square waves. I think CoCo is designed to
work with modulated sine-waves, and there could be some frequency components of the square
waves (3x frequency, etc) that are causing problems somewhere.
I don?t know that an AVR can run fast enough to do the sine-waves. I would guess you need
to sample and digitize at least 10 times faster than the carrier (so maybe 100kHz?) and
same for the output.
So, I finally decided a comparator solution would be
required.
Still square-wave? I could be on the wrong track here completely, but I?m thinking you
want sinewaves.
First, I tried a design using a 741 op-amp, which
failed miserably, but probably would have worked, but I tried to merge the design from the
Coco1, and replace the LM339 in the Coco 1 design with the 741, and I feel I did not merge
the designs well :-)
I then tried using the comparator in an Atmel AVR, and had minimal success. By biasing
one input via a variable resistor to around .8V, I was able to get a digital stream, but
it did not look like the data stream of the cassette format.
I then pried an LM339 out of my Coco1 and replicated the circuit int the Coco 1, as noted
in the tech manual:
Color Computer Technical Reference Manual (Tandy).pdf
<http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Color%20Computer%20Technical%20Reference%20Manual%20%28Tandy%29.pdf
I was shocked that I had no success with that design at all. I assumed (wrongly, it
appears) that the Coco cassette input circuit would read the output of it's output
circuit. Beyond the possibility that my components are defective or I wired it up
wrongly, I can only theorize that Tandy assumed that all tape recorders would AGC the
output and then feed a 2V PtP signal back to the Coco (the Coco 1 circuit looks to bias
the comparator at 1.05V (not sure about the feedback resistor's impact))
I can fiddle around with the AVR solution, which might work if I can smooth out the
spikes and bias the comparator right, but it just bothers me that the Coco 1 circuit does
not work, as I assumed I would at least have success by copying a working design.
Jim
--
Jim Brain
brain at
jbrain.com
www.jbrain.com - Mark