Problem with one ADC SAR for multi-channel analog inputs

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

cross mob
Anonymous
Not applicable

Hello,

   

Software package: PSoC Creator 2.0

   

Hardware: CYBC55 Board

   

Schamatic design:  a single ADC SAR component + an analog multiplexer component + multi-analog Pins.

   

The voltage value acquired from the ADC SAR is correct (Acquired voltage value = real world analog input voltage) when this design works on single analog input.  However, the voltage values acquired from the ADC SAR are wrong (Acquired voltage values != real world analog input voltages) when work on multi-channel inputs.

   

Could you please advise me how to sort out this problem.

   

Many thanks

   

Qingshan

0 Likes
1 Solution
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

There are some pitfalls possible.

   

one usual is:

   

After switching the input-mux you'll have to discart one measurement when running in countinuos mode.

   

best would be to upload your project here to let us have a look at and see if everything is o.k

   

To do so:

   

Build -> Clean Project

   

File -> Create workspace bundle(minimal)

   

and then upload the resulting zip-archive here.

   

 

   

Bob

View solution in original post

0 Likes
5 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

There are some pitfalls possible.

   

one usual is:

   

After switching the input-mux you'll have to discart one measurement when running in countinuos mode.

   

best would be to upload your project here to let us have a look at and see if everything is o.k

   

To do so:

   

Build -> Clean Project

   

File -> Create workspace bundle(minimal)

   

and then upload the resulting zip-archive here.

   

 

   

Bob

0 Likes
KishoreS_96
Employee
Employee
5 sign-ins 50 replies posted 25 replies posted

Hi,

   

 

   

Don't use "Continuous" mode of conversion when you are muxing the input of ADC. Use "Multi-Sample" mode of conversion if resolution <= 16 bits or "Multi-Sample Turbo" if resolution > 16 bits.

   


Regards,

   

Kishore.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Kiku, there are no modes (except free-runnung and triggered) for the SAR-ADC. because it doesn't use a filter.

   

I'm still awaiting the project uploaded here to have a look at.

   

 

   

To do something right is one way, do perform something wrong, there are several ways 😉

   

Bob

0 Likes
Anonymous
Not applicable

Hi qingshanshan,

   

 

   

Are you using Triggered or free running mode?

   

If you are using multiple channels, then you need to use triggered mode.

   

 

   

The problem you will face if you use free running mode is after reading a converted value, a stray conversion would have started before  and issuing a StopConvert( ) API. This will result in cross talk between two channels and hence result in corrupted values.

   

Using trigger mode on the other hand will allow only one conversion upon request, thereby avoiding cross talk between two channels.

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

There is an FAQ about that: http://www.cypress.com/?id=4&rID=60629

0 Likes