imx6ULL ADC high CPU

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

imx6ULL ADC high CPU

691 次查看
chris_f
Contributor V

I'm using a script to read an ADC 1000 times:

root@imx6ul-var-dart:~# cat adc.sh
#!/bin/sh
for i in `seq 1 1000`;
do
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw > /dev/null
done

It takes just over 11 seconds to run so just under 100 samples per second.

root@imx6ul-var-dart:~# time ./adc.sh
real 0m 11.32s
user 0m 0.22s
sys 0m 1.08s
root@imx6ul-var-dart:~# time ./adc.sh
real 0m 11.34s
user 0m 0.21s
sys 0m 1.27s

I can cope with the slow sample rate but why does it take 10-20% cpu?

I found similar results using stdio to read in_voltageY_raw data from a c program.

Is there a less processor intensive way to read the ADC? It's currently consuming around 500k processor cycles to read a 12 bit number from hardware.

标签 (1)
标记 (1)
0 项奖励
1 回复

566 次查看
CarlosCasillas
NXP Employee
NXP Employee

Hi Chris,

In you are using a Variscite board, you may consider directly contact them:

Variscite Support Center - Variscite 

 

As complementary informaiton, you could take a look to the following threads:

IMX6ULL ADC 

i.MX6 DMA and ADC 

Hope this will be useful for you.
Best regards!
/Carlos
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

-------------------------------------------------------------------------------

0 项奖励