[sdiy] Mixed-signal problems (dsPIC digital delay project)

Frédéric (Opensource) marzacdev at gmail.com
Tue Feb 7 15:43:57 CET 2017


Hi Tom,

I don't know if you've found a solution to your problem, but I would
like to share my experience with dsPic and internal DAC.

When I was working on the Arduino OPA shield (a tiny 10 voices FM
  + PCM synth). I made a first version around a dsPic33FJ128GP802
using the internal DAC. Here is a link of the project:
https://www.kickstarter.com/projects/1304489933/opa-multitimbral-fm-synthesizer-shield-for-arduino?lang=fr

Whatever I tried, having a really clean power supply,  good decoupling,
a proper differential amp (built using a TL972), ferrite pearls, I was 
getting
A LOT of noise and even distortion when the digital signal was above half
the maximum amplitude.

I recall I had, round about, the equivalent of 8.5 bit of noise floor ...
far away from the promised 16bit dynamics. I used 32kHz sampling rate.

How did I solve the problem?
I moved to a rather inexpensive dsPic33EP256MC202, with nearly identical
instruction set (I kept most of my asm code), faster core clock, no DAC and
I used a pretty cheap UDA1334ATS 24bit stereo DAC.

If you've never heard about it, it's a quite neat chip as that can work with
I2S standard or plain SPI. It provides an internal PLL so no need to provide
the fast master clock, it's rebuilt from the SPI clock. That makes this DAC
virtually compatible with any microcontroller which has an SPI and a DMA
controller (for constant flow of data). You still need to general the WS
(or L/R clock) that can be done with an output compare timer.

Then I no longer had noise problems. I hope this can help.

All the best,
Frédéric


Le 27/01/2017 à 23:19, Neil Johnson a écrit :
> On 27 January 2017 at 21:35, Tom Wiltshire <tom at electricdruid.net> wrote:
>> It's a stomp box circuit, so it's a standard audio job, and TL072 is a standard audio op-amp. It'll run at 9V, so no problem. If I was fussed about the current draw, I'd have used a TL062, but in this case, the op-amps are negligible compared to the uP, so there's really no point. In some ways "TL072" is used here as code for "whatever dual op-amp you have in your drawer". I don't care if people fit a LF353 instead. It shouldn't make any odds.
>>
>> Why do you ask? You think a different amp would solve my noise problems? Seems unlikely...
> Yes, unlikely to be the cause of your noise problem, but I would have
> used a rail-to-rail op-amp, at least one who's inputs can go down to
> the ground rail.  The op-amp immediately after the DSP sees a
> common-mode voltage of about 1.65V on the input, which after the
> application of Vref pulls the op-amp inputs to a common of around
> 2.8V.  That's quite low for the TL072.  The rest of the circuit biases
> the inputs to a common of 4.5V which is much better.
>
> Neil




More information about the Synth-diy mailing list