打印

STM32 AD转换漂,该怎么解决

[复制链接]
14253|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
violet520|  楼主 | 2008-9-17 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的AD转换使用外部基准,但是转换的结果还是有飘动,范围在5个AD范围内,这个还有办法解决吗?以前用其他芯片就没有这个问题,难道STM32的AD模块就是不行吗? 还有这个等效输入阻抗该怎么计算,哪位达人能说一下吗?
沙发
香水城| | 2008-9-17 09:58 | 只看该作者

你的转换结果飘动这么大是因为输入阻抗不匹配

使用特权

评论回复
板凳
violet520|  楼主 | 2008-9-17 10:06 | 只看该作者

输入阻抗该怎么计算?

我的输入电路很简单,就是1K的电位器,两端接3.3v和地,抽头接到AD的输入通道。不知道该怎么计算输入阻抗???

使用特权

评论回复
地板
zlf667788| | 2008-9-17 10:36 | 只看该作者

个人认为这不单纯是阻抗匹配的问题,建议你用数字滤波试

如果对响应时间要求不是很高的情况下,最简单的方法就是采集多次求平均值,我一直都是这样用,效果还是很不错的

使用特权

评论回复
5
violet520|  楼主 | 2008-9-17 12:48 | 只看该作者

谢谢,我也打算这么用了

飘动是不是与它本身的设计有关,也就是说现在的设计不能保证没有飘动。

使用特权

评论回复
6
香水城| | 2008-9-17 13:26 | 只看该作者

不要总是怀疑芯片设计有问题

看看下面这个帖子,为什么很多人都可以用的很好,你却用不好?

几周来学习STM32的小实验:用STM32内置的高速ADC实现简易示波器

使用特权

评论回复
7
HWM| | 2008-9-17 13:31 | 只看该作者

注意Vdda,Vssa,Vref+,Vref-的连接,在仔细看一下程序

另外模拟输入加一个跟随级看一下。

使用特权

评论回复
8
violet520|  楼主 | 2008-9-18 09:34 | 只看该作者

香主不要激动

我一直认为ST的芯片是相当不错的,所以才考虑用这个芯片来开发产品。

使用特权

评论回复
9
香水城| | 2008-9-18 10:40 | 只看该作者

哈哈,我不会生气的

只是因为你在5楼首先提出了这样的疑问,所以我才就事论事地这样讲;否则我也不会花很多时间把将近一年前的帖子找出来给你看。

使用特权

评论回复
10
ijk| | 2008-9-18 11:16 | 只看该作者

输入阻抗该怎算

  输入阻抗该怎算?对于:输入电路是1K的电位器,两端接3.3v和地,抽头接到AD的输入通道---输入阻抗的计算很简单,当电位器调节到中间位置时,它的输出阻抗最大,为500//500欧姆;当电位器调节到其它位置时,输出阻抗比中间位置来得小,比如可能是800//200欧(800并联200等于160欧),或者900//100欧(900并联100等于90欧)等等...
  电位器的输出阻抗就是STM32所期望的Rain。
  根据STM32的Rain表格,在允许的最快的fADC(14M)下面,即使采用最快的Ts=1.5(对应的Rain为1.2k),电位器的输出阻抗最大值250欧也符合这一要求。为了保险起见,可以采用Ts=7.5(对应的Rain为10k),这样电位器的输出阻抗带来的影响就可以忽略了。
  由此可见,LZ的主要问题不是阻抗匹配问题。我估计主要问题是电源去耦问题(包括Vdda和Vref的去耦),或者使用的外部基准的问题。

使用特权

评论回复
11
lut1lut| | 2008-9-18 12:05 | 只看该作者

学习了

我用万利的板子也碰到过ADC转换值漂移很厉害的问题。

通过以上各位高手的发言,似乎ADC不准确有两方面的原因:1.基准电压不稳定;2.输入阻抗不匹配。

板子上是10K电位器,那么rain=2.5K。我的ADC还是跑在12MHz,取采样时间1.5个cycle,看来我的阻抗是大大的不匹配啊。怪不得。
另外板子上Vref来自VDD,并且只有一个103P的电容滤波,看来还要再用示波器看看这个基准电压的稳定否了。

谢谢,学习了!

使用特权

评论回复
12
violet520|  楼主 | 2008-9-18 14:08 | 只看该作者

10楼太谢谢你了

非常感谢十楼,解释得十分清楚,看来不是输入阻抗的问题。
如果使用外部基准,需要在程序中设置寄存器吗?

使用特权

评论回复
13
香水城| | 2008-9-18 14:16 | 只看该作者

如果使用外部基准,不需要在程序中设置寄存器

关键是对外部基准和VDDA做好滤波。

使用特权

评论回复
14
violet520|  楼主 | 2008-9-18 14:19 | 只看该作者

香主能给一个典型连接吗?

电源去耦我只接了一个去藕电容,不知道这样行不行,香主能给一个典型连接吗?多谢了

使用特权

评论回复
15
香水城| | 2008-9-18 14:52 | 只看该作者

请在ST网站下载STM32评估板的电路图作为参考

使用特权

评论回复
16
violet520|  楼主 | 2008-9-18 16:36 | 只看该作者

我就是按照评估板的电路图来设计的

我就是按照评估板的电路图来设计的,而且外部基准和VDDA通过示波器测量很稳,没有飘动。这到底是怎么回事?
使用内部基础需要在程序中设置寄存器吗?我看开发板上的例子也没有设置寄存器的地方。

使用特权

评论回复
17
香水城| | 2008-9-18 17:07 | 只看该作者

14楼说只接了一个去藕电容,怎么能说是按照评估板的电路图

下面是ST提供的评估板的电源部分电路,可是不止一个去藕电容呦。

按照STM32的硬件开发指南要求,每一对供电管脚都要接滤波电容,在PCB上滤波电容要尽可能地靠近MCU的电源管脚。

使用特权

评论回复
18
violet520|  楼主 | 2008-9-18 21:41 | 只看该作者

没错,我是按照上面的电路图设计的

电源部分是有一大堆电容,这点我可以确定,我说的一个电容是指每对电源和地之间接一个电容。AD部分采用的电容参数也与上面的相同。

使用特权

评论回复
19
gjg191| | 2008-9-18 22:41 | 只看该作者

o

电容多了也不一定好

使用特权

评论回复
20
alien2006| | 2008-9-19 16:19 | 只看该作者

ADC漂移大的问题关键还是在PCB布线上面了

    我用的是ST官方的103VB的评估版,是4层板,整个布局非常好,我自己测试的情况是通常情况下ADC采样跳动仅仅正负1个LSB,可以说是非常稳定的!
    回头仔细想想要采用跳动少,关键还是以下几点
一、芯片,最好是采用100脚甚至以上的芯片,它的VREF+ VREF-端是独立出来的,不像64脚的封装的芯片是跟VDDA VSSA是做在一起的,这样能保证基准的稳定
二、PCB布线,不良的PCB设计是导致干扰大的主要原因。要**模拟电路和数字电路布局分开,VSSA跟数字地不能简单的在一起,要严格分开,一点相连,并且VDDA供电也最少用LC进行滤波。看了很多开发板的设计,这方面似乎并不是很注意,这也是很多人反应STM32的ADC采样波动太大的原因了。

使用特权

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

本版积分规则

33

主题

123

帖子

1

粉丝