adc 跳变

[复制链接]
3482|15
 楼主| pttptt85 发表于 2013-5-3 21:08 | 显示全部楼层 |阅读模式
我将VSSA和GND连在一起,VDDA和VCC通过一个电感连在一起,并有滤波电容。
用电阻将外边的信号分压,在接地电阻端并一个电容。
将ADC时钟为8M,ADC采样时间为239.5个时钟周期。
最后ADC的得到的值总是跳变的,且最大与最小的误差有0.2v左右。用万用表测试CPU的ADC脚电压稳定到小数点后第2位(即不变)。
请高手帮忙解决一下撒?是什么原因呢?
jiaxinhui 发表于 2013-5-3 21:34 | 显示全部楼层
把ADC的采样周期降低试试。
 楼主| pttptt85 发表于 2013-5-3 22:06 | 显示全部楼层
如果采样周期为1.5的话误差更大
清风致影 发表于 2013-5-4 09:14 | 显示全部楼层
多采几次平均看看
mmuuss586 发表于 2013-5-4 09:25 | 显示全部楼层
1、输入
用高速万用表测直流信号或交流信号;
或用示波器测;
判断输入信号稳定性到底怎么样;
2、程序
从低速到高速,一步步往上试,看有什么区别。
 楼主| pttptt85 发表于 2013-5-4 13:54 | 显示全部楼层
我用51做同样的ADC,小数点后第3位都比较稳定。
速度越低,跳变越小(小数点后第2位,有时第1位),速度越高,数据有时完全不可用
dream_yi 发表于 2013-5-4 14:47 | 显示全部楼层
现在的问题可以试试:
  1.测试电源电压是否稳定,用示波器看看纹波.
  2.ADC配置是否得当,初始化是否校准了.
hawksabre 发表于 2013-5-4 17:47 | 显示全部楼层
降低采样率   这样会不会好一点   试一下   
 楼主| pttptt85 发表于 2013-5-5 09:58 | 显示全部楼层
电源不用考虑了,我用的是电池,信号源用的是手持的发生器,应该很干净。
ADC已经是APB2时钟的8分频了,采样时间是239.5,基本上是最低了,
但还是跳变,比如:2V的信号,测试得:1.93、2.05、1.91、2.11。。。,
最大和最低之间差不多又0.2v的变化。
dream_yi 发表于 2013-5-5 12:06 | 显示全部楼层
还是看一下电源吧,PC USB都不稳定 。你试着跟踪一下VDDA的电压就知道是不是了。
 楼主| pttptt85 发表于 2013-5-5 15:23 | 显示全部楼层
我用51系列怎么没有遇到这样的情况呢?
STM32难道就这么不稳吗?
ysumryxsx 发表于 2013-5-7 09:57 | 显示全部楼层
有没插JTAG?
IJK 发表于 2013-5-7 10:32 | 显示全部楼层
pttptt85 发表于 2013-5-5 09:58
电源不用考虑了,我用的是电池,信号源用的是手持的发生器,应该很干净。
ADC已经是APB2时钟的8分频了,采 ...

用电池做电源,其实不能保证就好,好的电源关键在于内阻低。
IJK 发表于 2013-5-7 10:40 | 显示全部楼层
话说STM32的ADC,随便用用都还马马虎虎:
电源用PC的USB 5V。信号直接测Vdda 用10k电位器的分压,当然后面有简单的RC滤波(47ohm+0.1uF)。我采样了超过10000个点,没有作平均,最大、最小的差值是20左右,相当于20/4096 = 0.49%,相当于16mV(假定Vdda=3.3V)

初步感觉LZ的问题在于硬件,可以用示波器的交流档看看Vdda电源和信号的纹波。
IJK 发表于 2013-5-7 10:42 | 显示全部楼层
另外,LZ用的是哪个STM32芯片?
yyxlmq1314 发表于 2014-9-29 21:29 | 显示全部楼层
其实我有个问题想问的,就是STM32F051R8的ADC的,配置成ADC通道的时候,GPIO口悬空的时候用万用表测量会有VCC/2的压降,这个压降对ADC采样有没有影响呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

110

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部