<div dir="ltr"><div>Ugh, ignore me, I neglected to check the rail specs for the TL074. Oopsie. 0-5V swing would take 384ns, definitely too slow<br></div><div><br></div><div>John<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 5 Dec 2018 at 20:29, john slee <<a href="mailto:indigoid@oldcorollas.org">indigoid@oldcorollas.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Tom,</div><div><br></div><div>I was contemplating the same. However while browsing some AVR datasheets I've not found a spec indicating any guarantees about what happens when you write to a register representing multiple GPIO pins — eg. the PORTA, PORTB, et al "ports" in AVR land that each represent 8 pins. If the GPIO edges are not synchronised to a reasonable degree, the same problems may well manifest</div><div><br></div><div>Though I suppose at 16Mhz, the DG408's 250ns transition time is approximately four cycles. It should still be way ahead of TL07x</div><div><br></div><div>Speaking of TL07x... David wrote:</div><div><br></div><div>> The slew rate of TL074 is about 13V/us, so it takes about 2us or 2000ns for the comparators to change state</div><div><br></div><div>The Vishay DG408 datasheet I'm reading[1] appears to indicate that you only need to swing the "logic high" voltage to 2.8V, which should give a slew time of around 215ns, if my math is right. You may be able to get slightly faster again by using a value above 0V for "logic low", but that's pushing a bit close to the Vishay specs. Nowhere near as fast as a microcontroller, but a lot faster than a full-range swing.<br></div><div><br></div><div>[1] <a href="https://www.vishay.com/docs/70062/dg408.pdf" target="_blank">https://www.vishay.com/docs/70062/dg408.pdf</a><br></div><div><br></div><div>John<br> </div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 5 Dec 2018 at 19:39, Tom Wiltshire <<a href="mailto:tom@electricdruid.net" target="_blank">tom@electricdruid.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have to say it - this really sounds like a job for $0.50 of microcontroller.<br>
<br>
==================<br>
       Electric Druid<br>
Synth & Stompbox DIY<br>
==================<br>
<br>
> On 5 Dec 2018, at 06:55, David G Dixon <<a href="mailto:dixon@mail.ubc.ca" target="_blank">dixon@mail.ubc.ca</a>> wrote:<br>
> <br>
> Hello SDIY Team,<br>
> <br>
> Today, I thought deeply about the switching glitch problem, and I think I<br>
> concur with Steve Lenham.<br>
> <br>
> The switching time of the DG408 is about 250ns.  The slew rate of TL074 is<br>
> about 13V/us, so it takes about 2us or 2000ns for the comparators to change<br>
> state.  Also, the thresholds cascade from one comparator to the next, so the<br>
> times are probably roughly additive.  Hence, it could take as long as 6000ns<br>
> for all three comparators to change state, and this is a veritable eternity<br>
> from the perspective of the DG408 -- about 24 switchings could occur during<br>
> that time.  Hence, when two or three comparators have to change state, the<br>
> switches blow through a bunch of different audio inputs, creating classic<br>
> audio pop.<br>
> <br>
> So, I now believe that the best approach is to use Gray code to drive the<br>
> switches, so that only one bit ever has to change.  This consists of two<br>
> things: 1) changing the logic circuit to generate Gray code from the CV<br>
> signal, and 2) reconnecting the switch inputs to conform to Gray code.  The<br>
> second part is trivially easy.  The first part is not so easy.<br>
> <br>
> However, I have discovered that 3-bit binary can be converted to 3-bit Gray<br>
> code fairly directly, since the 1st Gray and binary bits are equivalent, the<br>
> 2nd Gray bit is the XOR of the 1st and 2nd binary bits, and the 3rd Gray bit<br>
> is the XOR of the 2nd and 3rd binary bits.  An analog XOR circuit like the<br>
> one on Ian Fritz's website (inspired by Electronotes) would fulfill the XOR<br>
> function from my existing 3-bit hack-job ADC.<br>
> <br>
> However, I am going to rethink this entire logic and switching circuit,<br>
> because it is getting fairly complicated.  I believe that proper comparators<br>
> with pullup resistors to 5V would be better than the opamps with zener<br>
> diodes, and I'll figure out some other way to generate the threshold<br>
> voltages.  With proper logic levels, I'll probably just use proper logic<br>
> chips.<br>
> <br>
> In any case, I need to stop thinking about this project for a little while<br>
> because I have other more pressing things to do, so I'll return to this in a<br>
> few days.<br>
> <br>
> _______________________________________________<br>
> Synth-diy mailing list<br>
> <a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
> <a href="http://synth-diy.org/mailman/listinfo/synth-diy" rel="noreferrer" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
<br>
<br>
_______________________________________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
<a href="http://synth-diy.org/mailman/listinfo/synth-diy" rel="noreferrer" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>
</blockquote></div>
</blockquote></div>