DelSig ADC - ADC Reading over(under?)flows at 0V

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.
KyTr_1955226
Level 6
Level 6
250 sign-ins 10 likes given 50 solutions authored

Hi all, I'm looking for some clarification on the readings I'm getting from the DelSig ADC component on a CY8CKIT-050.

I have attached the project, there's some extra stuff going on with me experimenting with DMA and a bootloader, but the ADC is simply reading from the onboard pot on the test kit in single ended mode.  Input range is set to VSSA to VDDA and the buffer mode is "Bypass Buffer" but the problem exists on any of the buffer modes.

What I'm finding is that when I hit the low end of the pot, 0V, my ADC value is appearing to underflow(?).  0V input results in values close to 0xFFFF.  The voltage is not going negative, at least according to my multi-meter measurement.  Can someone explain exactly why this is occurring, and what I would have to do to remedy the issue so 0V input results in 0x0000?

Thanks in advance.

0 Likes
1 Solution
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

You can store the value in a signed variable and equate values less than zero with a zero the same way.

Best Regards,
VSRS

View solution in original post

0 Likes
4 Replies
EmHo_296241
Level 5
Level 5
10 solutions authored 50 replies posted 25 replies posted

Hi,

Does the system have common ground. There is an Enable nVref option in the component.  Vref_Vssa can be connected to the external Vssa to eliminate any small difference between the on-chip Vssa and the off-chip Vssa.

0 Likes

"what I would have to do to remedy the issue so 0V input results in 0x0000?"

I have seen simple solutions as if(ADCResult >0x07ff) ADCResult = 0;

Bob

0 Likes

user_411084576 wrote:

Hi,

Does the system have common ground. There is an Enable nVref option in the component.  Vref_Vssa can be connected to the external Vssa to eliminate any small difference between the on-chip Vssa and the off-chip Vssa.

I gave this a shot, enabled the nVref terminal and connected it to a Vref component set to Vssa in the design.  Same result as in the first post.  This time I am just jumping the input pin of the pot directly to Vssa on the CY8CKIT-050.  I get between 0xFFE0 and 0xFFFF when I do this.

My problem with doing a simple

if (ADCResult > 0xFFE0){

    ADCResult = 0;

}

is that in doing so I can potentially give a false 0 reading if the voltage is actually at Vdda.

0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

You can store the value in a signed variable and equate values less than zero with a zero the same way.

Best Regards,
VSRS

0 Likes