[sdiy] Digital filtering of pot input
rsdio at audiobanshee.com
rsdio at audiobanshee.com
Sat Dec 3 08:48:17 CET 2016
On Dec 2, 2016, at 11:03 AM, mskala at ansuz.sooke.bc.ca wrote:
> On Fri, 2 Dec 2016, Ben Bradley wrote:
>> These are good suggestions, but I always like the hardware idea of
>> keeping the noise as low as possible at the ADC pin. Fortunately it's
>> a slowly varying signal. so a 0.01uF or even 0.1uF cap right between
>
> Unfortunately, I think most of the noise on these microcontrollers comes
> from inside the chip itself, and I'm not sure any amount of filtering and
> careful layout work outside the package, will remove it.
You are correct - and the manufacturers admit as much. What's interesting is that some chips actually have special commands to alleviate the inherent noise of on-chip ADC. The Microchip PIC, as one example, has at least some models with a special instruction that will shut down the digital clocking signals and other noise sources outside the ADC during a conversion. Once the conversion is complete, the processor turns back on and goes about its noisy business.
One problem with this potential solution is that it might not work in all situations. In my case, I needed to have USB running for USB-MIDI, and using the quiet ADC mode seemed to shut down the Host connection. In those days, Microchip did not have their USB interrupt firmware working, so I was stuck will polled USB operations. There might have been a clever way to get around that. Also, now Microchip supports interrupt-based USB, which tends to work better than polled USB, so perhaps the quiet ADC mode would work better. Of course, a USB interrupt would probably ruin any conversion in progress, but perhaps that could be detected and restarted. Also, I can't recall whether the USB peripheral was shut down during the quiet ADC, which might pose huge problems. Another clever solution might be to schedule all quiet ADC operations after the USB Device has finished its time slice in the USB frame.
The other, obvious solution is an external ADC chip. When the on-board ADC is too slow (sample rate) or too quantized (bit depth), there are multiple reasons for an external ADC.
Brian
More information about the Synth-diy
mailing list