eDMA latency with Timer channel source ?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

eDMA latency with Timer channel source ?

405件の閲覧回数
grizzly76
Contributor I

Bonjour,

I use a KV10Z32, Flex Timer 0 channel 3 to trigger a ADC1 digital analog conversion.

With the management of the launch of the conversion by interruption I observe a latency of 2.8μs with a 21MHz default system clock. Which is correct in relation to the number of instructions the software (assembler) takes to watch this event by a GPIO.

But with eDMA processing (a single transfer of 1 word to ADC1_SC1A) this latency is more important and dependent on DMA_TCDn_CSR BWC :

BWC=00 : 14µs (reference)

BWC=01 : 14µs

BWC=10 : 26µs (+12µs)

BWC=11 : 38µs (+24µs)

The datasheet says "BWC=10 eDMA engine stalls for 4 cycles after each R/W." and "BWC=11 eDMA engine stalls for 8 cycles after each R/W."

Which means that a cycle corresponds to 3μs @21MHZ : What cycle are we talking about? Surely not that of the system clock.

It also seems that this delay is before and not after each transfer.

Is it possible to have latency with eDMA processing that approximates the one by interrupt ?

0 件の賞賛
1 返信

344件の閲覧回数
nxf58904
NXP Employee
NXP Employee

Hi,

As picture shows below from the RM,the number of clock cycles between a trigger and the actual DMA transfer cannot be guaranteed,this cause the delay seems is before and not afer each transfer.The picturen is from K64 RM,but DMA module is similar.

pastedImage_1.png

Jianyu: 

Have a great day,
TIC

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 件の賞賛