- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Infineon Expert:
We have use TC387 EVADC module for phase current sampling on FOC motor ECU. The ADC converter started by trigger signal from TOM module. The function of AD converter trigged by TOM channel worked correct. But the time gap from the trigger point to AD converter result interrupt nearly 4us. When we add one convert channel the time gap will increase nearly 3.5us, and the test result as shown below. We have two questions about the conversion.
1: How to reduce the time consumption about 4us for one channel convert. This is very important for FOC system.
2: In TC3xx user manual had describe the convert speed is 2.6M/S, but We had test when add one channel conversion, the consumption time will increase 3.5us. Why the conversion is so slowly and where did the time spend.
look for your reply!
Best wishes!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Tonny,
Do you still have this issue? As our colleague said, the maximum conversion rate is up to 2.6MS/s, it should be way faster than 3.5us. If possible you could share the code with us to help you more.
There are several things you could check:
1) Check fadcI frequency, please check register GxANCFG.DIVA. It might set to a lower frequency. The related setting are in the function: IfxEvadc_Adc_initGroup
2) Disable noise reduction and post-calibration usage(tNR and tPC)
disable tNR at register GxICLASSi.CMS/CME.
3)Also, please refer code example more detail for how to do EVADC configuration set:
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Tonny, as above table showed, 375ns(0.375us) is calculated which is equal near 2.6MS/s
You said there is 4us between trigger ADC and the result conversion is done, it looks incorrect.
So after the result conversion is done, the trigger is started immediately, right?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi dw, the trigger signal is a rising edge which from TOM, the time gap of the rising edge is 100us, that is mean that ad sampling is started every 100us begging.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Tonny, from your trigger point to ADC conversion done, there is 4us right? It should be 0.4us. Could you check below image?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, as your labeled, the gap is 4us, not 0.4us.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi dw, the calculate formula you showed, 112.5+243.5+18.75=375ns, excluding [NRS × tNR] + [tPC]. How can this two consumption parts disabled by code.
In user manual calculate formula is :
tC12 = [(2 + STC) × tADCI] + [13 × tADCI] + [NRS × tNR] + [tPC] + [3 × tADC].
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Tonny,
Do you still have this issue? As our colleague said, the maximum conversion rate is up to 2.6MS/s, it should be way faster than 3.5us. If possible you could share the code with us to help you more.
There are several things you could check:
1) Check fadcI frequency, please check register GxANCFG.DIVA. It might set to a lower frequency. The related setting are in the function: IfxEvadc_Adc_initGroup
2) Disable noise reduction and post-calibration usage(tNR and tPC)
disable tNR at register GxICLASSi.CMS/CME.
3)Also, please refer code example more detail for how to do EVADC configuration set:
Thanks