用于数模转换器(DAC)的积分非线性(INL)和微分非线性(DNL)校正技术

申请号 CN201410222402.6 申请日 2010-11-11 公开(公告)号 CN103986471B 公开(公告)日 2017-04-12
申请人 英特赛尔美国股份有限公司; 发明人 I·阿希;
摘要 对于适于接受N位数字输入码的DAC的多个子分段确定INL值,并且确定和存储可以用来减小INL值的范围(从而提高DAC的线性)的第一组校正码。此外,对确定了INL值的多个子分段确定DNL值,并且确定和存储可以用于保证所有的DNL值>‑1的(从而保证DAC是单调的)第二组校正码。这可以包括使用 分辨率 的一个或多个附加位使(DAC可以接受的)2^N个可能的数字输入码中的至少某一些重新映射成2^N个以上的可能数字输出码,以确保所有的DNL值>‑1。此后当执行 数模转换 时使用如此存储的第一和第二组。
权利要求

1.一种与数模转换器DAC一起使用的方法,所述方法包括:
(a)在所述DAC的输入处接受N位数字输入码;
(b)基于N位数字输入码的一部分从第一组校正码中选择第一校正码,其中所述第一组校正码用来减小到一范围的积分非线性INL值,从而提高DAC的线性;
(c)基于所述N位数字输入码的一部分从第二组校正码中选择第二校正码,其中第二组校正码用来确保所有的微分非线性DNL值>-1,从而确保DAC是单调的;
(d)基于在步骤(a)接受的N位数字输入码、在步骤(b)选择的所述第一校正码以及在步骤(c)选择的所述第二校正码产生N+M位数字输出码;以及
(e)将N+M位数字输出码转换成模拟输出信号,其中所述模拟输出信号或其经缓冲形式是DAC的模拟输出;
其中,N是≥2的整数,并且M是≥1的整数。
2.如权利要求1所述的方法,其特征在于,M=1。
3.如权利要求1所述的方法,其特征在于:
步骤(b)包括基于所述N位数字输入码的最高有效位MSB的预定位数从第一组校正码中选择第一校正码;以及
步骤(c)包括基于N位数字输入码的MSB的预定位数从第二组校正码中选择第二校正码。
4.如权利要求3所述的方法,其特征在于:
步骤(e)处的转换由N+M位DAC来执行,所述N+M位DAC包括含最高有效分段和最低有效分段的多个分段;
所述最高有效分段包括通过电阻器实现的2^X个子分段;以及
由代码校正器用来从第一和第二LUT中选择第一和第二校正码的N位数字输入码的部分包括N位数字输入码的X个MSB;以及
其中,X是N位数字输入码的最高有效位MSB的预定位数。
5.如权利要求1所述的方法,其特征在于,所述步骤(d)包括:
(d.1)将在步骤(b)选择的第一校正码与在步骤(a)接受的N位数字输入码相加以产生N位经INL校正代码INLCC;
(d.2)将N位INLCC进行位扩展以产生N+M位INLCC;
(d.3)判定N+M位INLCC是否需要DNL校正;
(d.4)如果N+M位INLCC需要DNL校正,则基于在步骤(c)选择的定标形式第二校正码修改N+M位INLCC,从而产生N+M位数字输出码;以及
(d.5)如果N+M位INLCC不需要DNL校正,则使N+M位数字输出码等于N+M位INLCC。
6.如权利要求1所述的方法,其特征在于:
步骤(d)包括使用附加分辨率中的M位将DAC的输入处可以接受的2^N个可能的数字输入码中的至少某一些重新映射,以确保所有的DNL值>-1。
7.如权利要求1所述的方法,其特征在于:
其中步骤(d)包括以下中的至少一个:
如果未校正的结果在DNL<-1中,则使用附加分辨率中的M位将一个或多个代码之前的代码压缩;或者
如果未校正的结果在DNL<-1中,则使用附加分辨率中的M位将一个或多个代码之后的代码压缩。
8.如权利要求1所述的方法,其特征在于,还包括:
在DAC的离线测试期间确定并存储第一组校正码和第二组校正码。
9.一种提供积分非线性INL和微分非线性DNL校正的N位数模转换器DAC设备,包括:
代码校正器,适于
接受N位数字输入码;
基于N位数字输入码的一部分从第一组校正码中选择第一校正码,其中所述第一组校正码用来减小到一范围的积分非线性INL值;
基于所述N位数字输入码的一部分从第二组校正码中选择第二校正码,其中所述第二组校正码用来确保所有的微分非线性DNL值>-1;以及
基于所接受的N位数字输入码、所选择的第一校正码以及所选择的第二校正码,产生N+M位数字输出码;以及
N+M位DAC,适于接受代码校正器所输出的N+M位数字码以及基于所接受的N+M位数字码输出模拟信号
其中,N是≥2的整数,并且M是≥1的整数。
10.如权利要求9所述的设备,其特征在于,所述代码校正器包括:
第一查找表LUT,适于存储第一组校正码;以及
第二查找表LUT,适于存储第二组校正码。
11.如权利要求10所述的设备,其特征在于,所述代码校正器适于:
基于N位数字输入码的最高有效位MSB的预定位数从所述第一LUT选择第一校正码;
基于N位数字输入码的MSB的预定位数从所述第二LUT选择第二校正码。
12.如权利要求11所述的设备,其特征在于,所述代码校正器适于:
将从第一查找表中选择的第一校正码与所接受的N位数字输入码相加以产生N位经INL校正代码INLCC;
将N位INLCC进行位扩展以产生N+M位INLCC;
判定N+M位INLCC是否需要DNL校正;
如果N+M位INLCC需要DNL校正,则基于从第二LUT选择的定标形式的第二校正码修改N+M位INLCC;以及
如果N+M位INLCC不需要DNL校正,则使N+M位数字输出码等于N+M位INLCC。
13.如权利要求11所述的设备,其特征在于,所述第一LUT和所述第二LUT被存储在非易失性存储器中,所述非易失性存储器是所述代码校正器的部分或者以其方式能被所述代码校正器访问
14.如权利要求9所述的设备,其特征在于,所述N+M位DAC包括:
多个分段,包括最高有效分段和最低有效分段;
其中所述最高有效分段包括通过电阻器实现的2^X个子分段;
其中由代码校正器用来从第一和第二LUT中选择第一和第二校正码的N位数字输入码的部分包括N位数字输入码的X个MSB;以及
其中,X是N位数字输入码的最高有效位MSB的预定位数。
15.如权利要求13所述的设备,其特征在于:X=4。
16.如权利要求9所述的设备,其特征在于,M=1。
17.一种提供积分非线性INL和微分非线性DNL校正的N位数模转换器DAC设备,包括:
代码校正器,适于
存储第一组校正码或访问第一组校正码中的至少一个,所述第一组校正码用于减小到一范围的积分非线性INL值;
存储第二组校正码或访问第二组校正码中的至少一个,所述第二组校正码用于确保所有的微分非线性DNL值>-1;
基于N位数字输入码的一部分从第一组校正码中选择第一校正码;
基于所述N位数字输入码的一部分从第二组校正码中选择第二校正码;以及基于所述N位数字输入码、所选择的第一校正码以及所选择的第二校正码,产生N+M位数字输出码;以及
N+M位DAC,适于接受代码校正器所输出的N+M位数字码以及基于所接受的N+M位数字码输出模拟信号;
其中,N是≥2的整数,并且M是≥1的整数。
18.如权利要求17所述的设备,其特征在于,所述代码校正器适于:
将所述第一校正码与所述N位数字输入码相加以产生N位经INL校正代码INLCC;
将N位INLCC进行位扩展以产生N+M位INLCC;
如果N+M位INLCC需要DNL校正,则基于定标形式的第二校正码修改N+M位INLCC;以及如果N+M位INLCC不需要DNL校正,则使N+M位数字输出码等于N+M位INLCC。
19.如权利要求17所述的设备,其特征在于,所述第一组校正码和所述第二组校正码被存储在非易失性存储器中,所述非易失性存储器是所述代码校正器的部分或者以其方式能被所述代码校正器访问。
20.如权利要求17所述的设备,其特征在于,还包括:
缓冲器,适于接收由N+M位DAC输出的模拟信号;
其中所述缓冲器的输出包括所述设备的输出。

说明书全文

用于数模转换器(DAC)的积分非线性(INL)和微分非线性

(DNL)校正技术

[0001] 本申请是申请日为2010年11月11日、中国国家申请号为201010554075.6、题为“用于数模转换器(DAC)的积分非线性(INL)和微分非线性(DNL)校正技术”的申请的分案申请。
[0003] 本申请要求下述美国专利申请的优先权:
[0004] ·由Iskender Agi在2010年9月8日提交的题为“INTEGRATED NON-LINEARITY(INL)AND DIFFERENTIAL NON-LINEARITY(DNL)CORRECTION TECHNIQUES”(集成非线性(INL)和微分非线性(DNL)校正技术)(代理人案卷号ELAN-01245US2)的美国专利申请No.12/877,904;
[0005] ·由Iskender Agi在2009年11月12日提交的题为“OFFLINE LINEARITY CORRECTION TECHNIQUE FOR DIGITAL-TO-ANALOG CONVERTERS(DACS)”(用于数模转换器(DAC)的离线线性校正技术)(代理人案卷号ELAN-01245US0)的美国专利申请No.61/260,801;以及
[0006] ·由Iskender Agi在2010年8月30日提交的题为“INL AND DNL CORRECTION TECHNIQUES FOR DIGITAL-TO-ANALOG CONVERTERS(DACS)”(用于数模转换器(DAC)的INL和DNL校正技术)(代理人案卷号ELAN-01245US1)的美国专利申请No.61/378,321,它们中的每一个通过用于结合于此。

技术领域

[0007] 本发明实施例一般涉及数模转换器(DAC)、包括DAC的设备、以及与DAC一起使用以提供积分非线性(INL)校正和微分非线性(DNL)校正的方法。

背景技术

[0008] 如果当至数模转换器(DAC)的数字输入码的值增加时模拟输出始终增加,并且当至数模转换器(DAC)的数字输入码的值减小时模拟输出始终减小,那么数模转换器是单调的。换言之,对于输入码的每次增加,单调的DAC都具有在相同方向上改变的输出。在DAC中,单调性质量是重要的,特别是在控制回路中使用DAC时。这是因为当在控制回路中使用非单调DAC时,该回路会卡住(例如,在局部最小处),这会导致DAC始终在多个输入码之间触发。
[0009] 两个重要的DAC参数包括积分非线性(INL)和微分非线性(DNL),它们定义如下。
[0010] 对于DAC而言,INL(通常称为“相对正确度”)是实际DAC传递函数与直线的偏差。在对偏移和增益误差取零之后,取决于实现直线可以是理想线、最佳拟合直线或在传递函数端点之间画出的线。
[0011] 对于DAC而言,微分非线性(DNL)是连续DAC码的理想输出响应和测量输出响应之间的差。理想的DAC响应具有确实分隔开一个码(例如,1个LSB(一个最低有效位))的模拟输出值,在该情况下DNL=0。为了确保DAC是单调的,DAC必须具有小于1个最低有效位的负DNL。另一种说法,如果DNL始终大于-1,则保证DAC是单调的。
[0012] 用于提高DAC的线性的一种众所周知的技术是通过表征DAC对给定输入码确定最接近的输出电压,并且在查找表(LUT)中存储校正码。这个技术基本上取N位DAC,并且重新映射输入码以得到线性提高了的经截尾的N位DAC。该类型技术的一个挑战是对于通常情况下N的任何现实值LUT都是极大的。此外,INL最优化会导致小于-1.0的DNL值,从而产生非单调的DAC,如上所述这在控制回路的使用中是不合需要的。

发明内容

[0013] 在离线测试DAC以提高DAC的线性并确保DAC单调的期间,执行本发明的某些方法。根据一个实施例,这种方法可包括:确定适于接受N位数字输入码(例如,N=16)的DAC的多个子分段的INL值,确定可以用于减小到一范围的INL值(从而提高DAC的线性)的第一组校正码,并且将该第一组校正码存储在与DAC相关联的非易失性存储器中,以使第一组校正码可在数模转换期间访问。此外,该方法可以包括:确定用于确定INL值的多个子分段的DNL值,确定可以用于确保DNL的所有值都>-1的第二组校正码(从而确保DAC是单调的),并且将第二组校正码存储在与DAC相关联的非易失性存储器中,以使第二组校正码可在数模转换期间访问。这可包括使用分辨率的M个附加位(M是≥1的整数)来将2∧N个可能的数字输入码中的至少一些(DAC可接受的)重新映射为2∧N个以上可能的数字输出码,以确保DNL的所有值都>-1。假定使用第一组校正码执行DNL校正,可以通过测量或计算DNL值来确定DNL值。
[0014] 当将N位数字输入码转换成模拟信号时,DAC可使用本发明的某些方法。根据一个实施例,这种方法可包括:在DAC的输入处接受N位数字输入码,基于N位数字输入码的最高有效位(MSB)的预定位数X(例如,X=4)从第一组校正码中选择第一校正码,并且基于N位数字输入码从第二组校正码中选择第二校正码。该方法还可以包括基于所接受的N位数字输入码、所选择的第一校正码以及所选择的第二校正码产生N+M位数字输出码(M是≥1的整数)。此外,该方法还可以包括将N+M位数字输出码转换成模拟输出信号,其中模拟输出信号或其经缓冲形式是DAC的模拟输出。在一具体实施例中,可通过将所选择的第一校正码与所接受的N位数字输入码相加产生N+M位数字输出码以产生N位经INL校正代码(INLCC)。例如,通过将作为最低有效位的M个0位与N位INLCC级联,将该N位INLCC位扩展以产生N+M位INLCC的位。然后作出N+M位INLCC是否需要DNL校正的判定。这可通过对需要DNL校正的N+M位INLCC的范围进行计算,并且判定N+M位INLCC是否在该范围中来完成。如果N+M位INLCC需要DNL校正,则基于标定形式的第二校正码来修改N+M位INLCC,从而产生N+M位数字输出码。如果N+M位INLCC不需要DNL校正,则使N+M位数字输出码等于N+M位INLCC。
[0015] 在这些实施例中,分辨率的M个附加位(M是≥1的整数)是/用于将至少某些2∧N个可能的数字输入码(DAC可以接受的)重新映射为2∧N个以上可能的数字输出码,以确保所有DNL的值都>-1。根据具体实施例,在与DAC相关联的非易失性存储器中存储第一组校正码作为INL校正查找表(LUT),且在与DAC相关联的非易失性存储器中存储第二组校正码作为DNL校正查找表(LUT)。在这些实施例中,可以基于N位数字输入码的最高有效位(MSB)的预定位数从INL校正查找表中选择第一校正码,并且可以基于N位数字输入码的相同最高有效位(MSB)从DNL校正查找表中选择第二校正码。
[0016] 本发明的实施例还涉及一些设备,诸如DAC或包括DAC的设备。根据一个实施例,设备包括代码校正器和原始N+M位DAC。代码校正器适于接受N位数字输入码并基于N位数字输入码输出N+M位数字输出码。N+M位DAC适于接受代码校正器输出的N+M位数字码,并且基于所接受的N+M位数字码输出模拟信号。根据一个实施例,代码校正器包括适于存储用于减小到一范围的INL值的第一组校正码的第一查找表,以及适于存储用于确保所有的DNL的值都>-1的第二组校正码的第二查找表。代码校正器适于基于N位数字输入码的最高有效位的预定位数从第一查找表选择第一校正码,并且基于N位数字输入码的最高有效位的预定位数从第二查找表选择第二校正码。代码校正器基于所接受的N位数字输入码、从第一查找表选择的第一校正码以及从第二查找表选择的第二校正码而产生N+M位数字输出码。例如,代码校正器可以使从第一查找表选择的第一校正码与接受到的N位数字输入码相加以产生N位经INL校正代码(INLCC)。N位INLCC可被位扩展成N+M位,并且代码校正器可以判定N+M位INLCC是否需要DNL校正。如果N+M位INLCC需要DNL校正,则代码校正可以基于从第二查找表选择的第二校正码的定标形式来修改N+M位INLCC。如果N+M位INLCC不需要DNL校正,则代码校正可以具有等于N+M位INLCC的N+M位数字输出码。在一个实施例中,代码校正器包括和/或访问适于存储第一查找表和第二查找表的非易失性存储器。
[0017] 从下面阐明的详细说明、附图权利要求书,再有的和另外的实施例和本发明实施例的特征、方面以及优点会变得更显而易见。
[0018] 附图简述
[0019] 图1示出示例性分段的DAC。
[0020] 图2是根据本发明一实施例的示出N位DAC 200的高级示图。
[0021] 图3A示出根据本发明一实施例的图2的代码校正器的细节,其中A是N位数字输入码;B是N位INL经校正的代码(INLCC);C是N+M位INLCC(即,位扩展的INLCC);D是N+M位代码,其X个最高有效位等于通过其1LSB递增的C的最高有效位,而其余N+M-X个最低有效位全为0;E是D-DNL校正码的N+M位代码;F是等于E-C的X个位代码;G是等于DNL校正代码-F的X个位代码;H是等于C或等于C-G(取决于是否为D>C>E)的N+M位代码。
[0022] 图3B示出根据本发明另一实施例的图2的代码校正器的细节,其中A是N位数字输入码;B是N位经INL校正的代码(INLCC);C是N+M位INLCC(即,位扩展的INLCC);D’是N+M位代码,其X个最高有效位等于通过其1LSB递增的C的最高有效位,而其余N+M-X个最低有效位全为0;E’是等于D’-DNL校正码的N+M位代码;F’是等于E’-C的X个位代码;G’是等于DNL校正代码-F’的X个位代码;H是等于C或等于C-G’(取决于是否为D’>C>E’)的N+M位代码。
[0023] 图4A示出原始的未经校正的16+1位DAC的示例性INL曲线。
[0024] 图4B示出使用根据本发明一实施例的简单零阶INL校正技术的、图4A中表示的DAC的经校正INL曲线。
[0025] 图5A示出在根据本发明一实施例的INL校正之后的、图4A中表示的DAC的示例性DNL曲线。
[0026] 图5B示出根据本发明一实施例的、使用与“备用和慢生长”DNL校正技术组合的简单零阶校正INL校正技术的、图4A中所示DAC的经校正的DNL曲线。
[0027] 图6示出根据本发明一实施例的、经INL校正但尚未经DNL校正的DAC的非单调传递曲线。
[0028] 图7示出使用本发明一实施例的备用和慢生长技术的经INL校正以及DNL校正的DAC的单调传递曲线。
[0029] 图8示出20个DAC的组合INL曲线。
[0030] 图9示出与图8中所示相同的20个DAC的经组合的经校正的INL曲线,示出使用本发明一实施例得到的INL中约为2倍的提高。
[0031] 图10示出与图8和图9中所示相同的20个DAC的组合DNL曲线。
[0032] 图11示出与图8中所示相同的20个DAC的经组合的经校正的DNL曲线,示出使用本发明一实施例得到的DNL中约为2倍的提高。
[0033] 图12是根据本发明一实施例的、用于概括一种方法的高级示图,该方法在DAC的离线测试期间执行以用于提高DAC的线性和确保DAC单调。
[0034] 图13是用于概括当将N位数字输入码转换成模拟信号时DAC使用的一种方法的高级示图。

具体实施方式

[0035] 对于INL校正而言,可以使用减少INL的效果的多种技术,因为这些效果技术涉及计算要求和芯片上存储所以会导致不同的折衷方式。如下更详细描述地,在一个实施例中,可对DAC的最高有效分段(例如,图1中分段110_1)的每个子分段(除末端子分段外,用以消除INL校正产生的非故意增益误差)确定一个校正码。可使用各种校正技术,包括但不限于,零阶校正(实质上是INL偏移校正)、或一阶校正(INL曲线中的主拐点之间的线性拟合)。
[0036] 本发明的具体实施例涉及使用查找表来减小DAC的INL而无需修改DAC输出电压范围,同时仍提供单调DAC的系统、设备和方法。在某些实施例中,与现有技术查找表相比减小查找表的大小,并且优选进行最小化。
[0037] 在各种类型DAC的情况下本发明的实施例都是有用的,这些DAC包括但不限于分段DAC。为了说明的目的,图1中示出示例性分段DAC 100。参考图1,所示分段的N位DAC 100包括三个电阻器串110_1、110_2和110_3。还可以将每个电阻器串110_1、110_2和110_3称为DAC分段(或简称分段)。
[0038] 在图1的例子中,第一分段110_1包括16个等加权分压器子分段(电阻器R1_1到R16_1),这些子分段基于至DAC的16位输入码的4个最高有效位(MSB)通过开关(未示出)选择性地耦合到第二电阻器串110_2。第二分段110_2包括64个等加权分压器子分段(电阻器R1_2到R64_2),这些子分段基于至DAC的16位输入码的后续6个位通过开关(未示出)选择性地耦合到第三分段110_3。第三电阻器串110_3包括64个等加权分压器子分段(电阻器R1_3到R64_3),这些子分段基于至DAC的16位输入码的6个最低有效位通过开关(未示出)选择性地耦合到DAC的输出。第一电阻器串110_1的电阻器加权得最多,而第三电阻器串110_3的电阻器加权得最少。
[0039] 分段DAC 100还包括解码器120,该解码器120接收至DAC的N位数字输入码(例如16位),并且控制DAC中的开关以确定接入和切断各个分段中的哪些电阻器以在DAC输出处产生模拟电压。任选缓冲器112被示为包括在内以隔离各个分段。这仅是分段DAC的一个例子,这并非意味着限制。已经提供了图1中的示例性分段DAC从而提供了可使用本发明实施例的DAC的一个例子。然而,对于阅读本说明书的熟悉本领域普通技术的人员,很清楚的是本发明的实施例可使用各种其它类型的DAC。
[0040] 例如,当第二最高有效DAC分段(例如,110_2)被接入最高有效DAC分段(例如,110_1)的子分段之一(例如,R1_1到R1_16)或与之断开时,主进位传递发生在诸如DAC 100之类的分段DAC中。由于最高有效DAC分段的子分段失配,这种DAC会在这种主进位传递时经历非单调性能。
[0041] 根据本发明的具体实施例,使用N+M位DAC来提高线性、减少INL效果、并且确保DNL始终大于-1(即,大于或等于0,或在-0.999…和0之间),从而始终提供单调DAC。
[0042] 图2是示出根据本发明这种实施例的N位DAC 200的高级示图。如下更详细描述地,将对该DAC 200进行测试且在测试时进行截尾,并且将校正码存储在非易失性存储器(例如,EEPROM或熔丝)中的芯片上,而且在需要时(例如,在启动和在DAC输入码写入时),可读出和处理校正码。
[0043] 参考图2,N位DAC 200包括代码校正器230和N+M位DAC 240,其中M是大于或等于1的整数。还可以在N+M位DAC 240的输出处(在N位DAC200中或N位DAC 200外部)添加任选缓冲器250。根据本发明的实施例,在图3A和3B中示出代码校正器230的其它细节。例如,N+M位DAC 240可以与图1所示的N位DAC相像,但是在最低有效分段110_3中有26+M个电阻器。例如,如果M=1,则分段110_3可以包括27(即,128)个电阻器而不是26(即,64)个电阻器,而其它分段(110_1和110_2)可以与图1所示的相同。
[0044] 代码校正器
[0045] 参考图2和3A,将通过N位DAC 200接收到的N位数字输入码(标号A)提供给代码校正器230。
[0046] 参考图3A,根据一个实施例,代码校正器230包括INL校正查找表302和DNL校正查找表304。INL校正查找表302存储INL校正码,而DNL校正查找表304存储DNL校正码。下面参考图4A和4B描述用于产生INL校正码的示例性技术。下面参考图5A、5B、6和7描述用于产生DNL校正码的示例性技术。
[0047] 参考图3A,INL校正查找表302使用N位数字输入码(标号A)的最高有效位(MSB)的预定位数X来选择INL校正码(例如,X=4)。在一个实施例中,INL校正码包括X个符号位,其中X个符号位的最高有效位(MSB)表示代码是正的还是负的。通过加法器306将使用INL校正查找表302选择的INL校正码与N位数字输入码(标号A)相加,以产生仍是N位的经INL校正代码(INLCC)(标号B)。通过使N位代码位扩展到N+M位代码来使N位INLCC(标号B)转换成N+M位INLCC(标号C)。这可通过将N位INLCC与作为最低有效位(LSB)的M个0位级联来实现。根据一个实施例,M=1。然而,可选地M可以是大于1的其它整数。根据一实施例,预定位数X(即,查找表302所使用的最高有效位的位数)取决于最高有效DAC分段(例如,图1中的110_1)中的子分段(例如,图1中的R1_1到R16_1)的数量。更具体地,X=log2(最高有效分段中的子分段数量)。因此,对于图1的示例性分段DAC 100,X=log2(16)=4。
[0048] 将N+M位INLCC(标号C)提供给减法器310以产生提供给N+M位DAC240(如图2所示)的N+M位输出码(标号H)。如果N+M位INLCC(标号C)对应于经INL校正的DAC的传递曲线的非单调部分,则需要DNL校正,在该情况中减法器310从N+M位INLCC(标号C)减去X个无符号位(标号G),从而导致H=C-G。如以下参考图6和7描述地,这实质上将N+M位INLCC(标号C)重新映射在传递曲线下面,以便于避开传递曲线的非单调部分。分辨率的M个附加位允许其发生。如果N+M位INLCC(标号C)对应于经INL校正的DAC的传递曲线的单调部分,则不需要DNL校正,并且减法器310从N+M位INLCC(标号C)减去X个0位(例如,4个0位),从而导致N+M位输出码(标号H)等于N+M位INLCC(标号C)。
[0049] 根据一个实施例,可如下所述地产生用于DNL校正的X个无符号位。
[0050] 仍参考图3A,DNL校正查找表304还使用N位数字输入码的最高有效位的预定位数X来选择DNL校正码。在一个实施例中,DNL校正码包括X个无符号位(例如,X=4)。
[0051] 如框312所示,通过X个最高有效位中的1个最低有效位来递增N+M位INLCC(标号C)的X个最高有效位,并且用0位来代替N+M位INLCC的其余N+M-X个最低有效位,以产生N+M位代码(标号D)。例如,假定N=16、M=1、X=4以及N+M位INLCC(标号C)是01101010101010101,则N+M位代码(标号D)为01110000000000000。换言之,4个最高有效位0110通过4个最高有效位的1个最低有效位递增而变成为0111,而用0位来代替其余13个最低有效位1010101010101而成为0000000000000,产生01110000000000000。N+M位代码(标号D)对应于引起主进位传递的下一个较高代码值。
[0052] 通过减法器314从N+M位代码(标号D)中减去使用DNL校正查找表304选择的DNL校正码以产生N+M位代码(标号E)。N+M位代码(标号D)和N+M位代码(标号E)定义与经INL校正的DAC传递曲线的非单调部分相对应的代码值的范围,且代码D是该范围的低端,而代码E是该范围的高端。换言之,如果INLCC(标号C)具有使得D>C>E的值,则需要DNL校正。
[0053] 通过减法器316从N+M位代码(标号D)减去N+M位INLCC(标号C),以产生N+M位代码(标号F),它规定INLCC(标号C)在代码D之下有多远。减法器318从使用DNL校正查找表304选择的DNL校正码减去它的N+M位代码(标号F),以产生X个无符号位(标号G)。该X个无符号位(标号G)实质上是标定的DNL校正码。对于图3A中的代码校正器230,所选择的DNL校正码的标定进行如下。N+M位INLCC(标号C)越接近D,F就越小,从而导致G的值接近所选择的DNL校正码的值(因为只从所选择的DNL校正码中减去小的F来产生G)。N+M位INLCC(标号C)离D越远,F就越大,从而导致G的值比所选择的DNL校正码小得多(因为从所选择的DNL校正码中减去较大的F来产生G)。
[0054] 当需要时,使用X个无符号位(标号G)将N+M位INLCC(标号C)重新映射到传递曲线下面,以便于避开传递曲线的非单调部分。更具体地,在框320,判定D>C>E是真的还是假的。如果D>C>E是真的,则这意味着应该使N+M位INLCC(标号C)重新映射到传递曲线下面,以便于避开传递曲线的非单调部分。这是通过从N+M位INLCC(标号C)中减去X个无符号位(标号G)以产生提供给N+M位DAC 240的N+M位输出码(标号H)而完成的。如果在框320判定D>C>E是假的,则意味着N+M位INLCC(标号C)对应于经INL校正的DAC的传递曲线的单调部分,并且不需要DNL校正,在该情况中减法器310从N+M位INLCC(标号C)减去X个0位(例如,4个0位),从而导致N+M位输出码(标号H)等于N+M位INLCC(标号C)。
[0055] 参考图3A描述的DNL校正对应于“备用和慢生长”DNL校正技术,这将在下面进一步说明。可以使用“前进和慢生长”DNL校正技术来代替使用“备用和慢生长”,这也在下面进一步说明。图3B所示的代码校正器230’对应于“前进和慢生长”DNL校正技术。在图3B中,与图3A部件相同的部件使用相同的标号。与图3A比较,图3B中已经改变的部件使用相同的标号但是后面有一个撇号(例如,320改变成320’)。图3B和3A的比较示出例如某些减法器已经变成加法器以及其它改变。
[0056] INL校正的示例性说明
[0057] 为了说明本发明实施例的INL校正技术的效果,将该校正技术应用于N=16和M=1(即,16+1位分段的DAC)。例如,16+1位DAC可以与图1所示的N位DAC 100相像,但是在最低有效分段110_3中,用27(即,128)个电阻器来代替26(即,64)个电阻器,其它分段110-1和110-2与图1所示的相同。这在以上也作过说明。
[0058] 图4A示出原始的、未校正的16+1位DAC的示例性INL曲线。在图4A中,最大的正INL约为+7(对于子分段4和7),而最大的负INL(即,最负INL)约为-4(对于子分段15)。因此,可以说INL具有[+7,-4]的范围。
[0059] 根据一个实施例,为了校正INL,使用零阶(或更高阶)校正来校正最高有效分段的非末端子分段。例如,参考图1,分段110-1是最高有效分段,它包括16个子分段。因此,根据一个实施例,可以对非末端子分段(即,14个中间子分段)的每一个确定校正码。换言之,对除末端子分段之外的最高有效分段的所有子分段执行INL校正。保持末端子分段不作校正,以确保DAC电压范围的使用。
[0060] 根据一个实施例,对于已经校正了INL的每个子分段,通过取测量到的INL值的(所有代码的,或仅仅是最小值和最大值的)平均的负值来计算INL校正码。参考图4A的INL曲线,可以看到,对于子分段2,平均INL约为+1,对于子分段3,平均INL约为+5,对于子分段4,平均INL约为+6…对于子分段14,平均INL约为-2,以及对于子分段15,平均INL约为-3。因此,对于其INL如图4A中所示的DAC的校正可以是:[0,-1,-5,-6,…,+2,+3,0]。如果每个校正码是4位,并且正在存储14个校正码(因为末端子分段不需要存储),则可以存储总数4×14=56个INL校正位。在本例中,56个INL校正位可以是图3A和3B中的INL校正查找表302,或包括在图3A和3B中的INL校正查找表302中。
[0061] 图4B示出使用简单零阶校正技术的(关于图4A中以前表示的DAC的)经校正的INL曲线。图4B示出INL已经从图4A中表示的原始DAC的[+7,-4]范围减小到[+1.5,-3.5]范围,降了约2倍。
[0062] DNL校正的示例性说明
[0063] 图5A示出在上述INL校正之后的同一个16+1位DAC的示例性DNL曲线。此时,可以将DAC称为经INL校正的DAC。注意,存在许多比-1更负的负DNL尖峰,这使DAC变成非单调的。根据一个实施例,通过使用N+M位DAC的额外分辨率,使用“备用和慢生长”或“前进和慢生长”DNL校正技术对将使DAC成为非单调的负DNL尖峰进行校正,以压缩负的DNL事件之前的代码来避开所有负DNL事件。
[0064] 图5B示出已经使用这里描述的技术经过INL和DNL两种校正的DAC的DNL。更具体地,图5B示出使用与“备用和慢生长”DNL校正技术结合的简单零阶校正INL校正技术的经校正DNL曲线。注意,与图4B相比存在许多更负的DNL点。这些负的DNL事件是原始DAC的固有DNL的结果以及通过上述INL和DNL校正技术引入的负DNL的结果。然而,有利地,DNL范围已经从[+2.5,-3.5]范围减小到[+2.5,-0.5]范围,相对于未校正DAC降了约2倍。在本例中,DNL校正需要用于DNL校正的另外4×14=56位。在本例中,这56个DNL校正位是图3A和3B中的DNL校正查找表304或包括在图3A和3B中的DNL校正查找表304中。
[0065] 图5B示出使用与“备用和慢生长”DNL校正技术结合的简单零阶校正INL校正技术的经校正DNL曲线,现在将进行描述。
[0066] 根据一个实施例,“备用和慢生长”DNL校正技术从测量或计算经INL校正的DAC的DNL开始。上述图5A示出经INL校正DAC的测量到的或计算出的DNL。如果DNL比-1更负,则使一个或多个N+M位INLCC重新映射到传递曲线下面并且使之紧凑,以便于避免传递曲线中的DNL<-1事件。可以如此进行是因为过度提供,即,N+M位DAC的M个附加位分辨率。
[0067] 现在将使用图6和7较佳地说明“备用和慢生长”技术。图6示出已经经过INL校正但是尚未经过DNL校正的DAC的传递曲线。从图6可以理解,经INL校正的DAC具有非单调的传递函数,即,它具有DNL<-1。图7示出通过压缩增量可以就在DNL<-1事件之前将原始代码重新映射为N+M DAC中的较低代码,从而产生单调的传递函数。在图7中,使三个原始代码重新映射以得到单调的DAC。可以使用另外的但是相似的方法将代码重新映射到传递曲线上面(与图7中传递曲线下面相反),并且相似地压缩经重新映射的代码。可以将这种另外的技术称为“前进和慢生长”技术,并且会产生等效的单调结果。可以使用图3B中的代码校正器230’来实现“前进和慢生长”技术。
[0068] 使用以伪-Matlab代码写出的以下示例性校正程序来测试本发明的具体实施例的INL和DNL校正技术:
[0069]
[0070]
[0071] 对于20条不同的DAC样本曲线执行Monte-Carlo(蒙特卡洛)模拟。图8示出20个DAC(尚未经过INL校正)的经组合INL曲线。图9示出相同的20个DAC(在使用本发明实施例进行INL校正之后)的经组合经校正的INL曲线,示出INL中约为2倍的改进。图10示出相同的20个DAC(尚未经过DNL校正)的经组合的DNL曲线。图11示出相同的20个DAC(在使用本发明实施例进行DNL校正之后)的经组合经校正的DNL曲线,示出DNL中约为2倍的改进。
[0072] 本发明的实施例提供用于M+N位DAC的INL和DNL校正技术。模拟已经示出使用16+1位DAC中的额外分辨率而提高INL和DNL性能的优良结果。所示的例子符合Monte Carlo模拟的提高平。
[0073] 图12是根据本发明实施例的、用于概括在DAC的离线测试期间执行的、用于提高DAC的线性以及确保DAC是单调的一种方法的高级示图。参考图12,在步骤1202,对于适于接受N位数字输入码(例如,N=16)的DAC的多个子分段,确定INL值(例如,在离线测试期间测量)。例如,子分段可以是分段DAC(例如,与图1所示的DAC相似的)的最高有效分段的电阻器串中的电阻器。在步骤1204,确定可以用来减小到一INL值范围(从而提高DAC的线性)的第一组校正码,并且在步骤1206,将第一组校正码(例如,作为第一查找表)存储在与DAC相关联的非易失性存储器中,以使第一组校正码可在数码转换期间访问。在步骤1208,确定用于确定INL值的多个子分段的DNL值。假定使用第一组校正码执行INL校正,就可以测量或计算这些DNL值。在步骤1201,确定可以用来确保所有的DNL值>-1(从而确保DAC单调)的第二组校正码,并且在步骤1212,将第二组校正码(例如,作为第二查找表)存储在与DAC相关联的非易失性存储器中,以使第二组校正码可在数模转换期间访问。可以使用在步骤1210和1212与M(M是≥1的整数)个分辨率附加位一起存储的代码,使2∧N个可能的数字输入码中的至少某一些重新映射,DAC可以接受这些至少某一些代码以确保所有的DNL值>-1。
[0074] 图13是用来概括当将N位数字输入码转换成模拟信号时DAC(已经对其执行过图12的方法)使用的一种方法的高级示图,其中N是≥2的整数,而其中N最好≥6,甚至更好≥8。参考图13,在步骤1302,在DAC的输入处接受N位数字输入码。在步骤1304,基于N位数字输入码的最高有效位的预定位数(例如4),从第一组校正码(可以称之为INL校正码组)中选择第一校正码(可以称之为INL校正码)。在步骤1306,基于N位数字输入码的最高有效位的预定位数(例如4),从第二组校正码(可以称之为DNL校正码组)中选择第二校正码(可以称之为DNL校正码)。在步骤1308,基于所接受的N位数字输入码、所选择的第一校正码以及所选择的第二校正码产生N+M位数字输出码(M是≥1的整数)。在步骤1310,将N+M位数字输出码转换成模拟输出信号。参考图2,N+M位DAC 240可以执行步骤1310。模拟输出信号或其经缓冲形式是DAC 200的模拟输出。
[0075] 再参考图13,根据一个实施例,步骤1308可以包括步骤1312-320。在步骤1312,将所选择的第一校正码与所接受的N位数字输入码相加以产生INL经校正的码(INLCC),在步骤1314将INLCC进行位扩展以产生N+M位INLCC(例如,通过将作为最低有效位的M个0位与N位INLCC级联)。在步骤1316,判定N+M位INLCC是否需要DNL校正。这可以通过计算需要DNL校正的N+M位INLCC的范围,并且判定N+M位INLCC是否在该范围内来完成。如果N+M位INLCC需要DNL校正,则基于定标形式的第二校正码修改N+M位INLCC,从而产生N+M位数字输出码,如在步骤1318表示的。如果N+M位INLCC不需要DNL校正,则N+M位数字输出码等于N+M位INLCC,如在步骤1320表示的。
[0076] 可以使用根据本发明的实施例校正的DAC,例如,在控制系统(例如,达控制)中、与视频和音频一起使用、用于照明控制、用于电压基准,但是不局限于这些。
[0077] 上述说明是本发明较佳实施例的说明。已经为了示意和说明的目的而提供了这些实施例,但是并不旨在穷尽本发明或将本发明限制于所揭示的精确形式。许多修改和变化对于熟悉本领域的技术人员是显而易见的。选择和描述一些实施例以便最佳地描述本发明的原理及其实际应用,从而使其它熟悉本领域的技术人员可以理解本发明。相信稍微的修改和变化都落在本发明的精神和范围内。旨在使所附的权利要求书及其等效物来定义本发明的范围。
QQ群二维码
意见反馈