ADC read giving value more than its resolution .

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

cross mob
Anonymous
Not applicable

I am using CY8CKIT-044 kit for development .I am using VDD as reference and channel is configured as 12 bit resolution .

For voltage range below 3.3 it is working fine .

However if i apply 3.3 volt to channel ,reading sometimes exceed 4095 like 4096 and 4097 ,

since it has 12 bit resolution how values are coming more than that . I want to understand why it is happening and is it normal

or not .

Below are the settings that i have used and isr snippet:

pastedImage_1.png

pastedImage_2.png

pastedImage_3.png

0 Likes
1 Solution
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

Hi,

By selecting the Average Mode equal Accumulate, you allow the number to grow up to a 16-bit value.

If you want to make sure the value do not grown beyond the maximum value for the given resolution (12-bits), choose the Fixed Resolution.

View solution in original post

0 Likes
3 Replies
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

Hi,

By selecting the Average Mode equal Accumulate, you allow the number to grow up to a 16-bit value.

If you want to make sure the value do not grown beyond the maximum value for the given resolution (12-bits), choose the Fixed Resolution.

0 Likes
Anonymous
Not applicable

Hi rlos,

               If i select fixed resolution then the adc reading's are coming half of the actual value .

0 Likes

That makes sense. Refer to the table in page 8 in the ADC datasheet:

2*Vref -> 0x0FFF

Vref -> 0x0800

Vss -> 0x0000

Your Vref is set to VDDA, that means if your input is VDDA, you will get a value around 0x800 (2048).

0 Likes