[sdiy] Help, I'm Desperate! (Charge Injection with DG408)

Roman Sowa modular at go2.pl
Thu Dec 6 15:00:55 CET 2018

By "4066" I meant general idea that you can control 8 switches directly 
from 3914 outputs. In case if explicitly 4066 that needs also logic 
inverters, but if you use DG444 instead, they are not needed.

Why bother encoding 8 inputs into 3 address and then decoding that back 
in a mux since 3914 gives you all what's needed for an input scanner.


W dniu 2018-12-05 o 18:30, David G Dixon pisze:
> 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
> _______________________________________________
> 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