ADC动态参数测试结果分析

这篇文章主要记录一下ADC动态参数的相关测试,ADC动态参数主要的一个参数就是ADC的有效位测定,还有其它一些之前提到的参数。ADC动态参数的基本测试方法是用在ADC的输入端加一个正弦波,正弦波的幅值最好可以包括ADC的所有输出码型,频率不能太高,另外ADC的动态参数和频率点是直接相关的,所以频率点可能会有多个选择。

这里首先先说一下ADC测试的基本方法,在我们的测试系统中,ADC的输入结果是通过GPIO并行输出的,这个我个人感觉会对结果有一定的影响,不过之前一直都是这样测试的,现在也沿用一下这种测试方法。

不过在本次测试中,因为采用GPIO输出结果,所以参数测试一直都不理想,甚至一直会有误码产生。所以这里就先不对结果分析了,直接分析一下错误产生的原因。

miss_code.png

上图就是测试中出现问题的一个测试结果,可以看到在结果曲线中有明显的误码产生,在对结果做进一步分析的时候我发现误码的出现很有规律性,一般的误码产生都是在2048这个码上,因为这个位置确实是一个非常特别的位置:

说明码型二进制
正常2047001111111111
正常2048010000000000
出错4096100000000000

从上表可以看到出错的码都是有大量的从0到1的跳变的时候出现的,这个也很能说明问题,因为在有大量GPIO toggle的时候,会消耗大量的电流,在EVB上的电源和地都会出现抖动,这个候的噪声也就会比较大,所以十分有可能出现误码。

解决方法

出现这个问题的原因归根结底还是因为噪声出现的串扰,所以解决方法也要从去噪声入手,现在能想到的方法主要有两个:

  1. 用板上的接插件代替飞线,这样信号会更好,噪声也会减少,不过需要重新做EVB;
  2. 有其它通信端口传输结果,或者将结果保存到RAM中,采集完成之后再慢慢传回PC;

发表新评论