参考DAC的背景校准和ADC中的量化非线性的制作方法

文档序号:17657824发布日期:2019-05-15 22:10阅读:278来源:国知局
参考DAC的背景校准和ADC中的量化非线性的制作方法

本专利申请要求于2017年11月1日提交的名称为“参考dac的背景校准和adc中的量化非线性”的美国临时申请序列号62/580,333的优先权和受益,该临时申请在此整体引入其中。

本发明涉及集成电路领域,尤其涉及模数转换器(adc)的背景校准。



背景技术:

在许多电子应用中,模数转换器(adc)将模拟输入信号转换为数字输出信号,例如,用于通过数字电子设备进行进一步的数字信号处理或存储。一般而言,adc可以转换表示现实世界现象的模拟电信号,例如光、声音、温度、电磁波或压力,以用于数据处理目的。例如,在测量系统中,传感器进行测量并生成模拟信号。然后,模拟信号将作为输入提供给adc,以产生数字输出信号,以便进一步处理。在另一个例子中,发射器使用电磁波产生模拟信号以在空中传送信息,或者发射器发送模拟信号以通过电缆传送信息。然后将模拟信号作为输入提供给接收器处的adc,以产生数字输出信号,例如,用于由数字电子设备进一步处理。

由于它们在许多应用中的广泛适用性,adc可以在诸如宽带通信系统、音频系统、接收器系统等的地方找到。adc中的设计电路是一项非常重要的任务,因为每个应用可能在性能、功耗、成本和尺寸方面都有不同的需求。adc广泛应用于通信、能源、医疗保健、仪器仪表和测量、电机和电源控制、工业自动化和航空航天/国防。随着需要adc的应用的增长,对快速而准确的转换的需求也在增长。

附图说明

为了更完整地理解本发明及其特征和优点,结合附图参考以下说明,其中相同的附图标记表示相同的部件,其中:

图1示出了根据本公开的一些实施例的示例性流水线adc;

图2示出了根据本公开的一些实施例的示例性时间交织adc。

图3示出了根据本公开的一些实施例的跟踪和保持电路中的抖动注入;

图4示出了根据本公开的一些实施例的在级别的乘法数模转换器(mdac)和(闪存)adc中的抖动注入;

图5显示了闭环共享电容mdac;

图6示出了为简单起见的单端形式的闭环分离电容mdac的示意图;

图7显示了开环共享电容mdac;

图8示出了根据本公开的一些实施例的在mdac和(闪存)adc中的大的(例如,线性化)抖动注入;

图9显示了存在数模转换器(dac)误差时的adc传输特性;

图10显示了理想adc的抖动减法后的传输特性;

图11显示了在第一级中具有dac误差的adc的抖动减法后的传输特性;

图12示出了根据本公开的一些实施例的用于理想adc的dac的不同子范围的抖动减法之后的输出;

图13示出了根据本公开的一些实施例的针对具有第一级中的dac误差的adc的dac的不同子范围的抖动减法之后的输出;

图14显示了mdac的标准化稳定参考值的图表;

图15示出了mdac的重建输出的曲线图;

图16示出了共享电容开环mdac的重建输出中的归一化误差的曲线图;

图17示出了分离电容开环mdac的重建输出中的归一化误差的曲线图。

图18示出了根据本公开的一些实施例的具有背景校准电路的多步骤adc;和

图19是说明根据本发明的一些实施例的用于多步骤adc的背景校准的方法的流程图。

具体实施方式

概述

多步骤模数转换器(adc)通过为后续级数字化生成残差来执行多步骤转换。为了产生残余,多步骤adc中的级将使用前馈数模转换器(dac)重建到级的输入信号。dac中的非线性可直接影响多步骤adc的整体性能。为了降低功耗和模拟电路设计的复杂性,实现了数字背景校准方案以解决非线性问题。校准方案所解决的非线性可包括参考、dac和量化非线性。

多步adc作为高速adc

adc是将模拟信号携带的连续物理量转换为表示数量幅度的数字输出或数字(或携带该数字数字的数字信号)的电子设备。adc可以通过以下应用要求来定义:速度(每秒采样数),功耗,带宽(可以正确转换为数字信号的模拟信号频率范围)及其分辨率(离散电平的数量,最大模拟信号可以分成数字信号并在数字信号中表示)。adc还具有各种规格来量化adc动态性能,包括信噪比和失真比sinad、有效位数enob、信噪比snr、总谐波失真thd、总谐波失真加噪声thd+n、以及无杂散动态范围sfdr。

adc具有许多不同的设计,可根据应用要求和规格进行选择。高速adc通常以每秒千兆样本的速度运行,在通信和仪器仪表等领域尤为重要。输入信号可以具有千兆赫兹范围内的频率,并且adc可能需要在每秒千兆采样的范围内进行采样。该电路不仅必须快速,对于某些应用,电路需要满足某些性能要求,例如snr和sfdr。设计满足速度、性能、面积和功率要求的adc并非易事,因为更快的速度和更高的性能通常以面积和功耗为代价。

一种常用的具有良好分辨率的高速adc设计是多步骤adc。多步骤adc包括流水线adc、流水线逐次逼近寄存器(流水线式sar)adc和子范围adc。多步骤adc的原理操作是adc以多个步骤执行转换。在一系列步骤中,在最高有效位到最低有效位的每个步骤中解析最终数字输出的不同部分或多个位。这些步骤可以由一个或多个级执行。级是流水线的,以实现高速转换。图1示出了根据本公开的一些实施例的示例性流水线adc。在这个例子中,有n级分别执行n个步骤。每个步骤包括粗略地量化输入信号以产生数字输出,通过基于数字输出的(前馈)dac重建输入信号,并通过找到输入信号和重建的输入信号之间的差来获得残差。检查流水线adc的第一级,图1示出了由k1位(闪存)adc102量化或数字化的模拟输入vin,其产生具有k1位的数字输出d1。然后将数字输出d1前馈到k1位dac104,以重建模拟输入vin。dac输出vdac1(重建的模拟输入),可以从中生成残留物。可以通过从vin(由求和节点105执行vin-vdac1图示)中减去重构的模拟输入vdac1来找到残差。具有增益g1(例如,其中g1=2k1-1)的放大器107可以施加到残余物以产生级vo1的输出信号。输出信号可以通过采样和保持电路(未示出),该电路可以采样并保持下一级的信号。dac、求和节点、放大器以及采样和保持电路的功能可以集中在称为乘法dac(mdac)的电路中。然后在下一步骤或级别中以相同或相似的方式再次处理输出信号vo1(即,放大的残余物)。检查流水线adc的第二级可以由k2位(闪存)adc112量化或数字化vo1,其产生具有k2位的数字输出d2。然后将数字输出d2前馈到k2位dac114,以重建放大的残余vo1。dac输出vdac2(重建的模拟输入),可以从中生成第二级的残差。可以通过从放大的残差vo1中减去重构的放大的残差vdac2来找到第二级的残差(由求和节点115执行vo1-vdac2说明)。具有增益g2(例如,其中g2=2k2-1)的放大器117可以施加到第二级的余量,以产生第二级vo2的输出信号。流水线型adc的最后一级,如kn位(闪存)adc130所示,不产生残差,仅执行量化并产生具有kn位的数字输出dn。从步骤产生的各个级d1、d2、…dn的数字输出可以由重建块160组合以产生具有n位的最终数字输出dout。d1可以对应于最终数字输出的一个或多个最高有效位(msb),并且dn可以对应于最终数字输出的一个或多个最低有效位(lsb)。

参考缓冲器和dac对性能的影响

参考缓冲器和dac是多步骤adc中的重要构建模块。参考缓冲器生成电压参考。dac执行适当的切换以基于数字输入生成模拟输出。参考缓冲器代表了一个关键元件,也是整个adc功耗和失真的主要因素。参考缓冲器和dac的精度要求几乎与整个adc的精度要求一样严格。如果整个adc需要12位精度,那么参考缓冲器和dac也需要具有12位精度,因为参考缓冲器和dac直接影响为级产生的残余。

参考缓冲器和dac的不完全稳定会导致难以修复的失真。一些非线性(或失真)可能是由于参考缓冲器中的建立误差、dac稳定误差、dac电容失配、代码相关误差、输入相关误差或adc的任何级别中的非线性误差造成的。这种非理想性可能导致与级的dac子范围的边界处的传输特性中的输入相关和依赖于代码的差分非线性(dnl)和/或积分非线性(inl)跳跃或不连续性。在一些情况下,这些非理想性可以与二阶失真和/或三阶失真组合出现。

对参考缓冲器的这种硬性建立要求可能导致设计能够消耗相对大量的功率并占用大面积。在具有共享电容的闭环mdac中,该问题更严重,其中mdac中的电容也用于对输入信号进行采样。这个问题也存在于开环mdac中。分裂电容(分离帽)mdac架构可用于缓解其中的一些问题,但并不能消除它们。此外,分离式mdac架构在功率、噪声和速度方面具有相当大的成本。在分离帽mdac中建立参考和dac的误差仍然会导致显着的信号相关和依赖于代码的失真。此外,在开环mdac中,分离帽结构具有与共享帽结构类似的非线性。此外,dac电容不匹配会导致需要前景/测试仪校准的代码相关错误。前景校准在与adc的正常操作不同的条件下完成,因此容易受到限制性能的残余误差的影响。基于测试仪的校准会导致较长的测试时间,从而提高产品的全部工厂成本。

由于上述所有以及对dac和参考缓冲器的严格精度要求,因此需要对由dac和参考缓冲器引起的非线性进行背景校准。传统上,在大多数校准算法中都不需要校准dac和参考缓冲器,这些校准算法一直专注于mdac放大器(传统上消耗功率最大的组件)。有些技术可以校准参考缓冲器中的错误,导致级间增益误差,但大多数技术不会校准与输入相关的错误和与代码相关的错误,这可能是由于不完全稳定造成的,通常会导致dnl/inl跳跃超过adc的低阶失真(通常为3阶)。当采用随机混洗时,提出了一种使用级间增益误差(ige)抖动来背景校准dac误差的方法。然而,它需要dac电容的随机混洗(例如,动态元件匹配),这导致噪声降级和采样率的降低以适应所需的随机切换。由于管道中的非理想性,抖动和信号路径之间的不匹配以及输入依赖性,它还具有高数字复杂性和对不准确性和会聚误差的敏感性。

校准dac和参考非线性可以校正dac和参考中与代码相关的和与输入相关的建立误差,提高整体性能,降低参考缓冲器和mdac的功耗,并缩短生产测试时间。它还能够实现dac电容失配误差的背景校准,而不是其他不太理想的校准方法,这可以在前台或测试仪上完成。这里描述的背景技术可以消除有时由前景校准导致的残留误差并减少测试时间。这里描述的技术在背景中对dac和参考非线性都是正确的,并且可以用于校准导致adc的传输特性中的dnl/inl跳跃的任意量化非线性误差。这些技术不同于mdac放大器增益和非线性的校准,这通常表现为级间错误。

抖动注入

这里描述的技术可以使用注入输入的抖动来校准dac并参考非线性误差。这种抖动可以注入adc中以进行线性化(即,在噪声基底中发射和扩散失真杂散)并改善某些校准的性能。该线性化抖动通常被称为“大抖动”,以将其与用于ige或级间存储器错误(ime)校准的校准抖动(在此称为“cal抖动”)区分开。线性化抖动通常在mdac和级的(闪存)adc中注入,不消耗动态范围的任何部分,并在数字域中减去。重要的是要注意,在mdac中注入的cal抖动校准放大器增益误差和非线性不能直接用于校准dac和参考缓冲器的非线性,因为cal抖动仅在保持阶段注入mdac中,因此不会“看到”输入信号遇到的相同传递特性。

返回参考图1,示出了流水线型adc,线性化抖动,例如“线性化抖动-1”和“线性化抖动-2”可以在级的相应输入处注入第一级和第二级。“线性化抖动-1”可用于校准圆108中的电路。“线性化抖动-2”可用于校准圆110中的电路。线性化抖动可以“看到”dac错误,而cal抖动不能。

图2示出了根据本公开的一些实施例的示例性时间交织adc。时间交错的adc具有(单个)跟踪和保持(t/h)电路214,其接收模拟输入,以及8个adc片(如片1,片2,...片8所示),其可以以时间交织的方式转换来自t/h电路214的保持输入。adc切片可以以顺序或随机时间交错的方式操作。可以在adc切片的级-1的mdac和(闪存)adc中注入大型抖动202、大型抖动204和大型抖动206(以图1中所示的线性化抖动所示的方式)。此外,可以在t/h电路214中注入抖动208。抖动208可用于校准t/h电路214之后的每个adc切片的第一级中的参考非线性。抖动208还可用于校准每个adc切片中的其他离散时间非线性源。因此,可以使用大抖动202、大抖动204、大抖动206和抖动208来校准adc切片的级-1的dac和参考缓冲器非线性。

图3示出了根据本公开的一些实施例的t/h电路300中的抖动注入。t/h电路300可以表示图中所示的t/h电路214的一种可能的实现方式。根据本公开的一些实施例,t/h电路300具有两个缓冲器,缓冲器-1302和缓冲器-2306以及两个缓冲器之间的开关电容器网络304。可以在开关电容器网络304中注入抖动。这种抖动可以用于这里描述的校准方案,以解决多步骤adc的第一级的dac和参考非线性。缓冲器-1302(“采样缓冲器”)接收(电压)输入vin,并缓冲输入。可以在开关电容器网络304(“采样网络”)上对缓冲的输入进行采样。例如,开关电容器网络304可以使用合适的开关将缓冲的输入采样到电容器上。缓冲器-2306(“保持缓冲器”)可以缓冲采样的输入并将保持的信号vs-h提供给adc(图3中未示出)。可以使用电容器在开关电容器网络中注入抖动。

图4示出了根据本公开的一些实施例的mdac和级的(闪存)adc中的抖动注入。具体地,图4示出了具有(闪存)adc402和前馈dac404的级400,并且在mdac和闪速adc中都注入了大的抖动。伪数(pn)生成器410可以提供要注入的数字抖动码,例如伪随机码。可以通过抖动dac1412基于数字抖动码生成模拟抖动并将其注入(闪存)adc402。如图所示,抖动dac1412通过求和节点414将模拟抖动注入到adc402的输入处的输入信号,并且在adc402量化信号之前将模拟抖动添加到输入信号。模拟抖动可用于校准参考缓冲器和该级的dac404中的非线性。可以由抖动dac2414基于数字抖动码生成另一个模拟抖动并将其注入mdac中(例如,在求和节点416处生成该级的余数)。该抖动仅用于在本底噪声中抖动(扩散)残留误差。对于这里描述的校准,用于抖动的相同的抖动可以用于校准非线性,并且不需要额外的抖动。

当在adc402的输入处添加模拟抖动并将其添加到mdac中时,添加的抖动就好像它是在级的输入处注入的一样。该抖动将“看到”该级的参考缓冲器和dac404中的非线性。

在实践中,校准将仅需要该预先存在的“大”抖动的一个级别(如果“大”抖动是多级抖动)以暴露dac和正被校准的参考非线性。

为了说明如何实现抖动注入,图5-7示出了mdac的各种实现。如前所述,mdac表示在多步骤adc的级中执行功能集合的电路。mdac的一部分是dac,在图示中,dac是一个带有8个电容的3位容性dac。

图5示出了实现为差分电路的闭环共享电容mdac500。mdac500使用共享电容(mdac中的电容也用于对输入信号进行采样)并具有闭环放大器。图6示出了为简单起见的单端形式的闭环分离帽mdac600的示意图。图7示出了开环mdac共享电容mdac700。

为了实现如先前在图4中所示的抖动注入,图8示出了根据一些实施例的在开环mdac800和(闪存)adc802(显示为“子adc”)中的大(例如,线性化)抖动注入。使用标记为cd_dither的电容器806将vd_dither注入mdac800,其中电容器806与ci电容812并联。vd_dither可以源自pn发生器和抖动dac(例如,图2的pn发生器410和抖动dac2414)。在阶段φ2期间,cd_dither可以基于节点808处的信号vd_dither注入抖动(例如,保持在虚拟地的运算放大器810的反相输入)。vd_dither_flash注入(闪存)adc802中,通过在adc802的输入端使用求和节点804增加vd_dither_flash到vin。vd_dither_flash可以源自pn发生器和抖动dac(例如,图2的pn发生器410和抖动dac1412)。

如果在mdac和闪存中都注入了抖动,就好像在该级的输入处注入了抖动。因此,它可用于校准级本身的dac和参考缓冲器错误。如果仅在mdac中注入了抖动,则可以使用它来校准以下级的dac错误。

该公开设想,图8中所见的用于大型抖动注入的技术也可以应用于图5-7。

对于图5,可以将第一电容器并联地添加到差分电路的正侧中的ci电容502,并且可以将第二电容器并联地添加到差分电路的负侧中的ci电容504。第一电容器可以基于差分电路的正侧vd_dither注入抖动,并且第二电容器可以基于差分电路的负侧vd_dither_bar注入抖动。vd_dither_bar与vd_dither互补/反向。例如,如果vd_dither=+vref,那么vd_dither_bar=-vref。如果需要,vd_dither_flash通过在adc的输入端使用求和节点将vd_dither_flash添加到vin同样可以注入级的(闪光)adc(未示出)。

对于图6,可以将电容器并联地添加到ci电容602。电容器可以基于vd_dither注入抖动。如果需要,vd_dither_flash通过在adc的输入端使用求和节点将vd_dither_flash添加到vin同样可以注入级的(闪光)adc(未示出)。

对于图7,可以将第一电容器并联地添加到差分电路的正侧中的ci电容702,并且可以将第二电容器并联地添加到差分电路的负侧中的ci电容704。第一电容器可以基于差分电路的正侧vd_dither注入抖动,并且第二电容器可以基于差分电路的负侧vd_dither_bar注入抖动。vd_dither_bar与vd_dither互补/反向。例如,如果vd_dither=+vref,那么vd_dither_bar=-vref。如果需要,vd_dither_flash通过在adc的输入端使用求和节点将vd_dither_flash添加到vin同样可以注入级的(闪光)adc(未示出)。

除了mdac和闪存中的注入抖动之外,在输入或先前级上注入的抖动也可以用于本文所述的校准方案。例如,仅在级别-1中注入mdac的抖动可能无法有效地校正级别-1的dac/参考误差,它可用于检测级别-2中的dac/参考误差。

为了校准dac/参考误差,可以使用三种抖动选择:在mdac中注入抖动和一级闪存,仅在前一级中在mdac中注入抖动,并在级之前的t/h电路中注入抖动。

校准dac非线性误差

dac错误可能由代码相关的参考稳定误差、代码相关(闪存)adc传播延迟、dac电容不匹配等引起。dac中的任何非线性都在输出残差处出现。因此,dac和基准的精度要求与整个adc的精度一样严格。以下讨论集中在多步骤adc的第一级中的这些错误。扩展示例以解决多步骤adc的其他后续级中的错误是可能的,其细节将在本公开中稍后讨论。

图9显示了存在dac误差时的adc传输特性。所提到的错误可能导致传递特性的跳跃,其中子范围相对于彼此错位。子范围是dac的范围(划分dac的整个范围),子范围对应于dac的不同输入代码。这些误差也以与代码相关的方式表现在adc的输出端,这使得提取起来更加困难。根据(闪存)adc生成的代码,dac中的错误可能不同。这些误差在子范围内不均匀或不规则,并且可以从一个子范围变化到另一个子范围(例如,上下移动传递特性)。结果,adc的传输特性是不规则的。理想地,传递特性是直线。

不幸的是,大型抖动并没有有效地解决这些dac错误。对于某些固定错误,可以使用一些方案来纠正前台或测试人员的错误。但是,对于依赖于代码的dac错误,前景方案可能不够,因为dac错误可能对输入分布敏感。随着放大器功率显着降低(例如,使用更简单或开环放大器),dac误差可能变得更加显着。这些误差也可能因样本范围、温度等条件而异。最好在后台提取dac误差。

为了背景校准这些错误,(现有的)大型抖动可用于暴露这些错误,其中可以暴露错误而不依赖于输入分布。例如,大的抖动可以对应于在多步骤adc的第一级之前的t/h电路中注入的抖动。在另一个例子中,大的抖动可以对应于在闪速adc的输入端和mdac中注入的抖动,如图4和8所示。通过在模拟侧添加+vd_ld或-vd_ld(其中vd_lg是抖动的标称值,例如,等于一位),然后在数字侧减去该抖动的估计,得到的数字信号(在减去抖动估计之后)可以有效地暴露dnl/inl跳跃。当提取多步骤adc的第一级的错误时,第一级的输入信号是计算中感兴趣的信号。此外,在第一级之前的t/h电路中注入的抖动,或者在闪速adc和mdac之前注入的抖动可以用作可以暴露第一级错误的抖动信号。由于误差提取方案发生在数字域中,因此在计算中使用到第一级的输入信号的样本。由于多步骤adc将输入信号数字化为第一级以产生最终数字输出信号(例如,图1的dout),因此可以容易地获得到第一级的输入信号的样本,其中最终的数字输出信号是从多步骤adc的所有级的输出重建的。下面的段落,描述了第一级的校准,是指“信号”,“输出”,“输出信号”,“adc的输出”或者vout[n],它们都对应于第一级输入信号的样本(即感兴趣的信号)。“抖动”或“线性化抖动”对应于可用于暴露第一级错误的抖动。

添加抖动和dnl/inl跳跃可以使信号经历不同的传输特性,这取决于抖动是正还是负,因为抖动可以使信号穿过(或不交叉)跳跃,具体取决于抖动的极性。换句话说,校准方案观察线性化抖动发生的情况,因为抖动经历了传递特性。抖动在+vd_lg或-vd_lg之间随机移动。当抖动为正时,信号移动到一个子范围。当抖动为负时,数字输出信号移动到另一个子范围。结果,抖动强制信号跨越子范围之间的跳跃。当有跳跃时,信号的差异取决于抖动。如果没有跳跃,则正或负的抖动不会对信号产生影响。由于已知抖动值,因此可以在后台收集信息并确定是否有跳跃。如果有跳跃,则校准方案可以最小化跳跃。

为了说明,图10和11分别示出了对于理想adc和具有第一级中的dac误差的adc的抖动减法之后的传递特性。x轴显示adc的输入,y轴显示adc的输出,删除了抖动(“output-dith”)。具有抖动信号为正(+dith)的adc输出样本的数据显示为细线,并且具有抖动信号为负(-dith)的样本的数据显示为粗线。对于理想的adc,无论抖动极性如何,adc的输出都是相同的,如图10所示。对于具有dac误差的adc,adc的输出根据抖动信号为正(+dith)或负(-dith)而不同,如图11所示。图11中的+dith和-dith的两个图不像它们在图10中那样排列。

为了检测adc的第一级的这些差异,或者测量跳跃,可以使用在级中注入的大型抖动或在t/h电路中注入的输入抖动来使用直方图/计数。由于dac误差,抖动的存在有助于暴露adc的第一级中的非线性,其中可以观察到当抖动为正时的情况与当抖动为负的情况之间的传递特性的差异。传输特性的这种差异导致在相同输出(代码)处的计数(或另一种合适的测量)的差异并且与输入信号分布无关。对于两个抖动极性的两个相邻子范围之间的相同输出(代码)处的计数差异作为两个子范围之间的跳跃的度量,自适应算法可以通过迭代地减少计数差异来最小化跳跃。

与一些二次谐波(hd2)和三次谐波(hd3)校准不同,背景校准方案选择检查点。两个抖动极性之间的比较,例如计数的差异,在检查点进行。找到检查点的挑战是输入未知。只有adc的输出和抖动是已知的。选择具有特定要求的检查点以确保可以正确提取dac错误。在输出值处选择检查点,其中对于相同的输出(代码)执行两个不同的和相邻的闪存代码(即,子范围),并且在减去抖动的估计之后对两个抖动极性进行操作。

在找到检查点时考虑的一个考虑因素是找到重叠。该方案寻找这种情况,对于相同的输出减去抖动估计,其中两个闪存代码是不同的。换句话说,“输出”在两种情况下都是相同的(即,对于正抖动和负抖动),但是使用两个不同的闪存代码获得相同的输出。如果dac有错误,则在检查点处将出现可测量的跳跃或两个抖动极性之间的差异。如果dac没有错误,检查点不会出现可测量的跳跃或差异。在所示的示例中,dac是3位dac,因此有9个代码。对于3位dac,将在每对相邻子范围或闪存代码之间定义8个检查点。

例如,第一检查点vinsp1旨在测量第一和第二子范围之间的跳跃(子范围:1和子范围:2)。因此,第一检查点vinsp1需要越过级的前两个子范围,这样:

vout[n]是输出(即,adc数字输出表示adc的第一级输入的样本),g是可以使用合适的增益估计方法独立获得的大抖动的增益估计,并且vd_lg是大抖动的理想幅度。因此gvd_lg[n]是一个抖动估计。也就是说,第一检查点vinsp1可以是位于上面给出的两组的交叉点处的任何输出点(或代码)。第一组是输出集合,当抖动为负且当dac处于第一子范围(闪存代码=子范围:1)时,减去抖动估计。第二组是输出集合,当抖动为正时以及当第一级的dac处于第二子范围(闪码=子范围:2)时,减去抖动估计。

如果这两组之间没有交叉点,则可以选择检查点作为第二组中的最小点,或第一组中的最大点。那是:

同样,为了检测子范围:2和子范围:3之间的跳转,第二检查点vinsp2需要越过子范围:2和子范围:3,这样:

第k检查点vinspk可以确定如下:

这些检查点的选择由算法使用级-1闪存代码(对应于“子范围”)和adc的输出(代码)在减去抖动估计(对应于“输出-密度”)之后执行。因此,检查点基于到第一级的输入信号的样本(即,adc的输出)、抖动极性(vd_lg<0或vd_lg>0)以及第一级(子范围)的输出代码(即,adc输入)来确定。

表示dac跳跃的误差在不同的检查点计算,如下所示。例如,表示第一检查点跳转的错误ε(vinsp1)可以定义如下:

是幅度x的所有点的累积计数小于或等于vinsp1,满足y中列出的条件。因此,是所有点的累积计数(或数量),其中当抖动为正vd_lg>0,减去抖动估计的输出vout[n]-gvd_lg[n]小于或等于第一检查点vinsp1。是所有点的累积计数(或数量),其中当抖动为负vd_lg<0,减去抖动估计的输出vout[n]-gvd_lg[n]小于或等于第一检查点vinsp1。该误差在检查点处找到两个抖动极性的累积计数的差异,即,误差将输出的样本/点的计数与在两个抖动极性之间减去直到检查点的抖动估计进行比较。

子范围的移位(例如,用于校正子范围中的误差或最小化子范围之间的跳跃的移位)由校正参数∝sub1定义,其正迭代地收敛到正确的值(例如,具有最小均方(lms)更新方程),该值消除从最左边的子范围开始的跳转,这样:

∝sub1(n+1)=∝sub1(n)+μ×ε(vinsp1)(6)

类似地,对于第二检查点vinsp2处的第二和第三子范围之间的跳转:

校正参数由下式给出:

∝sub2(n+1)=∝sub2(n)+μ×ε(vinsp2)(8)

使用(校正的)adc输出(表示第一级输入的数字输出)上的代码相关移位执行dac校正,这样:

k是级的子范围数。该操作(fl=subi)是逻辑操作,如果闪存代码指示第i个子范围则返回1,否则返回0。该等式基于级(或子范围)的输出代码选择校正参数,并将所选择的校正参数应用于adc的输出(即,表示到第一级的输入信号的数字输出)。校准输出如上所述在等式(1)至(7)中作为vout[n]使用,以重新计算检查点和误差。

回头参考上面的等式(5)和(7),不需要对开放间隔进行计数,并且只要间隔包括dac跳跃,闭合间隔也可以起作用。可以有多种方法来计算将暴露这些跳跃的样本。

在另一个实施例中,可以使用幅度和相关而不是计数来检测跳跃(不连续)。在这种情况下,该方案可以如上所述定位检查点,例如,在等式(1)至(4)中,然后该方案对检查点下面的点应用相关方程如下:

对于vout[n]-gvd_lg[n]<vinsp1,误差可以通过相关获得,校正参数可以通过lms方程更新:

换句话说,第一检查点的错误ε(vinsp1)定义为其是抖动值vd_ld的相关性,并且将具有抖动估计的输出的样本/点在第一检查点vinsp1以下减去vout[n]-gvd_lg[n]。可以基于可以访问两个数据集的相似性的合适的统计相关方法来执行相关,并且输出相似度作为相关系数。因此,相关的结果可以是用于在检查点处比较两个抖动极性的度量。

对于vout[n]-gvd_lg[n]<vinsp2:

使用(校正的)adc输出(即,表示到第一级的输入信号的数字输出)上的代码相关的移位(校正取决于代码,或者校正参数是根据第一级的输出代码选择的)执行dac校正,使得:

上面在等式(10)到(11)中描述的相关方法在计算上比在等式(5)到(8)中描述的计数技术更昂贵。但是,这两种方法都可用于检测由dac错误引起的子范围之间的跳转。通常,计数方法是优选的,因为它实现的计算成本较低并且可以节省功耗。

图12示出了根据本公开的一些实施例的用于理想adc的dac的不同子范围的抖动减法之后的输出(即,表示到第一级的输入信号的数字输出,因此adc的最终数字输出)。图13显示了根据本公开的一些实施例对于具有第一级dac误差的adc的dac的不同子范围的抖动减法后的输出(即,表示到第一级的输入信号的数字输出,因此adc的最终数字输出)。x轴显示子范围或闪存代码(“子范围”),y轴显示减去了抖动估计的输出(“output-dith”)。具有正动(+dith)的抖动信号的样本的数据显示为细线,并且具有抖动信号为负的样本的数据(-dith)显示为粗线。示例性检查点在图上以虚线绘制,并且在实践中,可以在值的范围内选择检查点。可以使用抖动、闪存代码(“子范围”或级别的输出代码)和输出值(表示输入信号到级别的数字输出)获得检查点,然后减去抖动估计值(“output-dith”),基于本文所述的配方。附图有助于说明可以选择检查点的区域。区域被定义为输出值的范围,其中减去了抖动估计,其中抖动导致了子范围的交叉。通过检查粗线(表示当抖动为负时的output-dith样本,或者数学上说,与两条相邻子范围相对于y轴垂直的细线(表示当抖动为正时output-dith的样本,或数学上说,“重叠”的位置(例如,如在等式(4)中看到的两组的交集所定义的),可以在重叠区域中选择检查点。在没有dac错误的情况下,每个检查点的计数(即,在检查点定义的区间内的样本计数)对于两个抖动值是相同的。当存在dac错误时,每个检查点的计数(即,在检查点定义的区间内的样本计数)对于两个抖动值都不相同。

因为校准可以移动子范围并且增益估计g可以变化,所以检查点的选择被连续更新以响应由于dac误差的校准引起的子范围的任何变化,或者并行执行的任何其他校准。例如,可以与该dac校准并行地执行增益误差的校准,以校正抖动遇到的增益误差。可以通过使用抖动样本vd_lg将adc输出与减去的抖动估计vout[n]-g[n]vd_lg[n](而不是级-1残差)相关联来校准大抖动的增益。可以基于以下更新等式基于相关性更新增益估计g[n]:

g[n+1]=g[n]+μ×vd_lg*(vout[n]-g[n]vd_lg[n])(13)

该增益用于适当地减去所注入的抖动(即,适当地形成抖动估计),并校准adc的总增益。对增益估计的增益估计或改变将改变检查点,即子范围边界。因此,检查点可能需要连续更新,或根据需要更新。在某些情况下,校准可以从第一子范围开始,并且顺序地朝向第k个子范围移动。随着子范围的调整,检查点也必须进行调整。

校准参考错误

参考错误是由参考缓冲区的不完全建立引起的。错误也可以依赖于代码和输入。这些错误发生在开环和闭环mdac中,具有共享和分离电容。

图14示出了使用10欧姆参考电阻、400毫微微法拉(ff)mdac电容和10皮秒(ps)建立时间的mdac在y轴上的归一化稳定参考值(以伏特为单位)的曲线图。该图表示在闭环操作期间,当放大器处于建立的小信号区域时所绘制的电荷。

在图15中可以看到非理想参考的影响,图15示出了mdac的重建输出的曲线图。重建输出的幅度具有inl跳跃和依赖于输入的hd3形状(奇对称)。从图中可以看出,参考误差可能导致子范围之间的跳跃,类似于前一节中描述的dac误差。然而,误差也可以依赖于输入,导致整体三阶失真,如图15所示。

图16示出了共享电容开环mdac(10欧姆参考电阻,400ffmdac电容和10ps建立时间)的重建输出中的归一化误差的曲线图。存在跳跃和依赖于输入的形状。

图17示出了分离电容开环mdac(10欧姆参考电阻,400ffmdac电容和10ps建立时间)的重建输出中的归一化误差的曲线图。移除增益误差项以暴露非线性项。存在跳跃和依赖于输入的形状。

有利地,可以通过将前一部分中描述的dac校准与使用相同的抖动信号的hd2/hd3校准组合来校准参考误差。与前一节类似,为了校准第一级中的参考误差,用于校准的抖动信号(即大抖动或线性化抖动)可以注入前端t/h电路,或者它可以注入第一级的mdac和闪存adc中,如上所述。在mdac(仅)中注入校准放大器增益误差和非线性的校准抖动不能直接用于校准参考缓冲器的非线性,因为仅在保持阶段将抖动注入mdac,因此不会“看到”输入信号所看到的相同传输特性。

该抖动可以与直方图和/或相关分析一起使用,以提取和最小化inl跳跃,如上一节所述。另外,也可以校准包括来自参考缓冲器的贡献的二阶、三阶或五阶非线性。同样类似于前一部分,大的抖动增益g被用作参考误差的校准过程的一部分,因此可能需要估计和校准增益误差(例如,基于等式(13))。

为了检测跳跃,校准方案利用前一节中描述的方法,例如,如果使用计数则如前所述的等式(1)至(9),或如果使用相关性则如等式(1)至(4)和(10)至(12)。除了估计跳跃之外,校准方案还估计输出传输特性的整体形状,其可以与hd2/hd3组件相关联。可以通过使用直方图(计数)或相关性估计抖动增益项的变化来完成该估计。

使用直方图方法,确定/选择两个对称检查点:第一检查点vinsp和第二检查点-vinsp。对称检查点围绕输入范围的中点对称(即,adc的输出值范围或输入信号到第一级的样本)。选择检查点以暴露非线性(即形状),并确保在检查点设定的范围内有足够数量的样本来暴露这种非线性。在一个示例中,假设形状在大约一半范围内对称,则可以选择大约1/4和3/4范围的第一和第二检查点。在某些情况下,第一和第二检查点可以是范围的1/8和7/8。还可以基于该方法试图暴露的失真的顺序来选择检查点。可以选择两个对称检查点来暴露三阶谐波hd3。例如,两个对称检查点可以对应于前一节中描述的方案中的vinsp3和–vinsp3。可以选择另外两个对称检查点来暴露五阶谐波hd5。例如,另外两个对称点可以对应于前一节中描述的方案中的vinsp5和–vinsp5。检查点的确切幅度并不重要,但应选择检查点以暴露谐波,即要检测的形状。例如,由于二阶失真导致中心点周围出现对称误差,而三阶失真导致奇数对称,因此用于检测和校正hd2和hd3的检查点可以是+/-vinsp,其中vinsp是任意值。对于更高阶的失真(例如第五或第七),检查点需要处于相对大的幅度以暴露由更高阶失真引起的严重压缩。用于暴露高阶失真的检查点的幅度将大于用于暴露低阶失真的检查点的幅度。大检查点在检测非线性方面可能更有效,但可能具有较少的命中。检查点也可以是固定的或改变的(随机的或确定的)以适应不同的输入条件。随机改变检查点可以避免量化效应。检查点也可以适应不断变化的输入信号电平。多个检查点也可用于改善收敛时间和/或提高检测效率。

检查点的错误可以定义为:

是检查点之上vinsp的累积点数vinsp,是检查点以下-vinsp的累积点数。第一检查点ε(vinsp)的错误是当抖动为负时在检查点vinsp之上删除了抖动估计vout[n]-gvd_ld[n]的输出样本数和当抖动为正时在检查点之上删除了抖动估计vout[n]-gvd_lg[n]的输出样本数之间的差异。第二检查点ε(-vinsp)的错误是当抖动为负时在第二检查点-vinsp之下删除了抖动估计vout[n]-gvd_lg[n]的输出样本数和当抖动为正时在第二检查点-vinsp之下删除了抖动估计vout[n]-gvd_lg[n]的输出样本数之间的差异。

二阶误差项εhd2和三阶误差项εhd3,暴露与这些误差相关的特征形状,可以定义为:

εhd2=ε(vinsp)+ε(-vinsp)(16)

εhd3=ε(vinsp)-ε(-vinsp)(17)

基于来自等式(14)和(15)的公式。误差项评估传递特性的形状。通过适当地配置误差并使误差最小化,可以将传递特性的形状“均衡”为期望的形状。等式(16)的二阶误差项εhd2表现为偶数阶对称性,由第一检查点ε(vinsp)处的误差和第二检查点ε(-vinsp)处的误差之和表示。等式(17)的三阶误差项εhd3,其表现为奇数阶对称性,由第一检查点ε(vinsp)处的误差与第二检查点ε(-vinsp)处的误差的差表示。

二阶和三阶非线性的参数∝2和∝3分别通过以下方式更新:

∝2(n+1)=∝2(n)+μ2×εhd2(18)

∝3(n+1)=∝3(n)+μ3×εhd3(19)

μ2和μ3分别是二阶和三阶收敛的lms步长。

对于hd2和hd3校正,校正参数可以应用于(校正的)adc输出vout,如下所示:

例如,使用乘法器形成adc输出的更高(例如,不是一阶,但是二阶或更高)阶数项,例如此外,在某些情况下,也形成了对应于高阶项的校正参数,也使用乘数。在将adc输出项与相应的校正参数相乘之后,将结果相加以形成最终校正的adc输出。这是在会聚循环内和校正后的输出上完成的。(校正的)adc输出插回到等式(14)和(15)中。可以包括等式(20)中的高阶项(例如),以校正对输出应用校正的效果(而不是输入,因为校准系统不能直接访问输入)。将校正应用于输出(非线性)会导致校正本身生成可能需要取消的高阶项。

或者,可以使用相关方法获得hd2和hd3项(或其他项)。第一和第二检查点的基于相关的错误术语ε(vinsp)和ε(-vinsp)可以表述如下:

第一检查点ε(vinsp)处的错误将抖动样本vd_lg关联起来,并且以具有高于第一检查点vinsp的vout[n]-gvd_lg[n]样本的条件减去vout[n]-gvd_lg[n]具有抖动估计的输出样本。第二检查点ε(-vinsp)处的错误将抖动样本vd_lg关联起来,并且以具有低于第二检查点-vinsp的vout[n]-gvd_lg[n]样本的条件减去vout[n]-gvd_lg[n]具有抖动估计的输出样本。然后可以将等式(21)和(22)的结果插入等式(16)至(19)中以估计hd2和hd3误差项并更新二阶和三阶非线性的校正参数。

在其他抖动上校准参考错误

一旦参考显示错误,其效果可能不限于输入信号。其他信号,例如线性化抖动(例如大抖动)和校准抖动(例如,图1中的cal抖动-1和cal抖动-2)如果使用相同的参考则将遭受错误。上述技术可以校正参考误差对输入信号的影响,但不会影响“其他”抖动信号。以下是在“其他”抖动信号中纠正这些错误的两种方法。如果未校正抖动参考误差,则可能会对dac/参考误差校准方案产生负面影响。

在一种方法中,可以使用提取“跳跃”的参考校准信息来校准抖动信号中的误差,以基于所使用的子范围来缩放其他抖动信号的参考。该方法可以提取抖动的参考误差(基于参考校准信息)并且基于抖动的参考误差适当地应用校正。当其他抖动信号使用与dac相同的参考时,该技术起作用,使得dac中的参考误差与抖动信号中的参考误差之间存在对应关系。换句话说,通过各种校准获得的抖动增益值通过从参考校准算法获得的“正确”或对应的参考误差值来缩放。

在另一种方法中,用于不同子范围的不同“桶”用于所讨论的“其他”抖动的收敛。这样,通过子范围相关校准,抖动收敛被迫收敛到每个子范围的正确参考值。可以通过不同子范围的分箱来获得子范围依赖的抖动增益值。该方法分别为子范围定义了抖动参考错误(即,分箱)并且随着时间的推移驱动了较小的抖动参考错误。适当的lms方程可用于迭代地更新子范围相关的增益参数gsubi并减少给定的抖动参考误差。更新子范围相关增益参数gsubi以减少抖动的参考误差。用于更新子范围相关增益参数gsubi的一个示例性lms等式如下:

gsubi是子范围-i的子范围相关增益参数。“其他”抖动可以参考大抖动的较低位,以及其他抖动,例如“cal抖动”。针对给定子范围-i中的信号计算lms方程。换句话说,等式23是lms更新等式,其可以将子范围相关增益参数gsubi驱动到减小给定的抖动参考误差的适当值。换一种说法,在情况下,lms更新方程驱动抖动参考误差,随着子范围相关增益参数gsubi收敛到适当值,则更小。

另一示例性lms更新等式具有基于“其他”抖动的符号和符号来定义抖动参考误差:

使用上述两个lms方程(方程式23和24)中的任何一个可以校正参考误差对“其他”抖动信号的影响,除了校正输入信号的参考误差之外,还可以存在于级中的抖动参考信号。

将技术扩展到其他场景和级

本文描述的技术可用于校准其自身表示为dnl/inl跳跃的其他量化非线性误差。校准技术可以利用输入的添加剂抖动,以及算法无缝地定位跳跃位于背景中的位置的方法,如上所述。在多步骤adc中,跳跃通常位于量化级的子范围的边界(即,闪光/sar阈值)。如上所述,使用那些位和抖动,算法可以有效地定位、检测和纠正这些错误。下面描述如何扩展算法的示例。

在一些实施例中,可以使用线性化(大)抖动来校正ige误差。线性化(大)抖动可用于ige校准,无需添加额外的ige校准抖动。这里描述的dac/参考误差校准技术可用于校正级间增益误差(ige)。ige会导致看起来像锯齿图案的inl跳跃。这可以被认为是dac错误的特殊情况,其中所有跳跃都相等(而不是不同)。这里描述的所提出的技术可以定位跳跃并移动子对齐以进行对齐。在这种情况下,dac/参考校准方案将对齐所有段,因此,摆脱跳跃。整个adc的剩余总增益误差可通过作为dac/ref校准一部分的增益校正进行校正。具体地,等式(13)中描述的总增益校准调整总增益以校正所得的增益误差。不是仅仅在mdac中注入抖动来纠正它,而是可以使用dac/参考误差校准技术(例如,在mdac和闪存中都注入了抖动)来校正ige。

前面的段落侧重于提取和纠正第一级中的dac和参考错误。该技术可以扩展到在多步骤adc的后续/后端级中提取和校正dac和参考误差。对于后端级,可以以本文描述的方式完成dnl/inl跳跃位置和幅度的估计。但是,所使用的子范围(或输出代码)是被校准级的子范围。可以在adc的输入端和正在校准的级的mdac中注入抖动。可以在前一级的mdac中注入抖动。感兴趣的信号是被校准级的输入信号(即来自前一级的残差)。当在数字域中操作时,使用到级的输入信号的样本。被校准级的输入信号的样本将是被校准级的输出代码与一个或多个后续级的输出代码的加权版本的组合。例如,如果跳跃是由于级-2中的错误(例如,第一级之后的第二级)引起的,则子范围将由flash-2位决定(即,级-2中(闪存)adc的输出代码),并且可以选择检查点作为抖动引起级-2子范围边界的交叉的点。输入信号到级-2的样本将是后续级的数字输出的flash-2比特和加权版本的组合。此外,可以以这样的方式添加抖动,使得可以通过级-2“看到”dac和参考错误。

图18示出了根据本公开的一些实施例的具有背景校准电路的多步骤adc。可以一次一级地执行校准,每个校准使用适当的信号来校准给定级。如果正在校准多于一级,则校准优选地从后端级开始并向前移向第一级。例如,如果多步骤adc具有五级(级-1,级-2,级-3,级-4和级-5),并且正在校准前三个级,整体校准算法将从级-3、级-2和级-1的校准开始。没有必要校准多步骤adc的所有级。一般而言,后端级错误不如前端级错误重要,因此后端级可能不需要校准。

为简单起见,该图说明了如何针对第一级(例如,级-1)和第二级(例如,级-2)提取和校准dac和参考误差。示例性多步骤adc具有可选的t/h电路1850,其接收模拟输入vin,并输出保持信号vin_th。可以在t/h电路1850中注入抖动vd_dither_th。多步骤adc的第一级(例如,级-1)包括k1位adc1852和具有增益g1的mdac1854。k1位adc1852产生具有k1位的输出代码(例如,闪存位)d1。第一级的输出代码d1可以对应于多步骤adc的最终输出dout_cal的msb。mdac-11854基于vin_th或(vin,如果不包括t/h电路1805)和来自k1位adc1852的输出代码d1,为以下级产生放大的残余vo1。可以使用求和节点1856在k1位adc1852的输入处注入抖动vd_dither_flash1,并且还可以在mdac-11854中注入抖动vd_dither_1(例如,由图4和8示出)。多步骤adc的第二级(例如,级-2)包括k2位adc1862和具有增益g2的mdac-21864。k2位adc1862产生具有k2位的输出代码(例如,闪存位)d2。第二级的输出代码d2可以对应于多步骤adc的最终输出dout_cal的中间有效位。mdac-21864基于vo1和来自k1位adc1852的输出代码d2为后续级产生放大的余数vo2。可以使用求和节点1866在k2位adc1862的输入处注入抖动vd_dither_flash2,并且还可以在mdac1864中注入抖动vd_dither_2(例如,由图4和8示出)。多步骤adc的最后一级(例如,级-n)具有kn位adc1874,以产生具有kn位的输出代码(例如,闪存位)dn。第二级的输出代码dn可以对应于多步骤adc的最终输出dout_cal的lsb。

来自级别d1、d2、......dn的各种输出代码可以被提供给数字处理块1800,用于重建、错误提取和校正。数字处理块1800可以包括重建和校正块1802以及错误提取块1804。数字处理块1800可以在数字电路中实现,例如数字逻辑和/或在指令上操作的微处理器,以执行这里的功能。来自级别d1、d2、......dn的输出代码可以被提供给重建和校正1802。

根据被校准的级,使用适当的信号来提取误差。使用被校准级的输入信号样本和可以“看到”错误的抖动信号。使用被校准级的输出代码和在当前级之后的级校准的输入信号样本的构造可以在重建和校正块1802中执行。当重建信号时,对应于级的增益用于组合来自级的输出代码。在一些情况下,估计各级的增益(例如,使用本文描述的方案)。此外,所使用的样本是基于用于闭环校准方案的校正数字输出构建的。

为了执行dac误差和第二级的参考误差的校准,感兴趣的信号是到第二级的输入信号(例如,vo1)。当在数字域中操作时,到第二级的输入信号的样本(来自第一级的残差的样本)用于误差提取,即,d[vo1]=d[vo2]+d2。给定样本d[vo1]是第二级d2输出代码和第二级残余样本d[vo2]的组合。第二级残余样本d[vo2]是第三级的所有输出代码的组合,具有适当的权重(即,基于各级的增益)。总共五级,d[vo2](d5.g4+d4).g3+d3。可以“看到”第二级错误的抖动可以包括在mdac-11854中注入的抖动vd_dither_1。可以“看到”第二级错误的另一个抖动可以包括vd_dither_flash2和vd_dither_2。抖动移除块1806可以从给定样本d[vo1]中移除抖动。当移除抖动时,使用对抖动的估计。检查点选择器1808可以选择检查点(例如vinsp),其可以暴露第一级中的错误。计数器1810,用作基于取消了抖动的样本和抖动的极性来测量检查点处的错误的电路,可以用于计数落入由检查点设置的间隔内的样本(例如,基于本文描述的技术)。如果不使用计数方案,则计数器1810可以由相关器代替以实现相关方案。检查点处的测量误差(例如ε(vinsp))可用于通过参数计算器1812计算误差参数(例如α),其可用于将校正应用于第二级。

为了执行dac误差和第一级的参考误差的校准,感兴趣的信号是到第一级的输入信号(例如,vin_th或者(vin,如果不包括t/h电路1805)。当在数字域中操作时,第一级输入信号的样本用于误差提取,即d[vin_th]=d[vo1]+d1。给定样本d[vin_th]是第一级d1输出代码和第一级残差样本d[vo1]的组合。第一级残差的样本d[vo1]是第二级的所有输出代码的组合,具有适当的权重(即,基于各级的增益)。总共五级,d[vo1]=((d5.g4+d4).g3+d3).g2+d1。可以“看到”第一级错误的抖动可以包括在t/h电路1850中注入的抖动vd_dither_th。可以“看到”第一级错误的另一个抖动可以包括vd_dither_flash1和vd_dither_1。抖动移除块1816可以从给定样本d[vin_th]中移除抖动。当移除抖动时,使用对抖动的估计。检查点选择器1818可以选择检查点(例如vinsp),其可以暴露第一级中的错误。计数器1820,用作基于取消了抖动的样本和抖动的极性来测量检查点处的错误的电路,可以用于计数落入由检查点设置的间隔内的样本(例如,基于本文描述的技术)。如果不使用计数方案,则计数器1820可以由相关器代替以实现相关方案。检查点处的测量误差(例如ε(vinsp))可用于通过参数计算器1822计算误差参数(例如α),其可用于将校正应用于第二级。

实施例

这里描述的各种技术校准由多步骤adc中的dac和参考缓冲器引起的非线性,例如流水线、流水线sar和子范围adc。这种非线性通常是由参考缓冲器中的不完全建立引起的,这导致dnl/inl跳变和参考/dac中的hd2模式以及adc输出中的hd3。它还可能由代码相关的dac错误引起,这是由于不完整的建立和电容不匹配导致inl波动和高次谐波。这些技术依赖于使用适当注入的抖动和非线性校准算法来检测和校正数字域中的非线性。校准技术简单而有效,开销很小。它们在后台运行,与输入信号分布无关。在没有输入信号的情况下,可以采用多级抖动来检测非线性。

用于校准dac非线性的功能:

使用在mdac和闪速adc或前一级中注入的大/线性化抖动来提取和校准dac非线性。

识别检查点(阈值)的方法。

使用直方图/计数来提取和纠正错误。

使用相关性来提取和更正错误。

变体:在检查点周围计算闭合间隔,在检查点上方(而不是在下面)累积计数,找到暴露跳跃的检查点的不同方式等。

用于校准参考非线性的功能:

使用在mdac和闪速adc或前一级中注入的大/线性化抖动来提取和校准参考误差。这些包括两个dnl/inl跳跃和整体hd2/hd3非线性。

识别检查点(阈值)的方法。

使用直方图/计数来提取和纠正错误。

使用相关性来提取和更正错误。

变体:在检查点周围计算闭合间隔,在检查点上方(而不是在下面)累积计数,找到暴露跳跃的检查点的不同方式等。

用于校准其他量化非线性的功能:

使用mdac和闪存adc或前一级中注入的大/线性化抖动,以dnl/inl跳变的形式提取和校准任意量化非线性,这可能是由于多步骤adc的任何级别中的dac、参考、放大器或ige。换句话说,校准和校正非线性(dnl/inl跳跃),无论其来源如何。

识别检查点(阈值)的方法。

使用直方图/计数来提取和纠正错误。

使用相关性来提取和更正错误。

变体:在检查点周围计算闭合间隔,在检查点上方(而不是在下面)累积计数,找到暴露跳跃的检查点的不同方式等。

实施例1001是多步骤adc,包括:至少一级,其中第一级包括前馈dac,用于从adc电路产生的代码重建模拟输入;用于捕获在第一级输入端注入的抖动样本和第一级输入信号样本的电路;用于在由检查点基于抖动的极性设置的间隔内对抖动的样本和输入信号的样本进行计数或相关的电路,以估计与第一级相关联的非线性。

实施例101是用于多步骤adc的背景校准的方法。该方法由图19说明。在1902中,从校准或校正的信号中减去抖动估计。在1904,基于减去了抖动估计的信号确定/计算检查点。在1906,测量/计算误差。例如,计数是根据检查点和抖动的极性设定的间隔确定/计算的。在替代方案中,可以基于检查点设置的间隔和抖动值来执行相关。在1908,可以确定/计算基于计数或相关性的校正参数。在1910,校正/校准可以基于校正参数应用于输出。该方法可以再次运行并返回到1902,并在后台迭代地改进adc。通过使用级别的校正输出,校正参数可以收敛以减少误差。

实施例a是一种装置,包括用于实现/执行本文描述的任何一种方法的装置。

实施例1是一种用于多步骤模数转换器中的错误的背景校准的方法,该方法包括:注入抖动;从输入信号的样本到所述多步骤模数转换器中的级除去所述抖动的估计;确定一个或多个检查点;基于落入由所述一个或多个检查点设定的一个或多个间隔内的样本来确定误差;基于所述误差来校正所述级.

在实施例2中,实施例1的方法可以可选地包括注入抖动,包括:将抖动注入到多步骤模数转换器中的级别之前的跟踪和保持电路中。

在实施例3中,实施例1或2的方法可以可选地包括注入抖动,包括:在多步骤模数转换器中的级别之前的级别的乘法模数转换器中注入抖动。

在实施例4中,实施例1-3中的任何一个的方法可以可选地包括注入抖动,包括:在级的模数转换器的输入处注入抖动,并且在多步骤模数转换器中的级别中的乘法数模转换器中。

在实施例5中,实施例1-4中任一项的方法可任选地包括确定一个或多个检查点,其包括:基于除去的抖动的估计的样本确定一个或多个检查点。

在实施例6中,实施例1-5中任一项的方法可任选地包括确定一个或多个检查点,其包括:确定第一检查点,所述第一检查点位于输入信号的第一组样本到级以及输入信号的第二组样本到级的交叉,其中:所述第一组样本包括当所述抖动为负时除去抖动的估计的样本,并且该级的输出代码对应于第一子范围;所述第二组样本包括当所述抖动为正时除去抖动的估计的样本,并且该级的输出代码对应于与所述第一子范围相邻的第二子范围。

在实施例7中,实施例1-6中任一项的方法可任选地包括确定一个或多个检查点,其包括:确定第一检查点,其中:所述第一检查点是到所述级的输入信号的最大第一组样本或到所述级的输入信号的最小第二组样本;所述第一组样本包括当所述抖动为负时除去抖动的估计的样本,并且该级的输出代码对应于第一子范围;所述第二组样本包括当所述抖动为正时除去抖动的估计的样本,并且该级的输出代码对应于与所述第一子范围相邻的第二子范围。

在实施例8中,实施例1-7中任一项的方法可任选地包括计数样本,其中除去的抖动的估计落入由一个或多个检查点设置的一个或多个间隔内并基于该抖动的极性.

在实施例9中,实施例1-8中任一项的方法可任选地包括将样本与除去的抖动的估计相关联,落入由一个或多个检查点设置的一个或多个间隔内,具有抖动的值.

在实施例10中,实施例1-9中任一个的方法可以可选地包括基于误差和更新等式更新校正参数。

在实施例11中,实施例1-10中任一个的方法可以可选地包括校正级别,其包括:将校正参数应用于表示到级的输入信号的数字输出,其中基于所述级的输出代码选择所述校正参数.

在实施例12中,实施例1-11中任一实施例的方法可以可选地包括输入信号到级的样本,该级包括包括数字输出,该数字输出表示在多步骤模数转换器中应用了一个或多个校正参数之后到该级的输入信号。

在实施例13中,实施例1-12中任一实施例的方法可以可选地包括确定错误,包括:确定当抖动为正时小于或等于第一检查点的第一数量的除去的抖动的估计的样本与当抖动为负时小于或等于第一检查点的第二数量的除去的抖动的估计的样本之间的差。

在实施例14中,实施例1-13中任一项的方法可任选地包括通过估计所述级的增益并将估计的增益乘以所述抖动的理想幅度来确定所述抖动的估计。

在实施例15中,实施例14的方法可以可选地包括估计级别的增益,其包括:将到级的输入信号的样本与除去的抖动的估计相关联,具有抖动的值。

在实施例16中,实施例1-15中任一项的方法可任选地包括确定一个或多个检查点,其包括:确定到所述级的输入信号的样本的中点对称围绕的检查点。

在实施例17中,实施例1-16中任一项的方法可任选地包括确定一个或多个检查点,其包括:随机改变所述检查点。

在实施例18中,实施例1-17中任一项的方法可任选地包括确定一个或多个检查点,其包括:根据级的输入信号的信号电平改变检查点。

在实施例19中,实施例1-18中任一个的方法可以可选地包括确定错误,包括:确定当抖动为负时大于第一检查点的第一数量的除去的抖动的估计的样本与当抖动为正时大于第一检查点的第二数量的除去的抖动的估计的样本之间的第一差;和确定当抖动为负时大于第二检查点的第三数量的除去的抖动的估计的样本与当抖动为正时大于第二检查点的第四数量的除去的抖动的估计的样本之间的第二差。

在实施例20中,实施例19的方法可以可选地包括确定包括以下内容的错误:求和所述第一差和所述第二差。

在实施例21中,实施例19或20的方法可以可选地包括确定包括以下内容的错误:确定所述第一差和所述第二差之间的进一步的差。

在实施例22中,实施例1-21中任一个的方法可以可选地包括确定错误,包括:确定样本之间的第一相关性,其中移除了抖动的估计,其高于第一检查点和抖动的值;确定样本之间的第二相关性,去除了抖动的估计值,其低于第二检查点和抖动值;并基于第一相关和第二相关确定误差

在实施例23中,实施例1-22中任一个的方法可以可选地包括校正级别,其包括:形成表示到该级的输入信号的数字输出的一个或多个高阶项;将对应的校正参数应用到所述一个或多个高阶项;和将所述一个或多个高阶项添加到表示到该级的输入信号的数字输出。

在实施例24中,实施例1-23中任一个的方法可以可选地包括校正级别,包括:基于错误校正抖动的参考错误。

在实施例25中,实施例1-24中任一个的方法可以可选地包括更新子范围相关增益参数以减少抖动的参考误差。

例子26是一种用于多步骤模数转换器中的错误的背景校准的方法,该方法包括:确定第一检查点和由所述第一检查点限定的第一间隔;通过下列方式暴露所述第一检查点处的误差:确定当抖动为正时落入所述第一间隔内的除去的抖动的估计的多步骤模数转换器中的级的输入信号的样本(1)与当抖动为负时落入所述第一间隔内的除去的抖动的估计的级的输入信号的样本(2)之间的差;和基于所述第一差将表示到该级的输入信号的数字输出校正以减小该级中的误差。

在实施例27中,实施例26的方法可以可选地包括第一检查点是其中抖动引起级别的两个相邻子范围之间的交叉的值。

在实施例28中,实施例26或27的方法可以可选地包括确定第一差,其包括:积累(1)中的第一数量的样本和(2)中的第二数量的样本;用所述第二数量减去所述第一数量。

在实施例29中,实施例26-28中任一项的方法可任选地包括确定第二检查点和由所述第二检查点限定的第二间隔,其中其中所述第一和第二检查点对称围绕所述级的中点;其中暴露误差还包括确定当抖动为正时落入所述第二间隔内的除去的抖动的估计的级的输入信号的样本(1)与当抖动为负时落入所述第二间隔内的除去的抖动的估计的级的输入信号的样本(2)之间的第二差;和其中校正数字输出还包括基于所述第一差将表示到该级的输入信号的数字输出校正以减小该级中的误差。

在实施例30中,实施例26-29中任一个的方法可以可选地包括确定第一差,包括:将输入信号的样本与多步骤模数转换器中的级相关联,其中抖动的估计被移除在第一区间内,其中抖动的值对应于样本。

实施例31是一种具有非线性背景校准的多步骤模数转换器(adc),包括:产生各自的输出代码的多个级;将抖动注入级的电路;检查点选择器,选择检查点,其中所述抖动暴露该级中的误差;基于除去抖动的估计和抖动的极性的到该级的输入信号的样本在检查点处测量误差的电路;应用数字校正以减少误差的电路.

在实施例32中,实施例31的多步骤adc可以可选地包括选择检查点,其中抖动引起级别的子范围之间的交叉。

在实施例33中,实施例31或32的多步骤adc可以可选地包括检查点是对称的。

在实施例34中,实施例31-33中任一个的多步骤adc可以可选地包括用于测量误差的电路,包括:计数器,用于基于抖动的极性在由检查点设置的间隔内对样本进行计数。

在实施例35中,实施例31-34中任一实施例的多步骤adc可以可选地包括用于测量误差的电路,包括:相关器,用于将由检查点设置的间隔内的样本与对应于样本的抖动值相关联。

在实施例36中,实施例31-35中任一实施例的多步骤adc可以可选地包括注入抖动的电路,包括:在级别中的adc前面的求和节点以添加抖动;和一个电容器,用于在级别中的乘法数模转换器中注入抖动。

在实施例37中,实施例31-36中任一实施例的多步骤adc可选地包括:包括开关电容器网络的跟踪和保持电路;其中注入抖动的电路包括一个电容器,用于在开关电容网络中注入抖动。

变化和实施

这里,开关表示可以被控制以传导电流或不传导电流的电子电路。实际上,可以使用晶体管来实现开关。通过适当地偏置晶体管,晶体管可以传导电流或不传导电流(分别“接通”或“断开”)。当开关闭合或“接通”时,电流导通以完成电路路径。当开关打开或“关闭”时,电流不导通,电路路径打开。开关可以有效地将电路的一部分连接到电路的另一部分,或者将电路的一部分断开到电路的另一部分。

注意,上面参考附图讨论的活动适用于涉及处理模拟信号并使用一个或多个adc将模拟信号转换成数字数据的任何集成电路。这些特性对于高速adc特别有用,其中输入频率在千兆赫兹范围内相对较高。adc可应用于医疗系统、科学仪器、无线和有线通信系统(尤其是需要高采样率的系统)、雷达、工业过程控制、音频和视频设备、仪器仪表以及其他使用adc的系统。高速adc提供的性能水平特别有利于高速通信、医疗成像、合成孔径雷达、数字波束形成通信系统、宽带通信系统、高性能成像和高级测试/测量系统(示波器)等要求苛刻的市场中的产品和系统。

本公开涵盖可以执行本文描述的各种方法的装置。这些装置可包括附图所示和本文所述的电路。各种装置的部件可包括执行本文所述功能的电子电路。该电路可以在模拟域、数字域或混合信号域中操作。在一些情况下,装置的一个或多个部分可以由专门配置用于执行本文描述的功能的处理器提供(例如,控制相关功能、定时相关功能)。在某些情况下,处理器可以是带有adc的片上处理器。处理器可以包括一个或多个专用组件,或者可以包括可编程逻辑门,其被配置为执行本文描述的功能。在一些实例中,处理器可以被配置为通过执行存储在非暂时性计算机介质上的一个或多个指令来执行本文描述的功能。

在一个示例实施例中,附图的任何数量的组件可以在相关电子设备的板上实现。该板可以是通用电路板,其可以保持电子设备的内部电子系统的各种组件,并且还提供用于其他外围设备的连接器。更具体地,电路板可以提供电连接,系统的其他部件可以通过电连接进行电气通信。任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等)、计算机可读非暂时存储器元件等可以基于特定配置需求、处理需求、计算机设计等适当地耦合到板。诸如外部存储器、附加传感器、用于音频/视频显示器的控制器和外围设备的其他组件可以作为插入式卡,通过电缆或者集成到板本身中而附接到板上。在各种实施例中,本文描述的功能可以以仿真形式实现为在以支持这些功能的结构布置的一个或多个可配置(例如,可编程)元件内运行的软件或固件。提供仿真的软件或固件可以在非暂时性计算机可读存储介质上提供,该非暂时性计算机可读存储介质包括允许处理器执行那些功能的指令。

在另一示例实施例中,附图的组件可以实现为独立模块(例如,具有相关组件和被配置为执行特定应用或功能的电路的设备)或者实现为插件模块到电子设备的专用硬件中。注意,本公开的特定实施例可以部分地或整体地容易地包括在片上系统(soc)封装中。soc表示将计算机或其他电子系统的组件集成到单个芯片中的ic。它可以包含数字、模拟、混合信号以及通常的射频功能:所有这些功能都可以在单个芯片衬底上提供。其他实施例可以包括多芯片模块(mcm),其中多个单独的ic位于单个电子封装内并且被配置为通过电子封装彼此紧密地交互。在各种其他实施例中,误差校准功能可以在专用集成电路(asic)、现场可编程门阵列(fpga)和其他半导体芯片中的一个或多个硅芯中实现。

还必须注意,本文概述的所有规范、维度和关系(例如,处理器的数量,逻辑操作等)仅出于示例和教导的目的而提供。在不脱离本公开的精神或所附权利要求(如果有的话)或本文描述的示例的范围的情况下,可以显着地改变这样的信息。该说明书仅适用于一个非限制性示例,因此,它们应被解释为如此。在前面的描述中,已经参考特定处理器和/或组件布置描述了示例实施例。在不脱离所附权利要求(如果有的话)或本文描述的示例的范围的情况下,可以对这些实施例进行各种修改和改变。因此,说明书和附图应被视为说明性的而非限制性的。

注意,利用本文提供的众多示例,可以根据两个、三个、四个或更多个电子组件或部件来描述交互。然而,这仅出于清楚和示例的目的而进行。应该理解,系统可以以任何合适的方式合并。沿着类似的设计替代方案,附图中的任何所示组件、模块、块和元件可以以各种可能的配置组合,所有这些配置显然都在本说明书的宽范围内。在某些情况下,仅通过参考有限数量的电气元件来描述给定流程集的一个或多个功能可能更容易。应当理解,附图及其教导的电路易于扩展,并且可以容纳大量部件,以及更复杂/复杂的布置和配置。因此,所提供的示例不应限制范围或抑制可能应用于无数其他架构的电路的广泛教导。

注意,在本说明书中,对“一个实施例”、“示例实施例”、“实施例”、“另一个实施例”、“一些实施例”、“各种实施例”、“其他实施例”、“替代实施例”等中包括的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用等旨在表示任何这样的特征包括在本公开的一个或多个实施例中,但是可以或可以不必须在相同的实施例中组合。同样重要的是要注意,这里描述的功能仅示出了可由图中所示的系统/电路执行或在其内执行的一些可能功能。可以在适当的情况下删除或移除这些操作中的一些,或者可以在不脱离本公开的范围的情况下显着地修改或改变这些操作。此外,这些操作的时间可能会大大改变。出于示例和讨论的目的提供了前述操作流程。本文描述的实施例提供了实质的灵活性,因为可以提供任何合适的布置、时间顺序、配置和定时机制而不脱离本公开的教导。本领域技术人员可以确定许多其他改变、替换、变化、代替和修改,并且本公开涵盖落入所附权利要求(如果有的话)或本文所述示例的范围内的所有这些改变、替换、变化、代替和修改。注意,上述装置的所有可选特征也可以关于本文描述的方法或过程来实现,并且示例中的细节可以在一个或多个实施例中的任何地方使用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1