CN102324939B - 用于电流舵dac的dem编码方法 - Google Patents
用于电流舵dac的dem编码方法 Download PDFInfo
- Publication number
- CN102324939B CN102324939B CN201110182455.6A CN201110182455A CN102324939B CN 102324939 B CN102324939 B CN 102324939B CN 201110182455 A CN201110182455 A CN 201110182455A CN 102324939 B CN102324939 B CN 102324939B
- Authority
- CN
- China
- Prior art keywords
- input
- pstart
- value
- pend
- pointer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Analogue/Digital Conversion (AREA)
Abstract
本发明公开了一种用于电流舵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的值。所述方法,有效减少了每周期跳变开关数,从而减小了开关跳变引起的动态误差。
Description
技术领域
本发明涉及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,DWA)会急剧增大每采样周期跳变的开关数,而过多的开关跳变会导致较大的动态误差(开关跳变不同步、时钟馈通等),这也会影响系统的性能。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种用于电流舵DAC的DEM编码方法,以便在将失配引起的失真转换为噪声的同时,减小每个采样周期的开关跳变数。
(二)技术方案
为解决上述技术问题,本发明提供一种用于电流舵DAC的DEM编码方法,其包括以下步骤:
S100:判断所述电流舵DAC的当前周期的数字输入Input(n)与所述电流舵DAC的前一周期的数字输入Input(n-1)的大小关系;如果Input(n)等于Input(n-1),执行S200;如果Input(n)大于Input(n-1),执行S300;如果Input(n)小于Input(n-1),执行S400;
S200:保持DEM模块的输出不变,保持指针Pstart和指针Pend的值不变;
S300:对所述DEM模块的输出进行第一置位操作,并且相应地修改所述指针Pstart和指针Pend的值;
S400:对所述DEM模块的输出进行第二置位操作,并且相应地修改所述指针Pstart和指针Pend的值。
优选地,在所述步骤S100之前还包括步骤S000:设定所述指针Pstart的初始值为1;设定所述指针Pend的初始值为所述电流舵DAC的第一个周期的数字输入Input(1)。
优选地,所述步骤S300具体包括步骤:
S301:判断Pstart+Input(n)-1与所述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模块的输出中,从所述指针Pstart的值对应的数位到M对应的数位均置位为1,从第1位到Pstart+Input(n)-1-M的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+Input(n)-1-M。
优选地,所述步骤S400具体包括步骤:
S401:判断Pend-Input(n)+1是否小于1,如果不小于,执行S402,否则,执行S403;
S402:将所述DEM模块的输出中,从Pend-Input(n)+1的值对应的数位到所述指针Pend的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend-Input(n)+1;
S403:将所述DEM模块的输出中,从第1位到所述指针Pend的值对应的数位均置位为1,从Pend-Input(n)+1+M的值对应的数位到M对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend-Input(n)+1+M;所述M为所述DEM模块的输出位数。
优选地,如果所述DEM模块的输出经过置位操作后所有数位均为1或者均为0,则修改所述指针Pstart的值为Pstart+Num,然后修改所述指针Pend的值为Pstart-1;所述Num为对应所述电流舵DAC的当前周期的数字输入Input(n)的位数的常值。
优选地,修改所述指针Pstart的值为Pstart+Num后,如果Pstart为1,则修改所述指针Pend的值为M。
(三)有益效果
本发明的用于电流舵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:设定指针Pstart的初始值为1;设定指针Pend的初始值为所述电流舵DAC的第一个周期的数字输入Input(1)。
步骤S100:判断所述电流舵DAC的当前周期的数字输入Input(n)与所述电流舵DAC的前一周期的数字输入Input(n-1)的大小关系;如果Input(n)等于Input(n-1),执行S200;如果Input(n)大于Input(n-1),执行S300;如果Input(n)小于Input(n-1),执行S400。
步骤S200:保持DEM模块的输出不变,保持所述指针Pstart和指针Pend的值不变。
步骤S300:对所述DEM模块的输出进行第一置位操作,并且相应地修改所述指针Pstart和指针Pend的值。
所述步骤S300具体包括:
步骤S301:判断Pstart+Input(n)-1与所述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模块的输出中,从所述指针Pstart的值对应的数位到M对应的数位均置位为1,从第1位到Pstart+Input(n)-1-M的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+Input(n)-1-M。
步骤S400:对所述DEM模块的输出进行第二置位操作,并且相应地修改所述指针Pstart和指针Pend的值。
所述步骤S400具体包括:
步骤S401:判断Pend-Input(n)+1是否小于1,如果不小于,执行S402,否则,执行S403。
步骤S402:将所述DEM模块的输出中,从Pend-Input(n)+1的值对应的数位到所述指针Pend的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend-Input(n)+1。
步骤S403:将所述DEM模块的输出中,从第1位到所述指针Pend的值对应的数位均置位为1,从Pend-Input(n)+1+M的值对应的数位到M对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend-Input(n)+1+M。
如果所述DEM模块的输出经过所述步骤S300或者步骤S400的置位操作后所有数位均为1或者均为0,则修改所述指针Pstart的值为Pstart+Num,然后修改所述指针Pend的值为Pstart-1;所述Num为对应所述电流舵DAC的当前周期的数字输入Input(n)的位数的常值,可以通过仿真实验确定,一般为DEM模块的输出位数M的四分之一取整。
其中,修改所述指针Pstart的值为Pstart+Num后,如果Pstart为1,则修改所述指针Pend的值为M。
图3是本发明实施例所述用于电流舵DAC的DEM编码方法的编码过程示意图。如图3所示,第1周期时所述电流舵DAC的数字输入为3。设定所述指针Pstart的初始值为1,设定所述指针Pend的初始值为3。
第2周期时所述电流舵DAC的数字输入为7,大于所述第1周期时所述电流舵DAC的数字输入3,并且Pstart+Input(n)-1=7,不大于所述DEM模块的输出位数M=15,则所述DEM模块的输出中从第1位到第7位的数位均置位为1,剩余的从第8位到第15位的数位均置位为0,修改所述指针Pend的值为7。
第3周期时所述电流舵DAC的数字输入为12,大于所述第2周期时所述电流舵DAC的数字输入7,并且Pstart+Input(n)-1=12,不大于所述DEM模块的输出位数M=15,则所述DEM模块的输出中从第1位到第12位的数位均置位为1,剩余的从第13位到第15位的数位均置位为0,修改所述指针Pend的值为12;
第4周期时所述电流舵DAC的数字输入为6,小于所述第3周期时所述电流舵DAC的数字输入12,并且Pend-Input(n)+1=7,不小于1,则所述DEM模块的输出中从第7位到第12位的数位均置位为1,剩余的从第1位到第6位以及从第13位到第15位的数位均置位为0,修改所述指针Pstart的值为7。
第5周期时所述电流舵DAC的数字输入为15,大于所述第4周期时所述电流舵DAC的数字输入6,并且Pstart+Input(n)-1=21,大于所述DEM模块的输出位数M=15,则从第7位到第1 5位均置位为1,从第1位到第6位均置位为1。这时所有输出为都被置位为1,修改所述指针Pstart的值为Pstart+Num=11,然后修改所述指针Pend的值为Pstart-1=10。其中所述Num取常值为4。
第6周期时所述电流舵DAC的数字输入为9,小于所述第5周期时所述电流舵DAC的数字输入15,并且Pend-Input(n)+1=2,不小于1,则所述DEM模块的输出中从第2位到第10位的数位均置位为1,剩余的第1位以及从第11位到第15位的数位均置位为0,修改所述指针Pstart的值为2。
第7周期时所述电流舵DAC的数字输入为0,小于所述第6周期时所述电流舵DAC的数字输入9,并且Pend-Input(n)+1=11,不小于1,则所述DEM模块的输出中所有数位均置位为0,修改所述指针Pstart的值为Pstart+Num=6,然后修改所述指针Pend的值为Pstart-1=5。
第8周期时所述电流舵DAC的数字输入为2,大于所述第7周期时所述电流舵DAC的数字输入0,并且Pstart+Input(n)-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的输入频率较低(10MHz)和较高(90MHz)时的SFDR特性如图5所示。其中,图5中左半部分为输入频率较低时的SFDR特性图,图5中右半部分为输入频率较高时的SFDR特性图。
上述仿真结果表明,本发明实施例所述用于电流舵DAC的DEM编码方法,不仅有很好的静态特性,同时在不同的输入频率下都有很好的SFDR(Spurious Free Dynamic range,无杂散动态范围)特性。
本发明实施例所述用于电流舵DAC的DEM编码方法,有效减少了每周期跳变开关数,从而有效减小开关跳变引起的动态误差;输出具有一定的随机性,能将失配引起的失真转换为噪声。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (4)
1.一种用于电流舵DAC的DEM编码方法,其特征在于,包括以下步骤:
S100:判断所述电流舵DAC的当前周期的数字输入Input(n)与所述电流舵DAC的前一周期的数字输入Input(n-1)的大小关系;如果Input(n)等于Input(n-1),执行S200;如果Input(n)大于Input(n-1),执行S300;如果Input(n)小于Input(n-1),执行S400;
S200:保持DEM模块的输出不变,保持指针Pstart和指针Pend的值不变;
S300:对所述DEM模块的输出进行第一置位操作,并且相应地修改所述指针Pstart和指针Pend的值;
S400:对所述DEM模块的输出进行第二置位操作,并且相应地修改所述指针Pstart和指针Pend的值;
所述步骤S300具体包括步骤:
S301:判断Pstart+Input(n)-1与所述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模块的输出中,从所述指针Pstart的值对应的数位到M对应的数位均置位为1,从第1位到Pstart+Input(n)-1-M的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pend的值为Pstart+Input(n)-1-M;
其中,步骤S400具体包括步骤:
S401:判断Pend-Input(n)+1是否小于1,如果不小于,执行S402,否则,执行S403;
S402:将所述DEM模块的输出中,从Pend-Input(n)+1的值对应的数位到所述指针Pend的值对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend-Input(n)+1;
S403:将所述DEM模块的输出中,从第1位到所述指针Pend的值对应的数位均置位为1,从Pend-Input(n)+1+M的值对应的数位到M对应的数位均置位为1,其他数位置位为0,然后修改所述指针Pstart的值为Pend-Input(n)+1+M;所述M为所述DEM模块的输出位数。
2.如权利要求1所述的方法,其特征在于,在所述步骤S100之前还包括步骤S000:设定所述指针Pstart的初始值为1;设定所述指针Pend的初始值为所述电流舵DAC的第一个周期的数字输入Input(1)。
3.如权利要求1所述的方法,其特征在于,如果所述DEM模块的输出经过置位操作后所有数位均为1或者均为0,则修改所述指针Pstart的值为Pstart+Num,然后修改所述指针Pend的值为Pstart-1;所述Num为对应所述电流舵DAC的当前周期的数字输入Input(n)的位数的常值。
4.如权利要求3所述的方法,其特征在于,修改所述指针Pstart的值为Pstart+Num后,如果Pstart为1,则修改所述指针Pend的值为M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110182455.6A CN102324939B (zh) | 2011-06-30 | 2011-06-30 | 用于电流舵dac的dem编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110182455.6A CN102324939B (zh) | 2011-06-30 | 2011-06-30 | 用于电流舵dac的dem编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102324939A CN102324939A (zh) | 2012-01-18 |
CN102324939B true CN102324939B (zh) | 2014-04-23 |
Family
ID=45452619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110182455.6A Active CN102324939B (zh) | 2011-06-30 | 2011-06-30 | 用于电流舵dac的dem编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102324939B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102751992B (zh) * | 2012-07-20 | 2015-02-11 | 北京大学 | 动态元素匹配编码方法 |
CN103138763B (zh) * | 2013-02-01 | 2016-03-09 | 苏州云芯微电子科技有限公司 | 一种动态器件匹配方法及运用该方法的电路 |
CN111245439A (zh) * | 2020-04-26 | 2020-06-05 | 杭州城芯科技有限公司 | 一种应用于数模转换器的动态元件匹配电路和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675448B1 (en) * | 2008-09-01 | 2010-03-09 | Mediatek Inc. | Continuous-time sigma-delta modulator using dynamic element matching having low latency and dynamic element matching method thereof |
CN101350622B (zh) * | 2008-09-10 | 2012-01-11 | 华为技术有限公司 | 一种dem算法的量化器电路及实现方法 |
EP2339754A1 (en) * | 2009-12-23 | 2011-06-29 | Nxp B.V. | A converter |
-
2011
- 2011-06-30 CN CN201110182455.6A patent/CN102324939B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102324939A (zh) | 2012-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100452655C (zh) | 自校准多通道模数转换器 | |
CN102324939B (zh) | 用于电流舵dac的dem编码方法 | |
CN103095300B (zh) | 逐次逼近模拟至数字转换器及转换方法 | |
CN102394653B (zh) | 数模转换器及数模转换方法 | |
EP2426822A1 (en) | Method and device for fast cyclic redundancy check coding | |
CN106559080A (zh) | 用于数模转换器的低功率切换技术 | |
CN109660255B (zh) | 模数转换器非线性校准方法 | |
CN109639278A (zh) | 多通道时间交错adc的时序补偿方法及装置 | |
CN102722690A (zh) | 磁卡解码方法 | |
CN105591645B (zh) | 一种多级串并转换电路 | |
CN102025375A (zh) | 模数转换器及其数字校准电路 | |
CN108023595A (zh) | 高速低功率数模上变频器 | |
CN104660260B (zh) | Adc的自适应滤波数字校准电路和方法 | |
CN104270149B (zh) | 一种模数转换器的自适应校正启动电路 | |
CN104158547B (zh) | 一种温度计码到n位二进制码的并行转换装置及转换方法 | |
CN110380728A (zh) | 一种高分辨率的混合模数电路转换装置及转换方法 | |
CN102386922B (zh) | 一种可编程零周期时延与高速流水线模数转换器 | |
CN105897274A (zh) | 一种8位元高精度dac电流源阵列及其布局方法 | |
US10778240B1 (en) | Device and method for digital to analog conversion | |
CN106446416B (zh) | 一种应用于分段电流舵dac的电路仿真方法 | |
CN102751992B (zh) | 动态元素匹配编码方法 | |
CN106559069B (zh) | 时序译码器 | |
CN102291145A (zh) | 一种基于格雷编码和绝对值算法的模数转换方法 | |
CN105989200B (zh) | 模数转换器的仿真方法和装置 | |
CN210274034U (zh) | 一种高精度dac |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |