学习了一下ADC的参数:ENOB, SNR, SFDR对于测量交流信号(AC)都是重要的参数。 根据MAMIM的定义: Spurious-Free Dynamic Range (SFDR) SFDR is the ratio of the RMS amplitude of the fundamental (maximum signal component) to the RMS value of the next largest spurious component, excluding DC offset. SFDR is specified in decibels relative to the carrier (dBc). 另外,根据MAMIM的说法: AC Performance Some ADCs perform well only with input signals at or near DC. Others perform well with input signals from DC up to Nyquist. Just because DNL and INL meet the system requirements does not mean the converter will give that same performance when AC signals are considered. DNL and INL are DC tests. We must look to the AC specs to get a good feeling for AC performance. The Electrical Characteristics table and the Typical Operating Characteristics found in the data sheet offer clues to the AC performance. The key specs to review are signal-to-noise ratio (SNR), signal-to-noise and distortion ratio (SINAD), total harmonic distortion (THD), and spuriousfree dynamic range (SFDR). The first specification to review is SINAD or SNR. 还有:If the specification in the data sheet is tested at low frequencies compared to the Nyquist frequency, you can bet the performance will be much worse near Nyquist. 以及: Accuracy of the ADC is dependent on several key specs, which include integral nonlinearity error (INL), offset and gain errors, and the accuracy of the voltage reference, temperature effects, and AC performance. 和: The DC performance will in general be better than the AC performance.
DC performance 包括:DNL,INL,Offset and Gain Errors等等。 大意是说:假如被测信号是交流,那么应该检查ADC的交流(AC)参数:SNR,SINAD,THD,SFDR...。ADC的直流性能一般总比交流性能好。在被测信号接近于Nyquist频率(大约等于最高采样频率)时,ADC的性能肯定会变差。 结论是:由于STM32的ADC没有提供交流(AC)参数:SNR,SINAD,THD,SFDR等等,所以在测量较高频率的交流信号时结果不好预料。
据我所知,MCU内部的ADC(其实其它外设也如此),参数都是: "Guaranteed by characterization, not tested in production." 我想,这应该是出于成本考虑,不允许在生产每片MCU时,都测量这些参数。 对于独立的ADC,不知道在生产每片ADC时,都测量data sheet里面的那些参数。我估计生产时不会都测量,也不大可能都测量(特别是跟温度相关的)。