[sdiy] Help, I'm Desperate! (Charge Injection with DG408)
David G Dixon
dixon at mail.ubc.ca
Wed Dec 5 18:30:00 CET 2018
I don't know how to use microcontrollers, and I'm not going to learn on this
project. I have been meaning to learn about them, but I'm afraid that will
have to wait until I retire. It has to be something discrete.
What about the LM3914 (as Roman suggested), or even two LM339s arranged into
a flash cascade, into an 8-to-3 encoder such as MC14532? Would this give a
clean enough binary output for controlling DG408? I actually have those on
hand, so could try. The delay times of the MC14532 seem to be in the right
ballpark, and only one bit in (of the 8) would ever be changing at any time.
I'm not quite sure about Roman's suggestion of 4066. 4097 would be more
appropriate, but this has the wrong voltage range, and is no slower than
DG408.
> -----Original Message-----
> From: Synth-diy [mailto:synth-diy-bounces at synth-diy.org] On
> Behalf Of rburnett at richieburnett.co.uk
> Sent: Wednesday, December 05, 2018 5:28 AM
> To: synth-diy at synth-diy.org DIY
> Subject: Re: [sdiy] Help, I'm Desperate! (Charge Injection with DG408)
>
> It's perhaps also worth pointing out that if you put a
> low-cost micro in there (as Tom suggested) you then have the
> opportunity to build in some "rules".
>
> You can add in conditional statements that don't allow values
> to jump to invalid states in a sequence, or suppress brief
> new states until they have persisted for some duration. Add
> hysteresis to comparator thresholds, etc. etc. All done in
> software, without even having to heat up your soldering iron! ;-)
>
> -Richie,
>
>
>
> On 2018-12-05 12:05, Steve Lenham wrote:
> > On 05/12/2018 06:55, David G Dixon wrote:
> >
> >> Today, I thought deeply about the switching glitch problem, and I
> >> think I concur with Steve Lenham.
> >
> > Go me! ;-)
> >
> > <snip>
> >>
> >> So, I now believe that the best approach is to use Gray
> code to drive
> >> the switches, so that only one bit ever has to change.
> This consists
> >> of two
> >> things: 1) changing the logic circuit to generate Gray
> code from the
> >> CV signal, and 2) reconnecting the switch inputs to
> conform to Gray
> >> code.
> >> The
> >> second part is trivially easy. The first part is not so easy.
> >>
> >> However, I have discovered that 3-bit binary can be converted to
> >> 3-bit Gray code fairly directly, since the 1st Gray and
> binary bits
> >> are equivalent, the 2nd Gray bit is the XOR of the 1st and
> 2nd binary
> >> bits, and the 3rd Gray bit is the XOR of the 2nd and 3rd
> binary bits.
> >> An analog XOR circuit like the one on Ian Fritz's website
> (inspired
> >> by Electronotes) would fulfill the XOR function from my existing
> >> 3-bit hack-job ADC.
> >
> > Gray code will not help you unless you can generate it directly.
> >
> > Taking a binary address that passes through multiple transitional
> > states and converting it to Gray code will give you a Gray code
> > sequence that does exactly the same.
> >
> > If your binary address is supposed to be changing from 1 to 2, but
> > also temporarily passes through 3, then passing this value
> through a
> > Gray encoder will simply give you an address that goes from
> the Gray
> > code for 1 (001) to the Gray code for 2 (011) but also temporarily
> > passing through the Gray code for 3 (010). Nothing will have been
> > gained.
> >
> > Also, Gray code is only beneficial when the encoded value is
> > guaranteed to only increment or decrement by one unit at a
> time (for
> > example in rotary encoders). Otherwise, the statement that
> "only one
> > bit of a Gray code value changes at a time" does not hold!
> >
> > The Gray code values corresponding to decimal 0-7 are:
> >
> > 000, 001, 011, 010, 110, 111, 101, 100
> >
> > Clearly a change in the value greater than one often
> involves changing
> > more than one bit of the Gray code.
> >
> >> However, I am going to rethink this entire logic and switching
> >> circuit, because it is getting fairly complicated. I believe that
> >> proper comparators with pullup resistors to 5V would be
> better than
> >> the opamps with zener diodes, and I'll figure out some
> other way to
> >> generate the threshold voltages. With proper logic levels, I'll
> >> probably just use proper logic chips.
> >
> > I can't help agreeing with Tom in that one of the 8-pin
> PICs with an
> > onboard ADC would kill the problem stone dead very
> inexpensively, but
> > I appreciate that not everyone has the
> > facilities/experience/inclination to take that approach.
> >
> > As an alternative I would offer the following:
> >
> > - Generate a clock signal at a fairly high frequency.
> > - Use the rising edge of that clock to trigger a sample-and-hold
> > circuit (could be just a CMOS analogue switch).
> > - Feed the sampled signal to your comparators.
> > - Take the comparator outputs to a D-type latch.
> > - Clock the latch with the falling edge of your sample clock.
> > - Control your analogue multiplexer with the outputs of the latch.
> >
> > That is effectively what the PIC would be doing, just in discrete
> > form. The comparators then have half the clock period to settle to
> > their final values.
> >
> > Good luck!
> >
> > Steve L.
> > Benden Sound Technology
> >
> >
> >
> > _______________________________________________
> > Synth-diy mailing list
> > Synth-diy at synth-diy.org
> > http://synth-diy.org/mailman/listinfo/synth-diy
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list