我刚刚用 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 网络周期(即每 156 微秒)的 128 次转换速率对输入信号进行周期性采样;结果由 DMA 传输到内部 RAM;RAM 中的数据通过绝缘 RS485(在另一块板上)传输并在我们的程序中可视化。我们已尝试将转换时间延长至最大,但没有效果
除了 CPU,只有 3 个 opams、2 个模拟开关、I2C 温度计和 3 个 ULN 开关(测试期间未使用),由线性 LF33 稳压器供电,通常由另一块板上的切换器提供 5V DC 供电,但在测试期间切换器是断开连接,LF33 由透明的实验室 5V 直流电源供电。我确信只有处理器振荡器可以在板上振荡。
用示波器检查信号没有得到决定性的结果,信号太弱了
有这个处理器系列 ADC 性能经验的人吗?
关于信号强度:即使模拟输入短路,我在示波器上看到 5-10 mV(峰峰值)的噪声 - 使用焊接到板上的最小接地线长度的同轴电缆测量。使用标准探头时,噪声大约高出两倍,这可能是由于接地不良(一般 EMC 噪声?)。
这是我的板的图像:
和板的底部:
正如我上面所报道的,即使信号接地,大约 30 LSB 的噪声仍然存在于 ADC 转换数据中。