请教LPC2131片内AD采样问题

anceyfang   2008-5-8 11:28 楼主
AD0CR |= 1 << 24;                        // 进行第一次转换
while ((ADDR & 0x80000000) == 0);        // 等待转换结束
AD0CR |= 1 << 24;                        // 再次启动转换
while ((AD0DR & 0x80000000) == 0);        // 等待转换结束                                       
ADC_Data = AD0DR;                        // 读取ADC结果                       
ADC_Data = (ADC_Data >> 6) & 0x3ff;
ADC_Data = ADC_Data * 2475;
ADC_Data = ADC_Data / 1024;                               
ADC_Value=(ADC_Data/1)*30+ADC_Data;//测量0~70V采样,用30K与1K电阻之间分压获得最大值与基准值为2475
ADC_Value=ADC_Value*0.04+ADC_Value;//强制校准
以上CODE中ADC_Value变量为保留采样结果存储器,可是获得的结果数据值波动很大,请教解决办法?

回复评论 (3)

想了解更多IT技术,请登陆:http://www.ciitc.com
点赞  2008-5-12 10:49
结果数据值波动很大?
多采样几次,求平均。
点赞  2008-5-12 10:55
一般AD的抖动常见问题集中在硬件部分:

基准源是什么?内部的?外部的?精度怎么样?温飘怎么样?

30K/1K的电阻,分压比这么大,电阻的相对精度计算在内了吗?

看程序是10bit AD吧?最小采样精度是多少?1bit?还是1LSB/2LSB?(5V/1024)作为最小单位,换算成0-70V,差别是多少?在可接受范围内吗?
点赞  2008-5-12 22:03
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复