Friday, April 2, 2021

Triple waveform panner using a single CV

I got my SSI2130 VCO, or rather, the DAB2130 (chip soldered onto a breakout board) from amazingsynth.com a few days ago. I'm very much looking forward to figuring out what through zero phase modulation is all about - but that's not today's topic.

Among other things, the 2130 comes with built-in waveshapers for tri/saw/pulse/sine, and multiple linear VCAs to let you do waveform mixing in a single chip.

Reading through the datasheet, I stumbled upon a nice little circuit that could be very useful for me - a single-CV input that will pan (linearly) through three waveforms. The SSI2130 VCAs are current driven, so the input CV is converted into three control currents. Also, the input is 0 to 1V.

I looked at the circuit, and it's basically two precision rectifiers plus a differential amplifier. The rectifiers create the CV for the first and last VCA while the differential amplifier uses the original CV plus 2 x the inverted version of the CV for the last VCA to generate the CV for the middle VCA - one that first rises and then falls. Pretty neat. Here is a simulation of the voltage-output version of the circuit:


 

Using a 5V CV to output 5V CVs is simply a case of replacing the -1V reference voltage with a -5V. 

In MY synth however, I intend to use the AS3364 (quad linear VCA based on the CEM3360 dual VCA). It has a CV range of 0 to 2V. But for the pulse wave, I use a little trick from the Juno to control amplitude without using a VCA. Unfortunately, this needs a 0 to 5V CV.

Luckily, tweaking the resistors in the circuit above lets us do all this without any additional components:


I need to do a little bit of testing, especially sincethe first op amp actually attenuates the original CV slightly (gain is 20/25 = 0.8). The last op amp (differential amplifier) also does something similar. Not sure if that is an issue, we'll just have to see.

Update: Tested with a TL074 (-5 ref generated with a 20k/10k resistor voltage divider between 0 and -15V and buffered using the spare op amp). Works like a charm.

4 comments:

  1. Wow, thanks for this cool little article!
    It got me to update my 2130 datasheet, my version had only 6 pages.
    But what I enjoyed most was my process of looking at schematic saying "What´s going on here?" to understanding the circuit. Very satisfying!
    I guess your "little trick" from the Juno is the way sub level is handeled. Is it possible to passively mix two CVs for the transistor, or do you need an opamp mixer for that?

    ReplyDelete
    Replies
    1. I agree, it was fun figuring out exactly what was going on :) I expect it would be possible to add even more stages too.

      The Juno sub level trick: The input is not a summing point, so like with any passive mixing the two voltages will probably not be summed correctly. It is not due to the transistor, it just turns on and off the negative input, but any resistors before the level CV input will work as voltage dividers in conjunction with the pre-transistor/op amp input resistors so the CV the circuit "sees" will not be the one you expect (That is my guess at least). The circuit will still work since the two inputs of the op amp derive their input from the same CV, but the CV will be wrong.

      Delete
    2. Bummer. My plan is to build a cool "additive" VCO that mixes eight pulsewaves for its output. (OK, 64 pusestrams would make better waves, but let´s keep realistic.) It works well with just a mixer, but I thought your "Pulse VCA" could make it more dynamic.
      I guess I´ll just try the one transistor VCA to find out if "not mixed correctly" means "good enough for Rock´n Roll", if I need a real VCA, or if static sounds are good enough.
      Thanks again for giving me things to think about!

      Delete
    3. Hmm, sorry if I'm missing something here, but why can't you just add one op amp per channel (pre transistor) to mix input CVs? Since you need an op amp to make it work as a VCA you already have to have a split supply, and op amps cost nothing. And why do you need to mix CVs, do you have two different CVs you want to mix to control the amplitude of a single pulse wave?

      Delete