cancel
Showing results for 
Search instead for 
Did you mean: 

SD card write operation and spikes in analog ADC data.

prabhu
Associate II
Posted on January 08, 2014 at 16:43

Hi All,

I am using STM32F4Discovery board to log data from six analog channels at 50 KHz on micro SD card. Thanks to this forum for the help through various posts, particularly from Clive1. ADC operates in triple ADC regular simultaneous mode with DMA to transfer data in 98304 byte buffer.   The code works properly. SD card write operations are initiated on half transfer (HTIF) and transfer complete (TCIF) interrupt event (every 80msec). During the write operation large spikes as high as 50 to 70 counts are seen in analog data. For test purpose 1.5v battery is connected to analog channel.

Suspecting SD card write current might be influencing VDD, SD card was powered through a separate 3v regulator with bypass capacitor and ferrite bead in series. However this did not reduce spikes in measurements. I believe spikes might be feeding through ground or SDIO lines.

Most of the commercially available boards do not provide separate analog and digital grounds.  Is there any reference design for STM32f4 that address this kind of issue?  I would have liked to build STM32f427 based board as it has slightly better ADC performance and extra RAM. However, I am hesitant in view of the present problem. 

Any suggestions /comments would be useful in deciding whether to continue with internal ADC or to opt for external simultaneous sampling ADC.

Thanks

#board #sd-card #sd-card #adc #discovery #adc
15 REPLIES 15
felipe2
Associate III
Posted on February 18, 2014 at 16:39

Hi Aryan,

I'm working on something similar and I'm also having the same problem. I've tried pull ups, pi filter in VDD, etc, etc. I've tried everything I could think of to remove the noise but it just doesn't go away.

Have you by any chance managed to solve your problem? If you did, could you share how you did it?

thanks

chen
Associate II
Posted on February 18, 2014 at 17:52

Hi

''I'm also having the same problem. I've tried pull ups, pi filter in VDD''

Have you tried seperating the Vref to the ADC and putting the filter on the ADC Vref?

felipe2
Associate III
Posted on February 27, 2014 at 18:57

Sorry, I meant to say VDA, or as you put it ADC Vref. I Still haven't managed to remove the noise. Any other suggestions?

thanks,

felipe

chen
Associate II
Posted on February 28, 2014 at 10:33

Hi

It has been a while, and I really do not feel like reading the whole thread again, so I am sorry if I am repeating anything.

Go back to basics :

Is the noise on the ADC supply volatge?

Is the noise on the ADC reference (if it is different to the ADC supply)?

Is the noise on the ADC inputs themselves?

marcos_utfpr
Associate
Posted on June 18, 2014 at 14:00

Hi, how are you?

Well, I have been working on a similar project, the noise is from the SDIO CLOCK PIN. I discovered this today, I'm gonna try to fix this problem... By the way, Have you solved your problem?

felipe2
Associate III
Posted on November 06, 2014 at 18:23

Hi,

I still haven't solved the problem completely. I have tried all the approaches I could think of and all the suggestions I found in other forums. At the moment the noise level is around 30mV peak (measuring with oscilloscope). My last resort will be to make another PCB and try to improve the layout until I can get rid of the noise but the problem is that this is costly.

I'm also beginning think that it might be the sdio_clk  line but the only suggestion I found for this is to have a guard rail around this line but I would like to test if this is true before making another PCB.