1.本发明属于模拟集成电路设计领域,特别涉及一种高精度逐次逼近性模数转换器的后台校准方法及系统。
背景技术:2.造成逐次逼近性模数转换器性能误差的主要因素包括比较器失调、噪声影响、电容寄生和电容失配等因素。由于制造工艺的偏差,电容通常会出现随机失配。当逐次逼近性模数转换器的电容阵列出现电容失配时,会对逐次逼近性模数转换器的整体线性度产生影响。对逐次逼近性模数转换器的电容阵列进行校准是提高逐次逼近性模数转换器线性度的重要技术。校准可以分为数字校准和模拟校准,而数字校准又包含前台校准和后台校准。模拟校准是指使用设计模拟电路来配合检测和补偿主dac阵列的失配,数字校准是指分析数字码从而计算电容失配并进行修正。前台校准是指模数转换器在正常工作之前,先进行校准,采用校准值进行模拟量到数字码的转换;而后台校准是指模数转换器工作之中同时进行校准。
3.对于模拟校准和数字前台校准虽然可以校准失配电容,但这两种方法受限于两个方面,第一,这两种校准方法都无法再电路工作时进行校准,只能先进行校准而后进行工作,无法做到校准与电路工作同时进行;第二,这两种校准方法依赖于附加dac阵列的精度或自身dac阵列低位电容的精度,而当阵列达不到要求时校准效果无法得到保障。
技术实现要素:4.本发明的目的在于提供一种高精度逐次逼近性模数转换器的后台校准方法及系统,以解决上述问题。
5.为实现上述目的,本发明采用以下技术方案:
6.一种高精度逐次逼近性模数转换器的数字后台校准方法,包括以下步骤:
7.步骤1,逐次逼近型模数转换器具有冗余位的电容阵列,对逐次逼近型模数转换器输入电压进行采样;
8.步骤2,sar逻辑控制:控制电容切换,对采样得到的电压完成正负干扰下的电压量化;
9.步骤3,通过量化结果对码值进行校准得到权重迭代结果;
10.步骤4,根据校准后的权重值输出校准后码值。
11.进一步的,步骤1中,其电容阵列应有n个电容的电容阵列,其中n大于12,校准前电容阵列权重寄存器复位为二进制权重,此逐次逼近型模数转换器比较器输出比较结果为d
n
‑1,d
n
‑2,
…
,d0,其对应量化结果为d
out
。
12.进一步的,步骤2中,sar逻辑控制控制冗余电容开关,先将p端冗余电容的上极板接vref,而后控制dac电容阵列的电容切换,完成量化,复位电容连接方式;再将n端冗余电容上极板接vref,sar逻辑控制控制dac电容的切换,再次进行量化,将两次量化结果输入到
校准模块。
13.进一步的,步骤3中,校准模块通过lms迭代得到相应的权重迭代结果,其具体的迭代公式如下所示:
14.weight
n+1
(i)=weight
n
(i)
‑
2*u*(d2(i)
‑
d1(i))*error*iter_lms(i)
15.d
n+1
=d
n
+ν*error
16.其中u位迭代步长,iter_lms(i)为迭代权重值所施加的误差权重,d2和d1为输出的正干扰码值和负干扰码值,d为输入干扰对应的线性误差,ν为其迭代步长。
17.进一步的,电容值大的造成的误差更大,并且呈现二进制关系,在迭代时,添加误差权重来加速收敛;当电容权重带来的非线性误差减小到在连续10000次的迭代中保持在5*10
‑5以内时,权重值迭代结束。
18.进一步的,步骤4中,码值计算模块得到比较器结果与权重迭代结果计算得到对应码值输出结果,其计算方法为:
[0019][0020][0021]
dout为输出数字码,d
_i
为表示电容切换对应的比较结果,weight(i)为电容ci的校准权重值,d_code为所添加干扰对应的输出码值,当在校准过程时采用上述第一个表达式输出码值,此时采用的为正干扰下的比较器输出结果,当校准完成时,采用上述第二个表达式输出结果;dev的值是根据重复的低位lsb来进行误差均衡以及修正,其值根据最低为8个lsb电容的比较结果得到。
[0022]
进一步的,dev的值计算:
[0023]
dev(1)=d(21)
[0024]
dev(i)=dev(i
‑
1)+d(i+20)+d(i+19)
‑1[0025]
其中d为比较器的输出结果,将所得结果带入码值输出计算公式得到码值输出。
[0026]
进一步的,在步骤3中的迭代中,无需将所有的电容权重位进行迭代,可通过电容的失配率来计算需要校准的最低位电容,低于校准最低位电容由于其失配不会对输出权重造成影响,因此无需校准,只需将校准最低位电容到最高位电容的权重进行校准:根据电容工艺匹配性给出的失配曲线,结合电容的面积可计算出不同电容的失配率,计算出需要校准的最低位电容,其具体计算方法为:
[0027][0028]
其中c
i
为待校准的最低位电容,c
min
为dac最小比较电容,为该电容的电容失配率,num为根据输出位数计算出来的影响因子;此外,电容阵列设计上,设计二进制冗余位,电容大小应为单位电容大小的2的幂次方倍。
[0029]
进一步的,一种高精度逐次逼近性模数转换器的后台校准系统,包括采样模块、逻辑控制模块、校准模块和码值计算模块;
[0030]
采样模块用于对逐次逼近型模数转换器输入电压进行采样;
[0031]
逻辑控制模块用于控制电容切换,对采样得到的电压完成正负干扰下的电压量化;
[0032]
校准模块用于通过量化结果对码值进行校准得到权重迭代结果;
[0033]
码值计算模块用于根据校准后的权重值输出校准后码值。
[0034]
与现有技术相比,本发明有以下技术效果:
[0035]
本发明针对逐次逼近型模数转换器的电容阵列电容失配的问题进行研究,给出了一种数字后台校准的改进算法,该算法通过lms迭代实现对电容权重的校准,并根据采用的码值计算公式确定最后所需要校准的位数以实现对权重值的校准,从而提升逐次逼近型模数转换器的精度。
[0036]
本发明基于lms算法的数字后台校准技术,这种技术能够根据比较器的输出结果找出误差,然后对失配的电容阵列进行校准以达到性能的有效改善;
[0037]
本发明码值计算方法可以是得高精度逐次逼近模数转换器具有性能的有效提升。
[0038]
本发明改善了高精度逐次逼近模数转换器需要外部添加干扰源或者需要额外的模拟电路进行干扰源添加,而采用这种方法的干扰源添加可以使用电路中的dummy电容,有效的利用了dac阵列,简化了扰动添加的复杂性。
附图说明
[0039]
图1是本发明中模数转换器工作流程图
[0040]
图2是本发明中模数转换器电容阵列示意图
[0041]
图3是本发明中校准前inl和dnl结果图
[0042]
图4是本发明中校准后inl和dnl结果图
[0043]
图5是本发明中校准前enob仿真结果图
[0044]
图6是本发明中校准后enob仿真结果图
[0045]
图7是本发明中校准期间enob变化仿真结果图。
具体实施方式
[0046]
以下结合附图对本发明进一步说明。
[0047]
请参阅图1至图7,本发明主要针对逐次逼近型模数转换器的电容阵列电容失配的问题进行研究,给出了一种数字后台校准的改进算法,该算法通过lms迭代实现对电容权重的校准,并根据采用的码值计算公式确定最后所需要校准的位数以实现对权重值的校准,从而提升逐次逼近型模数转换器的精度。
[0048]
本发明提出的是一种适于高精度逐次逼近性模数转换器的数字后台校准方法,所述逐次逼近型模数转换器需要带冗余位的电容阵列,其电容阵列应有n个电容的电容阵列,其中n应该大于12,校准前电容阵列权重寄存器复位为二进制权重,此逐次逼近型模数转换器比较器输出比较结果为dn
‑
1,dn
‑
2,
…
,d0,其对应量化结果为dout。其特征在于,所述数字自校准方法包括步骤1:采样(m001)对输入电压的采样;步骤2:sar逻辑控制(m002)控制电容切换完成正负干扰下的电压量化;步骤3:校准模块(m003)通过量化结果对码值进行校准;步骤4:输出码值计算(m004)根据校准后的权重值输出校准后码值。
[0049]
步骤1:采样模块(m001)采样输入电压。
[0050]
步骤2:sar逻辑控制(m002)控制冗余电容开关,先将p端冗余电容的上极板接vref,而后控制dac电容阵列的电容切换,完成量化,复位电容连接方式。而后将n端冗余电容上极板接vref,m002控制dac电容的切换,再次进行量化,将两次量化结果输入到校准模块(m003)。
[0051]
步骤3:校准模块(m003)通过lms迭代得到相应的权重迭代结果,其具体的迭代公式如下所示:
[0052]
weight
n+1
(i)=weight
n
(i)
‑
2*u*(d2(i)
‑
d1(i))*error*iter_lms(i)
[0053]
d
n+1
=d
n
+ν*error
[0054]
其中u位迭代步长,iter_lms(i)为迭代权重值所施加的误差权重,即电容值大的造成的误差更大,并且呈现二进制关系,因此在迭代时,需要添加误差权重来加速收敛,d2和d1为输出的正干扰码值和负干扰码值,最后当电容权重带来的非线性误差减小到可接受的值时,权重值迭代结束。d为输入干扰对应的线性误差,ν为其迭代步长。
[0055]
步骤4:码值计算模块(m004)得到比较器结果与权重迭代结果计算得到对应码值输出结果,其计算方法为(以某17位saradc为例,具有28位电容的dac阵列):
[0056][0057][0058]
dout为输出数字码,d
i
为表示电容切换对应的比较结果,weight(i)为电容ci的校准权重值,d_code为所添加干扰对应的输出码值,当在校准过程时采用上述第一个表达式输出码值,此时采用的为正干扰下的比较器输出结果,当校准完成时,采用上述第二个表达式输出结果。dev的值是根据重复的低位lsb来进行误差均衡以及修正,其值根据最低为8个lsb电容的比较结果得到,具体的计算公式如下所示:
[0059]
dev(1)=d(21)
[0060]
dev(i)=dev(i
‑
1)+d(i+20)+d(i+19)
‑1[0061]
其中d为比较器的输出结果,将所得结果带入码值输出计算公式即可得到码值输出。
[0062]
此外,待校准的最低位电容应由电容的适配性造成的误差是否对结果造成影响决定。根据电容工艺匹配性给出的失配曲线,结合电容的面积可计算出不同电容的失配率,从而可以计算出可以对输出码值产生量化误差的最低位失配的电容,以此电容作为待校准最低为电容。由于不同的电容其失配率与面积有关,通常面积越大失配越大,本校准方法需要根据电容工艺的需要选取合适的电容来作为第一位待校准电容。根据电容工艺匹配性给出的失配曲线,结合电容的面积可计算出不同电容的失配率,从而可以计算出需要校准的最低位电容,其所电容失配产生的误差应该可以在输出码值中得到体现,其具体计算方法为:
[0063][0064]
其中c
i
为待校准的最低位电容,c
min
为dac最小比较电容,为该电容的电容失配率,num为根据输出位数计算出来的影响因子。此外,电容阵列设计上,需要设计二进制冗余
位,也就是电容大小应为单位电容大小的2的幂次方倍。
[0065]
实施例:
[0066]
以某17位sar adc具有28个电容组成的电容阵列为例,介绍该校准方法。所有电容下极板接vref,将vip端的冗余电容接vref,vin端的冗余电容接gnd。
[0067]
采样输入电压,并进行量化比较,将比较器的28位输出保存至d1。
[0068]
将vip端的冗余电容接gnd,vin端的冗余电容接vref。
[0069]
进行量化,将比较器28位输出结果保存至d2。
[0070]
将两次量化结果输入到后台校准单元根据上述迭代计算公式对所有需要校准的电容权重进行一次迭代,同时将迭代结果输出至码值计算单元。
[0071]
将比较器结果d1输入至码值计算单元利用校准中的计算公式计算得到输出码值。
[0072]
重复步骤0017
‑
步骤0022,计算误差结果,若误差减小到范围内,则不在循环,进行步骤h,否则持续循环。
[0073]
所有电容下极板接vref,将所有的的冗余电容接gnd。
[0074]
采样输入电压,并进行量化比较,将比较器的28位输出保存至d。
[0075]
将比较器结果d输入至码值计算单元利用校准完成的计算公式与最新的权重迭代值计算得到输出码值。
[0076]
重复步骤0024到0026,并相隔固定时间监测adc误差值,若误差大于设定值,则重新开始校准,进行步骤g,若小于设定值,则进行步骤k,直到adc关机。