- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am investigating the temperature characteristics of Capsense and am performing various measurements using CY8CKIT-149.
・Is there any data on the temperature characteristics of Vref=2.021V(when 3.2V <= VDDA < 4.7V)?
・If not, how can I measure it?
Solved! Go to Solution.
- Labels:
-
PSoC 4 MCU
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
JohnDoe:
I messed up and gave you wrong data. It turns out that the 4147AZI-S475 does not have a routable programmable reference. But . . . there is a way to measure the internal reference. The same reference is used for capsense and the ADC.
So, put in Sequencing SAR ADC. Go to configure. The simple way is to set it for one input, single-ended.
Then . . . here's the secret: set Vref select to "Internal Vref, bypassed." Build the project. Go to the analog view.
you will see that the Vref for the SAR is routed to Pin 1.7. Put at least a 0.1 uF cap on it. You can now measure
this point to get the reference you want.
Again, my apology for giving initial incorrect data.
---- Dennis
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @JohnDoe1111
Can you please let me know the use case for this requirement? The CapSense validation we perform is typically on the entire block. The performance of the CapSense IP is validated across temperature to note the raw counts variation with respect to the temperature.
The CapSense block is validated for 10% change from -40C to 85C.
Best regards,
Hari
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
JohnDoe:
To measure only the Vref characteristics, connect Vref to non-inverting input of opamp, set opamp to follower, set output to pin, set opamp power high (lowest offset error and drift). If you need to measure opamp error, put in a mux, one input to a pin, the other to Vref. Set mux to opamp, measure input to output offset. Then set mux input
to Vref, measure and subtract input to output offset.
---- Dennis, PSoC apps
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear DennisS_46,
Thanks for the reply.
I don't know how to connect Vref to Opamp, because I can't find Vref in the list of Component Catalog, and I can't find the corresponding setting in Opamp's Configure screen. (Is it a limitation in CY8CKIT-149?)
How can I do this?
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Put in programmable reference component (PVRef).
This exists in all PSoC 3,4,5 parts.
---- Dennis
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear DennisS_46,
Thanks for the reply.
I looked for PVref in the Component Catalog, but could not find it.
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
JohnDoe:
I messed up and gave you wrong data. It turns out that the 4147AZI-S475 does not have a routable programmable reference. But . . . there is a way to measure the internal reference. The same reference is used for capsense and the ADC.
So, put in Sequencing SAR ADC. Go to configure. The simple way is to set it for one input, single-ended.
Then . . . here's the secret: set Vref select to "Internal Vref, bypassed." Build the project. Go to the analog view.
you will see that the Vref for the SAR is routed to Pin 1.7. Put at least a 0.1 uF cap on it. You can now measure
this point to get the reference you want.
Again, my apology for giving initial incorrect data.
---- Dennis
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear DennisS_46,
Thank you for teaching me how to measure! I will try it as soon as possible.
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Note to self:
Don't forget to put ADC_Start() in the initialization process of the main() function.
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
ADC_SAR_Seq_1_Start();
for(;;)
{
/* Place your application code here. */
}
}