Digital noise when using ADCINC

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi all,

   

I'm trying to add an analog input to my cy824794 project, which is a basically an SPI based digital sensor.

   

I added an 10bit ADCINC as follows:
<img src="http://i.imgur.com/W8hFCmJ.png" width="870" alt="" />
<img src="http://i.imgur.com/Y7CcQQV.png" width="578" alt="" />

   

But I''m getting some digital noise on the readings. Here's the relevant part of the schematics.
<img src="http://i.imgur.com/9XFoN6p.png" width="841" alt="" />

   

I call these at initialization: <code>ADCINC_Start(ADCINC_HIGHPOWER);
ADCINC_GetSamples(0);</code>

   

And this on the main loop:
<code>    if (ADCINC_fIsDataAvailable() != 0)
    {
        unsigned int ui = ADCINC_wClearFlagGetData();
        ...
    }</code>

   

Can anyone help?

0 Likes
1 Solution
SampathS_11
Moderator
Moderator
Moderator
250 sign-ins 250 solutions authored 5 questions asked

Hello David,

   

These are the items which can be done to reduce digital noise on ADC readings

   

- Set OpAmp Bias to high

   

- Enable AGndBypass in the Global resources. AGND is connected to pin Port2[4]. Capacitor values range between 100nF to 10μF. You can find a discussion of this on AN2219 - PSoC® 1 Selecting Analog Ground and Reference, on page 3 and 4

   

- Use low ESR / ESL bypass capacitors

   

- Add a capacitor to the motion input. This value should be such that it should not limited the bandwidth of interest.You can use 10nF as a starting point. This input comes through a connector shared with SPI.

   

- Is there any cross-talk on the board which connected to the other end? What happens to the noise if you disconnect the SPI lines? Does it reduce?

   

- Is the noise random or has any specific frequency. If it has a specific frequency, does it correspond to any periodic tasks being done in firmware?

   

Thanks,

   

Sampath Selvaraj

View solution in original post

0 Likes
1 Reply
SampathS_11
Moderator
Moderator
Moderator
250 sign-ins 250 solutions authored 5 questions asked

Hello David,

   

These are the items which can be done to reduce digital noise on ADC readings

   

- Set OpAmp Bias to high

   

- Enable AGndBypass in the Global resources. AGND is connected to pin Port2[4]. Capacitor values range between 100nF to 10μF. You can find a discussion of this on AN2219 - PSoC® 1 Selecting Analog Ground and Reference, on page 3 and 4

   

- Use low ESR / ESL bypass capacitors

   

- Add a capacitor to the motion input. This value should be such that it should not limited the bandwidth of interest.You can use 10nF as a starting point. This input comes through a connector shared with SPI.

   

- Is there any cross-talk on the board which connected to the other end? What happens to the noise if you disconnect the SPI lines? Does it reduce?

   

- Is the noise random or has any specific frequency. If it has a specific frequency, does it correspond to any periodic tasks being done in firmware?

   

Thanks,

   

Sampath Selvaraj

0 Likes