5 Replies Latest reply on Oct 16, 2018 7:12 AM by alex.lipkovich

    ADC SAR Seq value periodically jumped

    alex.lipkovich

      Hello.

      I'm trying to use a ADC to digitize a signal from a microphone and pre-connect a potentiometer as a voltage divider at the input. As a result, the ADC read value periodically jumped .. I even added a delay to the program to see the jumps better ..

      Why can this happen?

       

      psoc4 adc jumping - YouTube

        • 1. Re: ADC SAR Seq value periodically jumped
          user_13463998

          Hi,

           

          I liked your youtube video!

          Then I tried a simple test with my CY8CKIT-044 and a pot.

          IMG_2803.JPG

          I use same ADC configuration and moved the pot to in the middle.

          And run my test program which basically do the same loop with your program

          but meantime gather minimum adc value and maximum adc value for TEST_LOOP (=100)

          and print the value to UART (TeraTerm).

           

          ADC_test_teraterm_log.JPG

           

          Each line show the result of 100 loops, so I may be able to say that I could not observe the jump of value(s).

           

          I'm afraid that probably the input voltage of your ADC is actually jumping.

           

          Meantime, from my experience adding INJ pin and connect to VREF (pin1) usually gives me

          better stability of ADC read values. But in this test case it did not affect much, since the original

          condition is already stable with my hardware.

           

          Attached is my test project.

           

          moto

          1 of 1 people found this helpful
          • 2. Re: ADC SAR Seq value periodically jumped
            alex.lipkovich

            Thanks, iIwill check.
            What you mean "INJ pin and connect to VREF (pin1)" ?
            VREF is internal voltage, i can't connect external pin to it..And into the creator can only uncheck the "enable" from INJ , Pin 1 is VSS

            • 3. Re: ADC SAR Seq value periodically jumped
              user_13463998

              Dear Alex-san,

               

              I'm sorry for confusing you.

              At first I should have pointed you that  in the Configure dialog of a component

              we have Datasheet button which will open  the Datasheet of the component.

              So please refer to the Datasheet for the details of the component.

               

              Meantime, since the previous message I have been thinking about

              possible cause of the jump

               

              (1) Sample mode

                Since you are using ADC_StartConvert(), Free running Sample mode

              may some times cause unstable data, how about using "Hardware trigger"?

               

              (2) Result data format

              Although you are specifying Unsigned, the result format for Single ended is "Signed."
              So in case the result is negative, it surly show the jump between positive value

              and negative value. How about display value with sign (+/-) or let's say in case

              the result is negative make it 0 so that no negative value(s) will be displayed?

               

              Best Regards,

              16-Oct-2018

              Motoo Tanaka

              • 4. Re: ADC SAR Seq value periodically jumped
                alex.lipkovich

                Thank you Motoo-san )
                Now I check the sample project on the CY8CKIT-042 board, and il look work stable, so I will check my hardware and reading mode..
                Just one thing are strange, how can it be that in one project I have 6 pins for connecting an ADC (green color box), and in another project there is only one pin on the same chip?
                pcb.png

                • 5. Re: ADC SAR Seq value periodically jumped
                  alex.lipkovich

                  It's done, sorry for disturb..
                  The LCD pins are placed to the same port, dedicated for the analog input's, so I can't add  other input)

                   

                  Thank you