自己设计的板子回来了,调试了一下,F4的ADC和DAC遇到点小问题。
用F4设计的电路板和以前设计的电路板基本一样,除了更换了MCU,以前用的是C8051F021。因为新产品要求响应速度快,所以将MCU进行了升级,所以应该很有对比性。
首先说说ADC,调试过程中发现F4的ADC采集不稳,会跳动,配置是单ADC(双ADC独立也试过),扫描模式,连续模式,DMA循环模式,使用外部参考电压LM4132。观察采集到的数值,会跳动,比如采集零电压,采集到的数据会在0x0000到0x0007之间变化,偶尔会跳到0x000A。而观察C8051F021的采集数值(单片机本身内部自带参考电压),基本就是0x0000和0x0001变化,偶尔0x0002。网上也有反应F4的ADC采集不稳的情况。没有FSMC之类的应用。
再来说说DAC,调试过程中发现在上电时,DAC会有脉冲电压,约1.6V,用示波器观察外部跟随器的输出。将F4的DAC内部缓冲打开关闭都一样有脉冲。如果用示波器直接测DAC的输出管脚,则脉冲只有几十mV。所以用一个电阻将DAC的输出管脚接地,这时上电测量跟随器的输出,就没有脉冲电压了,但这个电阻会影响输出的电压值,会拉低一点,跟阻值大小有关。C8051F021的DAC输出也要接一个电阻到地,没有这个电阻会有一点脉冲电压,但是只有几十mV。
目前只能对ADC做一些耗时的软件滤波了,看最终完成的产品能不能达到响应速度要求。
对F4的模拟性能有点失望,不知是软件设计问题,还是F4本身的问题,还是PCB布板问题。个人觉得跟软件设计应该没有关系,用原子的例程和官方的例程都一样跳动;也许跟PCB布板有点关系,但是除了MCU不同外,C8051F021款和F4款,布局都一样,还是4层板;所以F4硬件本身问题可能性更大。
从F4的管脚排布来看,因为要兼顾功能复用,造成模拟功能和数字功能管脚复用,还有模拟部分还夹杂一些数字电源管脚,如LQFP144封装中,pin30,pin38,pin39就夹杂在模拟管脚之间,这对分割数字和模拟部分造成了困难。这种功能复用和管脚排布,芯片内部的布线估计有点乱,肯定会对模拟性能有一定的影响。
不知有没有大虾有高招解决ADC采集问题?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
所以,CPU的模拟供电端要加强滤波,比如串磁珠、再加 0.1u 和 1u 甚至 10u 电容;
参考电压,噪声越低越好。我常用ADR421系列(当然不是用在STM32F上面),电压噪声只有1uv p-p,而LMV4132达到200uv,似乎很大。
PCB的影响不好说,要贴电路图和PCB图。
另外,加屏蔽、输入保护环,都有好处,效果多少就不好说了。
LZ现在的结果,应当也算正常吧。
ST、MAXIM都不是模拟见长的公司,AD 差点都属正常。
加了上面的措施,精度应当可以提高1~2bit。
如果不能接受,恐怕要考虑外加AD了。
DAC,对你说的上电脉冲不了解,不多说。
DAC倒是没有做楼主这样的测试,去观测上电波形,没有解决办法。
这两个,楼主去看看ST官方的参考资料,看看有没有什么建议吧。
www.stmcu.org,去找找ad/DA方面的文档
---------------------------------
选器件要根据自己的情况,整体考虑:输入信号范围,单极性还是差分,通道数量,采样频率要求,接口,都是变数。
举出我常用AD:16位ADS1100,24位ADS1255,18位LTC2328(贵)。
---------------------------------
好的,谢谢!
一周热门 更多>