用于电流舵dac的dem编码方法

文档序号:7521864阅读:543来源:国知局
专利名称:用于电流舵dac的dem编码方法
技术领域
本发明涉及DEM编码领域,特别涉及一种用于电流舵DAC的DEM编码方法。
背景技术
由于生产工艺的偏差和工作温度、电压的不一致,芯片元件(比如晶体管尺寸、阈值电压和电阻阻值等)会出现失配,这会严重影响系统的性能,尤其是线性度。DEM(Dynamic Element Matching,动态元素匹配)编码方法能够将元件失配引起的失真转化为噪声,从而有效提高系统的线性度,因而广泛应用于各种结构的ADC和DAC中。图1是传统的包含DEM 模块的DAC的工作原理图。如图1所示,DAC的数字输入经过DEM模块编码后,输出M个数字位(图1中C1到Cm),所述M个数字位分别经过一个1位子DAC转换为M个子模拟输出 (图1中Y1到yM),所述M个子模拟输出合成最终的模拟输出(图1中y)。然而,传统DEM编码方法(比如Data Weighted Averaging, DffA)会急剧增大每采样周期跳变的开关数,而过多的开关跳变会导致较大的动态误差(开关跳变不同步、时钟馈通等),这也会影响系统的性能。

发明内容
(一 )要解决的技术问题本发明要解决的技术问题是如何提供一种用于电流舵DAC的DEM编码方法,以便在将失配引起的失真转换为噪声的同时,减小每个采样周期的开关跳变数。( 二 )技术方案为解决上述技术问题,本发明提供一种用于电流舵DAC的DEM编码方法,其包括以下步骤SlOO 判断所述电流舵DAC的当前周期的数字输入Input (η)与所述电流舵DAC的前一周期的数字输入hput(n-l)的大小关系;如果^iput(Ii)等于^iput(Ii-I),执行S200 ; 如果 Input (η)大于 Input (n_l),执行 S300 ;如果 Input (η)小于 Input (n_l),执行 S400 ;S200 保持DEM模块的输出不变,保持指针I3Start和指针Pend的值不变;S300 对所述DEM模块的输出进行第一置位操作,并且相应地修改所述指针 Pstart和指针Pend的值;S400 对所述DEM模块的输出进行第二置位操作,并且相应地修改所述指针 Pstart和指针Pend的值。优选地,在所述步骤SlOO之前还包括步骤S000 设定所述指针I3Start的初始值为1 ;设定所述指针Pend的初始值为所述电流舵DAC的第一个周期的数字输入Input (1)。优选地,所述步骤S300具体包括步骤S301 判断Pstart+hput(n)-l与所述DEM模块的输出位数M的大小关系;如果 Pstart+Input(n)-1 不大于 M,执行 S302 ;否则,执行 S303 ;S302 将所述DEM模块的输出中,从所述指针Pstart的值对应的数位到Pstart+Input(n)-1的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针 Pend 的值为 Pstart+Input(n)-1 ;S303 将所述DEM模块的输出中,从所述指针I^start的值对应的数位到M对应的数位均置位为1,从第1位到Pstart+hputOO-l-M的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+hput(n)-l-M。优选地,所述步骤S400具体包括步骤S401 判断Pend-Input (η)+1是否小于1,如果不小于,执行S402,否则,执行 S403 ;S402 将所述DEM模块的输出中,从Pend-Input (η)+1的值对应的数位到所述指针Pend的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为 Pend-Input(η)+1 ;S403 将所述DEM模块的输出中,从第1位到所述指针Pend的值对应的数位均置位为1,从Pend-Input (η) +1+Μ的值对应的数位到M对应的数位均置位为1,其他数位置位为0,然后修改所述指针I^start的值为Pend-Input (η) +1+Μ ;所述M为所述DEM模块的输出位数。优选地,如果所述DEM模块的输出经过置位操作后所有数位均为1或者均为0,则修改所述指针I3Start的值为Pstart+Num,然后修改所述指针Pend的值为Pstart-I ;所述 Num为对应所述电流舵DAC的当前周期的数字输入Input (η)的位数的常值。优选地,修改所述指针I3Start的值为I^start+Num后,如果I3Start为1,则修改所述指针Pend的值为M0(三)有益效果本发明的用于电流舵DAC的DEM编码方法,其DEM模块的输出具有一定的随机性, 能将失配引起的失真转换为噪声,同时,有效减少了每周期跳变开关数,从而有效减小开关跳变引起的动态误差。


图1是传统的包含DEM模块的DAC的工作原理图;图2是本发明实施例所述用于电流舵DAC的DEM编码方法的流程图;图3本发明实施例所述用于电流舵DAC的DEM编码方法的编码过程示意图;图4是采用本发明实施例所述用于电流舵DAC的DEM编码方法的DAC的电路静态特性图;图5是采用本发明实施例所述用于电流舵DAC的DEM编码方法的DAC的SFDR特性图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图2是本发明实施例所述用于电流舵DAC的DEM编码方法的流程图。如图2所示, 所示方法包括
步骤S000 设定指针I3Start的初始值为1 ;设定指针Pend的初始值为所述电流舵 DAC的第一个周期的数字输入hput(l)。步骤SlOO 判断所述电流舵DAC的当前周期的数字输入^iput(Ii)与所述电流舵 DAC的前一周期的数字输入Input (n-1)的大小关系;如果Input (η)等于Input (η-1), Α 行 S200 ;如果 Input (η)大于 Input (n-1),执行 S300 ;如果 Input (η)小于 Input (n-1),执行 S400。步骤S200 保持DEM模块的输出不变,保持所述指针I3Start和指针Pend的值不变。步骤S300 对所述DEM模块的输出进行第一置位操作,并且相应地修改所述指针 Pstart和指针Pend的值。所述步骤S300具体包括步骤S301 判断Pstart+hputOO-l与所述DEM模块的输出位数M的大小关系; 如果Pstart+Input(n)-1不大于M,执行S302 ;否则,执行S303。步骤S302 将所述DEM模块的输出中,从所述指针I^start的值对应的数位到 Pstart+Input(n)-1的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针 Pend 的值为 Pstart+Input(n)-1。步骤S303 将所述DEM模块的输出中,从所述指针I^start的值对应的数位到M对应的数位均置位为1,从第1位到Pstart+hput(n)-l-M的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+hput(n)-l-M。步骤S400 对所述DEM模块的输出进行第二置位操作,并且相应地修改所述指针 Pstart和指针Pend的值。 所述步骤S400具体包括步骤S401 判断Pend-Input (η)+1是否小于1,如果不小于,执行S402,否则,执行 S403。步骤S402 将所述DEM模块的输出中,从Pend-Input (η) +1的值对应的数位到所述指针Pend的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针I3Start的值为 Pend-Input (η) +1。步骤S403 将所述DEM模块的输出中,从第1位到所述指针Pend的值对应的数位均置位为1,从Pend-Input (η) +1+Μ的值对应的数位到M对应的数位均置位为1,其他数位置位为0,然后修改所述指针I3Start的值为Pend-Input (η)+1+Μ。如果所述DEM模块的输出经过所述步骤S300或者步骤S400的置位操作后所有数位均为1或者均为0,则修改所述指针I3Start的值为Pstart+Num,然后修改所述指针Pend 的值为Pstart-I ;所述Num为对应所述电流舵DAC的当前周期的数字输入^iput(Ii)的位数的常值,可以通过仿真实验确定,一般为DEM模块的输出位数M的四分之一取整。其中,修改所述指针I3Start的值为Pstart+Num后,如果I3Start为1,则修改所述指针Pend的值为M。图3是本发明实施例所述用于电流舵DAC的DEM编码方法的编码过程示意图。如图3所示,第1周期时所述电流舵DAC的数字输入为3。设定所述指针I^start的初始值为 1,设定所述指针Pend的初始值为3。
第2周期时所述电流舵DAC的数字输入为7,大于所述第1周期时所述电流舵DAC 的数字输入3,并且f^start+hputOO-l = 7,不大于所述DEM模块的输出位数M = 15,则所述DEM模块的输出中从第1位到第7位的数位均置位为1,剩余的从第8位到第15位的数位均置位为0,修改所述指针Pend的值为7。第3周期时所述电流舵DAC的数字输入为12,大于所述第2周期时所述电流舵DAC 的数字输入7,并且I^start+hput (η) -1 = 12,不大于所述DEM模块的输出位数M = 15,则所述DEM模块的输出中从第1位到第12位的数位均置位为1,剩余的从第13位到第15位的数位均置位为0,修改所述指针Pend的值为12 ;第4周期时所述电流舵DAC的数字输入为6,小于所述第3周期时所述电流舵DAC 的数字输入12,并且Pend-Input (η) +1 = 7,不小于1,则所述DEM模块的输出中从第7位到第12位的数位均置位为1,剩余的从第1位到第6位以及从第13位到第15位的数位均置位为0,修改所述指针I^start的值为7。第5周期时所述电流舵DAC的数字输入为15,大于所述第4周期时所述电流舵DAC 的数字输入6,并且f^start+hputOO-l = 21,大于所述DEM模块的输出位数M = 15,则从第7位到第1 5位均置位为1,从第1位到第6位均置位为1。这时所有输出为都被置位为 1,修改所述指针I3Start的值为I^start+Num =11,然后修改所述指针Pend的值为I3Start-I =10。其中所述Num取常值为4。第6周期时所述电流舵DAC的数字输入为9,小于所述第5周期时所述电流舵DAC 的数字输入15,并且Pend-Input (η) +1 = 2,不小于1,则所述DEM模块的输出中从第2位到第10位的数位均置位为1,剩余的第1位以及从第11位到第15位的数位均置位为0,修改所述指针I3Start的值为2。第7周期时所述电流舵DAC的数字输入为0,小于所述第6周期时所述电流舵DAC 的数字输入9,并且Pend-Input (n)+1 = 11,不小于1,则所述DEM模块的输出中所有数位均置位为0,修改所述指针I3Start的值为I^start+Num = 6,然后修改所述指针Pend的值为 Pstart-I = 5。第8周期时所述电流舵DAC的数字输入为2,大于所述第7周期时所述电流舵DAC 的数字输入0,并且I^start+Input (η)-1 = 6不大于所述DEM模块的输出位数M = 15,则所述DEM模块的输出中从第6位到第7位的数位均置位为1,剩余的第1位到第5位以及从第 8位到第15位的数位均置位为0,修改所述指针Pend的值为7。通过Matlab建模仿真电流源静态失配对6位DAC性能的影响。图4是采用本发明实施例所述用于电流舵DAC的DEM编码方法的DAC的电路静态特性图。我们将电流源标准差置为10%,仿真100次,得出采用本发明实施例所述用于电流舵DAC的DEM编码方法的DAC的静态特性如图4所示,其中,左部是积分非线性分布直方图,右部是差分非线性分布直方图。图5是采用本发明实施例所述用于电流舵DAC的DEM编码方法的DAC的SFDR特性图。我们将采样频率设为300MHz,仿真得出采用本发明实施例所述用于电流舵DAC的DEM 编码方法的DAC的输入频率较低(IOMHz)和较高(90MHz)时的SFDR特性如图5所示。其中,图5中左半部分为输入频率较低时的SFDR特性图,图5中右半部分为输入频率较高时的SFDR特性图。
上述仿真结果表明,本发明实施例所述用于电流舵DAC的DEM编码方法,不仅有很好的静态特性,同时在不同的输入频率下都有很好的SFDR(Spurious Free Dynamic range,无杂散动态范围)特性。本发明实施例所述用于电流舵DAC的DEM编码方法,有效减少了每周期跳变开关数,从而有效减小开关跳变引起的动态误差;输出具有一定的随机性,能将失配引起的失真转换为噪声。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种用于电流舵DAC的DEM编码方法,其特征在于,包括以下步骤SlOO 判断所述电流舵DAC的当前周期的数字输入^iput(II)与所述电流舵DAC的前一周期的数字输Ahput (Π-1)的大小关系;如果^iput(II)等于^iput(Ii-I),执行S200 ;如果 Input (η)大于 Input (n_l),执行 S300 ;如果 Input (η)小于 Input (n_l),执行 S400 ;S200 保持DEM模块的输出不变,保持指针I3Start和指针Pend的值不变;5300对所述DEM模块的输出进行第一置位操作,并且相应地修改所述指针I3Start和指针Pend的值;5400对所述DEM模块的输出进行第二置位操作,并且相应地修改所述指针I3Start和指针Pend的值。
2.如权利要求1所述的方法,其特征在于,在所述步骤SlOO之前还包括步骤S000设定所述指针I3Start的初始值为1 ;设定所述指针Pend的初始值为所述电流舵DAC的第一个周期的数字输入hput(l)。
3.如权利要求1所述的方法,其特征在于,所述步骤S300具体包括步骤5301判断Pstart+hput (η) _1与所述DEM模块的输出位数M的大小关系;如果 Pstart+Input(n)-1 不大于 M,执行 S302 ;否则,执行 S303 ;5302:将所述DEM模块的输出中,从所述指针Pstart的值对应的数位到 Pstart+Input(n)-1的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针 Pend 的值为 Pstart+Input(n)-1 ;5303将所述DEM模块的输出中,从所述指针I3Start的值对应的数位到M对应的数位均置位为1,从第1位到Pstart+hputOO-l-M的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+hput(n)-l-M。
4.如权利要求1所述的方法,其特征在于,所述步骤S400具体包括步骤5401判断Pend-Input (η)+1是否小于1,如果不小于,执行S402,否则,执行S403 ;5402将所述DEM模块的输出中,从Pend-Input (η)+1的值对应的数位到所述指针 Pend的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针I^tart的值为 Pend-Input(η) +1 ;5403将所述DEM模块的输出中,从第1位到所述指针Pend的值对应的数位均置位为 1,从Pend-Input (η) +1+Μ的值对应的数位到M对应的数位均置位为1,其他数位置位为0, 然后修改所述指针Pstart的值为Pend-Input (η)+1+Μ;所述M为所述DEM模块的输出位数。
5.如权利要求3或者4所述的方法,其特征在于,如果所述DEM模块的输出经过置位操作后所有数位均为1或者均为0,则修改所述指针I^start的值为Pstart+Num,然后修改所述指针Pend的值为Pstart-I ;所述Num为对应所述电流舵DAC的当前周期的数字输入 Input (η)的位数的常值。
6.如权利要求5所述的方法,其特征在于,修改所述指针I3Start的值为Pstart+Num 后,如果I^start为1,则修改所述指针Pend的值为M。
全文摘要
本发明公开了一种用于电流舵DAC的DEM编码方法,涉及DEM编码领域。所述方法包括步骤判断电流舵DAC的当前周期的数字输入Input(n)与前一周期的数字输入Input(n-1)的大小关系;如果相等,保持DEM模块的输出不变,保持指针Pstart和Pend的值不变;如果Input(n)大于Input(n-1),对DEM模块的输出进行第一置位操作,修改Pstart和Pend的值;如果Input(n)小于Input(n-1),进行第二置位操作,修改Pstart和Pend的值。所述方法,有效减少了每周期跳变开关数,从而减小了开关跳变引起的动态误差。
文档编号H03M1/66GK102324939SQ20111018245
公开日2012年1月18日 申请日期2011年6月30日 优先权日2011年6月30日
发明者张兴, 王源, 苏炜, 贾嵩, 赵俊雷 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1