打印
[S3C2440]

ADC采集数据花费时间和理论值不一致

[复制链接]
1452|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小虾m米i|  楼主 | 2015-12-22 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
               大家好!我在使用TQ2440 ADC采集外部传感器数据时,设定预分频值为49,即0x31,理论上AD转换所花时间根据公式计算是5us(PCLK是50MHz,没改过)。我用四通道循环采数据,每通道采集1000个数据,那理论上需要20ms,但是实际上所花时间近4s这样,请问这是怎么回事?难道是底层驱动代码执行的时候花的时间比较长?底层是以中断的方式获取数据。希望大神为我解答,小弟分不多,先谢谢!

相关帖子

沙发
阿南| | 2015-12-22 14:07 | 只看该作者
一般理论值和实践都会有些误差。但误差不会太大,如果太大应该是计算有误,或者比如中断处理,采集后处理等执行时间没有计算进去。

使用特权

评论回复
板凳
fu563048951| | 2015-12-23 09:43 | 只看该作者
你时间是怎么计算的?AD转换完成是用什么方式读取的?

使用特权

评论回复
地板
小虾m米i|  楼主 | 2015-12-23 19:54 | 只看该作者
阿南 发表于 2015-12-22 14:07
一般理论值和实践都会有些误差。但误差不会太大,如果太大应该是计算有误,或者比如中断处理,采集后处理等 ...

AD转换完成的值是使用中断的方式来读取,这样耗费的时间相对来说是比较长的,但是现在的时间误差相差的实在是太大了,这样采样频率就太低了,不知道是不是这个原因。

使用特权

评论回复
5
小虾m米i|  楼主 | 2015-12-23 19:55 | 只看该作者
fu563048951 发表于 2015-12-23 09:43
你时间是怎么计算的?AD转换完成是用什么方式读取的?

AD转换时间是按照手册的计算公式计算的。AD在转换完成后用中断的方式来读取数据。

使用特权

评论回复
6
阿南| | 2015-12-24 09:32 | 只看该作者
小虾m米i 发表于 2015-12-23 19:55
AD转换时间是按照手册的计算公式计算的。AD在转换完成后用中断的方式来读取数据。 ...

中断处理是很需要时间的。楼主可以测试一下:不启用AD,而只有中断,看需要多长时间

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝