打印
[技术问答]

NAno130测试 adc求解??

[复制链接]
3458|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 yytpy2008 于 2013-8-17 20:21 编辑

对ADC的测试。如下所述,
以ADD为电压基准,测试数据如下:
/* Set the ADC operation mode as single mode */
        ADC_Init(ADC_CR_SINGLE_END, ADC_CR_ADMD_SINGEL, 0, ADC_CR_REFSEL_AVDD);
        ADC_SetChannelMask(0);
        ADC_EnableInt();
        ADC_POWER_ON;

非常稳定。
以内部基准为基准,测试的数据如下:
  /* Set the ADC operation mode as single mode */
        ADC_Init(ADC_CR_SINGLE_END, ADC_CR_ADMD_SINGEL, 0, ADC_CR_REFSEL_INT_REF);
        ADC_SetChannelMask(0);
        ADC_EnableInt();
        ADC_POWER_ON;

数据波动较大,介于此,请大神们帮小弟分析一下原因,以NANO130实验板为平台,
USB供电,半主机采集数据,谢谢各位。会不会是基准不稳定哦???

0.png (6.2 KB )

0.png
沙发
yanxinboy| | 2013-8-17 23:06 | 只看该作者
兄弟两种情况下你的VREF 怎么接的?

使用特权

评论回复
板凳
yytpy2008|  楼主 | 2013-8-18 09:07 | 只看该作者
硬件平台是NANO130板子,VREF外部接一个10UF的电容和104电容

使用特权

评论回复
地板
缥缈九哥| | 2013-8-18 09:17 | 只看该作者
本帖最后由 缥缈九哥 于 2013-8-18 09:27 编辑

VDD本来就有纹波,就有漂移,你如果不以VDD为基准来抵消,你如何能测量出来准确的VDD分压值?比如你VDD向下漂了1%,那么电阻分压也下漂1%。那么再用同样下漂了1%的VDD做基准。测量出来互相抵消。当然ADC的值非常稳定不动了。但是你如果用不漂到1%的内部REF去测量漂的VDD分压,数值有跳动,不是正确的吗?

使用特权

评论回复
5
缥缈九哥| | 2013-8-18 09:32 | 只看该作者
本帖最后由 缥缈九哥 于 2013-8-18 09:34 编辑

如果是想看看内部基准稳定 不稳定 ,你得用一个外部的可知的准确的基准去做ADC输入。算是校准一样吧。如你用内部 基准测量一下REF3025,看看准确度如何 ?或者 再对REF3040做分压再提供给ADC输入。漂是相对的,就看看你参照物是什么,你假定了VDD是不漂了,那么只能认为内部VREF在漂了。但是VDD不可能是稳定的。它事实上是有纹波在漂的。不信你拿示波器看看VDD的交流波。

使用特权

评论回复
6
yytpy2008|  楼主 | 2013-8-18 09:32 | 只看该作者
谢谢九哥

使用特权

评论回复
7
ceflsh| | 2013-8-18 18:03 | 只看该作者
学习了,有收获。谢谢大家。

使用特权

评论回复
8
yytpy2008|  楼主 | 2013-9-10 17:17 | 只看该作者
此贴虽然已经结贴,但是后来我发现了真正的问题的所在,所以补充一下,但愿能给遇到同样的问题的人以参考:新唐内部的基准也是准的。但是我测的数据不准呢。内部基准打开稳定之后才能正常的使用。上述程序没有打开内部基准,所以测的数据会不稳定。
要使用内部基准,需加个这么一句“GCR->VREFCTL=0x00000f0f;”经测试数据稳定

使用特权

评论回复
9
Harvard| | 2013-9-12 00:38 | 只看该作者
哈哈 原来是寄存器没开没使能

使用特权

评论回复
10
sandou2013| | 2013-11-30 16:45 | 只看该作者
我现在也在玩这开发板,请问,这是用什么串口调试助手?

使用特权

评论回复
11
zxf0168| | 2013-11-30 16:47 | 只看该作者
学习了,这个帖子很有营养

使用特权

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

本版积分规则

16

主题

75

帖子

1

粉丝