Cassette Interface Assistance

Jim Brain brain at
Tue Feb 28 12:10:54 CST 2017

On 2/28/2017 11:43 AM, Tony Duell via cctalk wrote:
> I fail to see how anyone can be a good digital designer and not
> understand analogue
> electronics.
A couple points:

  * It is entirely possible I am not a good digital designer
  * I believe I have a basic understanding of analog, but I may not be

> To get back to the problem. What do you _actually_ want the output to become? An
> analogue signal or a digital one?
A digital one.  The current goal is to feed the incoming data stream 
into an Atmel AVR running at 5V for parsing.  The final goal is to do 
the same, but run the AVR at 3V on two coin cells.
> If you want a digital signal then look at a comparator chip like the LM339. This
> compares the voltages on the 2 inputs, the output changes state as they pass
> each other (if you see what I mean).
I understand the comparator function, though I will admit I have rarely 
used one.  As I had some success on the AVR internal comparator circuit, 
I was able to play around with the bias and see how it affected the output.
> So you cassout signal to one
> input, a stable
> voltage of, say 0.5V on the other. There are couple of gotchas with
> this chip. The
> first is that it has open collector outputs, so you need a pullup
> resistor. The second
> is that it tends to oscillate at switchover. You can add hysteresis
> with a couple
> of resistors to prevent this.
I saw the notes in the datasheet about the oscillation, and the 
recommended way to overcome this.  I also noticed the Coco 1 schematic 
includes this exact recommendation.  I then wired up the exact circuit, 
using the LM339 from my Coco1, and the exact resistors and other 
passives as specified in the schematic.
> Where do you get the 0.5V reference from? Well, if your 5V supply is stable you
> can use that, divided down with a couple of resistors. Say 9.1k and 1k in series
> across the supply, comparator input to the junction.
The Coco1 creates a 1.05V reference via the 15K and 56K resistors. After 
I noticed that the analog signal was centered around .5V, I quickly 
added another 15K resistor in parallel with the first one, to create a 
56K/7.5K divider, which yields .591V as a reference.  I am using a lab 
PSU, running at 5.00V, but the resulting circuit did not respond to 
changes in the Coco cassette data signal.  I rechecked my circuit last 
night, but will recheck it tonight in case I made some stupid wiring 


Jim Brain
brain at

More information about the cctech mailing list