1 Reply Latest reply on Apr 21, 2016 11:45 PM by samp

    Digital noise when using ADCINC

    lior.david

      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?

        • 1. Re: Digital noise when using ADCINC
          samp

          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