CN106063132A - 嵌入式装置的芯片上模数转换器(adc)线性度测试 - Google Patents

嵌入式装置的芯片上模数转换器(adc)线性度测试 Download PDF

Info

Publication number
CN106063132A
CN106063132A CN201580009861.9A CN201580009861A CN106063132A CN 106063132 A CN106063132 A CN 106063132A CN 201580009861 A CN201580009861 A CN 201580009861A CN 106063132 A CN106063132 A CN 106063132A
Authority
CN
China
Prior art keywords
code
adc
value
inl
minimum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580009861.9A
Other languages
English (en)
Other versions
CN106063132B (zh
Inventor
科马克·哈林顿
肯·穆舍吉安
安德鲁·阿勒曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN106063132A publication Critical patent/CN106063132A/zh
Application granted granted Critical
Publication of CN106063132B publication Critical patent/CN106063132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/10Calibration or testing
    • H03M1/1071Measuring or testing
    • H03M1/109Measuring or testing for dc performance, i.e. static testing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/10Calibration or testing
    • H03M1/1004Calibration or testing without interrupting normal operation, e.g. by providing an additional component for temporarily replacing components to be tested or calibrated
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/10Calibration or testing
    • H03M1/1009Calibration
    • H03M1/1033Calibration over the full range of the converter, e.g. for correcting differential non-linearity
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/10Calibration or testing
    • H03M1/1071Measuring or testing
    • H03M1/1095Measuring or testing for ac performance, i.e. dynamic testing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/124Sampling or signal conditioning arrangements specially adapted for A/D converters
    • H03M1/1245Details of sampling arrangements or methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

在所描述的实例中,测试ADC的线性度的方法包含接收(1310)指示ADC输入电压阶跃调整的触发信号,及当接收所述触发信号时读取(1311)ADC输出样本。所述ADC输出样本具有对应于N个离散ADC输出代码的N个整数值的值范围。此外,所述方法包含针对M个连续ADC输出代码计算(1312)代码发生的直方图。所述直方图包含对应于所述M个连续ADC输出代码的M个方格,其中M小于N。此外,所述方法包含根据所述直方图以K个ADC输出样本读数的间隔更新DNL值及INL值,及在更新所述DNL值及所述INL值之后将所述直方图移位(1330)一个ADC输出代码。

Description

嵌入式装置的芯片上模数转换器(ADC)线性度测试
背景技术
模数转换器(ADC)将模拟输入信号转换为一系列数字输出代码。转换过程可涉及输入的量化,因为模拟信号是连续的,而数字输出代码是离散的。ADC测量可由于转换过程中的不精确度的各种来源(例如,量化误差)以及制程中的变动(例如,装置间变动)而偏离理论测量。ADC性能可根据静态性能及动态性能来规定。静态性能可包含偏离误差、增益误差、微分非线性度(DNL)及积分非线性度(INL)。动态性能可包含总谐波失真(TDH)及信噪比(SNR)。一些嵌入式装置(例如,数字信号处理器(DSP)、芯片上系统(SoC))可包含芯片上ADC。芯片上ADC的性能可在生产测试期间进行评估。
发明内容
在用于嵌入式装置的芯片上ADC线性度测试的所描述实例中,一种方法包含接收指示ADC输入电压阶跃调整的触发信号且当接收所述触发信号时读取ADC输出样本。所述ADC输出样本具有对应于N个离散ADC输出代码的N个整数值的范围。此外,所述方法包含针对M个连续ADC输出代码计算代码发生的直方图。所述直方图包含对应于所述M个连续ADC输出代码的M个方格,其中M小于N。此外,根据所述直方图以K个ADC输出样本读数的间隔更新DNL值及INL值且在更新所述DNL值及所述INL值之后将所述直方图移位一个ADC输出代码。
在另一实施例中,一种非暂时性计算机存储可读装置包含计算机可执行指令,其在由处理器执行时使所述处理器检测指示ADC电压阶跃递增的触发事件且当接收到所述触发事件时读取ADC输出样本。所述ADC输出样本具有对应于N个离散ADC输出代码的N个整数值的值范围。所述指令进一步使所述处理器对所述M个连续ADC输出代码更新代码发生的直方图,其中所述直方图包含对应于所述M个连续ADC输出代码的M个方格,且其中M小于N。所述指令进一步使所述处理器根据所述直方图以K个ADC输出样本读数的间隔更新最大DNL值、最小DNL值、最大INL值及最小INL值。所述指令进一步使所述处理器在更新所述最大DNL值、所述最小DNL值、所述最大INL值及最小所述INL值之后将所述直方图移位一个ADC输出代码。
在又另一实施例中,一种设备包含ADC,其经配置以将模拟输入信号转换为N个离散ADC输出代码;及存储器,其包含包括存储M个连续ADC输出代码的发生次数的M个方格的直方图,其中每一方格对应于所述M个ADC输出代码中的一者,且其中M小于N。所述设备进一步包含第一接口,其经配置以接收指示所述ADC输入处的电压阶跃递增的触发信号,其中K个接收的触发信号的平均值对应于ADC输出代码转变。所述设备进一步包含处理器,其耦合到所述ADC、所述存储器和所述第一接口且经配置以:当接收所述触发信号时读取ADC输出样本且;通过将对应于所述ADC样本的值的方格中的发生次数递增来计算所述直方图;。所述处理器进一步经配置以根据所述直方图以K个ADC输出样本读数的间隔更新最大代码发生、最小代码发生、最大积分非线性度INL值及最小INL值,其中所述最大代码发生与最大微分非线性度DNL值成比例,且其中所述最小代码发生与最小DNL值成比例。所述处理器进一步经配置以;及在更新所述最大代码发生、所述最小代码发生、所述最大INL值及所述最小INL值之后将所述直方图移位一个ADC输出代码。
在又另一实施例中,一种非暂时性计算机存储可读装置包含计算机可执行指令,其在由处理器执行时使所述处理器设置第一控制代码以命令电压阶跃递增、设置第二控制代码以指示所述电压阶跃递增,且读取包含最大代码发生、最小代码发生、最大缩放INL值及最小缩放INL值以及对应于所述最大代码发生、所述最小代码发生、所述最大缩放INL值及所述最小缩放INL值的ADC代码的ADC测量报告。所述指令进一步使所述处理器根据所述测量报告计算最大DNL值、最小DNL值、最大INL值及最小INL值。
附图说明
图1是根据各个实施例的ADC转递函数及通过将ADC输入电压转换为离散电平转变点进行的对应ADC DNL测量的图表。
图2是根据各个实施例的ADC传递函数及ADC代码发生的对应直方图的图表。
图3是根据各个实施例的ADC测试设置的框图。
图4是根据各个实施例的内建自测(BIST)引擎的框图。
图5是根据各个实施例的测试引擎的框图。
图6是根据各个实施例的ADC线性度测试代码范围的图表。
图7是根据各个实施例的基于移动直方图的方法的图表表示。
图8是根据各个实施例的另一基于移动直方图的方法的图表表示。
图9是根据各个实施例的ADC INL测试的图表。
图10是根据各个实施例的ADC线性度测试校准方法的流程图。
图11是根据各个实施例的另一ADC线性度测试校准方法的流程图。
图12是根据各个实施例的ADC线性度测试方法的流程图。
图13是根据各个实施例的另一ADC线性度测试方法的流程图。
图14是根据各个实施例的比较基于所有代码直方图的方法与基于移动直方图的方法的ADC INL测量的两个图表。
具体实施方式
ADC输入可为具有无限个值的连续电压,而ADC输出可为有限个离散代码。因此,ADC输入-输出传递特性是无限个对一个映射。为了确定ADC的线性度特性,可通过根据ADC输出代码之间的转变电压表示ADC输入来在ADC输入与ADC输出之间建立一对一映射,其中转变电压是离散的。当ADC不具有线性度误差时,每一相邻转变电平之间的距离(例如,ADC代码宽度)是一个最低有效位(LSB)。DNL是相邻转变电平之间的测量距离及一个LSB的参考距离的测量。INL是每一代码转变电平与通过代码转变电平的最佳拟合直线之间的距离的测量。
图1示出了根据各个实施例的ADC传递函数及通过将ADC输入电压转换为离散电平转变点进行的对应ADC DNL测量的图表100。子图表110说明ADC传递函数,且子图表120说明ADC DNL测量。在子图表110中,x轴可以伏特为单位表示输入模拟电压,且y轴可表示ADC离散输出代码。曲线111可表示3位ADC响应于输入电压的输出传递函数。在子图表120中,x轴可以伏特为单位表示电压转变电平,且y轴可表示ADC输出代码索引。在子图表120中,数据点121中的每一者可对应于子图表110中的ADC代码转变。如子图表110及120中所示,数据点121之间的距离可不同于一个LSB的理论值,其中差值可表示微分线性度误差(例如,DNL值)。在子图表120中,数据点121的端点之间绘制的线122可对应于通过数据点121的最佳拟合直线。每一数据点121与线122之间的距离可表示积分线性度误差(例如,INL值)。
在实施例中,基于所有代码直方图的方法可用以测量ADC线性度。在基于所有代码直方图的方法中,可响应于在ADC的全尺度范围内线性地增加的输入信号电平而产生ADC输出代码发生的直方图。全尺度范围可指代对应于最小ADC输出代码的最小电压与对应于最大ADC输出代码的最大电压之间的范围。在从ADC收集足够多数量的样本之后,可产生ADC输出代码发生的直方图以提供DNL的精确测量。INL可通过以数字形式对DNL值积分来计算。直方图的方格数目或大小可对应于基于所有代码直方图的方法中的ADC输出代码的数目。例如,可针对产生八个ADC输出代码的3位ADC产生具有8个方格的直方图,同时可针对产生1024个ADC输出代码的10位ADC产生具有1024个方格的直方图。
图2示出了根据各个实施例的ADC传递函数及ADC代码发生的对应直方图的图表200。子图表210中说明ADC传递函数且子图表220中说明ADC代码发生的对应直方图。在子图表210中,x轴可以伏特为单位表示输入模拟电压,且y轴可表示ADC离散输出代码值。在子图表210中,曲线211可表示3位ADC响应于输入电压的输出传递函数。在子图表220中,x轴可以表示ADC代码索引(其可对应于直方图方格),且y轴可表示ADC代码发生的次数。如可观察到,每一直方图方格中的代码发生次数与每一相邻转变电平之间的距离成比例,如曲线211中所示。因此,可采用代码发生的直方图用于测量ADC DNL及INL。
在一些实施例中,采用基于所有代码直方图的方法的测试器可将斜坡电压(例如,线性恒定电压阶跃中)施加到ADC且在每一电压阶跃调整之后传递来自ADC输出的一或多个ADC样本。在将ADC输入电压扫描到ADC全尺度范围之后,测试器可产生ADC输出代码发生的直方图且根据直方图确定DNL及INL。在此类实施例中,测试器可采用大量存储器来用于存储,因为直方图的大小可与ADC输出代码的数目成比例增加。此外,测试时间可随着大量ADC样本可传递到测试器而变得显著。例如,当测试每个ADC输出代码约8次发生的平均值的每秒钟10百万个样本(MSPS)的10位ADC时,测试器可经由数字通信接口(例如,具有1.5兆赫兹(MHz)的传递速率的集成电路间(I2C))传递来自ADC的约八千个(例如,1024x 8=8096)ADC样本。每个ADC的测试时间可取决于ADC样本时间及与数字通信接口相关联的其它附加成本而为约五秒钟到约6秒钟。因此,ADC生产测试时间可为重要的。
用于本文中揭示的嵌入式装置的芯片上ADC线性度测试的实施例包含采用基于移动直方图的方法的ADC BIST方案。在实施例中,ADC DNL及INL可以修改形式表示以降低计算复杂度,且一次性后处理可应用于经修改DNL及INL以提供符合电气与电子工程师学会(IEEE)文件1241-2000的DNL及INL测量,所述文件是以引用方式并入,就如同将其内容全文复制在此一样。较低计算复杂度可实现DNL及INL测量在低成本及/或低性能微控制器(MCU)上的实施,且可减少计算时间,且因此减少生产测试时间。在另一实施例中,ADC线性度测试可采用具有动态DNL及INL计算的基于移动直方图的方法,而非具有后DNL及INL计算的所有代码直方图。动态计算可使得BIST能够计算具有基本上小于(例如,约八个到约三十二个方格)ADC输出代码的数目的少量固定数目的方格的直方图,且因此随着针对每一ADC输出代码计算DNL及INL而将直方图滑动跨过ADC输出代码范围。较低计算复杂度(例如,经修改形式)及较小存储器存储(例如,固定大小的移动直方图)可使得BIST能够并入在具有芯片上ADC的嵌入式装置中进行线性度测试。BIST可在低成本及/或低性能MCU(例如,8051MCU)上执行,其中用于直方图计算的随机存取存储器(RAM)的量较少(例如,约128个字节)。BIST程序代码可被存储在嵌入式装置中的小型(例如,约800个字节)只读存储器(ROM)上。在另一实施例中,初始化程序可经定义以确定适用于经修改DNL及INL测量的ADC输入电压范围。所揭示的芯片上ADC线性度测试与基于所有代码直方图的方法相比可将生产测试时间减少约五到约六的数量级,且可提供可相当于基于所有代码直方图的方法的DNL及INL测量。
图3示出了根据各个实施例的ADC测试设置300的框图。ADC测试设置300可适用于测试ADC线性度(例如,DNL及INL)。ADC测试设置300可包含测试器310及被测装置(DUT)320。测试器310及DUT可经由模拟连接330及数字连接340连接。模拟连接330可为经配置以携带模拟电压信号的任何物理链路。数字连接340可为经配置以高速地(例如,约1.5兆赫兹(MHz)或更大)传输数字信号的任何物理链路。数字信号(例如,读信号、写信号、命令信号等)的数目、数字信号的格式及数字信号的速度可取决于数字通信接口(例如,集成电路间(I2C))的类型。在一些实施例中,数字连接340可包含一种以上类型的数字有线连接,例如I2C接口连接及一些通用数字管脚连接。
测试器310可包含模拟电压源311及测试引擎312。电压源311可为经配置以产生具有恒定阶跃的高精度(例如,毫伏(mV))线性斜坡的任何装置。例如,电压源311可为信号产生器、函数产生或适用于产生高精度斜坡电压用于ADC线性度测试的任何其它电路元件。测试引擎312可为经配置以经由接口313(例如,通用接口总线(GPIB)、电路等)控制电压源311且经由数字连接340与DUT 320通信。例如,测试引擎312可为处理器、计算机工作站或经配置以执行用于执行ADC线性度测试的测试程序的任何其它可编程或不可编程装置。接口313可为经配置以传输电压控制代码的数字接口。
DUT 320可为包含芯片上ADC 321及BIST引擎322的任何装置,例如嵌入式装置。例如,DUT 320可为DSP、SoC等。芯片上ADC 321可为经配置以将连续模拟输入信号转换为有限数目的离散输出代码的任何装置。例如,ADC 321可为具有八个输出代码的3位ADC、具有1024个输出代码的10位ADC等。BIST引擎322可为经配置以控制ADC 321(例如,配置寄存器)且(例如,经由一或多个输出寄存器等)经由接口323(数字信号)从ADC 321收集ADC样本的任何装置,例如通用处理器或MCU。此外,BIST引擎322可通过分析经收集ADC样本(例如,产生直方图并计算DNL及INL偏差)而确定芯片上ADC 321的DNL及INL。
在一些实施例中,测试引擎312可确定ADC线性度测试配置参数,例如起始电压、终止电压及电压阶跃,其可根据ADC 321(例如,ADC全尺度电压范围及ADC输出代码的数目)来确定。电压阶跃可为恒定阶跃且可经确定使得可针对每一ADC输出代码测量足够多数量的ADC样本,例如每个ADC输出代码约八个或更多个样本。测试引擎312可使电压源311被设置为具体电压且可经由接口313调整电压(例如,递增固定阶跃)。测试引擎312可在每次电压调整结束时经由数字连接340将触发信号(例如,脉冲)发送到DUT 320以指示ADC 321可产生经调整电压的样本且BIST引擎322可处理ADC样本并计算DNL及INL参数。此外,测试引擎312可在ADC线性度测试开始时将测试配置参数发送到DUT 320且可在ADC线性度测试结束时经由数字连接340从DUT 320读取经测量参数。ADC测试设置300可替代地经配置以采用较高性能(例如,高分辨率及线性电压输出)的数模转换器(DAC)来代替电压源311,且因此可位于与ADC 321相同的DUT 320上。此外,测试引擎312的功能性反而可在BIST引擎322上实施。
图4示出了根据各个实施例的BIST引擎400的框图。BIST引擎400可基本上类似于BIST引擎322且可位于包含芯片上ADC(例如,ADC 321)的任何嵌入式装置(例如,DUT 320)中。BIST引擎400可包含处理器410、存储器装置420、数字接口430及ADC接口440。处理器410可被实施为通用处理器或可为一或多个处理器的部分。处理器410可包含存储在处理器中的内部非暂时性存储器中的ADC线性度测量模块411以允许处理器实施下文更完整描述的ADC线性度测试方法1100及/或1300。在替代性实施例中,ADC线性度测量模块411可被实施为存储在存储器装置420中的指令,所述指令可由处理器410执行。存储器装置420可包含用于暂时存储内容的高速缓冲存储器,例如RAM。此外,存储器装置420可包含用于相对较长时间存储内容的长期存储装置,例如ROM。例如,高速缓冲存储器及长期存储装置可包含动态随机存取存储器(DRAM)、固态驱动器(SSD)、硬盘或其组合。数字接口430可为经配置以与ADC测试器(例如,测试器310)通信的任何物理链路,且可基本上类似于数字连接340。ADC接口440可为经配置以在ADC(例如,ADC 321)与BIST引擎400之间传输ADC样本及/或ADC配置的任何物理链路。
图5示出了根据各个实施例的测试引擎500的框图。测试引擎500可基本上类似于测试引擎312且可位于任何测试器(例如,测试器310)中。测试引擎500可包含处理器510、存储器装置520、数字接口530及电压控制接口540。处理器510可被实施为通用处理器或可为一或多个处理器的部分。处理器510可包含存储在处理器中的内部非暂时性存储器中的ADC线性度测量模块511以允许处理器实施下文更完整描述的ADC线性度测试方法1000及/或1200。在替代性实施例中,ADC线性度测量模块511可被实施为存储在存储器装置520中的指令,所述指令可由处理器510执行。存储器装置520可基本上类似于存储器装置420。数字接口530可为经配置以与DUT(例如,DUT 320)通信的任何物理链路,且可基本上类似于数字连接340。电压控制接口440可为经配置以将控制发送到可变电压源仪器(例如,信号产生器、功能产生器)的任何物理链路(例如,通用接口总线(GPIB)、电路等)。
在实施例中,N位ADC可产生从Clo(例如,值零)到Chi(例如,2N-1的值)的范围中的2N个ADC输出代码。可产生介于代码Clo+1与代码Chi-1之间的ADC输出代码发生的直方图用于DNL及INL测量。最小代码Clo与最大代码Chi可从直方图中排除,因为任何ADC下溢可被转换为最小代码Clo且ADC上溢可被转换为最大代码Chi。因此,排除最低及最高方格的ADC代码发生的总次数可被表示为:
其中hsum是代码发生的总次数且h(i)是第i个ADC输出代码(例如,Ci)的发生次数。
每一方格的代码发生的平均次数可被计算为:
其中havg是代码发生的平均次数且dlt是排除最低及最高方格的直方图中的方格的数目且可被表示为:
dlt=Chi–Clo-1 等式(3)
如上文所述,存储在处理器中的内部非暂时性存储器中以允许处理器发生的代码的数目可与相邻转变电平之间的距离成比例。因此,代码发生的平均次数havg可对应于一个LSB的理论值,且第i个ADC代码的代码发生的测量次数h(i)可对应于相邻转变电平之间的测量距离。ADC的标准化代码宽度cw(i)可如下表示:
如上所述,DNL是相邻转变电平之间的测量距离及一个LSB的理论值的测量。因此,ADC输出代码的DNL值可如下计算:
DNL(i)=cw(i)-1,i=Clo+1,Clo+2,…,Chi-1 等式(5)
其中DNL(i)是第i个ADC输出代码Ci的DNL值。如等式(5)中所示的ADC值可不具有小于负1的值,且负1的值可指示丢失ADC代码(例如,零发生)。
如上所述,INL是每一代码转变电平与通过代码转变电平的最佳拟合直线之间的距离的测量。因此,INL可通过如下所示般将每一ADC代码转变时的DNL值累加而计算:
在实施例中,ADC性能规格可包含DNL参数及INL参数。例如,DNL参数可包含ADC的最小DNL值及最大DNL值,且INL参数可包含ADC的最小INL值及最大INL值。因此,ADC线性度测试可动态地计算并更新DNL参数及INL参数而无需存储所有代码发生的直方图。例如,ADC线性度测试可随着(例如,以每个电压增量)读取ADC样本时计算ADC的代码发生的次数。当ADC输入电压传递充分远离ADC输出代码Ci的电平使得ADC无法产生另一输出代码Ci,ADC线性度测试可计算ADC输出代码Ci的DNL值及INL值,且动态地更新最小DNL值、最大DNL值、最小INL值及最大INL值。
ADC输出代码的DNL值可根据代码宽度(例如,等式(5)中的cw(i))来计算,其中代码宽度与代码发生的次数(例如,等式(4)中的h(i))成比例。因此,ADC线性度测试可计算电压扫描期间的最大代码发生及最小代码发生,而非最大DNL值及最小DNL值。在电压扫描结束时,ADC线性度测试可分别根据最大代码发生及最小代码发生通过将等式(2)、(3)及(4)代入等式(5)中来计算最大DNL值及最小DNL值。因此,最大DNL值及最小DNL值可计算如下:
其中h(i)在计算最大DNL值时可为最大代码发生,且h(i)在计算最小DNL值时可为最小代码发生。
ADC代码的INL值是DNL值的累加和。然而,INL值无法通过累加代码发生来代替DNL值而简化。因为INL值是DNL值的累加和,所以代码跨度dlt中的平均DNL值可接近零以使INL值是有意义的。跨代码跨度dlt的非零DNL偏差可在INL计算期间进行积分,从而导致INL值中出现斜坡误差。如等式(4)中可观察到,每一DNL值可被标准化为代码发生havg的平均次数(例如,一个LSB的代码宽度)使得平均DNL值可在跨度dlt中接近零。
在实施例中,INL值可以修改形式表示以降低计算复杂度。如等式(7)中可观察到,DNL值是以除法运算进行计算,除法运算对于低成本MCU(例如,MCU 8051)来说在时钟循环及/或存储器存储方面可能是昂贵的。然而,等式(7)可经修改以通过如下所示般使等式(7)与项hsum交叉相乘来消除除法运算:
DNLhsum=hsum×DNL=h(i)×dlt-hsum 等式(8)
经修改INL值可如下计算:
INLhsum=INLhsum+DNLhsum 等式(9)
因此,ADC线性度测试可计算经修改INL值且动态地更新最大经修改INL值及最小经修改INL值。在ADC线性度测试结束时,可分别通过将最大经修改INL值及最小经修改INL值除以hsum来计算最大INL值及最小INL值,其中经计算最大及最小INL值符合IEEE文件1241-2000。基于所有代码直方图的方法可在产生所有代码直方图之后计算代码发生的总次数,而动态地计算INL值的ADC线性度测试可包含校准程序用于在进行ADC样本测试之前估计代码发生的总次数hsum
在实施例中,ADC线性度测试可通过计算小范围(例如,小于约三十二个)ADC代码的直方图且将直方图移动跨过ADC代码跨度(例如,dlt)来测量ADC的DNL及INL。因此,直方图可利用少量方格来计算,且方格数目可不与ADC输出代码的数目成比例增加。采用移动直方图的ADC线性度测试可称为基于移动直方图的方法。下表描述了可在基于移动直方图的方法中采用的一些参数:
表1-ADC线性度测试参数
图6示出了根据各个实施例的ADC线性度测试的ADC代码范围的图表600。在图表600中,x轴可表示ADC输出代码,其中ADC输出代码可从最小ADC代码Clo改变为最大ADC代码Chi、基于移动直方图的方法可排除两个端点Clo及Chi,因为任何ADC下溢、上溢及/或噪音均可导致ADC产生最小代码Clo或最大代码Chi,且因此可使DNL及INL测量失真。因此,基于移动直方图的方法可开始于将ADC输入电压Vin设置为对应于Clo与Clo+1之间的边界处的代码转变611的电压(例如,起始电压)及将ADC输入电压Vin以Vstep阶跃递增直到ADC输入电压Vin达到对应于Chi-1与Chi之间的边界处的代码转变612的电压(例如,终止电压)。
电压阶跃Vstep可经确定使得可在ADC代码的电压范围中针对每一ADC代码收集足够多数量的ADC样本(例如,约八个样本),例如,ADC输出代码的电压范围可被划分为八个相等电压阶跃且可针对每一电压阶跃读取一个ADC样本。因此,ADC代码发生的总次数hsum可对应于代码跨度dlt 613(例如,dlt=Chi–Clo–1)中介于起始电压与终止电压之间的电压阶跃的总数。然而,ADC装置可归因于程序变动而改变,因此起始电压及终止电压可在一个装置与另一装置之间改变。因此,当应用基于移动直方图的方法时,每一ADC装置可经校准以确定线性度测量之前的起始电压及终止电压使得可精确地确定hsum。hsum的不精确估计可显著地影响INL计算(例如,沿ADC代码的累加),这可在下文更完整地讨论。
图7示出了根据各个实施例的基于移动直方图的方法700的图表表示。基于移动直方图的方法700可在BIST引擎(例如,BIST引擎322或400)上实施。基于移动直方图的方法中的步骤可大概被划分为三个高电平步骤、直方图计算步骤、线性误差计算步骤及直方图移位步骤。在方法700中,可采用具有八个方格(例如,Nbin=8)的直方图710(例如,h[Nbin])用于对代码发生次数进行计数。方法700可开始于ADC输入电压(例如,电压源311)Vin是对应于Clo与Clo+1之间的边界处的代码转变的电压721(例如,起始电压)时。方法700可产生具有对应于代码Clo+1的最低方格(例如,h[0])及对应于代码Clo+8的最高方格(例如,h[7])的直方图710。在直方图计算期间,方法700可在每一电压阶跃Vstep723递增(例如Vin=Vin+Vstep)之后读取ADC样本且因此计算直方图,例如将对应于ADC样本的值的方格的发生次数累加。
当ADC输入电压Vin达到对应于约直方图710中间处的ADC代码(例如,Clo+4到Clo+5)的电压时,方法700可执行线性度误差计算。在线性度误差计算期间,方法700可根据等式(9)针对对应于最低方格的ADC代码(例如,Cho)计算INL值。此外,方法700可比较最低方格的代码发生次数h[0]与最大代码发生hmax及最小代码发生hmin。例如,当h[0]小于hmin时可将hmin更新为h[0]。类似地,当h[0]大于hmax时可将hmax更新为h[0]。最大代码发生hmax可被初始化为零值,且最小代码发生hmin可在测试开始时被初始化为大值(例如,大于代码发生的总次数)。
在针对对应于直方图中的最低方格的ADC输出代码计算线性度误差之后,方法700可将直方图710移位一个ADC代码,例如在将直方图710移位之后,最低方格h[0]可对应于代码Clo+2且最高方格h[7]可对应于代码Clo+9
随后,方法700可继续执行直方图计算且在每次代码转变时(例如,在接收约havg个ADC样本之后)重复线性度误差计算及直方图移位直到ADC输入电压达到对应于从Chi-1到Chi的代码转变的电压为止。因为线性度误差计算及直方图移位可使直方图计算滞后,所以方法700可继续对剩余ADC输出代码执行线性度误差计算及直方图移位直到如图8中所示直方图710的最低方格(例如,h[0])对应于ADC代码Chi-1为止。
图9示出了根据各个实施例的ADC INL测量的图表900。x轴可表示ADC代码索引。y轴可以LSB为单位表示INL值。曲线910、920及930可跨嵌入式装置上的10位ADC的ADC代码以LSB为单位表示INL值。INL值是通过采用基于移动直方图的方法(例如方法700)来测量。INL值是根据等式(9)且接着除以hsum来计算。曲线910可表示当hsum是在其中计算INL值的代码跨度dlt内计算的代码发生的总次数时的INL值。曲线920可表示当hsum计算具有负3的误差时的INL值,且曲线920可表示当hsum计算具有负10的误差时的INL值。如可从曲线910、920及930中观察到,归因于不精确的hsum的INL测量误差是显著的且可随着ADC代码增加而增加。因此,根据基于移动直方图的方法测量的INL值可在很大程度上取决于hsum的精确度。噪音也可以导致hsum不正确。例如,hsum可根据测量INL之前代码跨度dlt的起始电压及终止电压来计算。然而,一些ADC输出代码(例如,离群值)可归因于噪音而落在代码范围dlt之外且无法针对代码发生进行计数。因此,如果当ADC输入电压接近起始电压或终止电压时检测到离群值,那么可因此调整hsum
图10示出了根据各个实施例的ADC线性度测试校准方法1000的流程图。方法1000可在基本上类似于ADC测试设置300的测试设置中的测试器(例如,测试器310)上实施。方法1000可用于确定起始电压VTestStart及终止电压VTestStop,其中VTestStart可对应于导致从Clo到Clo+1的代码转变的电压且VTestStop可对应于导致从Chi-1到Chi的代码转变的电压。方法1000可开始于在步骤1010处将测试配置参数发送到DUT(例如,DUT 320)。测试配置参数可包含两次代码转变Clo+1及Chi
在步骤1020中,方法1000可将电压源(例如,电压源311)的ADC输入电压Vin设置为最小ADC输入电压VADCmin。在步骤1030处,方法1000可将触发信号发送到DUT。在发送触发信号之后,方法1000可在步骤1040处等待一定时段。在此时段期间,DUT可执行ADC转换且计算ADC测量。当时段期满时,方法1000可进行到步骤1050。在步骤1050处,方法1000可将ADC输入电压Vin增加一个电压阶跃Vstep(例如,Vin=Vin+Vstep)。在步骤1060处,方法1000可确定ADC输入电压Vin是否为最大ADC输入电压VADCmax。如果ADC输入电压并非最大ADC输入电压VADCmax,那么方法1000可进行到步骤1030。方法1000可重复步骤1030到1060的循环直到ADC输入电压Vin达到最大ADC输入电压VADCmax为止。
在步骤1070处,方法1000可从DUT读取数据。数据可包含起始电压索引VIdxlo及终止电压索引VIdxhi,其中起始电压索引VIdxlo可指示检测到从Clo到Clo+1的代码转变时的电压递增的次数,且终止电压索引VIdxhi指示检测到从Chi-1到Chi的代码转变时的电压递增的次数。方法1000可分别根据起始电压索引VIdxlo(例如,VTestStart=VADCmin+Vstep x VIdxlo)及终止电压索引VIdxli(例如,VTestStop=VADCmin+Vstep x VIdxhi)计算起始电压VTestStart及终止电压VTestStop。方法1000可采用某个替代电压到索引或代码映射,这可取决于测试器及/或电压源配置。
图11示出了根据各个实施例的另一ADC线性度测试校准方法1100的流程图。方法1100可在基本上类似于ADC测试设置300的测试设置中的BIST引擎(例如,BIST引擎322及400)上实施。方法1100可用于确定起始电压VTestStart及终止电压VTestStop,其中VTestStart可对应于导致从Clo到Clo+1的代码转变的电压且VTestStop可对应于导致从Chi-1到Chi的代码转变的电压。方法1100可开始于在步骤1110处从测试器(例如,测试器310)接收初始化参数。初始化参数可包第一ADC输出代码(例如,Clo+1)及第二ADC输出代码(例如,Chi-1)用于线性度测试。在步骤1120处,方法1100可将计数器初始化为零。
在步骤1130处,方法1100可等待来自测试器的触发信号。当接收到触发信号时,方法1100可进行到步骤1131。在步骤1131处,方法1100可使计数器递增。在步骤1132处,方法1100可读取ADC样本。在步骤1133处,方法1100可确定ADC样本值ADCval是否等于第一ADC输出代码Clo+1。如果ADC样本值ADCval不超过第一ADC输出代码Clo+1,那么方法1100可返回到步骤1130且重复步骤1130到1133的循环。如果ADC样本值ADCval超过第一ADC输出代码Clo+1,那么方法1100可进行到步骤1140。在步骤1140处,方法1100可将计数器值存储为起始电压索引VIdxlo
在步骤1150处,方法1100可等待来自测试器的触发信号。当从测试器接收到触发信号时,方法1100可进行到步骤1151。在步骤1151处,方法1100可使计数器递增。在步骤1152处,方法1100可读取ADC样本。在步骤1153处,方法1100可确定ADC样本值ADCval是否等于第二ADC输出代码Chi-1。如果ADC样本值ADCval不超过第二ADC输出代码Chi-1,那么方法1100可返回到步骤1150且重复步骤1150到1153的循环。如果ADC样本值ADCval超过第二ADC输出代码Chi-1,那么方法1100可进行到步骤1160。在步骤1160处,方法1100可将计数器值存储为终止电压索引VIdxhi。在步骤1170处,方法1100可将起始电压索引VIdxlo及终止电压索引VIdxhi发送到测试器。ADC线性度测试可每次电压递增读取一个ADC样本,因此VIdxlo与VIdxhi之间的差值可对应于ADC线性度测试中的代码发生的总次数hsum
图12示出了根据各个实施例的ADC线性度测试方法1200的流程图。方法1200可在基本上类似于ADC测试设置300的测试设置中的测试器(例如,测试器310)上实施。方法1200可用于测量DUT(例如,DUT 320)上的ADC(例如,ADC 321)的线性度参数。方法1200可开始于例如通过采用方法1000针对起始电压VTestStart及终止电压VTestStop校准ADC之后。VTestStart可对应于导致从Clo到Clo+1的代码转变的电压且VTestStop可对应于导致从Chi-1到Chi的代码转变的电压。
在方法1210处,方法1200可将电压源(例如,电压源311)的ADC输入电压Vin设置为起始电压VTestStart。在步骤1220处,方法1200可将触发信号发送到DUI。在发送触发信号之后,方法1200可在步骤1230处等待一定时段。在此时段期间,DUT可执行ADC转换并计算ADC测量。当时段期满时,方法1200可进行到步骤1240。在步骤1240处,方法1200可将ADC输入电压Vin增加一个电压阶跃Vstep。在步骤1250处,方法1200可确定ADC输入电压Vin是否达到终止电压VTestStop。如果ADC输入电压并非终止电压VTestStop,那么方法1200可进行到步骤1220。方法1200可重复步骤1220到1250的循环直到ADC输入电压Vin达到终止电压VTestStop为止。
在步骤1260处,方法1200可从DUT读取线性度测量。测量可包含最大代码发生、最小代码发生、对应于最大代码发生的ADC输出代码及对应于最小代码发生的ADC输出代码、最大缩放INL值、最小缩放INL值、对应于最大缩放INL值的ADC输出代码、对应于最小缩放INL值的ADC输出代码,如表1中所述。此外,测量可进一步包含测试数据,例如指示接收到ADC样本(其中值在测试代码范围dlt之外)的旗标。
在步骤1270处,方法1200可计算ADC的最小DNL值、最大DNL值、最小INL值及最大INL值,如下所示:
dlt=Chi-Clo-1
h a v g = h s u m d l t
DNL m i n = h min h a v g - 1.0
DNL max = h max h a v g - 1.0
INL m i n = INL S c a l e d M i n h s u m
图13示出了根据各个实施例的另一ADC线性度测试方法1300的流程图。方法1300可在位于基本上类似于ADC测试设置300的测试设置中的嵌入式装置(例如,DUT 320)中的BIST引擎(例如,BIST引擎322及400)上实施。方法1300可用于通过施加基于移动直方图的方法测试芯片上ADC(例如,ADC 321)的线性度参数,这可以基本上类似于方法700。方法1300可开始于针对起始电压VTestStart(例如,电压增量计数VIdxlo)及终止电压VTestStop(例如,电压增量计数VIdxhi)校准ADC且例如通过采用方法1000估计总代码发生hsum之后。
在步骤1310处,方法1300可等待来自测试器(例如,测试器310)的触发信号,其中触发信号可指示ADC输入处的输入电压(例如,电压源311)增加阶跃Vstep。当接收到触发信号时,方法1300可进行到步骤1311。在步骤1311处,方法1300可读取ADC样本。在步骤1312处,方法1300可针对小范围(例如,Nbin=约八到三十二)的ADC输出代码计算代码发生h[Nbin]的直方图(例如,直方图710),其中直方图的每一方格可对应于一个ADC代码。在步骤1313处,方法1300可确定电压源是否为可产生对应于约直方图中间的方格的ADC输出代码的电压。如果电压不对应于约中间方格,那么方法1300可返回到步骤1310且重复步骤1310到1313的循环。否则,方法1300可在电压Vin对应于约中间方格时进行到步骤1320。当电压Vin对应于约中间方格时,方法1300可能已经接收到对应于最低方格h[0]的所有ADC代码Cho(例如,最低方格是满的)。
在步骤1320处,方法1300可计算最低方格h[0]的线性度误差。线性度误差可包含最大代码发生、最小代码发生、最大经修改INL值及最大经修改INL值。以下伪代码可用于计算最小代码发生hmin及最大代码发生hmax
对应于最低方格h[0]的代码Cho的经修改INL值INLscale可根据等式(9)计算。以下伪代码可用于计算最大经修改INL值及最大经修改INL值:
在计算线性度误差之后,可舍弃最低方格h[0]。因此,在步骤1330处,方法1300可在步骤1330处将直方图移位一个ADC代码。直方图的移位可基本上类似于方法700。
在将直方图移位之后,方法1300可继续在步骤1340到1342中读取ADC样本及更新直方图。在步骤1340处,方法1300可等待来自测试器的触发信号。当接收到触发信号时,方法1300可进行到步骤1341。在步骤1341处,方法1300可读取ADC样本。在步骤1342处,方法1300可继续针对对应于ADC样本值的方格更新代码发生的次数。在步骤1343处,方法1300可确定是否从测试器接收到所有ADC样本(例如,根据最终电压增量VIdxhi)。如果未读取所有ADC样本,那么方法1300可继续到步骤1344。在步骤1344处,方法1300可确定自从最终直方图移位以来是否已接收到havg个样本。方法1300可在自从最终直方图移位以来已接收到havg个样本时进行到步骤1320。否则,方法1300可进行到步骤1340。
返回到步骤1343,方法1300可在接收到所有样本时进行到步骤1350。在步骤1350处,方法1300可针对h[Nbin]中的所有方格计算线性度误差,其中线性度误差可在基本上类似于步骤1320中的机制中计算。在步骤1360处,方法1300可将线性度测量发送到测试器。例如,测量可包含最大代码发生、最小代码发生、对应于最大代码发生的ADC输出代码及对应于最小代码发生的ADC输出代码、最大缩放INL值、最小缩放INL值、对应于最大缩放INL值的ADC输出代码、对应于最小缩放INL值的ADC输出代码,如表1中所述。
当输入电压接近起始电压VTestStart时,ADC可产生归因于噪音或运行间变动而低于测试代码跨度dlt中的最低代码Clo的ADC代码。因此,方法1300可检测到落在代码范围之外的代码(离群值)且可因此利用基于移动直方图的方法调整总代码发生hsum以用于更精确的INL测量。此外,方法1300可将旗标设置为指示在电压未接近VTestStart或VTestStop的情况下ADC代码在代码范围dlt之外时的误差。
图14示出了根据各个实施例的比较基于所有代码的直方图方法对基于移动直方图的方法的ADC INL测量的两个图表。x轴可表示ADC代码索引且y轴可以LSB为单位表示INL值。图表1410是根据基于所有代码的直方图方法计算的INL值,且图表1420是根据基于移动直方图的方法(例如,方法1000、1100、1200、1300)计算的INL值。如可观察到,根据基于移动直方图的方法计算的INL值可与根据基于所有代码的直方图方法计算的INL值相当。
可在所述实施例中进行修改且其它实施例可在权利要求书的范围内。

Claims (16)

1.一种测试模数转换器ADC的线性度的方法,其包括:
接收指示ADC输入电压阶跃调整的触发信号;
当接收所述触发信号时读取ADC输出样本,其中所述ADC输出样本具有对应于N个离散ADC输出代码的N个整数值的值范围;
针对M个连续ADC输出代码计算代码发生的直方图,其中所述直方图包含对应于所述M个连续ADC输出代码的M个方格,且其中M小于N;
根据所述直方图以K个ADC输出样本读数的间隔更新微分非线性度DNL值及积分非线性度INL值;及
在更新所述DNL值及所述INL值之后将所述直方图移位一个ADC输出代码。
2.根据权利要求1所述的方法,其中所述电压阶跃调整是用于每一调整的恒定递增,且其中K个ADC输出样本读数的所述间隔对应于所述N个ADC输出代码中的每一者的发生的平均次数。
3.根据权利要求1所述的方法,其中将所述直方图移位开始于所述ADC样本值等于比所述N个ADC输出代码中的最小代码大约M/2个代码的ADC输出代码时。
4.根据权利要求1所述的方法,其中更新所述DNL值包含:
比较最低直方图方格的方格值与最小代码发生及最大代码发生,其中所述方格值是对应于所述最低直方图方格的当前ADC输出代码的代码发生的次数;
当所述方格值小于所述最小代码发生时将所述最小代码发生设置为所述方格值;
当所述方格值小于所述最小代码发生时将最小DNL ADC代码设置为所述当前ADC输出代码;
当所述方格值大于所述最大代码发生时将所述最大代码发生设置为所述方格值;及
当所述方格值大于所述最大代码发生时将最大DNL ADC代码设置为所述当前ADC输出代码。
5.根据权利要求1所述的方法,其中针对D个ADC输出代码更新所述DNL值及所述INL值,所述更新开始于第一ADC输出代码处且终止于第二ADC输出代码处,其中所述第一ADC输出代码是大于所述N个ADC输出代码中的最小代码的下一最小代码,其中所述第二ADC输出代码是小于所述N个ADC输出代码中的最大代码的下一最大代码,且其中D等于N-2的值。
6.根据权利要求5所述的方法,其进一步包括在计算所述直方图之前确定所述D个ADC输出代码中的代码发生的总次数,其中确定代码发生的所述总次数包含:
通过采用计数器对电压阶跃调整的数目进行计数;
当第一先前ADC样本值等于所述N个ADC输出代码中的最小代码且第一当前ADC样本值等于大于所述最小代码的所述下一最小代码时读取第一计数器值;
当第二先前ADC样本值等于小于所述N个ADC输出代码中的最大代码的所述下一最大代码且第二当前ADC样本值等于所述最大代码时读取第二计数器值;
通过计算所述第一计数器值与所述第二计数器值之间的差值来设置代码发生的所述总次数;及
报告所述第一计数器值及所述第二计数器值。
7.根据权利要求6所述的方法,其中在确定代码发生的所述总次数之后更新所述INL值且其中更新所述INL值包含:
根据以下等式对对应于最低直方图方格的当前ADC输出代码计算缩放DNL值:
DNLhsum=h[0]×D-hsum
其中hsum是代码发生的所述总次数,且h[0]是所述当前ADC输出代码的代码发生的次数;
通过将所述缩放DNL值与先前缩放INL值相加来对所述当前ADC输出代码计算当前缩放INL值;
比较所述当前缩放INL值与最小缩放INL值及最大缩放INL值;
当所述当前缩放INL值小于所述最小缩放INL值时将所述最小缩放INL值设置为所述当前缩放INL值;
当所述当前缩放INL值小于所述最小缩放INL值时将最小INL ADC代码设置为所述当前ADC输出代码;
当所述当前缩放INL值大于所述最大缩放INL值时将所述最大缩放INL值设置为所述当前缩放INL值;及
当所述当前缩放INL值大于所述最大缩放INL值时将最大INL ADC代码设置为所述当前ADC输出代码。
8.根据权利要求5所述的方法,其进一步包括当接收的ADC样本值小于所述第一ADC输出代码或大于所述第二ADC输出代码时确定所述ADC的失败结果。
9.根据权利要求6所述的方法,其进一步包括在先前ADC样本值等于所述第一ADC输出代码的情况下当接收的ADC样本值小于所述第一ADC输出代码时将代码发生的所述总次数递减1。
10.根据权利要求5所述的方法,其进一步包括在对所述D个ADC输出代码更新所述INL值及所述DNL值之后发送测试报告,其中所述测试报告包含:
最大代码发生;
最小代码发生;
对应于所述最大代码发生的第一ADC输出代码;
对应于所述最小代码发生的第二ADC输出代码;
由代码发生的总次数缩放的最大INL值;
由代码发生的总次数缩放的最小INL值;
对应于所述最大缩放INL值的第三ADC输出代码;
对应于所述最小缩放INL值的第四ADC输出代码;及
所述D个ADC输出代码的代码发生的所述总次数。
11.一种设备,其包括:
模数转换器ADC,其经配置以将模拟输入信号转换为N个离散ADC输出代码;
存储器,其包含包括存储M个连续ADC输出代码的发生次数的M个方格的直方图,其中每一方格对应于所述M个ADC输出代码中的一者,且其中M小于N;
第一接口,其经配置以接收指示ADC输入处的电压阶跃递增的触发信号,其中K个接收的触发信号的平均值对应于ADC输出代码转变;及
处理器,其耦合到所述ADC、所述存储器和所述第一接口且经配置以:当接收所述触发信号时读取ADC输出样本;通过将对应于所述ADC样本的值的方格中的发生次数递增来计算所述直方图;根据所述直方图以K个ADC输出样本读数的间隔更新最大代码发生、最小代码发生、最大积分非线性度INL值及最小INL,其中所述最大代码发生与最大微分非线性度DNL值成比例,且其中所述最小代码发生与最小DNL值成比例;及在更新所述最大代码发生、所述最小代码发生、所述最大INL值及所述最小INL值之后将所述直方图移位一个ADC输出代码。
12.根据权利要求11所述的设备,其中针对D个ADC输出代码更新所述最大代码发生、所述最小代码发生、所述最大INL值及所述最小INL值,所述更新开始于第一ADC输出代码处且终止于第二ADC输出代码处,所述第一ADC输出代码是大于所述N个ADC输出代码中的最小代码的下一最小代码,所述第二ADC输出代码是小于所述N个ADC输出代码中的最大代码的下一最大代码,且其中D等于N-2的值。
13.根据权利要求11所述的设备,其中所述处理器经配置以通过以下项来更新所述最大代码发生及所述最小代码发生:
比较最低直方图方格的方格值与最小代码发生及最大代码发生;
当所述方格值小于所述最小代码发生时将所述最小代码发生设置为所述方格值;
当所述方格值小于所述最小代码发生时将最小DNL ADC代码设置为对应于所述最低直方图方格的ADC输出代码;
当所述方格值大于所述最大代码发生时将所述最大代码发生设置为所述方格值;及
当所述方格值大于所述最大代码发生时将最大DNL ADC代码设置为对应于所述最低直方图方格的所述ADC输出代码。
14.根据权利要求11所述的设备,其中所述处理器进一步经配置以:
在接收每一触发事件之后将计数器递增1;
当先前ADC样本值对应于所述N个离散ADC输出代码中的最小代码且当前ADC样本值对应于大于所述最小代码的下一最小代码时记录第一计数器值;
当先前ADC样本值对应于小于所述N个离散ADC输出代码中的最大代码的下一最大代码且当前ADC样本值对应于所述最大代码时记录第二计数器值;及
通过计算所述第一计数器值与所述第二计数器值之间的差值来确定代码发生的总次数,及
其中所述设备进一步包括经配置以发送所述第一计数器值及所述第二计数器值的第二接口。
15.根据权利要求11所述的设备,其中所述处理器经配置以通过以下项来更新所述最大及最小INL值:
根据以下等式对对应于最低直方图方格的当前ADC输出代码计算缩放DNL值:
DNLhsum=h[0]×D-hsum
其中hsum是代码发生的总次数,且h[0]是所述当前ADC输出代码的代码发生的次数;
通过将所述缩放DNL值与先前缩放INL值相加来对所述当前ADC输出代码计算当前缩放INL值;
比较所述当前缩放INL值与最小缩放INL值及最大缩放INL值;
当所述当前缩放INL值小于所述最小缩放INL值时将所述最小缩放INL值设置为所述当前缩放INL值且将最小INL ADC代码设置为所述当前ADC输出代码;及
当所述当前缩放INL值大于所述最大缩放INL值时将所述最大缩放INL值设置为所述当前缩放INL值且将最大INL ADC代码设置为所述当前ADC输出代码。
16.根据权利要求11所述的设备,其进一步包括第二接口,所述第二接口经配置以发送所述最大代码发生、所述最小代码发生、所述最大INL值及所述最小INL值。
CN201580009861.9A 2014-02-28 2015-03-02 嵌入式装置的芯片上模数转换器(adc)线性度测试 Active CN106063132B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/193,669 US9240798B2 (en) 2014-02-28 2014-02-28 On-chip analog-to-digital converter (ADC) linearity text for embedded devices
US14/193,669 2014-02-28
PCT/US2015/018343 WO2015131197A1 (en) 2014-02-28 2015-03-02 On-chip analog-to-digital converter (adc) linearity test for embedded devices

Publications (2)

Publication Number Publication Date
CN106063132A true CN106063132A (zh) 2016-10-26
CN106063132B CN106063132B (zh) 2019-09-10

Family

ID=54007233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580009861.9A Active CN106063132B (zh) 2014-02-28 2015-03-02 嵌入式装置的芯片上模数转换器(adc)线性度测试

Country Status (5)

Country Link
US (1) US9240798B2 (zh)
EP (1) EP3111559B1 (zh)
JP (1) JP6562562B2 (zh)
CN (1) CN106063132B (zh)
WO (1) WO2015131197A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616278A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 一种离散量、模拟量归一化采集电路及方法
CN112968701A (zh) * 2021-01-28 2021-06-15 中国电子科技集团公司第五十八研究所 一种adc积分非线性与微分非线性的动态测试系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10429437B2 (en) * 2015-05-28 2019-10-01 Keysight Technologies, Inc. Automatically generated test diagram
DE102015116786A1 (de) * 2015-10-02 2017-04-06 Infineon Technologies Ag Vorrichtungsverfahren zum Testen eines Analog-Digital Wandlers
CN105808405B (zh) * 2016-04-12 2018-10-23 江南大学 一种基于SoPC的高性能流水线ADC频域参数评估系统
GB2608829A (en) * 2021-07-13 2023-01-18 Nordic Semiconductor Asa ADC non-linearity testing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120229314A1 (en) * 2011-03-10 2012-09-13 Advantest Corporation Test apparatus and test method for a/d converter
CN102723950A (zh) * 2012-07-03 2012-10-10 航天科工防御技术研究试验中心 一种模数转换器非线性参数测试适配器及测试方法
CN103067008A (zh) * 2012-12-21 2013-04-24 东南大学 高精度adc线性度的测试方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319370A (en) * 1992-08-31 1994-06-07 Crystal Semiconductor, Inc. Analog-to-digital converter with a continuously calibrated voltage reference
JP3597303B2 (ja) * 1996-04-23 2004-12-08 株式会社ルネサステクノロジ A/dコンバータのテスト方法及びテスト装置
US5659312A (en) * 1996-06-14 1997-08-19 Logicvision, Inc. Method and apparatus for testing digital to analog and analog to digital converters
US5771012A (en) * 1996-09-11 1998-06-23 Harris Corporation Integrated circuit analog-to-digital converter and associated calibration method and apparatus
US6140949A (en) * 1997-12-02 2000-10-31 Texas Instruments Incorporated Trimming algorithm for pipeline A/D converter using integrated non-linearity measurement
JP3684058B2 (ja) * 1997-12-26 2005-08-17 キヤノン株式会社 グリッチノイズの検査方法及び装置
US6211803B1 (en) * 1998-11-12 2001-04-03 Logicvision, Inc. Test circuit and method for measuring switching point voltages and integral non-linearity (INL) of analog to digital converters
US6476741B2 (en) * 2000-04-19 2002-11-05 Georgia Tech Research Corp. Method and system for making optimal estimates of linearity metrics of analog-to-digital converters
JP2003338756A (ja) * 2002-05-21 2003-11-28 Mitsubishi Electric Corp 試験方法および試験回路
EP1473836B1 (en) * 2003-03-20 2006-08-02 Acacia Semiconductor, Lda. Digital-domain self-calibration and built-in self-testing techniques for high-speed integrated A/D converters using white gaussian noise
TW595108B (en) * 2003-09-17 2004-06-21 Spirox Corp Apparatus and method for measuring data converters
JP2005252590A (ja) * 2004-03-03 2005-09-15 Kawasaki Microelectronics Kk Ad変換装置
US7379831B1 (en) * 2004-05-12 2008-05-27 Zilog, Inc. Error correction in an oversampled ADC using few stored calibration coefficients
JP2005354617A (ja) * 2004-06-14 2005-12-22 Matsushita Electric Ind Co Ltd A/d変換器試験装置及びa/d変換器の生産方法
TWI241071B (en) * 2004-06-30 2005-10-01 Univ Nat Cheng Kung Test framework and test method of analog to digital converter
US7411532B2 (en) * 2005-08-31 2008-08-12 Texas Instruments Incorporated Method for determining minimization factor for improving linearity of an analog-to-digital converter
US7439888B2 (en) * 2005-08-31 2008-10-21 Texas Instruments Incorporated Method for digitally representing an integral non-linearity response for a device
US8386209B2 (en) * 2008-06-20 2013-02-26 University Of Limerick Testing system
US8106801B2 (en) * 2009-02-12 2012-01-31 Qualcomm, Incorporated Methods and apparatus for built in self test of analog-to-digital convertors
US8310385B2 (en) * 2009-05-13 2012-11-13 Qualcomm, Incorporated Systems and methods for vector-based analog-to-digital converter sequential testing
US8682613B2 (en) * 2010-03-16 2014-03-25 Ateeda Ltd. ADC testing
CN102420610A (zh) * 2010-09-27 2012-04-18 飞思卡尔半导体公司 测试数模及模数转换器的方法
CN102938647B (zh) * 2012-11-20 2015-09-30 华为技术有限公司 转换电路及芯片
US8723711B1 (en) * 2012-12-26 2014-05-13 Texas Instruments Incorporated Stair-step voltage ramp module including programmable gain amplifier
US8947276B1 (en) * 2013-04-05 2015-02-03 Zhongjun Yu System and methodology for analog-to-digital converter linearity testing
US8803716B1 (en) * 2013-04-10 2014-08-12 Stmicroelectronics International N.V. Memoryless sliding window histogram based BIST

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120229314A1 (en) * 2011-03-10 2012-09-13 Advantest Corporation Test apparatus and test method for a/d converter
CN102723950A (zh) * 2012-07-03 2012-10-10 航天科工防御技术研究试验中心 一种模数转换器非线性参数测试适配器及测试方法
CN103067008A (zh) * 2012-12-21 2013-04-24 东南大学 高精度adc线性度的测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FRANCISCO CORREA ALEGRIA ETC.: "An ADC histogram test based on small-amplitude waves", 《MEASUREMENT》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616278A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 一种离散量、模拟量归一化采集电路及方法
CN108616278B (zh) * 2016-12-12 2021-09-14 中国航空工业集团公司西安航空计算技术研究所 一种离散量、模拟量归一化采集电路及方法
CN112968701A (zh) * 2021-01-28 2021-06-15 中国电子科技集团公司第五十八研究所 一种adc积分非线性与微分非线性的动态测试系统
CN112968701B (zh) * 2021-01-28 2022-08-02 中国电子科技集团公司第五十八研究所 一种adc积分非线性与微分非线性的动态测试系统

Also Published As

Publication number Publication date
EP3111559A4 (en) 2017-11-01
EP3111559A1 (en) 2017-01-04
US20150249458A1 (en) 2015-09-03
JP2017511052A (ja) 2017-04-13
WO2015131197A9 (en) 2016-08-25
EP3111559B1 (en) 2020-11-18
WO2015131197A1 (en) 2015-09-03
US9240798B2 (en) 2016-01-19
JP6562562B2 (ja) 2019-08-21
CN106063132B (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN106063132A (zh) 嵌入式装置的芯片上模数转换器(adc)线性度测试
CN107728094A (zh) 电流校准系数测量装置和方法、电流检测装置和方法
CN108089141B (zh) 一种基于分流器的电流测量装置的误差修正方法及装置
CN107181489A (zh) 一种模数转换校准方法及装置
CN102723950B (zh) 一种模数转换器非线性参数测试适配器及测试方法
CN103457603B (zh) 一种基于平均频谱测试adc动态参数的方法
CN102096057B (zh) 一种电容测量电路的校准方法及装置
CN103475369B (zh) 基于信号源误差一次性校准识别的高精度adc测试方法
CN103697928A (zh) 一种仪器校准方法及装置
CN103457608B (zh) 用于操作模数转换器的系统和方法
CN103529379A (zh) 用于高精度adc测试中低分辨率信号源的选取方法
CN102098051B (zh) 一种高频周期信号的采样方法和系统
CN106446405B (zh) 一种集成电路器件神经网络建模样本选择方法及装置
CN109405884B (zh) 基于温湿度传感器的实现湿度校准功能的系统及方法
CN109782188B (zh) 航天器电池组模拟器的soc特性校准方法
CN107800434A (zh) 一种基于参数提取的快速adc测试方法
CN115455347A (zh) 一种mems加速度计混合误差建模补偿方法
CN106685423A (zh) 模数转换器静态参数正弦波测试方法
RU2324899C2 (ru) Способ измерения неэлектрических величин многоточечной измерительной системой с контролем функции преобразования и измерительная система для его осуществления
CN206670832U (zh) 一种提升温度测量精准度的装置
CN105181080B (zh) 一种基于tdc芯片技术的数字化电容式物位计
CN107809247A (zh) 一种高速高精度adc动态输入输出特性曲线快速测试方法
CN1553140A (zh) 对相位差不敏感的交点跟踪式莫尔(干涉)条纹信号计数细分方法及装置
CN102508041A (zh) 一种Delta型电容参数测算方法
RU2727345C1 (ru) Гибридный датчик измерения углового положения

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant