[sdiy] Digital delay - whine from serial RAM access

Tom Wiltshire tom at electricdruid.net
Sun May 8 20:35:34 CEST 2016


Hi All,

I'm currently building a digital delay. The prototype is on stripboard (this may be a significant fact). I'm using a dsPIC 33FJ64GP802, which has a 12-bit ADC and 16-bit DAC on-chip. I had this working very nicely using the on-chip RAM for a short delay. This weekend, I've added an external SRAM (the 23L1024 128KB SRAM that Richie B suggested here a while back) and got it running with that. This produces a much longer delay, which is great.

What's not so great is that it also causes a nasty whining sound in the output. I've checked on the o'scope and the noise coincides perfectly with the periodic block read/writes to the SRAM chip - so it's coming from the fast signals of the SPI connection (8MBits in my circuit). I'm using a 32KHz sample rate and read/writing blocks of 16 samples (the SRAM memory page is 32 bytes, so it's convenient) which gives me a 2KHz block rate, and a whine at the same frequency.

I've got separate analog and digital supplies, and as far as possible I've got the analog and digital parts of the circuit separated, electrically and in space. The in/out op-amps and filters are all up one end of my board, and the uP and SRAM are down at the other, with a line of track breaks dividing the two in the middle.

Given that I can't add a ground plane to a stripboard, is there anything else I can do that will help reduce the whining? Any other suggestions for reducing digital noise is mixed-signal circuits like this? How does the noise get from the SPI connection to the output? What techniques could I use to determine that?

Thanks,
Tom




More information about the Synth-diy mailing list