一种执行模数转换的方法与流程

文档序号:18948522发布日期:2019-10-23 01:51阅读:174来源:国知局
一种执行模数转换的方法与流程

本专利申请要求2018年3月26日提交的美国临时专利申请62,648,225和2017年9月11日提交的美国申请序列号15/700,957的优先权,这些申请和出版物通过引用整体并入本文。

本公开涉及一种执行模数转换的方法。



背景技术:

模数转换器(adc)将模拟输入信号转换为数字代码。一种类型的adc是逐次逼近寄存器(sar)adc。saradc基本上通过连续地将不同的数字代码与输入信号进行比较来猜测数字输出代码。为此,使用数模转换器(dac)。dac设置为特定值,dac的模拟输出与模拟输入信号进行比较。例如,在4位dac中,dac可以设置为1,0,0,0,它在dac范围的中点产生模拟信号。如果模拟输入信号高于此值,则sar保持“1”,并移至下一位。如果模拟输入信号低于此值,则将该位设置为“0”。假设模拟输入高于数字信号,sar将dac设置为1,1,0,0,并执行相同的比较。这些比较中的每一个称为位试验,并且该过程继续直到sar建立在数字代码上,该数字代码是模拟输入的近似值。

当输入信号缓慢移动时,最高有效位(msb)可能不会在转换之间发生变化。因此,为了加速过程并降低功率,可以预加载msb。因此,不是对所有位执行位测试,而是仅针对后面的位执行位置验证。然而,当输入信号朝向位边界移动时,它变得越来越可能比下一个数字输出信号不共享msb。因此,如果基于先前数字输出预加载msb,则可能发生错误。



技术实现要素:

一种使用逐次逼近寄存器(sar)模数转换器(adc)来执行模数转换的方法。基于先前数字输出的第一m位将先前数字输出与范围进行比较。如果先前数字输出在该范围内,在开始位试验之前,使用先前数字输出的第一m位预加载saradc的数模转换器(dac)。如果先前数字输出在该范围外,在执行位试验之前,将偏移施加到先前数字输出的第一m位并且基于m位和偏移预加载dac。该方法降低下一个输入超出预加载限定的另一范围的可能性。

在第一方面,本公开提供一种使用逐次逼近寄存器(sar)模数转换器(adc)来执行模数转换的方法,包括:使用saradc的数模转换器(dac)电路来执行位试验,以将模拟输入信号的第一样本转换为n位数字输出;在对所述模拟输入信号的第二样本执行位试验之前,将所述n位数字输出与第一范围进行比较,所述第一范围基于所述n位数字输出;当所述n位数字输出在所述第一范围内时,将所述n位数字输出的m位从所述第一样本预加载到dac电路上;当所述n位数字输出在所述第一范围之外时,从所述第一样本预加载所述n位数字输出的m位加上偏移到dac电路上;和在第二样本上执行位试验以确定剩余位数。

在第二方面,本公开提供逐次逼近寄存器(sar)模数转换器(adc),被配置为执行位试验以将模拟输入信号的第一样本转换为n位数字输出,该saradc包括:数模转换器(dac)电路;和控制电路,被配置为:在对所述模拟输入信号的第二样本执行位置验证之前,将所述n位数字输出与第一范围进行比较,所述第一范围基于所述n位数字输出;当所述n位数字输出在所述第一范围内时,指示dac从所述第一样本将所述n位数字输出的m位预加载到dac电路上;当所述n位数字输出在所述第一范围之外时,指示dac从所述第一样本预加载所述n位数字输出的m位加上偏移到dac电路上;和指示dac在第二样本上执行位试验以确定剩余位数。

在第三方面,本公开提供一种预加载数模转换器(dac)的方法,该数模转换器被布置为在模数转换器(adc)中执行位试验,包括:确定由adc的前n位数字输出的先前m位限定的子范围,所述子范围具有中心部分和边缘部分;确定所述子范围内先前数字输出的位置;当所述先前数字输出在所述子范围的中心部分内时,将m位预加载到dac上;当所述先前数字输出在所述边缘部分内时,将m位加上偏移预加载到dac上。

本发明的其他方面在说明书中描述并在所附权利要求中限定。

附图说明

现在将仅通过示例并参考附图来描述本公开,其中:

图1是根据本发明实施例的saradc的示意电路图;

图2显示了通过预加载m位定义的范围;

图3显示了范围可以划分为四分之一的方式;

图4示出了根据本公开的实施例如何将偏移添加到预加载;

图5是根据本发明实施例的二进制加权电容dac的示意电路图;

图6是表示图1的saradc的操作的流程图;

图7是表示图1的saradc的进一步操作的流程图;

图8是根据本发明另一实施例的二进制加权电容dac的示意电路图。

图9是示出各种saradc的平均位试验数与平均代码电荷的图表。

具体实施方式

本公开提供了一种模数转换的方法,其中可以修改预加载的位以考虑先前数字输出接近位边界。它通过确定先前数字输出与位边界的接近程度来实现。如果它离边界足够远,则不修改预加载,并且预加载第一个或多个位,使得它们与先前数字输出的第一个位相同。如果先前数字输出接近边界,则将偏移添加到第一个或多个位,以便将先前数字输出置于由预加载定义的范围的中间。

例如,如果先前数字输出接近顶部边界,则将半位添加到预加载。如果先前数字输出接近边界的底部,则从预加载中减去半位。可以通过在dac中使用分离电容器来实现半位,从而可以将每个位设置为其值的一半。

图1是根据本公开的实施例的逐次逼近寄存器(sar)模数转换器(adc)100的示意电路图。saradc100包括数模转换器(dac)101和sar逻辑102。dac101是二进制加权的电容dac。这样,dac101对模拟输入信号vin执行采样和保持操作。此外,dac101包括比较器,用于将位试验期间模拟输入信号vin的样本与dac产生的模拟信号进行比较。除了接收vin作为dac101的输入之外,dac还从sar逻辑102接收控制信号103。控制信号103用于控制dac101内的开关以基于由sar逻辑102生成的数字代码生成不同的电压电平。dac101的比较器产生输出104,sar逻辑使用该输出确定数字输出信号dout,该数字输出信号dout是模拟输入信号vin的近似值。下面提供dac101的结构和操作的进一步细节。

saradc通过使用dac101执行位试验来操作,以确定作为模拟输入信号vin的近似的数字输出信号dout。dac101包括多个二进制加权电容器,每个电容器代表一位(尽管一些位可以包括两个电容器,如下面将更详细描述的)。sar逻辑102使用多个开关控制每个电容器,以产生等于由电容器表示的位的电压。比较器将这些电压与模拟输入信号vin进行比较,以确定该位是应该设置为“1”还是“0”。sar逻辑102通过从最高有效位(msb)开始并且通过电容器移动到最低有效位(lsb)来实现这一点。该过程继续进行直到所有位试验完成,并且sar逻辑102已确定数字输出信号dout。

saradc100还能够预加载dac101的一些位,以便降低saradc100的功耗。例如,基于模拟输入信号vin的先前样本的n位数字输出信号dout,dac可以在对剩余位执行位试验之前预加载前m位。在此示例中,第一位是msb,最后一位是lsb。因此,第m位是msb加m位。从msb到第m位的所有位都被预加载。当输入信号缓慢移动时,下一个数字输出可能与先前数字输出信号共享一定数量的位。假设前m个位在前一个和下一个数字输出之间是共同的,则不需要对前m个位执行位试验。因此,预加载这些位可以节省电力。

为了确定预加载的位的值,saradc100包括预加载控制电路105。预加载控制电路105包括存储器106和偏移控制107。存储器106从先前转换的sar逻辑102接收n位数字输出dout。存储器106通过连接108向前一个n位数字输出信号提供偏移控制107。偏移控制107确定预加载多少位,以及这些位的值应该是多少。一旦做出该确定,偏移控制107就通过连接109指示sar逻辑102将必要的位预加载到dac101中。在该示例中,对于每次转换,预加载的位的数量是固定的。

如下面将更详细描述的,一旦m位被预加载,模拟输入信号vin的下一个样本必须具有数字值,其中前m个位与预加载的位相同。如果不是,则电路将产生错误信号,或者必须清除预加载的位,并对所有位进行位试验。虽然下一个数字输出很可能与预加载共享m位,但可能存在不会的情况。一个例子如图2所示。预加载的位基本上定义了下一个信号必须落在的范围内。在此示例中,使用6位dac。先前的信号是101110(46)并且m=2。因此,预加载的位将是1、0。下一个数字输出的可能范围是100000(32)到110000(48)。在这种情况下,101110(46)的先前数字输出非常接近范围的边缘。因此,模拟输入信号的下一个样本很容易超出此范围。在此示例中,下一个信号的数字等效值是110001(49)。在这种情况下,saradc100必须丢弃预加载的位并对所有位执行位试验,否则它将产生错误的输出。本质上,任何给定的二进制数可以落在具有由前m位定义的范围的任何地方。这意味着使用先前数字输出的前m位作为范围的基础,下一个输出必须落在该范围内,当先前数字输出朝向该范围的边缘时,容易出错。

偏移控制107确定先前数字输出落在该输出的前m位定义的范围内的位置。如果先前输出落在该范围的中间部分内,则偏移控制107指示sar逻辑102将先前数字输出的第一m位预加载到dac101中。然而,如果先前的数字信号朝向该范围的结束,则偏移控制107将偏移添加到预加载,以便向上或向下移动范围。通过这样做,可以移动范围,使得先前数字输出朝向范围的中间。这增加了下一个样本朝向范围的中间部分的可能性,并减少了出错的可能性。例如,偏移控制107可以确定先前的数字信号是在范围的中间区域内,还是在范围的外部区域内。如图3所示。

图4示出了基于图3中所示的先前数字输出由偏移控制107施加的偏移的示例。在该示例中,为了确定先前数字输出是否在中间区域内,偏移控制107必须确定由中间部分定义的子范围的上限和下限。偏移控制107通过将第m位的四分之一加到m位来确定子范围的下限,并且上限将第m位的四分之三加到m位。对于m为2的6位数字信号,第m位相当于16。因此,将4位(000100)添加到m位以获得下限,并将12位(001100)添加到m位以获得上限。在上面给出的例子中,m位为1、0,因此下限为100100,上限为101100。先前数字输出为101110,位于此范围之外的上四分之一。这样,偏移控制107将偏移添加到预加载。在这个例子中,偏移量是第m位的一半;即0、1/2。因此,预加载变为1、1/2,然后范围变为101000(40)到111000(56),如图4所示。因此,先前数字输出现在朝向范围的中间,并且在上面给出的例子中,下一个模拟输入信号也在该范围内。

通过使用分离电容器布置提供半位。dac101的一些位由两个电容器表示,每个电容器具有单个等效电容器的值的一半。例如,在6位dac中,表示16的第二位可以包括两个等效于第三位的电容,表示8。因此,通过使用两个电容,dac输出等于16,而如果使用一个,输出相当于8。将参考图5更详细地描述该布置。

图5是示出dac101的内部组件的示意图。如上所述,dac101是二进制加权的电容dac。因此,它包括表示数字输入代码的不同位的多个电容器。在图5所示的示例中,dac是一个6位dac。dac的每个位包括二进制加权电容器或一对分离电容器,每个电容器能够保持相当于相应位的电荷。位1是最高有效位(msb),表示二进制当量为32。在该示例中,位1由一对分离电容器110a和110b表示,每个分离电容器具有等于十六的值。位2表示16的二进制等效值,并包括一对分离电容器111a和111b。每个电容器的值都相当于8。位3表示8的数字等效物并且具有单个电容器112。位4具有表示数字4的单个电容器113。位5具有表示数字2的一个电容器114。位6是具有表示数字1的单个电容器115的最低有效位(lsb)。位7是虚位,其值等于115。

位1的电容是c,因此每个电容器110a和110b的电容是c/2。其余位的电容如下:

位2=c/2

位3=c/4

位4=c/8

位5=c/16

位6=c/32

位7=c/32

因此,剩余电容的值如下:

111a=c/4

111b=c/4

112=c/4

113=c/8

114=c/16

115=c/32

116=c/32

阵列的总电容ctotal为2c。虚位(位7)用于确保总数为2c。每个电容器的上极板连接到公共节点117,公共节点117连接到比较器118的负输入端。公共节点117也通过开关119连接到地。每个电容器的底板是连接到相应的开关120a到120i。每个开关是三路开关,可以连接到模拟输入信号vin、参考电压vref和地。模拟输入信号vin通过另一个开关121连接到开关。开关由来自sar逻辑102的控制信号103控制。

现在将参考图6描述saradc100的操作。在该示例中,m=2并且因此,saradc100被配置为预加载位1和2。模拟输入信号vin的第一样本在不预加载dac101的电容器的情况下被转换为数字输出信号(s600)。基于模拟输入信号的第一样本确定数字输出信号的过程在图7中示出。为了获取输入信号,开关119闭合以将公共端子117连接到地。开关121闭合,并且每个开关120a至120i连接到模拟输入信号vin(s700)。在获取之后,打开开关121和119,并且在电容器阵列上存储等效于vin的电荷(s701)。

然后,开关120a至120i接地,使公共端子117下降至-vin。然后,位试验以最高有效位(msb)开始(s702)。为此,电容器110a和110b连接到vref,从而将相当于1/2×vref的电压加到-vin(s703)。因此,节点117处的公共电压是-vin+1/2×vref。然后,比较器118将公共节点上的电压与零进行比较(s704)。如果公共电压低于0(即,如果vin大于1/2×vref),比较器118产生逻辑1。如果公共电压大于0(即,如果vin小于vref的1/2),则比较器118产生逻辑0。如果比较器产生逻辑1,则sar逻辑102保持电容器110a和110b连接到vref并将逻辑1存储在存储器中(s705)。sar逻辑确定是否还有任何位(s706)。如果是,则位试验然后移动到下一位,并且该过程继续。在这种情况下,电容器111a和111b然后连接到vref,将等于vref/4的电压加到公共节点117上的电压。同样,如果公共电压小于0,则比较器产生逻辑1,并且如果公共节点117处的电压大于0,则它产生逻辑0。在逻辑0的情况下,sar逻辑将其存储在存储器中并将电容器111a和111b连接到地,从而从节点117去除vref/4电压(s707)。这一直持续到所有的位置试验都已完成。然后将n位数字字存储在代表模拟输入信号vin的第一样本的存储器106中(s708)。

然后,偏移控制107确定要加载到dac101中以进行第二次转换的位的值。在该示例中,saradc100被布置为预加载dac的前两位。如上所述,dac的前两位包括分离电容器。前两位的值定义了后续位试验将在其中执行的范围。例如,如果前两位的值为1、0并且如果这些位是预加载的,则范围将是1、0、0、0、0、0和1、1、0、0、0、0。该范围可以进一步分为四个四分之一。偏移控制107的目的是确定先前数字输出是在中间的两个四分之一内还是在外部的四分之一内。这样,偏移控制107确定相当于内部两个四分之一的子范围。它通过将第二个(第m个)位的四分之一加到前两个位来确定下限(s601)。使用图2和图4所示的例子,下限为1、0、0、0、0、0(32)加上0、0、0、1、0、0(4),其等于1、0、0、1、0、0(36)。然后,偏移控制107将前两位加三个四分之一以确定上限(s602)。在这个例子中,上限是1、0、0、0、0、0(32)加上0、0、1、1、0、0(12),其等于1、0、1、1、0、0(44)。

然后,偏移控制107确定存储在存储器106中的先前数字输出是否在子范围内(s603)。如果它在子范围内,则偏移控制107指示sar逻辑102将前两位预加载为与先前数字输出相同(s604)。在模拟输入信号的第二样本已经加载到节点117上之后这样做,通过将每个电容器110a、110b、111a、111b连接到vref或地,取决于先前数字输出。在上面给出的例子中,预加载的位将是1、0,因此,电容器110a和110b将连接到vref,电容器111a和111b将连接到地。然后,位试验以上述方式进行第3位(s605)。

在此示例中,先前数字输出1、0、1、1、1、0在子范围之外。这样,偏移控制107接下来确定先前的数字值是在上四分之一还是下四分之一(s606)。在该示例中,它处于上四分之一,并且因此sar逻辑102将偏移添加到第一m位(s607)。在该示例中,sar逻辑102将半位添加到位2(第m位)。因此,预载荷将为1、1/2。这导致将进行进一步的位试验的范围向上移动第m位的一半,从而使先前数字输出在该范围的中间居中。这降低了下一个输入超出范围的可能性。在这个例子中,通过将电容器110a和110b连接到vref来预加载电容器110a和110b,从而将位1设置为“1”;数字相当于32。通过将电容器111a连接到vref来预加载电容器111a,而通过将111b连接到地不会预加载111b,从而将第2位设置为“1/2”;数字相当于8。然后,位试验以上述方式进行第3位(s605)。如果先前数字输出处于下四分之一,则偏移控制107将指示sar逻辑107减去半位(s608)。因此,预载荷将为1/2、1/2。在该替代方案中,通过将电容器110a和111a连接到vref来预加载电容器110a和111a,从而将位1设置为“1/2”;数字相当于16。电容器110b和111b不通过将它们连接到地而预加载,从而将位2设置为“1/2”;数字相当于8。这样,总预载为24。然后,位试验以上述方式进行第3位(s605)。

在以上示例中,dac是6位dac,并且预加载位的数量是2。应当理解,本公开可以应用于具有不同位数和不同m值的dac。

以上示例是在单端输入的上下文中给出的。本公开还可以应用于差分saradc。图8中示出了用于实现本公开的差分dac800的示例。图8的布置类似于图5中所示的布置,但是存在两个二进制加权电容器阵列;每个输入一个。

在图8所示的示例中,dac是一个6位差分dac。每个输入连接到不同的电容器阵列。第一阵列801a连接到第一模拟输入vinp。第二阵列801b连接到第二模拟输入vinm。在该示例中,第一阵列的位1由一对分离电容器802a和802b表示,每个分离电容器具有等于十六的值。第一阵列的位2表示16的二进制等效值,并包括一对分离电容器803a和803b。每个电容器的值都相当于8。位3表示8的数字等效物并且具有单个电容器804。位4具有表示数字4的单个电容器805。位5具有表示数字2的单个电容器806。位6是具有表示数字1的单个电容器807的最低有效位(lsb)。位7是虚位,其具有电容器808,其值等于807。

第二阵列包括一组电容器,其镜像第一阵列的电容器。在该示例中,第二阵列的位1由一对分离电容器809a和809b表示,每个分离电容器具有等于十六的值。第二阵列的位2表示二进制等效值16,并且包括一对分离电容器810a和810b。每个电容器的值都相当于8。位3表示8的数字等效并且具有单个电容器811。位4具有表示数字4的单个电容器812。位5具有表示数字2的单个电容器813。位6是具有表示数字1的单个电容器814的最低有效位(lsb)。位7是具有电容器815的虚拟位,其值等于814。

位1的电容是c,因此每个电容器802a、802b、809a和809b的电容是c/2。其余位的电容如下:

位2=c/2

位3=c/4

位4=c/8

位5=c/16

位6=c/32

位7=c/32

因此,剩余电容的值如下:

803a=c/4

803b=c/4

810a=c/4

810b=c/4

804=c/4

811=c/4

805=c/8

812=c/8

806=c/16

813=c/16

807=c/32

814=c/32

808=c/32

815=c/32

阵列的总电容ctotal为2c。虚位(位7)用于确保总数为2c。

第一阵列的每个电容器的上板连接到相应的开关816a到816i。每个开关都是一个三路开关,可以连接到模拟输入信号vinp、参考电压vref和地。模拟输入信号vinp通过另一个开关817连接到开关。每个电容器的底板连接到公共节点818,公共节点818连接到比较器819的正输入。公共节点819也通过开关820接地。

第二阵列的每个电容器的下板连接到相应的开关821a到821i。每个开关都是一个三路开关,可以连接到模拟输入信号vinm、参考电压vref和地。模拟输入信号vinm通过另一个开关822连接到开关。每个电容器的上板连接到公共节点823,公共节点823连接到比较器819的负输入。公共节点823也通过开关824接地。

开关由来自sar逻辑的控制信号控制,如图5所示的dac。除了上面提到的结构差异之外,图8中所示的dac以与saradc100的操作相同的方式操作。

图9是表示四个不同10位saradc的平均位试验数与平均代码变化的关系图。无论每个样本的代码变化如何,传统的sar总是进行10位试验,如预期的那样。随着平均代码变化的增加,lsb第一sar执行超过10位的试验。随着平均代码变化的增加,没有偏移的自适应sar通常在每个样本大约10位试验时平稳。使用偏移的本公开的saradc在每个样本大约10位试验时也平稳,比不具有较低平均码变化的偏移的自适应sar表现得更好。

应当理解,本公开可以应用于具有除上述布置之外的布置的dac。

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