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

cross mob
Tonny
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

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! 

 

Add Convert channel from one to eightAdd Convert channel from one to eight

 

 

Trig and converter interrupt figureTrig and converter interrupt figure

 

0 Likes
1 Solution
Kunqiao_L
Moderator
Moderator
Moderator
First comment on blog First like given 25 likes received

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. 

refer IfxEvadc_setGroupConversionMode and IfxEvadc_setGroupConversionModeEMUX
 
disable tPC at register GxANCFG.DPCAL
 
refer IfxEvadc_disablePostCalibration
 

3)Also, please refer code example more detail for how to do EVADC configuration set:

CCU6_ADC_1_KIT_TC397_TFT 

Thanks

View solution in original post

0 Likes
6 Replies
Di_W
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 100 likes received

dw_0-1671076527742.png

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?

 

0 Likes
Tonny
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

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. 

0 Likes
Di_W
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 100 likes received

Hi Tonny, from your trigger point to ADC conversion done, there is 4us right? It should be 0.4us. Could you check below image?

dw_0-1671080604177.png

 

0 Likes
Tonny
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

yes, as your labeled, the gap is 4us, not 0.4us.

0 Likes
Tonny
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

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].
 

0 Likes
Kunqiao_L
Moderator
Moderator
Moderator
First comment on blog First like given 25 likes received

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. 

refer IfxEvadc_setGroupConversionMode and IfxEvadc_setGroupConversionModeEMUX
 
disable tPC at register GxANCFG.DPCAL
 
refer IfxEvadc_disablePostCalibration
 

3)Also, please refer code example more detail for how to do EVADC configuration set:

CCU6_ADC_1_KIT_TC397_TFT 

Thanks

0 Likes