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

Barry Klein barryklein at cox.net
Wed Dec 5 19:13:17 CET 2018


Lm3914 is in last time buy status, although thousands available for sale.
Is there a block diagram of this circuit?  I’d like to better understand what you want this module to do.

Barry

> On Dec 5, 2018, at 9:30 AM, David G Dixon <dixon at mail.ubc.ca> wrote:
> 
> 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