ADC SAR Seq value periodically jumped

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

cross mob
lock attach
Attachments are accessible only for community members.
alli_264371
Level 4
Level 4
25 replies posted 10 replies posted 10 questions asked

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


I cannot confirm email and add messages due to a bug on your site, the email section is not active
0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

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

View solution in original post

5 Replies
lock attach
Attachments are accessible only for community members.
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

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

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


I cannot confirm email and add messages due to a bug on your site, the email section is not active
0 Likes
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

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

0 Likes

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


I cannot confirm email and add messages due to a bug on your site, the email section is not active
0 Likes

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


I cannot confirm email and add messages due to a bug on your site, the email section is not active
0 Likes