STM32 ADC噪声2


9

我刚刚用STM32F2测试了我的第二个设计,现在是STM32F207ZFT6,ADC的性能与我的第一个应用程序相同-ADC中的强噪声。

电路板原理图的基本部分

未连接任何信号的电流输入噪声:

用浮动引脚接收信号

注意:在上面的信号图中,垂直轴是ADC位而不是伏特!不要被它的图例“ [V]”所迷惑,在本测试中,我们使用经过修改的程序来查看粗略的ADC数据。

即使CPU模拟引脚短路到GND,也会出现相同的噪声,如下所示: 输入信号,引脚接地

我认为,采样信号中存在超过30 LSB的永久性峰值,甚至更多,尽管它们不应超过5-10 LSB。

另一个细节:

  • 2面PCB,在底面上还有其他连接,但大多数连接是GND信号-数字和模拟通用,模拟地没有分开。由于电路板的功耗极小,低于100 mA,因此我认为它不会引起此类噪声。

  • 参考电压VREF 3.3V由运算放大器缓冲,被100nF和钽电容并联10uF阻断,与VREF / 2相同;每个处理器电源引脚均被100nF电容阻塞

  • 在我们较旧的应用程序中,我们使用了相同的设计概念,但是所使用的处理器是AduC834。它也有12位ADC,信号噪声只有几个LSB,没有问题。主要区别在于使用了AduC的内部参考电压,没有外部参考电压

  • 我们已经测试过将处理器模拟接地引脚与板的公共GND断开连接,并用额外的导线将其直接连接到参考电压VREF接地,没有影响

  • 它是三相网络测量设备,有3个模拟电压通道和3个电流通道,带有可切换的增益前置放大器。CPU振荡器为25 MHz,内部时钟为PLL的120 MHz,ADC时钟为30 MHz(符合技术规格),我们已经测试过将主内部时钟(因此也包括所有辅助时钟)降低到四分之一,但没有任何影响

  • ADC周期性地采样输入信号,每50 Hz网络周期进行128次转换,即每156微秒。结果通过DMA传输到内部RAM中;来自RAM的数据通过绝缘的RS485(在另一块板上)传输,并在我们的程序中可视化。我们试图将转换时间延长到最大,但没有效果

  • 除CPU外,只有3个opam,2个模拟开关,I2C温度计和3个ULN开关(测试期间未使用),由线性LF33稳定器供电,通常由另一块板上的开关提供的5V DC供电,但是在测试过程中,开关为断开连接,LF33由清晰的实验室5V直流电源供电。我敢肯定,除了处理器振荡器以外,其他都无法在板上振荡。

  • 用示波器检查信号没有决定性的结果,信号太弱

有这个处理器系列ADC性能经验的人吗?

关于信号强度:即使模拟输入短路,在示波器上我也会看到5-10 mV(峰对峰)的噪声-用同轴电缆测得,该接地电缆的最小接地线焊接到板上。使用标准探头时,噪声可能大约是接地不良的两倍(一般的EMC噪声?)。

这是我的董事会的形象: 组装板的形象

和董事会的底部: 板底图像

如上所述,即使信号接地,ADC转换后的数据中仍然存在约30 LSB的噪声。


您说信号太弱了,那有多弱?
2011年

我也在ST论坛中报告了我的问题,那里也有所有链接(包括董事会照片):my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/…–
米兰

2
我没有看到该板上足够靠近旁路旁路的地方让我感到舒适,而且它们都离部件很远。
康纳·沃尔夫,

2
@假名称-米兰没有滥用该术语,提及“ x LSB”是指x乘以最低有效位的线性值。然而,“噪声的x比特”可以指代2 ^ x个LSB。
克里斯·斯特拉顿

3
@克里斯·斯特拉顿-我不同意。“ x噪声比特”与“ x LSB”同义。这样,说“ x 乘以 LSB值”将意味着x乘以最低有效位的线性值。但是,x个LSB表示x个最低有效位,或2 ^ x的线性范围。
康纳·沃尔夫,

Answers:


4

我认为ADC除了Fred引用的三个时钟外,还有第四个输入。至少对于某些类型的ADC,时钟上的抖动或相位噪声会影响ADC测量。

您说您有一个25 MHz的振荡器,但以30 MHz的频率运行ADC,因此在其时钟的生成过程中涉及了一些PLL。如果效果不佳,则其不规则性可能是转换噪声的来源。您是否可以尝试更改软件配置(即使是暂时的)以不使用PLL,而只用一个输入时钟或将其分频?

我相信某些微控制器还具有一种机制,可以在读取ADC读数时挂起大多数数字电路,以减少噪声。您可能会调查是否有可能这样做。


2

您看到的噪音可能有很多原因。重要的是要了解ADC具有三个输入:

  1. 输入引脚(设计为信号输入的那个)
  2. 参考输入(Dout = 2 ^ n * Vin / Vref)
  3. 电源引脚(电源+接地)

这些噪声中的任何一个都可能产生您所看到的噪声,并且假设ADC本身没有缺陷,则噪声必须通过这三个路径之一进入。

使用相同的模拟和数字接地可能会获得不错的ADC性能,但是您必须仔细布局PCB,以使所有数字环路电流都与模拟环路隔离。

在这种情况下,环路是信号或电源线(在这种情况下应被视为“噪声”信号)在PCB上通过的整个电流路径。因此,对于电源线来说,它是从电源进入电路板的位置开始,沿着走线直到到达电源引脚,再经过IC中的所有晶体管,再从接地引脚出来,然后再沿着电阻最小的路径返回到电源进入电路板的位置。那是一个电源回路。

但是,如果您在电源旁路方面做得很好,那么在该环路中就不会有太多的交流电流,因为您将拥有一个更小,更本地化的旁路电容的电源侧环路,以将电源引脚接地,再接地旁通盖的侧面。如果您的所有数字电源都被严格旁路,则您的电源环路将大部分保持干净,并且所有嘈杂的数字信号都将限制在较短的旁路电容环路上。

信号环路(包括Vref环路)的工作方式相同-信号进入,绕到ADC的路径,从ADC GND流出,然后回到信号地(希望与信号开始的位置相同)。如果该环路越过数字环路,则可能会注入噪声。因此,通常,将一个GND用于模拟和数字的良好混合信号设计通常会将数字全部留在一侧,将模拟全部留在另一侧,而GND位于电路板末端的分界点。通常这不是一成不变的,您必须做出让步,但这就是想法。

您提到“由于板卡功耗极小,低于100 mA,我认为它不会引起此类噪声。” 与系统旁路的效率有关。旁路性能较差的100mA系统将比旁路性能良好的1000mA系统在接地层具有更多的数字噪声。

希望这可以帮助...


1

电路板设计确实不遵守建议的一般规则。

我们再次对其进行了重新测试。标准板的典型噪声位于http://imgur.com/a/TU9RQ上的Fig1上。

为了确认问题是由错误的接地引起的,我们进行了以下修改:

  • 加强公共接地(图2上的改进板,图3上适当的噪声)
  • 模拟地与数字地的分离及其在VSSA处理器引脚上的相互互连(图4)。

他们都没有帮助。因此,我担心即使重新设计为4层PCB,问题也可能再次发生。

为了测试PLL的影响,我们将其关闭,内核仅由外部25 MHz晶体作为时钟源。噪声下降了(图5),但我认为它仅是由较低的系统时钟引起的(通常,内核由PLL的120 MHz提供时钟),而不是由停止的PLL引起的,因为当我们在25时重新切换回PLL时MHz,噪声与未运行PLL时的噪声相同。

唯一显着的效果是通过使用第三处理器ADC通过各个处理器引脚同时测量每个电压和电流对的VREF / 2信号,并从电压和电流信号中减去该电压,然后将调制后的噪声降低到大约一半(在http http://imgur.com/a/EeqUo,上方的红色图形=标准信号,下方的蓝色图形=减去噪声后的信号)。但是我不能使用第三个ADC进行噪声测量,我需要将其用于其他任务,因此这不是我的解决方案。


1
这不是答案,因此不应该这样发布。也就是说,以输入振荡器的1:1输入到ADC的PLL时钟可能比以奇数比率的输入干净得多。如果您怀疑共模噪声,则需要查看所有通道都具有的共同点...
Chris Stratton

通常,外部osc 25 MHz在内部被划分为1 MHz,该频率用于控制PLL。其120 MHz系统时钟除以4得到30 MHz ADC时钟。在测试过程中,系统时钟为25 MHz(均来自ext osc,并使用PLL),并且ADC由其直接驱动(预分频器设置为1),即,它以相同的25 MHz运行。关于第二个想法,您的意思可能是在ADC转换期间将内核切换到睡眠模式。ADC由无法简单关闭的DMA服务。但是,尽管不能在我们的应用程序中使用,但我同意尝试一下会很有趣。
米兰,

总结一下我之前的评论:我忘记了PLL输出上有分频器;因此,实际上,PLL通常以240 MHz的频率运行,并除以2得到系统时钟。在测试期间,PLL以200 MHz运行并除以8,以获得25 MHz的系统时钟。
米兰

@ChrisStratton似乎正在详细说明他如何解决此问题,这似乎不是答案吗?
Kortuk

2
@Kortuk“他们都没有帮助。因此,我担心即使重新设计为4层PCB也会再次出现问题……”在我看来,应该将此答案作为对原始问题的修改来添加。他的第二个答案似乎描述了他如何解决该问题。
m.Alin

1

我已经将PCB重新设计为4层。而且-真是令人惊讶-噪音消失了!进一步的细节在这里


4
你是不是疯了!一个319(!)字符URI,甚至没有正确的超链接?
stevenvh 2012年

1
该链接被打破,我认为它现在在这里- community.st.com/thread/19850
ogurets

1
@ogurets而且又被打破了。我讨厌链接答案和供应商论坛。“您要查找的页面已移动或不存在。”
纳文

1
@Navin所以我觉得你的痛苦......谷歌搜索的“STM32F2 ADC信号噪声”,发布日期2011年10月28日(下一次他们移动):community.st.com/s/question/0D50X00009XkaFz/...
ogurets

@ogurets谢谢!我很好奇背景故事。
纳文
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.