news 2026/5/24 5:22:25

【ADC 测试技术】:1. 直方图法测量 ADC 的 DNL 与 INL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ADC 测试技术】:1. 直方图法测量 ADC 的 DNL 与 INL

静态测试基础——直方图法测量 ADC 的 DNL 与 INL

系列:《从原理到实测:ADC 测试技术深度解析》第一篇
难度:入门 / 基础
关键词:ADC 测试、直方图、DNL、INL、斜坡信号


一、为什么我们需要直方图测试?

在对 ADC(模数转换器)进行静态性能测试时,最直观的方法是逐个测量每个码字的转换边界(Code Boundary):给 ADC 施加一个精确可调的直流电压,通过伺服回路(Servo Loop)逐步逼近每一个量化跳变点,记录对应的电压值,再计算出 DNL 和 INL。

这种方法原理清晰,但有一个致命缺点——速度极慢

对于一个 N 位 ADC,共有2N−12^N - 12N1个转换边界需要逐一测量。每次测量都需要伺服回路收敛到稳定状态,加上高精度电压表的读数时间,整体测试耗时随分辨率指数级增长。对于 16 位以上的高精度 ADC 而言,这种方法在生产测试中几乎不可接受。

直方图测试(Histogram Testing)正是为了解决这一问题而生的。它的核心思想是:

不去主动"找"每一个转换边界,而是施加一个已知概率分布的输入信号,通过统计 ADC 输出码字的出现频次,反推出每个量化区间的实际宽度,进而计算 DNL 和 INL。


二、伺服回路(Servo Loop)简介

在介绍直方图法之前,有必要了解它所取代的传统方法——码边界伺服(Code Boundary Servo)

伺服回路的工作原理如下:

  1. 向 ADC 施加一个初始电压,读取输出码字 A
  2. 将 A 与目标码字 B 输入数字比较器
  3. 比较器输出驱动两路电流源i1i_1i1i2i_2i2,对积分电容C1C_1C1充放电
  4. 积分器输出经R2R_2R2C2C_2C2低通滤波后作为 ADC 输入
  5. 回路不断调整,直到 ADC 输出恰好在 A 与 B 之间反复跳变
  6. 此时用高精度电压表读取 ADC 输入端电压,即为该转换边界的精确值

这一方法精度高,但每测一个边界都需要等待回路收敛,2N2^N2N个码字逐一操作,耗时极长。直方图法通过一次连续扫描完成所有码字的统计,从根本上解决了效率问题。


三、斜坡直方图测试原理

3.1 测试设置

斜坡直方图测试的硬件搭建非常简单:

斜坡信号发生器 ──→ ADC ──→ PC(采集并统计输出码字) ↑ V_REF, f_S

测试时,向 ADC 施加一个速度远慢于采样时钟的线性斜坡信号,电压范围覆盖 ADC 的整个输入量程(0 到VREFV_{REF}VREF)。在斜坡扫描过程中,ADC 持续以采样率fSf_SfS进行采样,PC 端记录每个输出码字出现的次数,形成直方图。

3.2 基本原理

由于斜坡是线性的,理想情况下,ADC 的每个量化区间宽度相同,斜坡在每个区间内停留的时间也相同,因此每个码字被采样的次数(Code Count)也应该相同。

若某个码字的实际量化区间比理想宽,斜坡在该区间停留的时间就更长,采样次数就更多;反之则更少。

这就是直方图法的核心逻辑:码字出现频次的偏差,直接反映了对应量化区间宽度的偏差,也就是 DNL。

3.3 测试参数计算示例

以一个具体例子说明参数选择:

参数数值
ADC 采样率fSf_SfS100 kHz
采样周期TST_STS10 μs
1 LSB 对应电压10 mV
期望测量分辨率0.01 LSB
每个码字所需样本数nnn100 个

每个码字需要 100 个样本,每个样本间隔 10 μs,因此斜坡在每个 LSB 区间内停留时间为:

tper code=100×10 μs=1 mst_{per\ code} = 100 \times 10\ \mu s = 1\ mstpercode=100×10μs=1ms

斜坡斜率为:

Slope=10 mV1 ms=10 mV/ms\text{Slope} = \frac{10\ mV}{1\ ms} = 10\ mV/msSlope=1ms10mV=10mV/ms


四、DNL 提取的完整五步流程

下面以一个3 位理想 ADC含非理想特性的 3 位 ADC为例,演示 DNL 提取的全过程。

Step 1:采集原始直方图

施加斜坡信号后,统计每个输出码字(0~7)出现的次数,得到原始直方图。

对于理想的 3 位 ADC,假设总采集样本覆盖了全量程(包含首尾过量程码),去掉首尾两个过量程码(code 0 和 full-scale code),有效码字为 1~6,共 6 个。

为什么要去掉首尾码?
过量程码(overrange bins)的计数包含了斜坡进入/退出量程的时间,不代表真实的量化区间宽度,必须排除。

Step 2:计算平均计数

nˉ=有效总样本数有效码字数=6006=100 次/码\bar{n} = \frac{\text{有效总样本数}}{\text{有效码字数}} = \frac{600}{6} = 100 \text{ 次/码}nˉ=有效码字数有效总样本数=6600=100/

Step 3:归一化

将每个码字的实际计数除以平均计数:

Normalized Count[k]=Count[k]nˉ\text{Normalized Count}[k] = \frac{\text{Count}[k]}{\bar{n}}Normalized Count[k]=nˉCount[k]

  • 理想码字:归一化值 = 1
  • 偏宽码字:归一化值 > 1
  • 偏窄码字:归一化值 < 1

Step 4:减去 1,得到 DNL

DNL[k]=Normalized Count[k]−1\text{DNL}[k] = \text{Normalized Count}[k] - 1DNL[k]=Normalized Count[k]1

结果的单位是 LSB。正值表示该码字的量化区间比理想宽,负值表示比理想窄。

Step 5:由 DNL 重建 INL

每个码字的实际宽度为:

W[k]=DNL[k]+1 LSBW[k] = \text{DNL}[k] + 1\ \text{LSB}W[k]=DNL[k]+1LSB

将各码字的宽度累加,可以重建出 ADC 的完整转换特性曲线,再与理想直线(端点连线)作差,即得到INL

INL[k]=∑i=1kDNL[i]\text{INL}[k] = \sum_{i=1}^{k} \text{DNL}[i]INL[k]=i=1kDNL[i]


五、一个含非理想特性的 3 位 ADC 实例

假设某 3 位 ADC 在某个码字处存在 +0.4 LSB 的 DNL 误差,另一码字存在 -0.4 LSB 的 DNL 误差。

经过上述五步处理后:

  • DNL 图:呈现 ±0.4 LSB 的偏差,与实际引入的误差吻合
  • INL 图:由于 DNL 的累积效应,INL 峰值出现 +0.4 LSB 的偏差

这验证了直方图法能够准确还原 ADC 的静态非线性特性。


六、斜坡测试的速度瓶颈

直方图法虽然比逐点测量快得多,但对于高分辨率 ADC,测试时间仍然不可忽视。

以 16 位 ADC 为例:

Ttest=216 码×100 次/码100,000 次/秒=6,553,600100,000≈65.6 秒T_{test} = \frac{2^{16}\ \text{码} \times 100\ \text{次/码}}{100{,}000\ \text{次/秒}} = \frac{6{,}553{,}600}{100{,}000} \approx 65.6\ \text{秒}Ttest=100,000/216×100/=100,0006,553,60065.6

接近1 分 6 秒,这对量产测试来说仍然是个负担。

此外,斜坡信号还有另一个根本性问题:商用斜坡信号发生器的线性度通常只能达到 8~10 位。也就是说,用斜坡信号测试 10 位以上的 ADC 时,信号本身的非线性误差会污染测试结果,导致测量值失真。

这就引出了下一篇要讨论的内容——正弦波直方图测试


七、小结

要点内容
直方图法核心思想统计输出码字频次,频次偏差 = 量化区间宽度偏差 = DNL
斜坡测试优点原理简单,DNL 直接读出
DNL 提取步骤去首尾 → 求均值 → 归一化 → 减1 → 得 DNL
INL 计算DNL 的累积求和
斜坡测试局限线性度仅 8~10 位,高精度 ADC 需要更纯净的测试信号

下一篇:《正弦波直方图测试——突破斜坡精度瓶颈》
我们将介绍如何用正弦波替代斜坡信号,解决高精度 ADC 的静态测试难题,并深入讲解正弦波 PDF 校正算法与 MATLAB 实现。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 5:16:32

88、CAN FD在车载网络中的实际优势:带宽、延迟与吞吐量对比

CAN FD在车载网络中的实际优势:带宽、延迟与吞吐量对比 去年冬天,我在调试某款新车型的ADAS域控制器时遇到一个诡异现象——毫米波雷达的数据流在传统CAN总线上频繁丢帧,而同一时刻的网关日志却显示总线负载率只有42%。按理说这个负载率远没到CAN总线的理论极限,但数据就是…

作者头像 李华
网站建设 2026/5/24 5:14:04

忆阻器AI加速器:从存内计算原理到系统级挑战与协同设计

1. 忆阻器AI加速器&#xff1a;从存内计算到系统级挑战如果你关注AI硬件&#xff0c;尤其是边缘AI芯片&#xff0c;那么“存内计算”这个词最近几年肯定没少听。它被看作是打破“内存墙”、实现高能效AI推理的希望。而在众多存内计算技术路径中&#xff0c;忆阻器&#xff08;M…

作者头像 李华
网站建设 2026/5/24 5:09:11

智能AI图像识别之工地积水识别数据集 道路积水数据集 管道泄漏漏水数据集 图像yolov8图像数据集 积水识别yolo第10260期

水目标检测数据集简介 水目标检测数据集核心信息表信息类别具体内容数据集类别计算机视觉领域下的目标检测类数据集&#xff0c;专注于 “水-water” 相关目标的检测任务数据数量包含 6.8k 张图像&#xff08;即 6784 张&#xff09;&#xff0c;为目标检测模型的训练、验证提供…

作者头像 李华
网站建设 2026/5/24 5:05:16

Proxmox断电后启动失败深度复盘:不只是GRUB,LVM卷组损坏才是元凶

Proxmox断电后启动失败深度复盘&#xff1a;不只是GRUB&#xff0c;LVM卷组损坏才是元凶凌晨三点&#xff0c;服务器机房的备用电源耗尽警报响起。当电力恢复后&#xff0c;运维团队发现基于Proxmox VE 7.x的虚拟化平台无法启动——GRUB救援界面不断抛出unknown filesystem和di…

作者头像 李华
网站建设 2026/5/24 5:03:45

核能消费对循环经济的影响:基于DYNARDL模型与机器学习的实证研究

1. 研究背景与核心问题在“双碳”目标和生态文明建设的宏大叙事下&#xff0c;中国的能源转型与经济发展模式变革正同步进行。一方面&#xff0c;以风电、光伏为代表的可再生能源装机量迅猛增长&#xff1b;另一方面&#xff0c;作为稳定、低碳的基荷能源&#xff0c;核能也在中…

作者头像 李华