ADC INL&DNL测试方法和实例

文章详细描述了如何使用直方图法对APT32F103X和APT32F171X芯片的ADC模块进行INL和DNL测试,包括测试原理、环境配置、代码实现步骤以及测试结果分析。

一、适用范围:

测试方法适用于所有芯片型号,用于测试ADC模块的INL/DNL参数,本文包含APT32F103X和APT32F171X的测试结果。

INL(积分非线性):ADC的INL指在失调 、增益误差被校正后,实际的传输曲线偏离理想中心线的程度,即:

INL=(V_{实际} -V_{理论})/1LSB

DNL(微分非线性):在 ADC 实际传输曲线中,每个输出代码对应的输入电压宽度称为码宽,DNL指实际码宽电压与理想码宽电压 (LSB: Least Significant Bit) 之差,即:

DNL=(V_{实际码宽}-V_{理论码宽})/V_{理论码宽} (单位:LSB)

INL和DNL计算是排除了OFFSET和GAINERROR干扰的,其计算值只与实际曲线曲线)和理论曲线有关,和理想曲线无关,因此offset的偏移和校准不会对INL和DNL值产生干扰。

二、测试原理:

本文采用的测试方法为直方图法(也称码密度法),其原理如下:

如果输入信号的概率密度分布为均匀分布(如斜波或者三角波),即输入电压在每个电压幅度上都是等概率的,那么,理想 ADC 的每个输出数字码也应该等概率。

实际中ADC由于存在非线性,每个数字码的 V 实际码宽和理想值有差异,从统计上讲,每个码箱的码密度直接与V实际码宽相应成正比,出现次数越多表明该代码的V实际码宽越大,非线性微分误差为正值;出现次数越少表明该代码V实际码宽越小,非线性微分误差为负值。

码密度反映了V实际码宽的大小,可以通过码密度来计算非线性微分误差,DNL可以由以下公式计算得出:

$$DNL=(P_{A(n)}/P_{I(n)})-1$$

其中,PA(n)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值